Reorder Point Formula With Safety Stock: A Worked Example
Reorder point = (average daily demand x lead time in days) + safety stock
Safety stock = Z x standard deviation of daily demand x square root of lead time
When the stock you have plus the stock already on order drops to the reorder point, you place the next purchase order. The first part of the formula covers the sales you expect while you wait for delivery. Safety stock covers the days when sales run hotter than average.
What each term means
| Term | What it is | Where to get it |
|---|---|---|
| Average daily demand (d) | Units sold per day, averaged over a recent window | Sales report for the last 4 to 12 weeks, divided by days |
| Lead time (L) | Days from placing the order to having stock sellable | Your purchase order history, not the supplier’s quote |
| Standard deviation of daily demand (σd) | How much daily sales swing around the average | STDEV.S of daily unit sales over the same window |
| Z | Number of standard deviations of cover for your chosen service level | Table below |
Lead time is the term most stores get wrong. It runs from the moment you send the PO to the moment units are counted, labelled and available to sell. Include supplier production, transit, customs if you import, the receiving backlog at your warehouse and any 3PL receiving time. If your 3PL takes three days to put stock away, those three days belong in L.
Keep units consistent. If demand is per day, lead time must be in days and the standard deviation must be of daily sales.
Picking a service level
The service level here is cycle service level: the probability that you don’t run out during a single replenishment cycle. The Z value is the point on the standard normal distribution that matches it. Excel returns it with NORM.S.INV(service level), as described in Microsoft’s function reference.
| Service level | Z (rounded) |
|---|---|
| 90% | 1.28 |
| 95% | 1.645 |
| 98% | 2.05 |
| 99% | 2.33 |
Higher service levels cost more than they look. Going from 95% to 99% raises Z by about 41%, so safety stock rises by the same proportion. Save 98% and 99% for your best sellers, where a stockout loses the most margin and ranking, and accept 90% on slow, cheap items.
Worked example: one candle SKU
Example numbers, not benchmarks. A shop sells an 8 oz lavender candle.
- Average daily demand: 20 units
- Standard deviation of daily demand: 6 units
- Lead time: 14 days
- Target service level: 95% (Z = 1.645)
Step 1: Lead time demand
20 units/day x 14 days = 280 units
Step 2: Safety stock
1.645 x 6 x √14
= 1.645 x 6 x 3.742
= 36.93, round up to 37 units
Step 3: Reorder point
280 + 37 = 317 units
When on hand plus on order for this candle falls to 317, you reorder. Always round safety stock up; a fraction of a candle doesn’t protect you.
Here is the same SKU at other service levels:
| Service level | Safety stock | Reorder point |
|---|---|---|
| 90% | 29 | 309 |
| 95% | 37 | 317 |
| 98% | 47 | 327 |
| 99% | 53 | 333 |
The jump from 95% to 99% costs 16 extra candles sitting on the shelf all year. Whether that’s worth it depends on margin and how painful a stockout is on your channel.
Compare: the max-minus-average shortcut
Many spreadsheets use a quicker rule of thumb:
Safety stock = (max daily sales x max lead time) - (average daily sales x average lead time)
Suppose the candle’s worst day was 30 units and the slowest delivery took 18 days:
(30 x 18) - (20 x 14) = 540 - 280 = 260 units
That’s 260 units of safety stock against 37 from the statistical method. The shortcut assumes your worst sales day and your worst delivery happen together, every cycle. It’s easy to calculate, and it ties up a lot of cash. Use it only when you have too little sales history to estimate a standard deviation.
Check stock weekly instead of daily? Adjust the formula
The basic formula assumes you watch stock continuously and can order the moment you hit the point. If you only review inventory once a week, you’re exposed for the lead time plus the review period (R), so swap L for L + R:
Reorder level = d x (L + R) + Z x σd x √(L + R)
With a 7-day review on the candle:
Demand cover: 20 x (14 + 7) = 420 units
Safety stock: 1.645 x 6 x √21 = 45.23, round up to 46 units
Reorder level: 420 + 46 = 466 units
On review day, if on hand plus on order is at or below 466, you order enough to bring the position back up to that level plus whatever cycle stock you want to hold.
Use inventory position, not shelf count
Compare the reorder point against inventory position:
Inventory position = on hand + on order - committed to unshipped orders
If you compare against shelf count alone, you’ll reorder again while the last PO is still on the water, and end up with double the stock. If you sell on Shopify, units in unfulfilled orders show as Committed, separate from Available, in its inventory states, so subtract them.
Common mistakes
- Averaging over a promo period. One sale week inflates both the average and the standard deviation. Exclude promo days or model them separately.
- Counting stockout days as zero-demand days. If you were out of stock, you didn’t sell because you couldn’t. Drop those days from the history.
- Using the quoted lead time. Use the average of your last several actual deliveries.
- One reorder point per product instead of per variant. Reorder points belong to each SKU. If your codes are messy, fix them first; our guide to creating SKU numbers covers a format that holds up.
- Never recalculating. Demand shifts with seasons. Recalculate monthly for fast movers and quarterly for the rest.
- Ignoring lead time swings. This formula only handles demand variability. If your supplier’s delivery times swing a lot, you need a version that adds lead time variability, which needs its own standard deviation of lead time.
Quick checklist before you trust the number
- Demand window covers 4 to 12 normal weeks, promos and stockout days removed
- Lead time measured from PO to sellable, from real deliveries
- Days used consistently across d, L and σd
- Service level set by SKU importance, not one number for everything
- Compared against inventory position, not shelf count
- Recalculation date in the calendar
If you hold stock at a third-party warehouse, add its receiving time to L and confirm how it reports on-order and in-transit units. Our 3PL shortlist notes integrations to check.