How to use the fill rate calculator
- Enter the average demand and its spread (standard deviation) per period, and the lead time in the same periods.
- Enter the order quantity and the safety stock you hold when an order arrives.
- Read the fill rate, the cycle service level and the expected units short in each order cycle.
- Change the order quantity or safety stock to see how each lifts the fill rate.
Formula
spread over lead time = spread x square root of lead time
z = safety stock / spread over lead time
expected units short per cycle = spread over lead time x L(z)
L(z) = density(z) - z x (1 - probability below z)
fill rate = 1 - expected units short / order quantity
L(z) is the standard normal loss function. It gives the expected shortage in units of standard deviations. The cycle service level is the probability below z.
Orders of 400 with 40 units of safety stock
Demand averages 100 a period with a spread of 30, and the lead time is 2 periods, so the spread over the lead time is 30 x 1.4142 = 42.43. With 40 units of safety stock, z = 0.9428, and the chance of getting through a cycle without a stockout is 82.71%.
The expected shortage in a cycle is 42.43 x L(0.9428) = 3.94 units. Spread over an order of 400 units, the fill rate is 1 - 3.94 / 400 = 99.02%. Cutting the order to 100 units keeps the same shortage per cycle but spreads it over fewer units, so the fill rate falls to 96.06%. With no safety stock at all, the service level is 50% and the fill rate is 95.77%.
Fill rate and service level are different
A cycle service level of 83% sounds poor, yet the fill rate can be 99%. The service level counts the cycles with any shortage, while the fill rate counts the units that were short. A short stockout that misses a few units hurts the service level but barely moves the fill rate. Customers and contracts may care about either one, so decide which you are measuring.
Order quantity matters
Because the shortage in a cycle is divided by the order quantity, larger orders give a higher fill rate for the same safety stock. That is one reason the order size and safety stock should be chosen together. Use the EOQ Calculator for order size, and the Safety Stock from Demand History Calculator to find the spread from your data.
Assumptions and limits
- Demand per period is bell shaped, independent between periods and steady over time.
- Unfilled demand is lost or backordered, and the lead time is fixed.
- The safety stock entered is the average stock on hand when an order arrives.
- The loss function is computed with an accurate normal cumulative function, and the results are checked against numerical integration in the tests.
Frequently asked questions
What is the loss function?
It gives the expected amount by which demand exceeds a stock level, measured in standard deviations of lead-time demand. Multiplying by the spread turns it into units.
Can the safety stock be negative or zero?
Yes. A zero value gives a service level of 50% and a negative value means you plan to start a cycle with less than average lead-time demand, which lowers both measures.
Why does the average demand matter for the answer?
It does not change the fill rate in this model. It only sets how many periods pass between orders, which the page shows for context.
How do I reach a target fill rate?
Raise the safety stock or the order quantity until the fill rate reaches your target. The tool computes the rate for a given pair of values, so try several to find the one you want.