How to Calculate Safety Stock (Formulas + Examples)
How to calculate safety stock with the right formula: service-level factor, demand and lead-time variability, worked examples, and the mistakes that double your stock.
If you want to know how to calculate safety stock correctly, the short answer is: stop using "two weeks of cover." That rule is wrong for almost every SKU you own — way too much for your steady items, dangerously little for your volatile ones. Real safety stock is a statistical buffer sized to your target service level, your actual demand variability, and your actual lead-time variability. Get it right and you hold less inventory at the same service level. Get it wrong and you either stock out or bury cash. At a $250M manufacturer, fixing the safety-stock math across 6,000 SKUs released $6M in working capital without touching the 98% fill rate on A items.
Here are the formulas, in order of how much they actually capture, with worked numbers.
What Safety Stock Buffers
Safety stock exists to absorb two kinds of uncertainty during the replenishment lead time:
- Demand variability — you sell more than you expected.
- Lead-time variability — your supplier delivers later than promised.
If both demand and lead time were perfectly predictable, you'd need zero safety stock. They're not, so you carry a buffer. The size of that buffer depends on how much they vary and how confident you want to be that you won't stock out — your service level.
Step 1: Pick Your Service Level and Find Z
Service level is the probability you won't stock out during a replenishment cycle. It maps to a Z-score (the service-level factor) from the standard normal distribution:
| Service level | Z (service-level factor) |
|---|---|
| 90% | 1.28 |
| 95% | 1.65 |
| 97% | 1.88 |
| 98% | 2.05 |
| 99% | 2.33 |
| 99.9% | 3.09 |
Notice the curve. Going from 95% to 99% nearly doubles the multiplier relative to going from 90% to 95%. The last few points of service are the expensive ones. That's why blanket 99% targets across all SKUs torch your cash — set 99% on A items and 90-92% on the long tail.
Step 2: Choose the Right Formula
The Basic Formula (demand variability only)
Use when lead time is reliable and consistent.
Safety Stock = Z × σ_demand × √(Lead Time)
Where σ_demand is the standard deviation of demand per period and lead time is in those same periods.
Example. Daily demand averages 100 units with a standard deviation of 20 units. Lead time is a steady 9 days. Target service level 95% (Z = 1.65).
Safety Stock = 1.65 × 20 × √9 = 1.65 × 20 × 3 = 99 units
You hold ~99 units of buffer. Your reorder point is (average demand × lead time) + safety stock = (100 × 9) + 99 = 999 units.
The Full Formula (demand AND lead-time variability)
This is the one you should actually use, because supplier lead times vary, and lead-time variability is often the bigger driver of buffer size than demand variability. The standard form:
Safety Stock = Z × √( (LT_avg × σ_demand²) + (D_avg² × σ_LT²) )
Where: - LT_avg = average lead time - σ_demand = standard deviation of demand per period - D_avg = average demand per period - σ_LT = standard deviation of lead time
Example, same item, now with lead-time variability. Average daily demand 100, σ_demand 20. Average lead time 9 days, but it varies with σ_LT = 2 days. Service level 95% (Z = 1.65).
Demand term: 9 × 20² = 9 × 400 = 3,600
Lead-time term: 100² × 2² = 10,000 × 4 = 40,000
Sum = 43,600, √43,600 ≈ 208.8
Safety Stock = 1.65 × 208.8 ≈ 345 units
Look at that. Adding realistic lead-time variability took safety stock from 99 units to 345 units — a 3.5x jump. The basic formula was telling you to carry a third of what you actually need. This is the single most common way teams under-stock and then blame the forecast.
Step 3: Sanity-Check the Output
The formula is only as good as its inputs. Three checks:
- Is your demand roughly normal? The Z-score assumes a normal distribution. For intermittent or lumpy demand (think slow-moving spare parts), the normal model overstates or understates badly. Those SKUs need a different method (Croston's, or a fill-rate-based model) — don't force them through the formula.
- Are σ_demand and σ_LT measured from real data? Pull at least 12 months of demand history and actual receipt dates vs. promised dates. Most ERPs have the receipt data; nobody looks at it. Lead-time variability is usually worse than planners assume.
- Does the buffer make business sense? If the math says hold 18 months of safety stock on a $200 item, the demand is probably intermittent and the formula doesn't apply.
The Mistakes That Cost the Most
| Mistake | What it does |
|---|---|
| Days-of-cover rule ("2 weeks for everything") | Over-stocks steady items, under-stocks volatile ones |
| Ignoring lead-time variability | Under-sizes buffer by 2-4x on import/long-LT items |
| One service level for all SKUs | Wastes cash on the long tail to over-serve it |
| Stale σ inputs | Buffer drifts out of date as demand patterns shift |
| Normal formula on lumpy demand | Wrong buffer on exactly the SKUs that stock out |
Where This Connects to the Bigger Picture
Safety stock is the per-SKU output. Inventory optimization is the system around it — segmentation to set differentiated service levels, multi-echelon math to avoid double-buffering across locations, and a demand forecast tight enough to shrink σ_demand in the first place. Every point you cut off forecast error reduces the σ_demand term, which reduces safety stock, which releases cash. The formula is the lever; clean inputs and the right service-level strategy are what make it pay.
Size Yours
Most mid-market manufacturers are running the basic formula (or worse, days-of-cover) and carrying the wrong buffer on thousands of SKUs — too much on some, too little on the ones that matter. We'll run a free stranded-inventory teardown and planning-maturity assessment: we recalculate your safety stock with real demand and lead-time variability, find where you're over- and under-stocked, and put a dollar figure on the cash you can release at the same service level. Book a 30-minute call and we'll run the numbers on your actual SKUs.
Let's see what's worth building first.
A 15-minute call: tell me where your AI or planning is stuck, and I'll tell you the one thing worth building first — and whether it's worth doing at all.