ServicesHow We WorkSectorsAcademyLibraryAboutContactOpen the Toolbox →
Maintenance · Management

Spare parts & MRO: stock for uptime, not for comfort

Spare-parts inventory is where reliability meets the balance sheet. Stock too little and a single missing part turns a two-hour repair into a two-week outage; stock too much and millions sit on shelves, quietly depreciating and going obsolete. The art is holding exactly what criticality demands and no more โ€” and it is genuinely quantitative. This guide covers economic order quantity, reorder points and safety stock, the holding-versus-stockout trade-off, and why critical spares break the usual rules โ€” with an interactive inventory model.

EOQReorder pointSafety stockCriticality
⚡ TL;DR

EOQ sets how much to order โ€” the quantity that minimises ordering + holding cost: EOQ = โˆš(2DS/H). Reorder point sets when: demand over the lead time, plus safety stock.

Safety stock buys protection against variability โ€” SS = zยทฯƒLT โ€” and the service level (z) you choose is a direct dial between holding cost and stockout risk. Each extra nine of availability costs disproportionately more stock.

Criticality breaks the formulas. For a critical, long-lead, rarely-failing item, EOQ says “hold none” but the stockout cost (a plant down for months) says “hold one”. These insurance spares are stocked on risk, not demand.

1 · The two-sided cost of a shelf

Every spare on the shelf is a bet against downtime, and like any bet it has a cost on both sides:

Good MRO management is the disciplined balancing of those two costs, item by item. The wrong answer in both directions is common: bloated stores full of obsolete parts and stockouts on the items that matter, because nothing was optimised โ€” everything was bought “to be safe.”

2 · How much to order: EOQ

For a regularly-consumed item, the economic order quantity finds the order size that minimises the sum of two opposing costs: order in big batches and you order rarely (low ordering cost) but carry a lot (high holding cost); order in dribs and you carry little but order constantly. The minimum sits where they cross:

EOQ = โˆš( 2ยทDยทS / H ) D = annual demand (units/yr), S = cost to place one order ($), H = holding cost per unit per year ($, โ‰ˆ unit price ร— carrying %). The total-cost curve is flat near the bottom โ€” so you don’t need to hit EOQ exactly, just avoid the steep ends.

The model below draws that U-shaped total-cost curve and marks the EOQ โ€” note how forgiving the bottom is.

3 · When to order: reorder point & safety stock

Ordering the right quantity is useless if you order too late. The reorder point (ROP) is the stock level that triggers a new order โ€” set so that, on average, stock runs down to the safety-stock cushion just as the new delivery arrives:

ROP = (demand during lead time) + safety stock    SS = z ยท ฯƒLT Lead-time demand = average demand ร— lead time. Safety stock SS covers the variability: ฯƒLT is the standard deviation of demand over the lead time, and z is the service-level factor (z=1.65 for 95%, 2.33 for 99%). Longer or more variable lead times need more safety stock โ€” it grows with โˆš(lead time).

Service level is the dial. Choosing 95% vs 99% vs 99.9% availability directly sets z, and the safety stock โ€” and cost โ€” climb steeply for each extra nine, exactly like the availability nines. You buy high service levels only where the stockout consequence justifies it. Set the dials and watch EOQ, the reorder point and the cost trade-off move:

Interactive — Inventory optimisation

Live model
Units consumed per year (D)
Price of one part
Admin cost to place one order (S)
Supplier delivery time
Std-dev as % of average demand
Target in-stock probability (sets z)
EOQ
โ€”
โ€” orders/yr
Reorder point
โ€”
trigger level
Safety stock
โ€”
โ€” held
Annual cost
โ€”
order+hold+safety
Total annual cost vs order quantity
Ordering cost falls, holding cost rises โ€” EOQ is the minimum
orderingholdingtotalEOQ
Model: EOQ=โˆš(2DS/H) with H = unit cost ร— 25%/yr carrying; SS=zยทฯƒยทโˆš(LT/52) where ฯƒ = variability ร— weekly demand and z from the service level (inverse-normal); ROP = Dยท(LT/52) + SS; annual cost = SยทD/EOQ + HยทEOQ/2 + HยทSS. Assumes a continuous-review (Q,r) policy with normal demand โ€” illustrative of the trade-offs, not a stocking decision.

4 · When the formulas don’t apply: insurance spares

The EOQ/reorder machinery assumes a part is consumed often enough to have a demand rate. Many of the most important spares aren’t: a spare rotor for a single critical compressor might fail once a decade, cost a fortune, and take a year to manufacture. Demand-based maths says hold none. Risk says otherwise. These are insurance (capital) spares, and they’re stocked on a different basis entirely:

stock if:  P(failure in lead time) ร— (cost of downtime) > holding cost The decision is a risk expectation, not a demand rate. When the downtime consequence is catastrophic and the lead time is long, you hold one even if it sits untouched for twenty years โ€” the cost of not having it once dwarfs a lifetime of carrying it.

This is why spare-parts stocking must be driven by criticality, not by part price or usage alone. A cheap, fast-moving bearing and a million-dollar, never-moving rotor need opposite strategies. The usual approach segments the storeroom:

MRO is the bridge between reliability and the storeroom. The demand rate that feeds EOQ comes from failure-rate and history data; the service level you choose per item should track its criticality; and the whole thing lives in the CMMS, where the bill of materials links parts to assets and reservations to planned work. A kitted, parts-ready job is impossible without it โ€” which is why MRO and planning are two halves of the same discipline Bluestream implements.

Key takeaways

Related guides