Skip to content
Badr Alghamdi
ToolsLearnReferenceGlossaryField LibraryMethod sheetsWritingAbout
العربية
←Lessons

Service level: what the last percent of it costs

Moving the target from 90% to 95% adds one step of buffer. Moving it from 99% to 99.9% adds more than twice that step, for a tenth of the risk, and most policies were set without anybody drawing the curve.

Live result

The next point of service costs $517 a year and removes $730 of expected stockout cost.
  • service level you set95.0%
  • where the two costs meet96.7%
  • safety stock at that point1,116 units
  • days of demand it covers11.2 days
Below that point every added point of service still removes more than it costs.

Try a scenario

95.0%
909599.9
units/day

How steady demand is

days
days
$

Shown in any single currency; the arithmetic is identical.

%
$

At the balance service level: 96.733%

Safety stock1,116 units, 11.2 days
Holding it a year$9,822
Expected stockout cost$2,385
Both together$12,206
One more point costs$730
One more point saves$730

Field record

The policy curve is cycle service. Demand over the protection period is assumed close to normal, and one stockout has one entered cost.

What the buffer costs

Live chart
What the buffer costsHolding the buffer, expected stockout cost and both together from 90.0% to 99.9% service. At 95.0%, both together cost $12,416 a year. The two marginal costs meet at 96.7%.010,00020,000Cost a year, $Holding the bufferStockoutsBoth together$4,336 a yearthe two marginals meet · 96.7%you are here · $12,416the two marginals meet · 96.7%you are here · $12,41690.095.0100.0Service level, %

Four measures, one run

at 95.0% policy

95.0%

numerator
· cycles that end without a stockout
denominator
· 12 replenishment cycles
window
· a year

Units filled

99.6%

numerator
· units shipped from stock
denominator
· 3,000 units demanded in a cycle
window
· one cycle

Filled within 3 days

98.4%

numerator
· units served inside the threshold
denominator
· 3,000 units demanded in a cycle
window
· one cycle

Units still short

13 units · 154 a year

numerator
· units not shipped on the day asked for
denominator
· not a percentage, a count
window
· one cycle, and a year

At a 95.0% policy, 95.0% of cycles end without a stockout, 99.6% of units ship from stock, 98.4% are filled within 3 days, and about 13 units of the 3,000 in a cycle are still short.

A needs a lot size and this page models none, so the denominator here is one cycle of demand, 3,000 units. That is stated rather than assumed, because the whole argument of this page is that an undeclared denominator is not a measurement.

Live chart
Three percentage readings from one runClean cycles, units filled and units filled within 3 days across the service level axis. At 95.0%, the readings are 95.0%, 99.6% and 98.4%. Clean cycles and units filled are 4.6 points apart.90.095.0100.0Reading, %Clean cyclesUnits filledFilled within 3 daysyou are here · 95.0%you are here · 95.0%4.6 points apart90.095.0100.0Service level, %

What one more point costs and saves

Live chart
What one more point costs and savesAt 95.0%, one more point costs $517 and saves $730. They meet at 96.7%.010,00020,000Cost of one more point, $What the point costsWhat the point savesthe two marginals meet · 96.7%the two marginals meet · 96.7%90.095.0100.0Service level, %

What the balance point is not

It is not a target and it is not a recommendation. It is the place where two of your own numbers cross, and one of them, what a stockout costs you, is usually an estimate somebody made once. Move it and the crossing moves with it, which is the most useful thing this page can show you: the argument about service level is almost always an argument about that figure, held indirectly.

It also assumes a stockout costs the same whether it lasts an hour or a fortnight, that demand and lead time are independent, and that missing a cycle costs you the same as missing the one before. None of those are true, and all of them are why the number below the curve is a starting point for a conversation rather than the end of one.

The cost of one stockout

$
$
$
$

It does not check the values in between.

How the answer sits across the values sampledA rail of the 11 values sampled, from $3,000 to $13,000 in steps of $1,000. Across the values sampled, where your service level sits stays below the balance point from $5,000 to $13,000, the highest value sampled. The nearest value where it changes is $4,000, where it becomes above the balance point.first change$4,000$6,000on the page

Across the values sampled, where your service level sits stays below the balance point from $5,000 to $13,000, the highest value sampled. The nearest value where it changes is $4,000, where it becomes above the balance point.

Across the values sampled, where your service level sits stays below the balance point from $5,000 to $13,000, the highest value sampled. The nearest value where it changes is $4,000, where it becomes above the balance point.
The answerbelow the balance point
Values sampled$3,000 to $13,000, 11 values, step $1,000
Holds from$5,000
Holds to$13,000, highest sampled
Nearest value that changes it$4,000
The answer thereabove the balance point

What an unchanged region does and does not prove is set out in a short lesson.

The sweep samples only the values you entered. Between samples the answer is not checked, so read the boundary as observed, not proven.

Here is the maths

▾

