Decision software for grocery chains

How to calculate fill rate and service level

Last updated: 5 October 20269 min read

Who it is forGrocery chain supply chain and warehouse teams, buying, store operations

"Our service level is 98 per cent" is true in most businesses, and most of their customers disagree. The reason is the choice of measure: a business reporting 98 per cent on a unit basis can be at 80 per cent on an order basis. Customers — in a grocery chain, usually the store ordering from the distribution centre — do not experience units, they experience orders. This guide separates the three measures, shows how fill rate differs from service level and explains how to measure lost sales.

Three measures, three different numbers

Fill rate changes with the choice of base, and the gap is not small. On the same period's data the three measures can come out fifteen points apart.

Line fill describes operational load: how many items went short. Unit fill describes volume and is usually the highest, because complete high-volume lines pull the rate up. Order fill describes the customer's experience: did the whole order arrive.

The right measure depends on the purpose, but if only one is to be chosen it should be order fill. The other two tend to produce good news, and that delays recognising a problem.

Line fill rate
Lines shipped complete ÷ Total order lines × 100
Unit fill rate
Units shipped ÷ Units ordered × 100
Order fill rate
Complete orders ÷ Total orders × 100
Out-of-stock rate
Out-of-stock SKU-days ÷ Total SKU-days × 100

Track all three but put order fill on the dashboard. The other two are used for root cause: line fill says which items are the problem, unit fill says which volume is.

Service level and fill rate are not the same

The two terms are used interchangeably constantly, and that directly corrupts the safety stock calculation.

Service level is a target and expresses a probability: the chance of not running out during the lead time. The Z factor in the safety stock formula comes from that target. Fill rate is the outcome and measures the past.

There is no fixed conversion between them. A product managed to a 95 per cent service level can produce a fill rate of 97 or of 99.5, depending on the shape of demand and the duration of the stock-outs. Service level answers "how often will I run out", fill rate answers "what share of demand did I meet".

The two concepts compared (approximate bands from industry practice, not research data)
Service levelFill rate
What it expressesA target, a probabilityAn outcome, a result
Time axisForward-lookingThe period just past
What it measuresChance of not running outShare of demand met
Where it is usedSafety stock calculationPerformance reporting, customer commitments
Typical value90% - 99% (by product class)94% - 99% (unit basis)

Lost sales: the number that never appears

The insidious part of unmet demand is that there is no record of it. A customer who wants a product that is not on the shelf writes no line into any system; the lost sale exists only as a sale that did not happen.

So lost sales have to be estimated. The most practical method is to flag out-of-stock days and multiply them by that product's normal daily rate of sale. The answer is not exact, but it is far closer than assuming zero.

The second effect is substitution and abandonment. Some customers switch to a similar product — that is not a lost sale, though it may be a lost margin. Some defer, some go to a competitor. Knowing those three proportions roughly, by category, reveals the true cost of a stock-out.

Estimated lost sales (units)
Out-of-stock days × Normal daily rate of sale
Lost gross profit
Estimated lost units × Unit gross profit × (1 − Substitution rate)
Corrected demand
Actual sales + Estimated lost salesForecasting must run on this series; a raw sales series mistakes a stock-out for falling demand.

Forecasting should use the corrected demand series, not raw sales. Otherwise a stock-out reads as falling demand, the order is reduced, and the stock-out becomes permanent.

Setting the target band

A 100 per cent fill rate target is wrong: the last few points multiply safety stock and cost far more than they return.

The right approach sets targets by product group. The ABC-XYZ classification is the natural basis: high fill rate for A class, low for C class, and that is a deliberate choice.

If the target becomes a customer commitment, the contract has to state which measure it is based on. A "98 per cent service level" commitment means two different things to the two parties when it does not say whether it is unit fill or order fill.

  1. Calculate all three measuresLine, unit and order fill. Order fill goes on the dashboard; the other two are kept for root cause analysis.
  2. Flag out-of-stock daysRecord stock-outs at SKU-store-day level. Without that record, lost sales cannot be calculated.
  3. Correct the demand seriesThe forecasting model receives corrected demand with lost sales added, not raw sales.
  4. Tie targets to the ABC-XYZ groupOne target does not fit all products; a high target in C class produces safety stock that costs more than it returns.
  5. State the measure in commitmentsAny service commitment given to a customer must name the base being used, in the contract.
Target fill rate by product group (approximate bands from industry practice, not research data)
GroupOrder fill targetUnit fill equivalentRationale
A - critical / contracted97% - 99%99%+The loss goes straight to the customer relationship
A - standard93% - 96%98% - 99%High share of revenue
B88% - 93%95% - 97%Balanced
C80% - 88%90% - 94%Stock cost exceeds the return
New productNo target—No demand history, forecasts unreliable

Frequently asked questions

How is fill rate calculated?
On three bases. Line fill: lines shipped complete ÷ total lines. Unit fill: units shipped ÷ units ordered. Order fill: complete orders ÷ total orders. On the same period's data these three can come out fifteen points apart.
What is the difference between service level and fill rate?
Service level is a forward-looking target expressing the probability of not running out; the Z factor in the safety stock formula comes from it. Fill rate measures the past and says what share of demand was met. There is no fixed conversion between them.
Which fill rate measure should be used?
Order fill, on the dashboard. Unit fill is pulled up by complete high-volume lines and tends to produce good news. Customers experience orders, not units; order fill is always the lowest and the most honest.
How are lost sales calculated?
Multiply the number of out-of-stock days by the product's normal daily rate of sale. For lost gross profit, multiply the result by unit gross profit and deduct the substitution rate: some customers switch to a similar product, so that share is not entirely lost.
What should the fill rate target be?
It varies by product group. On an order basis: 97-99 per cent for critical A-class items, 93-96 for standard A, 88-93 for B and 80-88 for C. A 100 per cent target is wrong — the final points multiply safety stock.

Let us build this calculation on your data

Knowing the formula is not enough; the data has to sit at the right grain. Our team does the installation. We will go through your current setup together in 30 minutes.