Safety Stock Calculation: The Formula, a Worked Example, and Where It Breaks
Safety stock equals your target service level's z-score multiplied by the combined variability of demand and lead time: SS = Z × √(LT × σd² + d² × σLT²). The z-score is the only judgment call — everything else comes from your own sales and PO history.
The team behind Dr. Stock
The formula, two ways
Safety stock is the buffer above your average demand-during-lead-time, sized so normal variation doesn't turn into a stockout. There are two versions of the formula, and which one you need depends on how much data discipline your business can support.
The basic version — sometimes called days-of-cover — is: SS = safety days × average daily demand. You pick a number of days from gut feel and history, multiply by average sales. It's fast and it's honest about being a guess. Fine for a small catalog where nobody has time to build a model.
The version that actually prices in uncertainty is the statistical formula: SS = Z × √(LT × σd² + d² × σLT²)
- Z — the z-score for your target service level (how often you're willing to risk a stockout)
- LT — average lead time
- σd — standard deviation of daily demand
- d — average daily demand
- σLT — standard deviation of lead time
This assumes demand and lead time vary independently and roughly follow a normal distribution. Neither is perfectly true on Amazon — demand spikes around promotions, lead times cluster around factory shutdowns rather than scattering evenly — but it's close enough to be useful, and far more defensible than a days-of-cover guess.
Picking the z-score — the only judgment call in the formula
Every other input comes from your own sales history and PO records. The z-score is the one number you choose, and it's a business decision dressed up as statistics: how often are you willing to run out?
A 95% service level means you accept a stockout roughly once every 20 replenishment cycles. Pushing to 99% cuts that to about once in 100 — but the relationship isn't linear. Closing that last gap costs a lot more inventory than closing the first one did.
Set the service level per SKU, not per catalog. A hero ASIN carrying PPC spend deserves a higher service level than a slow-moving accessory. Run out of the hero mid-campaign and you lose organic rank along with the sale; run out of the accessory and you just lose the sale.
Worked example, real numbers
A seller averages 40 units of daily demand with a standard deviation of 12 units — some days slow, some days spike. Lead time from the factory averages 30 days with a standard deviation of 5 days. Target service level: 95%, so Z = 1.65.
- SS = 1.65 × √(30 × 12² + 40² × 5²)
- SS = 1.65 × √(30 × 144 + 1,600 × 25)
- SS = 1.65 × √(4,320 + 40,000)
- SS = 1.65 × √44,320
- SS = 1.65 × 210.5 ≈ 347 units
Add lead-time demand (30 days × 40 units = 1,200) and the reorder point lands around 1,547 units. That's the number that should trigger the next PO — not a round figure carried over from last year's plan.
The mistake everyone makes, including us
The most common mistake is the average-max method: take your worst-ever lead time and worst-ever demand, multiply them, call the gap safety stock. It feels conservative but it's really just insuring against one bad outlier, every day of the year. A single rough shipment from three years ago becomes a permanent tax on carrying cost.
The second mistake is calculating safety stock once and never touching it again. Lead time variability changes the moment a supplier switches factories, adds a QC step, or moves from air to ocean freight. We've seen this ourselves: a blended 12-month lead time average that looked stable on paper was actually hiding a step change mid-year, after a supplier shifted production lines. The average absorbed the shift. The safety stock number stayed calm for eight weeks while the real risk had already moved, and nobody caught it until the reorder point started missing.
The third mistake is using safety stock to paper over a forecasting problem. If demand forecasts are consistently wrong, more buffer stock doesn't fix that — it just makes the wrongness more expensive to carry. Across managing more than $500M in revenue across 100+ brands, the accounts with chronic stockouts almost always had a forecasting or PO-timing problem underneath, with safety stock being used to hide it rather than fix it.
When the number comes out wrong
If the safety stock figure doesn't match what feels right operationally, don't just override it — find which input is lying to you.
- Too high: check for an outlier lead time or demand spike sitting in your history window. One bad quarter can inflate the standard deviation for a full year.
- Too low: check whether lead time is being averaged across suppliers or shipping methods that don't actually behave alike. Blending air and ocean freight into one average understates the real spread.
- Wrong in the same direction repeatedly: demand or lead time isn't normally distributed, and the formula's core assumption is breaking down. Seasonal products, launches and promotions all produce lopsided curves this formula wasn't built for — at that point you need a seasonal or judgment-based override layered on top, not a bigger number.
Recalculate quarterly at minimum, and immediately after a supplier change, a freight mode change, or a promotion that pushed daily demand outside its normal range.
Where this fits
The formula above is something any spreadsheet can run. What's harder is keeping the inputs current — catching the lead time creep, the demand spike, the supplier change — before the reorder point is already wrong. That's the actual job behind safety stock, and it's ongoing, not a one-time calculation.
Dr. Stock, from Fable 5 (part of Full Circle), watches those inputs and flags reorder timing before a stockout hits mid-campaign, but purchasing decisions always go to a human regardless of autonomy setting. If the leak turns out to be wasted ad spend rather than inventory timing, that's a conversation for Dr. PPC instead.
| Service Level | Z-score | What it means |
|---|---|---|
| 90% | 1.28 | About 1 cycle in 10 runs short |
| 95% | 1.65 | About 1 cycle in 20 — common default for steady sellers |
| 97.5% | 1.96 | About 1 cycle in 40 |
| 99% | 2.33 | About 1 cycle in 100 — typical for hero ASINs carrying ad spend |
| 99.9% | 3.09 | About 1 cycle in 1,000 — rarely worth the extra carrying cost |
Which one you should actually pick
The days-of-cover method suits a small catalog running on founder instinct — fast, and honest about being a guess. The statistical formula suits any seller with clean sales and PO history who can tolerate real math. Neither suits a business whose actual problem is a broken forecast; no safety stock number fixes that, it just makes the mistake more expensive to hold.
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 is the formula for safety stock?
The statistical version is SS = Z × √(LT × σd² + d² × σLT²), where Z is the z-score for your target service level, LT is average lead time, σd is demand standard deviation, d is average demand, and σLT is lead time standard deviation. A simpler days-of-cover version — safety days × average daily demand — works if you don't yet have clean standard deviation data.
What service level should I use for Amazon FBA?
It depends on the SKU's role, not a universal rule. 95% (Z = 1.65) is a common default for steady sellers. Hero ASINs carrying ad spend often justify 99% (Z = 2.33), because a stockout there costs organic rank on top of the lost sale.
Does the safety stock formula work for seasonal or new products?
Not well on its own. It assumes a stable mean with normally distributed variation around it, and seasonal or new products don't have that history yet. Layer a judgment-based buffer on top, using a comparable product's launch curve or your planned promotion calendar, instead of trusting the standard formula alone.
Why did my calculated safety stock come out much higher than what I've historically held?
Usually one of two things: your instinct-based stock levels were already under-covering real lead time risk, or an outlier shipment or demand spike is inflating the variance in your calculation. Check the raw data before assuming the formula is wrong.
Is safety stock the same as the reorder point?
No. Reorder point = safety stock + (average lead time × average daily demand). Safety stock is the buffer itself; the reorder point is the stock level that tells you when to place the next order.
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
- Flexe Pricing 2026: No Rate Card, One Published IndexPricing · flexe pricing
- Flexe Review 2026: No Public Reviews — Now What?Review · flexe review
- Sellerboard Pricing 2026: Plans, Order Bands, LimitsPricing · sellerboard pricing
- ShipBob Pricing 2026: The Five Lines in Every QuotePricing · shipbob pricing
- Jungle Scout Pricing 2026: Both Billing Tabs, CheckedPricing · jungle scout 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