The late unit threshold stays fixed at 3 days in this example.

The formula, in words

  • Safety stock is one number times a lookup. Combine the two sources of uncertainty into one figure, then multiply it by how many of them you want to cover; the second part is the whole of the service level decision.
  • The lookup is why the curve bends. Going from 90% to 95% is 0.36 of those figures. Going from 99% to 99.9% is 0.76 of them, twice as much buffer for a tenth of the risk, and nothing in the policy document says so.
  • A stockout has a price and almost nobody writes it down.Multiply the cycles in a year by the chance of missing one by what missing one costs.
  • Where the two slopes meet. One more point of service always saves the same amount and always costs more than the point before it, so they cross once, and the crossing moves when any input does.
σD=D×v\sigma_D=D\times vσD​=D×v where σD\sigma_DσD​ is daily demand standard deviation, DDD demand, and vvv the variability factor.σL=r2\sigma_L=\frac{r}{2}σL​=2r​ where σL\sigma_LσL​ is lead time standard deviation, and rrr the lead time spread.σ=L×σD2+D2×σL2\sigma=\sqrt{L\times\sigma_D^2+D^2\times\sigma_L^2}σ=L×σD2​+D2×σL2​​ where σ\sigmaσ is combined standard deviation, and LLL lead time.S=z×σ=Φ−1 ⁣(s100)×σS=z\times\sigma=\Phi^{-1}\!\left(\frac{s}{100}\right)\times\sigmaS=z×σ=Φ−1(100s​)×σ where SSS is safety stock, zzz the normal score for the service level, Φ\PhiΦ the normal cumulative distribution, and sss the service level in percent.H=S×c×hH=S\times c\times hH=S×c×h where HHH is holding cost, ccc unit cost, and hhh the annual holding rate.O=n×p×bO=n\times p\times bO=n×p×b where OOO is stockout cost, nnn cycles a year, ppp stockout probability, and bbb the cost of one stockout.ΔH=σ×c×hϕ(z)×0.01\Delta H=\frac{\sigma\times c\times h}{\phi(z)}\times0.01ΔH=ϕ(z)σ×c×h​×0.01 where ΔH\Delta HΔH is the cost of one more point, and ϕ(z)\phi(z)ϕ(z) normal density.ΔO=n×b×0.01\Delta O=n\times b\times0.01ΔO=n×b×0.01 where ΔO\Delta OΔO is the stockout saving from one more point.ℓ=ϕ(z)−z×(1−Φ(z))\ell=\phi(z)-z\times(1-\Phi(z))ℓ=ϕ(z)−z×(1−Φ(z)) where ℓ\ellℓ is normal loss.Q=ℓ×σQ=\ell\times\sigmaQ=ℓ×σ where QQQ is units short.F=(1−QB)×100F=\left(1-\frac{Q}{B}\right)\times100F=(1−BQ​)×100 where FFF is fill rate in percent, and BBB cycle demand.C=Φ ⁣(z+D×τσ)×100C=\Phi\!\left(z+\frac{D\times\tau}{\sigma}\right)\times100C=Φ(z+σD×τ​)×100 where CCC is the share filled within the threshold in percent, and τ\tauτ threshold days.

A worked example

Shipped defaults: 100 units a day, normal demand, lead time 30 days, spread 12, unit cost $40, holding 22%, one stockout $6,000.

σD=100×0.15=15\sigma_D=100 \times 0.15 = 15σD​=100×0.15=15. σL=12÷2=6\sigma_L=12 \div 2 = 6σL​=12÷2=6. The summed variance is (30×225+10,000×36)(30\times225+10{,}000\times36)(30×225+10,000×36), with value 366,750366{,}750366,750. σ=30×225+10,000×36=366,750=605.60\sigma=\sqrt{30\times225+10{,}000\times36}=\sqrt{366{,}750}=605.60σ=30×225+10,000×36​=366,750​=605.60 units. The cost of one unit of z is 605.60×40×0.22=5,329.27605.60 \times 40 \times 0.22 = 5{,}329.27605.60×40×0.22=5,329.27 dollars, and that single number carries the whole curve. Cycles a year are 365÷30=12.1667365 \div 30 = 12.1667365÷30=12.1667, so a year of certain stockouts would cost 12.1667×6,000=73,00012.1667 \times 6{,}000 = 73{,}00012.1667×6,000=73,000 dollars and one point of service saves a hundredth of it,
$730, at every point on the axis.
Service levelzHolding the bufferStockoutsBothOne more point costs
90%1.28155$6,830$7,300$14,130$304
95%1.64485$8,766$3,650$12,416$517
96.73%1.84299$9,821$2,385$12,206$730
99%2.32635$12,398$730$13,128$2,000
99.9%3.09025$16,469$73$16,542$15,829

