Safety stock is the extra you keep so you don't run out while an order is on its way. The simplest formula is average daily use × a few days of buffer. The more careful one is Z × the standard deviation of daily use × the square root of the lead time in days, where Z sets how rarely you're willing to run short (1.65 for 95% of the time). If your supplier's lead time wobbles too, there's a version for that, and it's often the one that matters most. All four are worked through below on one item.
The short version
- Safety stock is cushion for the lead time: the days between ordering and the delivery arriving.
- Reorder point = average daily use × lead time + safety stock. When stock falls to it, order.
- Days-of-cover is fine to start. The Z-score formula is better once you have a few weeks of real usage.
- If lead times vary, include that. It often needs more cushion than all your daily ups and downs.
- Steadier suppliers shrink safety stock faster than any formula. TaroStack tracks how late yours really are.
The item: glass bottles in a hot sauce kitchen
Here's a four-person hot sauce kitchen filling 5 oz bottles. It uses 720 bottles on an average production day, but the days aren't average. Here are the last ten:
| Day | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Bottles used | 480 | 720 | 960 | 600 | 840 | 360 | 720 | 1,080 | 600 | 840 |
The glass comes from a distributor. Orders usually arrive in 10 production days, but they've taken as long as 14. Over the last year the lead time has had a standard deviation of about 2 days. (Working that out from your own orders is in the lead time calculation formula.)
So: average daily use 720, busiest day 1,080, standard deviation of daily use 219.1 (Excel's =STDEV() on the
ten days), average lead time 10 days, longest 14.
Four formulas, four answers
1. Days of cover
Safety stock = average daily use × buffer days
Three days of buffer is 720 × 3 = 2,160 bottles. It's quick, easy to explain, and the buffer is a guess. That's fine for starting out, and for plenty of items it's all you'll ever need.
2. Max minus average
Safety stock = (busiest day × longest lead time) − (average day × average lead time)
That's 1,080 × 14 − 720 × 10 = 15,120 − 7,200 = 7,920 bottles, which is eleven days of use sitting on a shelf. It assumes every day of the worst delivery is also your busiest day, which never happens. It turns up in plenty of guides, and it's the one I'd skip.
3. The Z-score formula, when use varies
Safety stock = Z × standard deviation of daily use × √(lead time in days)
For 95%, Z is 1.65: 1.65 × 219.1 × √10 = 1.65 × 219.1 × 3.162 = 1,143 bottles.
The square root is there because busy and quiet days partly cancel out over a 10-day wait. You don't need ten busy days of cushion, only enough for the run of them you'd actually get.
4. The Z-score formula, when lead time varies too
Safety stock = Z × √(lead time × SD of daily use² + average daily use² × SD of lead time²)
With the numbers, 10 × 219.1² is about 480,000 and 720² × 2² is 2,073,600, so safety stock is 1.65 × √2,553,600 = 1.65 × 1,598 = 2,637 bottles.
Look at the two parts under the square root. The ups and downs in daily use contribute 480,000. Two days of wobble in the distributor's lead time contribute 2,073,600, more than four times as much. For this kitchen, the supplier is the risk, not the customers.
Picking Z
Z decides how often you're willing to run out before a delivery lands. It comes from the normal distribution, and in
Excel =NORM.S.INV(0.95) gives 1.645 (Microsoft).
| You're willing to run short | Service level | Z | Safety stock (formula 4) |
|---|---|---|---|
| About 1 order in 10 | 90% | 1.28 | 2,045 |
| About 1 order in 20 | 95% | 1.65 | 2,637 |
| About 1 order in 50 | 98% | 2.05 | 3,276 |
| About 1 order in 100 | 99% | 2.33 | 3,723 |
Each step up costs more than the last. Going from 95% to 99% adds over 1,000 bottles to protect against a handful of bad orders a year. My advice: 95% for things you can live without for a day, higher only for the one item that stops production. Running out of bottles stops a hot sauce kitchen, so this one might earn 98%.
From safety stock to a reorder point
Reorder point = average daily use × average lead time + safety stock
For the bottles at 95%: 720 × 10 + 2,637 = 9,837, call it 9,840. When stock on hand plus anything already ordered falls to 9,840, order more. The first 7,200 covers the wait; the 2,637 covers a slow truck or a busy week. There's a full worked reorder point with a bakery's butter in the reorder point example, and how a reorder point differs from a par level is in par level vs reorder point.
Two things to check before you trust the number. First, shelf life: safety stock for fresh peppers can't be bigger than what you'll use before they turn, whatever the formula says. Second, round to how the supplier sells: if the glass comes in pallets, the order quantity follows the pallet.
In a spreadsheet
With the ten days of use in B2:B11:
Average daily use =AVERAGE(B2:B11)
SD of daily use =STDEV(B2:B11)
Safety stock (formula 3) =NORM.S.INV(0.95)*STDEV(B2:B11)*SQRT(10)
Safety stock (formula 4) =NORM.S.INV(0.95)*SQRT(10*STDEV(B2:B11)^2+AVERAGE(B2:B11)^2*2^2)
Reorder point =AVERAGE(B2:B11)*10+[safety stock]
Replace the 10 with your average lead time and the 2 with your lead time's standard deviation. Use more than ten days of history if you have it. Thirty is better, and the same weekday pattern each week is worth including.
Where this stops working
Every number in the formula comes from history you have to collect: daily use, item by item, and how long each order really took to arrive, not how long the supplier said it would. Most spreadsheets have neither. So people guess the standard deviation, guess the lead time, and end up back at formula 1 with a buffer that's really a feeling.
And the numbers drift. Sales grow, a supplier gets slower, a new product uses the same bottle. A safety stock worked out in March is wrong by August, and nobody reruns the formula until the day the bottles run out.
How TaroStack does it
The formula is easy; the history behind it is the work, and TaroStack collects it as you go. Every batch, sale and delivery is recorded, so daily use per item is already there. Every delivery is received against its order, and TaroStack checks each supplier's lead times against reality: what they promise against how long deliveries really take. That's the number that drove this whole example, and it's the one almost nobody has.
From that, TaroStack suggests reorder points worked out from how stock actually moves, and the reorder list tells you how many days of cover you have at the rate you're really using things, so "order bottles" arrives while there's still time. You get an alert when an item hits its reorder point, in the app or by email. Because the suggestions come from how stock moves now, they don't stay stuck where they were in March.
The reorder list, suggested reorder points and alerts are on every plan, from $49 a month. Safety stock and min/max levels per item and site come with planning, on Standard at $99. Try it free for 30 days with your own items. If you'd like a hand setting up, ask, and we'll do it with you.
