A stockout on your top three SKUs costs far more than excess inventory on your bottom twenty. Excess stock is capital sitting on a shelf; a stockout is compounding damage. For a US DTC Shopify brand, a single week out of stock on a hero product can drop the listing out of Google Shopping's organic surfaces, trigger Meta ad disapprovals when the landing page shows sold out, and hand repeat customers to a competitor they may never leave.
Excess inventory is recoverable — you discount it, bundle it, or wait. Lost ranking, a paused ad account, and a churned subscriber are not. That asymmetry is why the reorder point is the single most important number in inventory planning, and why it deserves a real statistical treatment rather than a gut-feel threshold.
This guide covers the exact formulas, a Z-score service level table you can apply per SKU, a fully worked USD case study for a 28-day ocean freight lead time, and how to automate the alerts inside Shopify.
The Core Reorder Point & Safety Stock Formulas
Direct answer: the reorder point is the inventory level at which you place your next purchase order so that new stock arrives just before the old stock runs out — average demand across the lead time, plus a statistical buffer.
The four formulas
- Reorder Point (ROP) = (Average Daily Sales × Lead Time in Days) + Safety Stock
- Safety Stock = Z-Score × σ(Lead Time Demand)
- σ(Lead Time Demand) = √( Lead Time × σ²(Daily Sales) + Avg Daily Sales² × σ²(Lead Time) )
- Simplified (when lead time variance is low): Safety Stock = Z-Score × Average Daily Sales × √Lead Time
What each variable actually means
Average daily sales is units sold per day over a trailing window — 30 days if your demand is stable and recent, 90 days if you have weekly noise, promotions, or B2B orders that arrive in lumps. Use units, never revenue, and exclude cancelled and fully refunded orders.
Lead time is not what your supplier quotes for production. It is the full clock from the moment you send the PO to the moment stock is sellable: supplier production + ocean or air freight + customs clearance + drayage + 3PL receiving and put-away. Most brands undercount by the last two steps alone.
The Z-score converts your tolerance for stockouts into a multiplier. It is the number of standard deviations of buffer you hold. A higher service level means a higher Z, more safety stock, and more cash tied up — which is exactly the trade-off you want to make deliberately, per SKU, rather than accidentally across the whole catalog.
σ(Lead Time Demand) combines two separate risks: demand being higher than average during the wait, and the wait itself being longer than average. The full formula captures both. Use the simplified version only when your supplier is genuinely consistent — a fixed domestic lead time, for example.
Z-Score Service Level Reference Table
Pick a service level per SKU, read the Z-score, and drop it into the safety stock formula.
| Service level | Z-score | Typical use |
|---|---|---|
| 85% | 1.04 | Slow movers and long-tail variants where cash matters more than availability |
| 90% | 1.28 | Secondary SKUs, size/color variants of a core product |
| 95% | 1.65 | Standard target for most Shopify DTC brands on core products |
| 97.5% | 1.96 | High-velocity SKUs with heavy paid traffic behind them |
| 99% | 2.33 | Hero SKUs and subscription products with recurring commitments |
| 99.9% | 3.09 | Mission-critical, contractually never-out-of-stock items |
Read the percentage correctly
A 95% service level means you accept roughly a 5% probability of a stockout per replenishment cycle — not a 5% chance per year. If you reorder that SKU every six weeks, you run about nine cycles a year, so a 95% level implies you would expect to brush a stockout roughly once annually. Sellers who read it as an annual figure systematically under-buffer.
Most US DTC brands land on 95% for hero SKUs and 90% for long-tail variants. Going from 95% to 99% raises the Z from 1.65 to 2.33 — about 41% more safety stock and 41% more cash locked up for a four-percentage-point reduction in stockout risk. That is worth it on a subscription SKU and rarely worth it on a third colorway.
Worked USD Case Study: Shopify DTC Skincare Brand with 4-Week Ocean Freight Lead Time
A US skincare brand sells a 4 oz Vitamin C serum at $38.00 retail with an $8.50 landed COGS. Inventory arrives by ocean freight from an overseas contract manufacturer.
| Input | Value |
|---|---|
| Product | 4 oz Vitamin C Serum |
| Retail price | $38.00 |
| Landed COGS | $8.50 |
| Average daily unit sales (trailing 90 days) | 18 units/day |
| Standard deviation of daily sales | 5.2 units/day |
| Supplier lead time | 28 days (14 production + 14 ocean freight and receiving) |
| Lead time standard deviation | 3 days |
| Target service level | 95% → Z = 1.65 |
Step 1 — Average lead time demand
18 units/day × 28 days = 504 units consumed during a normal wait.
Step 2 — Standard deviation of lead time demand
σ = √((28 × 5.2²) + (18² × 3²)) = √(756.48 + 2,916) = √3,672.48 ≈ 60.6 units
Note how the lead time variance term (2,916) dwarfs the demand variance term (756). For this brand, an unpredictable supplier is nearly four times the risk that choppy daily sales are — which is a purchasing problem, not a marketing one.
Step 3 — Safety stock
1.65 × 60.6 ≈ 100 units
Step 4 — Reorder point
504 + 100 = 604 units
| Output | Result |
|---|---|
| Average lead time demand | 504 units |
| σ (lead time demand) | 60.6 units |
| Safety stock at 95% | 100 units |
| Reorder point | 604 units |
| Capital tied up in safety stock | 100 × $8.50 = $850 |
| Revenue at risk per stockout day | 18 × $38.00 = $684 |
Interpretation
When the warehouse shows 604 units remaining, place the next PO. The 100-unit buffer covers both a demand spike and a three-day shipping delay at 95% confidence.
The economics are stark: $850 of capital sits idle as insurance against losing $684 in revenue for every single day the SKU is out of stock. Just over one day of stockout wipes out the entire carrying value of the buffer — before counting lost ad efficiency, ranking, and repeat purchase value. At 99% confidence the buffer would rise to about 141 units and $1,199, which is still less than two days of lost sales.
5 Reorder Point Mistakes That Cost Shopify Sellers Thousands
1. Using calendar days instead of selling days
If your store does 80% of its volume Monday through Friday — common for B2B and office-adjacent products — dividing 90 days of sales by 90 understates weekday velocity and leaves you short mid-week. Model against selling days and check weekday versus weekend curves before averaging.
2. Ignoring supplier lead time variance
A supplier quoting "2–4 weeks" has a σ of roughly 3.5 days; one who reliably delivers in exactly 21 days has a σ near zero. As the case study shows, that variance term can dominate the entire safety stock calculation. Track actual PO-to-receipt dates for six months and use your own data, not the quote.
3. Setting one reorder point across all variants
A best-selling shade and a slow third colorway do not share a velocity, so they cannot share a threshold. One blanket ROP simultaneously over-buys the tail and under-buys the head. Calculate per SKU, per location.
4. Forgetting inbound receiving delay at the 3PL
Freight delivered is not stock sellable. Most 3PLs need 2–5 additional days to unload, count, and put away — longer in peak season. Add that window to lead time or you will consistently reorder late by a week.
5. Not updating reorder points seasonally
Q4 demand commonly runs 2–3x normal. With a 28-day lead time, a September reorder point built on August velocity will not cover November. Recalculate with forecast peak velocity starting in September, and step it back down in January.
How to Automate Reorder Alerts in Shopify
Method 1 — Shopify Flow (Shopify Plus)
Create a workflow triggered on inventory quantity change, with a condition that fires when the variant's inventory_quantity crosses below your calculated ROP. Send it to email, Slack, or a purchasing spreadsheet. Store the ROP per variant as a metafield so Flow reads a real number rather than a hardcoded threshold.
Method 2 — Shopify native low-stock alerts
Available on all plans and free, but they compare against a single static number with no concept of lead time or service level. Useful as a last-resort backstop, not as your planning system.
Method 3 — Third-party inventory apps
Tools such as Stocky, Inventory Planner, and SKU Labs compute reorder points dynamically from rolling sales velocity and supplier history, and generate draft POs. Worth the subscription once you carry more than a few dozen active SKUs or multiple fulfillment locations.
Whichever you choose, the principle matters more than the tool: static reorder points break during demand spikes. A number set in July on 18 units/day is silently wrong the moment a creator video pushes you to 45 units/day. Rolling-average systems recalculate as velocity moves and are the only approach that survives a viral week.
Use Our Free Inventory & Profit Calculators
Run your own SKUs through these free browser-based calculators:
- Reorder Point Calculator — enter velocity, lead time, and service level to get your ROP.
- Product Launch Inventory Calculator — size the first PO when you have no sales history.
- Inventory Days of Cover Calculator — see how long current stock lasts at present velocity.
- Shopify Profit Margin Calculator — confirm the SKU is worth restocking at all.
Example calculation (USD)
Safety stock and capital by service level — same SKU
Using the case study inputs (σ of lead time demand = 60.6 units, $8.50 landed COGS), here is what each service level costs you in buffer inventory.
| Service level | Z-score | Safety stock | Reorder point | Capital held |
|---|---|---|---|---|
| 85% | 1.04 | 63 units | 567 units | $536 |
| 90% | 1.28 | 78 units | 582 units | $663 |
| 95% | 1.65 | 100 units | 604 units | $850 |
| 97.5% | 1.96 | 119 units | 623 units | $1,012 |
| 99% | 2.33 | 141 units | 645 units | $1,199 |
| 99.9% | 3.09 | 187 units | 691 units | $1,590 |
Moving from 85% to 99% costs about $663 in additional working capital on this SKU — roughly one day of lost revenue during a stockout. For a hero product that math is easy; for a slow mover with the same lead time it is not.
Common mistakes to avoid
- Averaging over calendar days when your store sells mostly on weekdays.
- Using the supplier's quoted lead time instead of your measured PO-to-sellable time.
- Ignoring lead time variance, which often outweighs demand variance entirely.
- Applying one blanket reorder point to every variant regardless of velocity.
- Leaving Q4 reorder points at off-season levels through September.
Best practices
- Set service levels per SKU tier: 95% for heroes, 90% for the long tail.
- Track actual PO-to-sellable dates for six months and compute your real lead time σ.
- Store the reorder point as a variant metafield so automations read a live number.
- Recalculate monthly, and immediately after a supplier change or a viral spike.
- Alert at 120% of the reorder point so purchasing has time to act, not just react.
Frequently asked questions
What is a good safety stock level for a Shopify store?
There is no universal unit count — safety stock is an output of your demand variability, lead time variability, and chosen service level. Most US DTC brands target a 95% service level (Z = 1.65) on core products and 90% (Z = 1.28) on long-tail variants. In the worked example above that produced 100 units of buffer on a SKU selling 18 units a day with a 28-day lead time. If your supplier is domestic and consistent, the same service level will require far less stock.
How do I calculate reorder point when I have multiple warehouses or 3PLs?
Calculate the reorder point separately for each location using that location's own velocity and its own inbound lead time, since a West Coast 3PL receiving from an Asian supplier has a very different clock than an East Coast one. Aggregating demand into a single national number and splitting it evenly is the most common error and reliably starves one node while flooding another. If you can rebalance stock between locations quickly, you can hold slightly less safety stock at each because the pooled buffer covers more risk. Otherwise treat each node as an independent store.
Should I use 30-day or 90-day average sales velocity for the reorder point formula?
Use 90 days when demand is noisy, seasonal, or lumpy with B2B orders, because the longer window smooths outliers and gives a more stable standard deviation. Use 30 days when the product is new, trending, or has just had a price or positioning change that makes older data misleading. A practical compromise is to calculate both and take the higher figure — under-buffering costs more than over-buffering. Whatever window you pick, apply it consistently so month-over-month reorder points are comparable.
How does Amazon FBA's reorder point differ from Shopify DTC?
FBA adds a second lead time on top of your supplier's: the time for Amazon to receive, check in, and make a shipment sellable, which can run one to three weeks in peak season. You are effectively planning two sequential replenishment legs, and both carry variance. FBA also applies inventory performance and capacity limits that can cap how much buffer you are permitted to hold, so the statistically optimal safety stock may not even be allowed. Shopify DTC gives you full control of the buffer but no equivalent of Amazon's demand forecasting, so the burden of the math sits with you.
What happens if my supplier lead time changes mid-cycle?
Recalculate the reorder point immediately rather than waiting for the monthly review, because lead time enters the formula twice — once in average lead time demand and once inside the variance term. If a supplier notifies you of a two-week delay on an in-transit PO, the correct short-term response is usually an expedited partial air shipment rather than a revised threshold, since the current stock is already committed. Log the delay so it feeds your measured lead time standard deviation going forward. Repeated slippage from one supplier is an argument for dual sourcing, not just for a bigger buffer.
How do seasonal sales (Black Friday, Prime Day) affect reorder point calculations?
Peak events can push demand to two or three times baseline, and with a 28-day lead time the PO that covers Black Friday must be placed in early October at the latest. Substitute forecast peak daily velocity for your trailing average when calculating the pre-peak reorder point, and raise the service level on hero SKUs to 99% for the season — the cost of a stockout during your highest-traffic week is far above its normal value. Step the numbers back down in January so you are not carrying peak buffers through a slow Q1. Keep the peak calculation as a separate saved scenario so you can reuse it next year.