The balance point, two ways, and they must agree. Closed form: 5,329.27÷73,000=0.0730045{,}329.27 \div 73{,}000 = 0.0730045,329.27÷73,000=0.073004, so e−z2/2=0.0730040.398942=0.182995e^{-z^2/2}=\frac{0.073004}{0.398942}=0.182995e−z2/2=0.3989420.073004​=0.182995, where zzz is the normal score. That gives z2=−2×ln⁡(0.182995)=3.39661z^{2} = -2 \times \ln(0.182995) = 3.39661z2=−2×ln(0.182995)=3.39661 and then z=1.84299z = 1.84299z=1.84299. Finally Φ(1.84299)=0.96733\Phi(1.84299)=0.96733Φ(1.84299)=0.96733, so 96.73%. Scan: the 100 point grid puts its lowest total at 96.7, at $12,206.45, and the totals either side of it sit above it. Both routes land on the same tenth, and that agreement is the test.

The two sentences the page exists for. The step from 90% to 95% adds 8,766−6,830=1,9368{,}766 - 6{,}830 = 1{,}9368,766−6,830=1,936 dollars of buffer. The step from 99% to 99.9% adds 16,469−12,398=4,07116{,}469 - 12{,}398 = 4{,}07116,469−12,398=4,071 dollars, 2.10 times as much for a tenth of the risk. A policy sitting at 99.9% carries 16,542−12,206=4,33616{,}542 - 12{,}206 = 4{,}33616,542−12,206=4,336 dollars a year more than the balance point, 35.5% more, to move the chance of a stockout in any one cycle by 3.2 points. The last column is the sharper version of the same fact: a point of service costs $304 at 90% and $15,829 at 99.9%, and the saving it buys is $730 at both ends.

At 95%, normal density is 0.103145 and the normal loss is 0.020893. Multiplying by 605.5989 gives 12.65 units short in one cycle. One cycle asks for 100×30=3,000100 \times 30 = 3{,}000100×30=3,000 units, so the fill rate is 99.6%. Allowing a late unit 3 days shifts z by 100×3÷605.5989=0.49538100 \times 3 \div 605.5989 = 0.49538100×3÷605.5989=0.49538, taking the reading to 98.4%. Across 365÷30=12.1667365 \div 30 = 12.1667365÷30=12.1667 cycles, 12.65×12.166712.65 \times 12.166712.65×12.1667 gives 153.9 units still short in a year.

What this does not model

Order quantity and its cost, review period, lost sales against back orders, partial stockouts, a stockout cost that grows with its length, correlated demand and lead time, supplier allocation in a shortage, obsolescence, and the fact that a service level measured on cycles is not the fill rate most people mean when they say service level.

The four readings are not combined and there is no fifth number under them. Cycle service and fill rate answer different questions, and averaging two answers to two questions produces an answer to neither.

Equation trace

  1. Combine daily demand spread and lead time spread into one protection period deviation.
  2. Convert the named cycle service level into its normal distribution value.
  3. Multiply that value by the combined deviation to obtain safety stock.
  4. Calculate annual holding cost and expected stockout cost on the same inputs.
  5. Compare the cost and saving of the next service point.

Boundary

The calculation treats service as cycle service for the policy curve, assumes demand over the protection period is close to normal, and assigns one fixed cost to a stockout. It does not set a target or equate cycle service with fill rate.

Source anchors

Foundations of Inventory Management. The published book provides context for service measures, safety stock, and continuous review inventory policy.

Calculation version

1.0.0

The whole record prints. Your browser can save it as a PDF instead of printing it.

It draws the service curve and marks where two marginal costs meet on the figures you type. It describes the arithmetic and does not set inventory policy.

Related

  • Safety stock: variance beats the average lead timeTwo suppliers both quote 30 days. One of them quietly costs you triple the safety stock.Interactive lesson · 2 min
  • Kingman's formula: one more job doubled the waitA bench running at 90% looks busy and behaves fine, right up until it does not. What sets the wait is how full it is, and how unevenly the work arrives.Interactive lesson · 3 min

Service level field record

Service level: what the last percent of it costs

Accepted inputs

Named service level
95.0%
Daily demand
100 units
Lead time
30 days
Lead time spread
12 days
Unit cost
$40
One stockout
$6,000

At the balance service level: 96.733%

Safety stock
1,116 units
Holding it a year
$9,822
Expected stockout cost
$2,385
Both together
$12,206
One more point costs
$730
One more point saves
$730

Field record

Equation trace
Combine uncertainty. Convert service to z. Calculate safety stock. Price holding and stockouts. Compare the next point.
Boundary
Cycle service with protection period demand close to normal and one fixed stockout cost. No target is recommended.
Source
Foundations of Inventory Management
Calculation version
1.0.0

It draws the service curve and marks where two marginal costs meet on the figures you type. It describes the arithmetic and does not set inventory policy.

Calculation version 1.0.0

Badr Alghamdi · badralghamdi.com/learn/service-level

Badr Alghamdi

Request a consultationLinkedInGitHubRSS