How to Compute Safety Stock
Safety stock = Z × √[(average lead time × demand variance) + (average demand² × lead time variance)]. Z comes from your target service level. The two inputs that actually move the number are how much your daily sales swing and how much your supplier's lead time swings — not the average of either.
The team behind Dr. Stock
The formula, in plain terms
The formula that accounts for both demand uncertainty and lead time uncertainty is: SS = Z × √[(LT × σd²) + (d̄² × σLT²)]. LT is your average lead time, σd is the standard deviation of daily demand, d̄ is average daily demand, and σLT is the standard deviation of lead time. Z is a constant tied to how often you're willing to stock out.
Simpler formulas exist — days-of-supply, or average-minus-max — and they're covered elsewhere. They work when a supplier is reliable and demand barely moves. The formula above is the one to use once either input starts swinging, which on Amazon is most of the time: freight delays, factory holds, a listing that suddenly ranks and triples in velocity.
Reorder point is a separate number, calculated from safety stock, not instead of it: ROP = (d̄ × LT) + SS. Confusing the two is the single most common error in this calculation — safety stock is the buffer, reorder point is the trigger.
Worked example with real numbers
Say a SKU sells an average of 40 units a day, with a standard deviation of 12 units a day — some days 25, some days 60. Average lead time from the factory is 45 days, with a standard deviation of 7 days, because customs clearance is inconsistent. You've decided a 95% service level is worth the carrying cost, which puts Z at 1.65.
Plug it in: SS = 1.65 × √[(45 × 12²) + (40² × 7²)] = 1.65 × √[(45 × 144) + (1,600 × 49)] = 1.65 × √[6,480 + 78,400] = 1.65 × √84,880 = 1.65 × 291.3 ≈ 481 units.
Reorder point = (40 × 45) + 481 = 1,800 + 481 = 2,281 units. That's the level at which the next PO should already be placed — not the level at which you start thinking about it.
Notice how much of that 481 comes from lead time variance, not demand variance: 78,400 versus 6,480 inside the square root. That's the part most sellers underweight, because they track sales daily and check lead time only when a shipment is late.
Choosing a service level (Z-score)
Z is a judgment call, not a physics constant. Higher service level means less stockout risk and more cash sitting in inventory. Most Amazon sellers land between 90% and 98% depending on margin and how replaceable the SKU is in a launch or ad-spend period.
The mistakes that make this number wrong
The formula is rarely the problem. The inputs are. Four mistakes show up constantly:
- Using average lead time with no variance. If you don't have σLT, you don't have a safety stock number — you have a guess wearing a formula's clothes.
- Recalculating once and leaving it. Demand variance in Q4 is not demand variance in June. A number set in January is often wrong by August.
- Ignoring case-pack and MOQ rounding. A calculated 481 units against a 500-unit case pack isn't an error — round up and say so, don't silently pretend the math landed on a clean number.
- One Z-score for every SKU. A slow-moving, high-margin SKU and a fast, thin-margin SKU should not carry the same service level. Applying one blanket target is a mistake we've watched brands make even after they knew better, because it's faster than segmenting.
Across the $500M+ in managed revenue we've managed for 100+ brands, the reorder timing behind a stockout is more often a bad lead-time input than a bad formula — someone used the contracted lead time instead of the last six actual shipments.
When the number comes back wrong
If the safety stock number looks too high to actually fund, don't quietly lower Z to make it feel affordable — that's solving a cash problem by hiding a risk. Instead, attack the input causing it: dual-source to cut σLT, or improve the forecast to cut σd. Lowering Z is a legitimate decision, but make it on purpose, not by accident.
If you're still stocking out despite a safety stock number that looks right, the formula usually isn't the failure point — the reorder point is being calculated correctly but the PO isn't being placed when it's hit, or approval is sitting in someone's inbox for four days while the clock runs on a 45-day lead time. Check execution before you touch the math again.
If the leak you're chasing is on the ad side — spend climbing while the stockout tanks organic rank — that's not a safety stock problem at all. That's a job for Dr. PPC, not this formula.
Where this fits
This formula is something any planner can run in a spreadsheet, and for a handful of SKUs that's exactly what you should do. Where it stops being enough is at scale — dozens of SKUs, each with its own lead time drift, each needing a different service level, recalculated as sales change week to week rather than once a quarter. Dr. Stock, a managed product from Fable 5, runs that recalculation continuously across a catalog and flags the reorder timing before it turns into a rank-killing stockout; inventory purchasing decisions still go to a human either way. Orbit, included with it, gives the BSR, buy box, price and fee visibility that makes the inputs to this formula trustworthy in the first place.
| Target service level | Approximate Z-score | What it means |
|---|---|---|
| 90% | 1.28 | Stock out on roughly 1 order cycle in 10 |
| 95% | 1.65 | Stock out on roughly 1 order cycle in 20 |
| 97.5% | 1.96 | Stock out on roughly 1 order cycle in 40 |
| 99% | 2.33 | Stock out on roughly 1 order cycle in 100 |
| 99.9% | 3.09 | Reserved for SKUs where a stockout is very costly |
Which one you should actually pick
Run the formula by hand for a small catalog with stable inputs — it's straightforward once you have real lead time variance. Once you're managing dozens of SKUs with shifting demand and unreliable lead times, the math is fine but the recalculation cadence becomes the real job, which is where a managed system earns its keep instead of a spreadsheet.
Shortlist on the job, not the feature grid. Total three numbers first: storage and aged-inventory surcharges for the last twelve months, lost sales on days your best sellers were out of stock, and cash sitting in SKUs that have not moved in 180 days. Then ask each vendor what they would do about those three in week one.
Common questions
What's the difference between safety stock and reorder point?
Safety stock is the buffer quantity itself — the units you hold beyond expected demand. Reorder point is the trigger level at which you place the next order, calculated as average demand during lead time plus safety stock. People use the terms interchangeably and it causes real ordering errors.
What service level should I actually use?
There's no universal answer — it's a trade-off between stockout risk and carrying cost. High-margin, hard-to-replace SKUs justify 97–99%. Slow-moving or low-margin SKUs are often fine at 90–95%. Set it per SKU, not once for the whole catalog.
How often should safety stock be recalculated?
At minimum every time demand seasonality shifts or a supplier's lead time reliability changes — for most Amazon sellers that's monthly to quarterly, not annually. A number calculated once in January is often stale by the next peak season.
My calculated safety stock number seems way too high — what do I check first?
Check lead time variance first. A single late shipment in your historical data can distort σLT and inflate the whole result. Confirm you're using recent actual lead times, not the contracted or quoted one, before deciding the number itself is wrong.
I have safety stock set correctly and I'm still stocking out — why?
The formula is usually not the problem at that point. Check whether the reorder point is actually triggering a PO on time — approval delays, funding holds, and supplier MOQ rounding all eat into a safety stock buffer before it ever gets used.
Dr. Stock runs Amazon inventory and supply chain — reorder timing, stockout risk, storage and aged-inventory fees, FBA fee errors and dimensional-weight misclassification, shipment discrepancies and reimbursement recovery — with operators from a $500M+ Amazon team supervising. Purchasing decisions always come to a human. Orbit is included. First 30 days free, priced on the call.
Book a Dr. Stock demoRead next
- NetSuite Pricing in 2026: What an Amazon Brand PaysPricing · netsuite pricing
- Flexe Review 2026: No Public Reviews — Now What?Review · flexe review
- Jungle Scout Pricing 2026: Both Billing Tabs, CheckedPricing · jungle scout pricing
- Cin7 Pricing 2026: The Order Bands Are the Real PricePricing · cin7 pricing
- ShipBob Pricing 2026: The Five Lines in Every QuotePricing · shipbob pricing
- Helium 10 Pricing 2026: Every Tier and the Ads FeePricing · helium 10 pricing
Part of
- Orbit — the software, included freeInventory, finance, ASIN profitability and the fee, price, BSR and buy box trackers
- Dr. PPCWhen the leak is in the ad account rather than the warehouse