Spare parts inventory optimization is the practice of setting each part's stock level from the math that balances two costs: the cost of a stockout against the cost of carrying the part. It uses criticality, demand rate, supplier lead time, and the variability of both to pick the quantity that minimizes total cost.

Most storerooms are not optimized, they are accumulated. Levels get set once by whoever bought the machine, then never revisited, so the plant ends up overstocked on cheap easy parts and short on the expensive long-lead ones that actually stop production. Optimization replaces that guesswork with a calculation you can defend to both maintenance and finance. This guide is the math side of the storeroom; for the stocking policy and classifications it sits on, see spare parts inventory management and for the software plumbing, see managing spare parts in a CMMS.

What is spare parts optimization?

It is choosing the stock level for each part by minimizing total cost, not by habit or gut feel. Every part sits between two opposing costs. Stock too little and you risk a stockout, where a missing part turns a two-hour repair into a multi-day outage. Stock too much and you pay carrying cost, capital tied up, space, insurance, and obsolescence, commonly cited at roughly 20–30% of inventory value per year. Optimization finds the quantity where the sum of those two costs is lowest.

The reason this needs math and not a rule of thumb is that the answer is different for every part. A $12 sensor with a one-day lead time and a $9,000 gearbox with a four-month lead time sit at completely different optima, and a single "keep two on the shelf" rule gets both wrong. Optimization is what lets a plant hold the right number of each, often fewer total parts and higher service at the same time, because the money moves from the cheap tail to the critical few.

Total-cost curve: the optimal stock level sits where carrying cost and stockout cost sum to the minimumOptimizing one part: where total cost bottoms outstock level →annual cost →carrying coststockout risk costtotal costoptimum
Every part has its own version of this curve. Carrying cost climbs with stock; stockout risk falls; the optimum is the low point of their sum, different for a $12 sensor than a $9,000 gearbox.

What tradeoff are you actually optimizing?

You are trading the expected cost of running out against the certain cost of holding stock. The stockout side is expected cost, the probability of a stockout multiplied by what a stockout costs, and both the probability and the consequence matter. A Vital part with a long lead time has a brutal stockout cost, so its optimum sits high. A Desirable part you can get overnight has a trivial stockout cost, so its optimum sits near zero.

The carrying side is easier to see and easier to ignore. It is the annual cost of the part just existing on the shelf: the capital that could be doing something else, the space, the insurance and taxes, and the risk the part shelf-ages or its equipment gets retired before it is ever used. Because carrying cost is quiet and stockout cost is loud, unoptimized storerooms drift toward overstock, nobody gets blamed for the part that sat unused, but everyone remembers the line that waited. Optimization forces both costs onto the same page.

How do you size safety stock?

Safety stock is the buffer that covers demand and lead-time variability during the resupply window, and you size it from a target service level and the variability of lead-time demand. The core relationship is: safety stock = Z × σLT where Z is the service-level factor and σLT is the standard deviation of demand over the lead time. Higher target service means a higher Z and more buffer; steadier demand and lead time mean a smaller σ and less buffer.

The service factor is where criticality enters the math. A 90% service level corresponds to a Z of about 1.28, 95% to about 1.65, and 99% to about 2.33, and each step up costs progressively more buffer for less gain. That is why you do not set every part to 99%. Vital parts earn the high service level and the expensive buffer; the long cheap tail gets a modest one. The order quantity itself often comes from the economic order quantity, EOQ = √(2DS ÷ H) which balances ordering cost against carrying cost for parts with steady demand, though for slow-moving spares, price breaks and packaging usually shape the real order more than EOQ does.

Service-level factors: buffer rises steeply as target service climbsMore service costs more buffer, fastZ 1.2890%Z 1.6595%Z 2.3399%Z 3.0999.9%
The service-level factor (Z) that multiplies your demand variability. Chasing the last fraction of service more than doubles the buffer, reserve it for Vital parts, not the whole storeroom.

How do you optimize a storeroom, step by step?

