Jun 16, 20265 min read

Safety Stock Formula: How to Calculate It (3 Methods + Examples)

The safety stock formula explained three ways: basic, service-level (Z-score), and demand plus lead-time variability, with worked examples and a Z table.

Ryan WaranauskasRyan Waranauskas
The short answer

The most accurate safety stock formula is safety stock = Z × σ × √(lead time), where Z is your service-level factor (1.65 for 95%), σ is the standard deviation of daily demand, and lead time is in days. A simpler version is (max daily sales × max lead time) minus (average daily sales × average lead time).

Key takeaways
  • Safety stock is the buffer that covers demand spikes and late deliveries between reorders.
  • Basic method: (max daily sales × max lead time) minus (avg daily sales × avg lead time).
  • Statistical method: Z × σ × √lead time, which ties the buffer to your real demand variability and target service level.
  • Z is the service-level factor: 1.65 for 95% in-stock, 2.33 for 99%. A higher service level means more stock and more cash tied up.
  • Safety stock feeds your reorder point. It is the cushion you add on top of expected demand during lead time.

Safety stock is the inventory you hold on top of expected demand to absorb the two things that break every forecast: demand that spikes, and deliveries that run late. Set it too low and you stock out. Set it too high and you bury cash on the shelf. The right number comes from a formula, and there are three worth knowing. They run from quick-and-dirty to statistically rigorous.

Summary

Safety stock answers a simple question: how much extra should I hold so a demand spike or a late shipment does not sink me before the next order lands? It is the buffer that feeds your reorder point.

What safety stock actually protects against#

There are two kinds of uncertainty it covers.

The first is demand variability. Some days you sell 20, some days 60. The average hides the spikes. The second is lead-time variability. The supplier quotes 30 days but sometimes takes 40.

Safety stock is the cushion that keeps you in stock through both. The better your formula models your own variability, the less cash you waste holding buffer you do not need.

Method 1: The basic safety stock formula#

If you do not have clean sales history yet, use the max-minus-average method:

SS = (Max daily sales × Max lead time) − (Avg daily sales × Avg lead time)
basic method

It compares your worst-case demand during lead time to your average case and holds the difference. Simple, and no statistics required.

Good enough to start

If you are just getting off spreadsheets, the basic method is a fine first buffer. Move to the statistical method once you have a few months of daily sales to compute variability properly.

Method 2: The statistical safety stock formula (service level)#

This is the formula most operators mean by "the safety stock formula." It ties your buffer to how much your demand actually moves around and the service level you want to hit:

SS = Z × σ × √(Lead time)
service-level method
  • Z is the service-level factor (how often you want to be in stock)
  • σ is the standard deviation of daily demand
  • √(Lead time) is the square root of lead time in days

Choosing your service level (the Z value)#

Z is the number of standard deviations that matches your target in-stock rate. The higher the service level, the bigger the buffer:

Service levelZ valueRead as
90%1.28In stock 9 of 10 cycles
95%1.65Common DTC default
97%1.88Important SKUs
98%2.05Hero / high-margin SKUs
99%2.33Stockouts very costly
99.9%3.09Near-never out
Service level isn't free

Every step up the table costs cash. Going from 95% to 99% can roughly double your buffer for a small gain in in-stock rate. Save the high end for SKUs where a stockout really hurts, not the whole catalog.

Method 3: When lead time varies too#

Method 2 assumes a steady lead time. If your supplier's lead time itself swings, use the version that accounts for both demand and lead-time variability:

SS = Z × √( (Avg LT × σdemand²) + (Avg demand² × σLT²) )
demand + lead-time variability
  • σdemand is the standard deviation of daily demand
  • σLT is the standard deviation of lead time (in days)

This is the most accurate of the three because it captures the real risk: a demand spike and a late shipment landing at the same time.

Pros
  • Most accurate, because it models both sources of risk
  • Right for long or unreliable supplier lead times
  • Prevents the worst case of a spike and a late delivery together
Cons
  • Needs lead-time history to compute σ_LT
  • Overkill for fast, reliable replenishment
  • Tedious to maintain by hand across many SKUs

A worked example#

Take a SKU that sells steadily but with some bounce:

  • Average daily sales = 40 units, with a standard deviation (σ) of 12 units
  • Lead time = 16 days (stable)
  • Target service level = 95%, so Z = 1.65

Using Method 2:

SS = Z × σ × √(Lead time)
   = 1.65 × 12 × √16
   = 1.65 × 12 × 4
   = 79.2 → 80 units

You would hold about 80 units of safety stock. That buffer keeps you in stock 95% of the time even when demand runs hot during the 16-day wait.

How safety stock connects to your reorder point#

Safety stock is not a standalone number. It is the cushion you add to expected lead-time demand to get your trigger to reorder:

Reorder point = (Avg daily sales × Lead time) + Safety stock
reorder point

So in the example above: (40 × 16) + 80 = 740 units. When stock drops to 740, you reorder. There is a full walkthrough in our guide on how to calculate reorder point.

Let Enough Stock compute safety stock per SKU and channel for you

Common safety stock mistakes#

A few patterns cost brands the most:

  • One blanket buffer for everything. Variability differs by SKU and channel, so size it per SKU.
  • A flat "days of cover" you never revisit. A SKU that goes viral needs its σ and buffer recomputed fast.
  • Ignoring lead-time variability. If your supplier is unreliable, Method 2 alone under-protects you. Use Method 3.
  • Setting 99% service level across the catalog. You will drown in cash. Match the service level to how costly each SKU's stockout really is.

The bottom line#

Start with the basic formula if you are data-light. Move to Z × σ × √(lead time) once you can measure demand variability, and use the demand plus lead-time version when your supplier is unreliable. Then feed safety stock into your reorder point and recompute as demand and lead times move. That last part is what Enough Stock automates: live variability per SKU and channel, turned into a buffer and a reorder trigger you can act on.

Frequently asked questions

What is the safety stock formula?

The statistical safety stock formula is Z × σ × √(lead time), where Z is the service-level factor, σ is the standard deviation of daily demand, and lead time is in days. A simpler alternative is (max daily sales × max lead time) minus (average daily sales × average lead time).

How do I calculate safety stock with standard deviation?

Take the standard deviation of your daily sales (σ), multiply by the square root of your lead time in days, then multiply by your service-level factor Z (1.65 for 95%). That gives the units of buffer you need to hit that service level.

What is a good service level for safety stock?

Most DTC brands target 95 to 98% (a Z of 1.65 to 2.05). Use higher service levels (99% or more, Z 2.33 and up) for hero SKUs where stockouts are very costly, and lower ones for slow, easily replaced items to free up cash.

What's the difference between safety stock and reorder point?

Safety stock is the buffer. The reorder point is the trigger. Reorder point = (average daily sales × lead time) + safety stock, so you calculate safety stock first, then add it to expected lead-time demand.

Do I need safety stock for every SKU?

Size it per SKU and per channel, not as one blanket number. Volatile, high-margin, or hero SKUs justify more buffer. Steady, low-margin items need less. A single blended buffer over-stocks some items and under-protects others.

Cited sources
Ryan Waranauskas
About the author

Ryan Waranauskas

CMO, Enough Stock

Ryan leads growth at Enough Stock, where he works with DTC operators on demand forecasting and inventory planning across TikTok Shop, Shopify, and Amazon. He writes about never selling out and never overstocking.

Shareon Xon LinkedIn

Keep reading

Never go out of stock again.

Enough Stock forecasts every SKU across TikTok Shop, Shopify, and Amazon and tells you what to order, how much, and by when.