Why calculate safety stock instead of guessing
A flat safety-stock number applied across your whole catalog say, "always keep two weeks of extra stock" ignores the fact that different SKUs have very different demand variability and supplier lead times. A stable, predictable item and a volatile, seasonal one need very different buffers; a single flat rule inevitably over-buffers one and under-buffers the other.
Calculating safety stock properly ties the buffer size to the actual variability of each item, so cash gets allocated to buffer stock where it is genuinely needed, rather than spread evenly regardless of risk.
The standard safety stock formula
The statistically grounded formula is: Safety Stock = Z-score × Standard Deviation of Demand × √(Lead Time in the same units as demand). The Z-score corresponds to your chosen service level for example, a 95% service level uses a Z-score of about 1.65, while 99% uses about 2.33.
The standard deviation of demand captures how variable your actual sales are day to day or week to week; the square root of lead time accounts for the fact that variability compounds over a longer waiting period before replenishment arrives.
- Z-score: derived from your chosen service level (higher service level = higher Z-score)
- Standard deviation of demand: how variable actual sales are for this SKU
- Square root of lead time: accounts for variability compounding over the wait for replenishment
A worked example
Suppose a product has a daily demand standard deviation of 8 units, an average lead time of 7 days, and you target a 95% service level (Z-score ≈ 1.65). Safety Stock = 1.65 × 8 × √7 ≈ 1.65 × 8 × 2.65 ≈ 35 units.
Compare that to a product with a standard deviation of only 2 units and the same 7-day lead time and service level: Safety Stock = 1.65 × 2 × 2.65 ≈ 9 units far less buffer needed, because demand for that item is much more predictable.
A simpler alternative when data is limited
If you lack enough sales history to calculate a reliable standard deviation such as for a new product Safety Stock = (Maximum Daily Usage × Maximum Lead Time) − (Average Daily Usage × Average Lead Time) is a workable substitute. It uses observed worst-case usage and lead time instead of a statistical distribution, trading some precision for simplicity.
This method tends to run more conservative (higher safety stock) than the statistical formula for the same data, since it plans directly around observed worst cases rather than a calculated probability.
Choosing the right service level
A higher service level (98-99%+) means fewer stockouts but requires progressively more safety stock for each additional percentage point of protection the relationship is not linear near the top end. Reserve very high service levels for critical, high-margin, or hard-to-substitute items where a stockout is especially costly.
For most standard SKUs, a 90-95% service level is a reasonable starting point, balancing stockout risk against the cash tied up in buffer stock. Review and adjust per SKU based on how costly a stockout actually is for that specific item.
Related resources
Set reorder points that already include the right buffer
StockFlow lets you set a minimum stock level per product—calculate your safety stock here, add expected lead-time demand, and use the total as your reorder threshold.
Trusted by small businesses
What our customers say
“Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!”
“Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.”