5 Safety Stock Formulas Compared: Which One Should You Use?

Five safety stock formulas, run on the same SKU with the same service level, returning answers that differ by nearly eight times. Which one to use, what each one needs from you, and what each one quietly ignores.

·

9 min read

Use the simplest formula whose inputs you can actually produce. With no variability data, use days of cover. With clean demand history, use the service-level formula. With measured lead-time variability as well, use the combined version — it is the only one that prices a late supplier.

Which safety stock formula should you use?

Two questions decide it. Do you have a standard deviation of demand you trust? Have you measured how much your supplier's lead time actually moves?

What you haveUseWhat you accept
Neither. Under six months of historyFixed percentageA buffer nobody can justify, replaced within the year
Average demand and a view on riskDays of coverSteady and volatile SKUs get the same protection
Demand history, short lead time, no statisticsMax minus averageA number biased high, and higher the longer the lead time
Clean demand history and a service-level targetZ × σD × √LTSupplier variability priced at zero
All of the above plus receipt datesCombined variabilityReal maintenance cost per SKU

The table is the whole argument, and the rest of this page is the working behind it. One thing worth saying before the formulas: none of them fixes a forecast that runs low month after month. Safety stock covers the residual error of a reasonable forecast. If yours is biased, that is a demand forecasting problem and no buffer size will mask it.

What does each formula actually need from you?

Five inputs exist across all five formulas. No formula uses all five, and the two that brands usually cannot produce are the two standard deviations.

InputWhere it comes fromWho usually has it
Average demand per periodAny sales historyEveryone
Standard deviation of demandThe same history, with stockout periods removedMost brands, once cleaned
Average lead timePurchase order receipts, not the supplier's quoteEveryone, though often the quoted number by mistake
Standard deviation of lead timePromised date against received date, per supplierAlmost nobody
Service-level target, as a Z factorA commercial decision you makeNobody until they are asked

Two of those rows carry most of the failure.

  • The demand history has to be cleaned first. Weeks when you had nothing on the shelf recorded low demand because there was no stock, not because nobody wanted it. Leave those weeks in and you size the buffer using the very weeks the buffer was meant to prevent.
  • Lead time comes from your receipts. The supplier's quoted lead time is a target they are describing, not a measurement you took. The gap between quoted and actual is the entire input to the fifth formula, and it is sitting in your purchase order records right now.

The five formulas, from cheapest to most demanding

1. Fixed percentage

Safety stock = expected demand during lead time × a chosen percentage

Pick a figure, apply it everywhere. It takes an afternoon for a whole catalogue and it is honestly described as a placeholder: it contains no information about the product it is applied to. Every SKU gets the same protection whether it sells steadily or in bursts. Use it to get moving, and put a date in the calendar to replace it.

2. Days of cover

Safety stock = average daily demand × days of cover

You decide how many days you want to keep selling if a delivery slips. This is the most widely used method in mid-market CPG and it is a reasonable answer for most of a catalogue. Its weakness is that the days of cover is a judgement call rather than the consequence of a decision, so nobody can say what the buffer is buying. It also gives the steady SKU and the volatile SKU the same cover.

3. Max minus average

Safety stock = (peak daily demand − average daily demand) × lead time

The first formula that reacts to variability, and it needs no statistics — just a sort of your daily sales. The catch is structural rather than incidental: it assumes the peak day repeats every day until the delivery lands. On a lead time of a few days that is a tolerable overstatement. On an imported SKU with a lead time in weeks it compounds into something far larger than any statistical formula returns at the same service level. Treat it as an upper bound.

4. Service level, demand variability only

Safety stock = Z × σD × √LT

The classic. Z comes from the standard normal distribution and expresses your service-level target; σD is the standard deviation of demand per period; LT is the lead time in those same periods. It is the first formula that lets you state what you are buying — a target probability of getting through a cycle without running out — and the first whose answer changes when you change that target.

Its blind spot is named in the formula itself. There is no lead-time variability term, so it assumes your supplier is perfectly reliable. For a domestic supplier who delivers on the promised day, that assumption is close enough to free. For a container crossing an ocean it is the largest error in the calculation.

5. Combined variability

Safety stock = Z × √(LT × σD² + D² × σLT²)

The same service-level logic with a second term for lead-time variability. The structure says something useful before you put numbers in: the left term scales with lead time, the right term scales with the square of average demand. On a high-volume SKU with an unreliable supplier, the right-hand term dominates everything else — which is why, on those SKUs, chasing your supplier pays back more than chasing forecast accuracy does.

It is also the most expensive to maintain, because σLT has to be recomputed per supplier as the relationship changes. The full walkthrough is in how to calculate safety stock.

What happens when you run all five on the same SKU?

Say you sell a hero SKU in a supplements line. Suppose its numbers look like this — replace them with your own and the shape of the result will not change.

InputValue in this example
Average demand280 units a week, or 40 a day
Standard deviation of weekly demand60 units
Average lead time, from receiptsFour weeks
Standard deviation of lead timeOne week
Highest daily demand last quarter95 units
Service level chosen95%, so Z = 1.64

For example, at a fixed percentage of one fifth of lead-time demand, the first formula returns 224 units. Days of cover, set at a week, returns 280. Max minus average multiplies a gap of 55 units by a lead time of 28 days and returns 1,540. The service-level formula returns 1.64 × 60 × 2, or 197. The combined version returns 1.64 × √(4 × 3,600 + 78,400), which is 500.

