Spare Parts Reorder Point, Safety Stock & Economic Service Level
Put this calculator on your own site
Paste this where you want the calculator to appear. It works on any site — WordPress, Squarespace, Webflow, Ghost or plain HTML — and needs no JavaScript of yours. It carries a link back here, which is the only thing we ask for it.
The service level is not a policy choice. It falls out of the holding cost against the stockout cost.
Reorder Point at the Policy Service Level
—units
Smallest whole stock whose Poisson cumulative probability reaches the target
Economic Optimum, Safety Stock & the Cost of the Gap
Economically Optimal Reorder Point
—units
Economically Optimal Service Level
—%
Annual Cost of Running the Policy Instead
—
Reorder Point the Normal Shortcut Would Give
—units
Expected Demand in the Lead Time
—units
Safety Stock at the Policy Level
—units
Service Level Actually Achieved
—%
Criticality Index
—
The Poisson model assumes replacements are independent and the installed population is large relative to the demand in a lead time, which holds for a wear-out part fitted in quantity and fails for a part with only two or three installed. It also assumes a constant failure rate over the lead time: a part with a strong wear-out characteristic has an age-dependent rate, and the preventive-maintenance interval tool is the right place to treat that. Lead time is taken as deterministic - lead-time variability raises the required stock above these figures, and on an imported part it is often the dominant uncertainty. The criticality bands are conventional and should be recalibrated to the plant before being used to rank a store.
Using this calculator
About the Spare Parts Reorder Point, Safety Stock & Economic Service Level
The formula
This is the expression the tool evaluates. Every term is named underneath, with the unit it must be supplied in.
Expected demand while the order is in transitleadTimeDemand = ( unitsInstalled / mtbfYears ) x leadTimeDays / 365
A large installed population of parts each failing independently produces replacement demand as a counting process. The mean over the lead time is all a Poisson model needs - there is no separate variance to estimate, because for a Poisson process the variance equals the mean.
The exact reorder pointreorderPoint = smallest whole R with PoissonCDF( R ; leadTimeDemand ) >= serviceLevel
Walked term by term in log space so the factorial never overflows. Because R must be a whole number of units, the achieved service level jumps rather than landing exactly on the target - which is why the achieved figure is reported separately.
The critical ratio - marginal analysis of one more uniteconomicServiceLevel = 1 - holdingCostPerCycle / shortageCostPerUnit
Adding one unit to the shelf costs a cycle of holding and saves a stockout with probability equal to the chance demand exceeds the current point. Setting the two equal gives this ratio, and it means the right service level is computed from costs rather than chosen from habit.
The shortcut, shown so it can be distrustednormalApprox = leadTimeDemand + z x sqrt( leadTimeDemand )
The textbook normal formula, computed here only to expose its error. A Poisson distribution is right-skewed, and the skew matters most in the upper tail - so the normal approximation understates the stock needed exactly where a critical spare is stocked.
Symbols used above
Symbol
Stands for
Unit
mu
Expected demand during the replenishment lead time
units
R
Reorder point, in whole units
units
CSL
Cycle service level, the chance of not stocking out in a cycle
%
critical ratio
Holding cost per cycle over shortage cost per unit
—
How the result is derived
Step by step, from the values you type to the figure on screen.
The 10 inputs are read from the form on every keystroke: Units Installed in the Plant, Mean Life of the Part, Replenishment Lead Time, Order Quantity, Unit Cost, Annual Holding Rate, Downtime per Stockout, Downtime Cost, Machines Stopped per Stockout and Policy Service Level.
Each value is checked against the accepted range in the input table below. A value outside its range stops the calculation rather than producing a misleading figure — the results blank out and a message appears.
The validated values are substituted into the expression above, which resolves Reorder Point at the Policy Service Level together with every supporting figure in one pass — no value is carried over from a previous entry.
The supporting outputs — Economically Optimal Reorder Point, Economically Optimal Service Level, Annual Cost of Running the Policy Instead, Reorder Point the Normal Shortcut Would Give, Expected Demand in the Lead Time, Safety Stock at the Policy Level, Service Level Actually Achieved and Criticality Index — come from the same pass, so they always describe the same case as the headline figure.
Results are rounded for display only. The full-precision value is used throughout the chain, so reading a rounded intermediate figure back into the tool by hand can shift the last digit.
What each input means
Where to read each value on the floor, the unit it must be in, and the range the tool accepts.
Input
Unit
Accepted range
Default
What it means
Units Installed in the Plant
—
1 to 100000
240
Mean Life of the Part
yr
0.05 to 40 yr
3.5
Replenishment Lead Time
d
1 to 365 d
45
Order Quantity
—
1 to 5000
20
Unit Cost
—
0.5 to 200000
380
Annual Holding Rate
%
1 to 60 %
22
Downtime per Stockout
h
0.1 to 500 h
8
Downtime Cost
/h
1 to 20000 /h
380
Machines Stopped per Stockout
—
1 to 500
1
Policy Service Level
%
50 to 99.99 %
95
What the tool returns
The headline figure and every supporting value it is built from.
Output
Unit
What it tells you
Reorder Point at the Policy Service Level (headline result)
units
Smallest whole stock whose Poisson cumulative probability reaches the target
Economically Optimal Reorder Point
units
Economically Optimal Service Level
%
Annual Cost of Running the Policy Instead
—
Reorder Point the Normal Shortcut Would Give
units
Expected Demand in the Lead Time
units
Safety Stock at the Policy Level
units
Service Level Actually Achieved
%
Criticality Index
—
Worked example
Given
0
240 units installed, mean life 3.5 years, 45 day lead time
1
Ordered 20 at a time, 380 each, 22% annual holding rate
2
A stockout stops one machine for 8 h at 380 per hour
3
Policy service level 95%
Substituting
annualDemand = 240 / 3.5 = 68.571 a yearleadTimeDemand = 68.571 x 45 / 365 = 8.454 unitsholdingPerCycle = 380 x 0.22 x (20 / 68.571) = 24.383shortagePerUnit = 8 x 380 x 1 = 3,040criticalRatio = 1 - 24.383 / 3,040 = 0.991979, so 99.1979%
Answer
0
Reorder point 13 units, achieving 95.04%
1
Economically optimal reorder point 16 units at a 99.1979% service level
2
Running the 95% policy instead costs 678.65 a year
3
The normal shortcut would have said 15.4554 units
4
Lead time demand 8.454 units, safety stock 4.546, criticality index 45
Two things here are worth more than the headline. The economics ask for 99.2% service where the policy says 95%, and that difference is three units on a shelf against 679 a year - the policy is the expensive choice. And the normal shortcut returns 15.46, which rounds to 15, where the exact Poisson needs 16: it under-stocks by a unit in precisely the high-service region a critical spare occupies.
How to use it
Work through the input groups in order — Demand & Lead Time and Costs & Policy. The defaults are a realistic case, so you can change one value at a time and watch what moves.
There is no calculate button. Every figure recalculates as you type or drag, which is what makes this usable for a what-if sweep rather than a single answer.
Read Reorder Point at the Policy Service Level in the dark results panel — that is the headline figure, expressed in units.
Check the supporting rows underneath (Economically Optimal Reorder Point, Economically Optimal Service Level, Annual Cost of Running the Policy Instead, Reorder Point the Normal Shortcut Would Give, Expected Demand in the Lead Time, Safety Stock at the Policy Level, Service Level Actually Achieved and Criticality Index) before acting on the headline — they are where an implausible input usually shows itself first.
Reset to defaults returns every field to the reference case, which is the quickest way to check whether a surprising result came from the tool or from an input you had changed earlier.
Where this is used
Process planning — establishing Reorder Point at the Policy Service Level before a trial is booked, so machine time and material in Quality Systems, Traceability, Utilities & Factory Decisions are committed against a calculated figure rather than an estimate.
Costing and quotation — Reorder Point at the Policy Service Level is an input to the cost sheet, and quoting from a worked number rather than a remembered one is what keeps a margin intact.
Troubleshooting — when the floor result drifts from plan, entering the measured values (starting with Units Installed in the Plant) shows how much of the gap in Reorder Point at the Policy Service Level each variable explains.
Teaching and study — the accepted ranges bracket normal Quality Systems, Traceability, Utilities & Factory Decisions practice, so moving one variable at a time shows the shape of the relationship rather than a single answer.
Reading the result
Typical bands and what each one is telling you.
Value
What it indicates
Economic level below the policy
The part is cheap to hold relative to the stoppage. Stock more than policy says.
Economic level above the policy
A blanket service-level policy is over-stocking this part. Rare for genuinely critical spares.
Lead time demand under 1 unit
A slow mover. Poisson matters most here and the normal approximation is worthless.
Criticality index above 36
High consequence, frequent, long lead time. A candidate for consignment or dual sourcing.
Assumptions and limits
The Poisson model assumes replacements are independent and the installed population is large relative to the demand in a lead time, which holds for a wear-out part fitted in quantity and fails for a part with only two or three installed. It also assumes a constant failure rate over the lead time: a part with a strong wear-out characteristic has an age-dependent rate, and the preventive-maintenance interval tool is the right place to treat that. Lead time is taken as deterministic - lead-time variability raises the required stock above these figures, and on an imported part it is often the dominant uncertainty. The criticality bands are conventional and should be recalibrated to the plant before being used to rank a store.
Every input is bounded to the range normal practice occupies (Units Installed in the Plant 1 to 100000, Mean Life of the Part 0.05 to 40 yr and Replenishment Lead Time 1 to 365 d, and so on for the rest). Those bounds are guard rails against typing errors, not a claim that the formula fails one unit outside them.
The calculation is deterministic: the same inputs always give the same result. It carries no allowance for machine condition, operator skill, ambient conditions or lot-to-lot material variation unless an input above explicitly represents one.
Nothing is sent anywhere. The maths runs in your browser, so the numbers you type never leave the page.
Standards and further reading
ISO 55000 / ISO 55001 - Asset management, which frames spares holding as an asset-risk decision.
EN 13306 - Maintenance terminology, for the mean life and lead time definitions used here.
Acklam rational approximation to the inverse normal CDF, used only for the comparison figure.
Questions people ask
Why use Poisson rather than the usual z times standard deviation?
Because a spare part is a whole number of discrete failures, not a continuous quantity. For a Poisson process the variance equals the mean, so there is no separate standard deviation to estimate and the normal formula is fitting the wrong shape. The distribution is right-skewed, and the skew is concentrated in the upper tail - exactly the region that sets a high service level. In the worked example the normal shortcut returns 15.46 where the exact answer is 16, so it under-stocks by a unit while appearing rigorous.
Is a 95% or 99% service level the right target?
Neither, as a policy. The right level is computed, not chosen: adding one more unit to the shelf costs one cycle of holding and buys a reduction in stockout probability, and the two balance at the critical ratio one minus holding over shortage cost. A cheap part stopping an expensive machine lands above 99%; an expensive part on a machine with a spare route lands well below 95%. A single plant-wide service level over-stocks half the store and under-stocks the half that matters.
Why does the achieved service level not equal the target?
Because the reorder point has to be a whole number of units and the Poisson cumulative probability jumps at each one. Asking for 95% on a lead-time demand of 8.454 gives 13 units, whose cumulative probability is 95.04% - the nearest reachable level at or above the target. On a slow mover the jumps are much larger: with a lead-time demand under one unit, a single extra unit can move the service level twenty points, which is another reason the continuous formula misleads.
What is the criticality index for, and why is it not in currency?
It is a triage score, not a cost. It multiplies banded scores for stoppage consequence, replacement frequency and lead time, so a store of thousands of line items can be ranked before anyone computes an economic service level for each. The bands are conventional rather than derived, which is why it is reported as an index and not as money - the currency answer is the annual cost gap beside it. Use the index to choose which parts deserve the full calculation.
Reference rate of 2026-10-05, published by the European Central Bank. Source
A reference rate is not a dealing rate. Banks and payment providers apply their own spread, so treat this as the mid-market figure a quotation is negotiated around rather than the money that will arrive.
Scroll to Top
Contribute
Every record in these registers was sent in by somebody. Submissions are reviewed before they are published.