Optimization is a repeatable calculation applied part by part, then maintained. Here is the method:

  1. Pull clean demand history. Get each part's usage over two to three years from work-order consumption. Optimization is only as good as the demand data, which is why linking parts to work orders matters so much.
  2. Classify by criticality and value. Score each part's stockout consequence (VED) and annual value (ABC). Criticality sets the target service level; value sets how much effort the optimization deserves.
  3. Get real lead times and their variability. Ask suppliers for actual lead times, not catalog promises, and note how much they wobble. Lead-time variability drives more safety stock than demand variability for most spares.
  4. Set a target service level by criticality. Vital parts get a high service level (and the Z that comes with it); Desirable, easy-to-source parts get a modest one. Do not default the whole room to one number.
  5. Calculate safety stock and reorder point. Safety stock = Z × σLT; reorder point = expected lead-time demand + safety stock. These become the min in your CMMS min-max.
  6. Set the order quantity. Use EOQ as a starting point for steady-demand parts, then adjust for price breaks, pack sizes, and shelf life. For very slow movers, the order is often just one.
  7. Review and re-optimize on a cycle. Usage changes as equipment ages, PM schedules change, or assets retire. Re-run the numbers at least annually and whenever the asset base changes, and purge dead stock deliberately.
InputWhat it drivesWhere it comes from
Demand rate + variabilityReorder point, safety stockWork-order consumption history
Lead time + variabilityReorder point, safety stockSupplier actuals, not catalog
Criticality (VED)Target service levelMaintenance + production review
Unit cost + carrying rateTotal-cost optimum, EOQPart record + finance
Stockout consequenceWhether to stock at allDowntime cost of the asset
The five inputs an optimization actually needs. Weak demand or lead-time data is the usual reason a "calculated" level is still wrong.

Spare parts optimization: the reference numbers

The economics that make optimization worth the effort:

  • 20–30% of inventory value per year is a widely cited carrying cost for stored spares, so a $500,000 storeroom costs $100,000–$150,000 a year just to exist, which is the money optimization frees.
  • 30–40%+ savings opportunity exists for plants shifting from reactive to planned work, per the U.S. Department of Energy Federal Energy Management Program (PNNL O&M Best Practices). Optimized spares are what make planned work executable, the parts are there when the plan says so.
  • Spares turn slowly by nature many healthy storerooms sit near one inventory turn per year or less, so optimization is judged by service level and total cost, not by chasing turns like production inventory.

How does criticality change the target service level?

Criticality decides how much stockout protection a part deserves, which sets its service level, which sets its safety stock. This is the single most important idea in optimization: you do not optimize every part to the same service level, because a stockout on a Vital long-lead part and a stockout on a Desirable overnight part cost wildly different amounts. Pouring buffer into the cheap tail to hit a blanket 99% is how storerooms bloat.

The right pattern is a service level that tracks consequence: Vital parts near the top of the range, Essential in the middle, Desirable low or not stocked at all. That is what turns optimization into money, the total number of parts often falls while service on the parts that matter rises, because the capital moves from where it was wasted to where it protects production. Pairing this with predictive maintenance tightens it further: when you can see a failure coming, you can order the part before you need it and hold less on the shelf.

The hard part is keeping the inputs current, and that is where a connected system earns its place. Harmony's inventory and shortage intelligence pulls demand, lead time, and downtime together so the numbers behind every level stay live instead of going stale the day after the spreadsheet is built (see the platform), and it layers onto the CMMS you already run, no rip-and-replace. A connected plant is walked through in the CLS case study.

Where does optimization fit in the maintenance system?

Optimization is the quantitative core of the storeroom. It takes classifications from inventory management writes its results into the min-max levels held in your CMMS draws demand from work-order history, and feeds reliable parts availability into planning and scheduling. Its stockout metric ties straight to reliability and to MRO budget performance. Get the math right and both the maintenance manager and the CFO stop arguing, because the level on the shelf is now a defended number, not a guess.