FormulaSafety stockWhat it assumed
Fixed percentage224That one ratio suits every SKU
Days of cover280That a week of cover is the right amount of risk
Max minus average1,540That the peak day repeats for the whole lead time
Service level (demand only)197That the supplier is never late
Combined variability500Nothing it did not measure

Three things fall out of that table, and they are the reason this page exists.

  • The answer moves by nearly eight times on identical data. The choice of formula matters more than the choice of service level, and it is the choice nobody writes down.
  • Ignoring lead-time variability halved the buffer. 197 against 500, same service level, same SKU. A brand using formula 4 on an imported product believes it holds a 95% service level and does not.
  • Max minus average is not a conservative version of the others. It is a different question. At 1,540 units it is holding more than five weeks of cover for a supplier that is on average four weeks away, which on a perishable SKU is a shelf-life problem rather than a service-level one.

How do you know the formula you picked is working?

The formula states a service level. Measure the one you actually got.

  • Count short cycles, not short days. Over the last two or three replenishment cycles, mark a cycle as a miss if the SKU reached zero before the delivery landed. At a 95% target, roughly one miss in twenty cycles is the formula behaving correctly, not a failure.
  • Missing far more often points at the inputs, not the formula. In order of likelihood: the demand history still contains stockout weeks, the lead time came from the supplier's quote, or the σLT term is missing entirely.
  • Never touching the buffer is also a finding. A SKU that has not dipped into safety stock in a year of ordinary trading is either set above the service level the business needs or supplied by someone more reliable than the calculation assumes.
  • Segment before you escalate. Your A-items justify formula 5 and the maintenance it costs. Your C-items do not. Running the most demanding formula across a whole catalogue is the most common way this work quietly stops being done at all.

Service level itself is a commercial decision rather than a mathematical one, and the trade-off between a target and what it costs is covered in service level vs fill rate. The buffer is only half the replenishment decision in any case — the other half is when the order goes out, which is the reorder point.

How Planster handles safety stock

Everything above assumes someone maintains it. That is the part that breaks first: the arithmetic is fine in a spreadsheet, and it stays fine until the catalogue reaches a few hundred SKUs across several suppliers and nobody has recomputed σLT since the spreadsheet was built.

Planster pulls sales and inventory from 150+ systems, builds one demand forecast across DTC, Amazon, retail and wholesale, and nets it against what is on hand, on order and already committed. On safety stock specifically:

  • It is formula 2. You set days of cover for each SKU at each warehouse.
  • The days are multiplied by the forecast, not last month's average, so fourteen days of cover holds more units going into a seasonal peak and fewer coming out of it, recomputed every week.
  • The number of days is still your call. That is formula 2's weakness. If you want it to come from formula 4, the agent can help you calculate days of cover for a SKU from its variability and the in-stock rate you're aiming for, and you set the result.

Lead times and supplier constraints feed the order timing on top, and the reorder recommendations come out ranked by when they are due. Every order still needs you to approve it.

Where a spreadsheet is genuinely enough: a catalogue small enough to review in an hour, with domestic suppliers who hit their dates. Formula 2 in a spreadsheet will serve that business for years, and switching tools to get formula 5 on thirty SKUs is not a trade worth making. The argument for software starts where recalculation stops happening — and the tell is not a stockout, it is that nobody can say when the buffers were last updated. Planster's full app, Plan, is $999/month.

Sources

  1. Service-level factors read from the cumulative standard normal distribution: 90% corresponds to a Z of 1.28, 95% to a Z of 1.64, 98% to a Z of 2.05, and 99% to a Z of 2.33 — https://www.itl.nist.gov/div898/handbook/eda/section3/eda3671.htm (accessed 2026-09-17)

Common questions

Which safety stock formula should I use?

The right safety stock formula is the most demanding one your data can actually support, and the answer is decided by two things: whether you have a clean standard deviation of demand, and whether you have measured how much your supplier's lead time moves. With neither, use average daily demand multiplied by a chosen number of days of cover. With demand variability only, use Z times the standard deviation of demand times the square root of lead time. With both, use the combined-variability version, which is the only one of the five that prices supplier unreliability at all.

Do different safety stock formulas give different answers?

Different safety stock formulas give very different answers on identical inputs, and the spread is far wider than most operators expect. Run the five common formulas on one SKU with one service level and the largest result can be close to eight times the smallest, because each formula makes a different assumption about what the buffer is protecting against. The choice of formula is therefore a bigger decision than the choice of service level, and it is the one almost nobody documents.

What data do safety stock formulas need?

Safety stock formulas need up to five inputs, and each formula uses a different subset: average demand per period, the standard deviation of that demand, average supplier lead time, the standard deviation of that lead time, and a service-level target expressed as a Z factor. Average demand and average lead time come out of any order history. The two standard deviations are the inputs brands usually lack, and lead-time variability is the one that is almost never measured even though the data sits in the purchase order records already.

Why does the max-minus-average safety stock formula give such a large number?

The max-minus-average method multiplies the gap between peak and average daily demand by the entire lead time, which assumes the peak day repeats every single day until the replenishment lands. On a short lead time that overstatement is tolerable. On a lead time measured in weeks it compounds into a buffer several times larger than a statistical formula returns at the same service level, so brands importing from overseas should treat the result as an upper bound rather than as a target.

How do I check whether my safety stock formula is working?

Compare the service level the formula was set to against the service level actually achieved over the last two or three replenishment cycles, counting a cycle as a miss if the SKU hit zero before the delivery landed. A formula set to 95% that delivers roughly one short cycle in twenty is behaving. One that misses far more often usually has a demand history still containing stockout weeks, or a lead time taken from the supplier's quote rather than from recorded receipt dates.