MRO inventory is the hardest inventory in a plant to get right. Production material is predictable: you know what you will make, so you know what you will consume. Maintenance spares are not. A pump seal may be used twice a year or twelve times a year depending on water chemistry nobody documented. A circuit board may sit untouched for six years and then be needed in the next four hours to keep a line running.
That unpredictability is why the standard retail ordering formulas fail on MRO, and why the answer is not a better formula but a better classification. This guide sets out a practical system: classify the part, then apply a policy that matches the class.
Why MRO behaves differently from production stock
- Demand is lumpy, not smooth. Consumption is events, not rates. Averages conceal the only thing that matters, which is the maximum credible demand during a lead time.
- The cost of a stockout is asymmetric. Holding a spare has a carrying cost; not holding it can stop a plant. For critical items the second cost dominates by orders of magnitude, which inverts the usual logic.
- Lead times are long and variable. Imported spares carry customs and freight variability on top of production lead time.
- Items are numerous and individually low-value. A typical plant carries thousands of lines, so management effort per line must be near zero for the majority.
- Parts become obsolete while in stock. A machine is retired and its spares become scrap. MRO inventory decays in a way production inventory does not.
Step one: classify by criticality
Before any quantity decision, every stocked item needs a criticality class. The test is a question, not a judgement: if this part fails and there is none in stock, what happens?
| Class | Definition | Stocking policy |
|---|---|---|
| A — insurance | Failure stops production, or creates a safety or environmental risk, and there is no workaround | Hold at least one, regardless of usage history or price. Review continuously. Document a substitute. |
| B — operational | Failure degrades output, quality or schedule, but partial operation continues | Hold against lead-time demand. Consignment or VMI where the supplier will agree. |
| C — consumable | Standard, short-lead, locally available items | Min/max on the shelf, or vendor-managed. Keep the count small and the buying simple. |
| D — project or one-off | Tied to a specific machine, upgrade or shutdown | Do not stock. Buy to the project. Re-classify when the machine is commissioned. |
Two rules make this classification work. First, class A is defined by consequence, not by consumption — a part used once a decade can be class A if its absence stops the plant. Second, the class drives the policy; the policy is not negotiated item by item. Without that discipline, every class A discussion turns into a cost argument, and the plant slowly stocks nothing.
Step two: segment by demand pattern
Criticality answers “how much does it hurt?” Demand pattern answers “how do we replenish?”
- Steady consumables — filters, lubricants, belts, standard fasteners, contact tips. Predictable enough for conventional min/max.
- Wear parts — seals, impellers, brake pads, chains. Demand tracks machine hours; if you log running hours you can forecast these better than any algorithm.
- Repairables — motors, pumps, valves, drives, boards. The item is not consumed, it is exchanged. The right policy is a rotable pool plus repair contracts, not a stock quantity.
- Insurance spares — long-lead, high-consequence items with no usage history. Policy is a fixed “one held” rule, reviewed when the machine approaches retirement.
- True slow movers — parts that have not moved in years. These are the ones that deserve a retirement decision, not a stocking decision.
Step three: set the quantities
For the minority of items with reasonably stable demand, the conventional arithmetic still applies.
Reorder point = (average consumption per period × lead time in periods) + safety stock
Safety stock = Z × σdemand over lead time
Where Z is the service-level factor: roughly 1.28 for 90% service, 1.65 for 95%, 2.33 for 99%. For class A items the service level should be set by consequence, which usually means 99% or a straight “always hold one” rule — the formula is not the right tool there.
Maximum = reorder point + a sensible lot size that satisfies the supplier’s minimum order and packaging quantity without creating years of cover. A common practical rule is that the maximum should not exceed roughly twelve months of expected consumption for a part with a healthy secondary market, and considerably less for anything with a design life.
Where the formula breaks, and what to do instead
- Zero usage history. The average is zero, so the formula recommends stocking nothing. Here, use the class-A rule instead of the arithmetic.
- Very lumpy demand. Averages are meaningless. Base the quantity on the maximum credible demand during lead time, estimated from the number of machines using the part and their duty.
- Long, uncertain lead times. The uncertainty, not the mean lead time, should drive the safety stock. Measure actual receipt times over the last several orders rather than believing the quoted figure.
- Large minimum order quantities. MOQ distorts min/max more than any other single factor. If the MOQ is ten years of cover, the honest options are to buy the MOQ and accept the obsolescence risk, to find a supplier willing to break the pack, or to move the item to a consignment arrangement.
Step four: attack the hidden inventory leak — duplicate part numbers
The largest avoidable cost in most MRO stores is not overstocking. It is the same physical part carried under two or three different numbers, bought at different prices from different suppliers, sitting on different shelves. It happens every time a machine arrives from a different builder, when an OEM private number is added alongside the manufacturer’s number, or when a substitute is created without retiring the original.
The fix is a part master with one canonical number per article and explicit cross-references to every alias. Build it in this order:
- Extract the full stock list with quantities, locations and last movement dates.
- Group by physical similarity: description, dimensions, photograph.
- For each group, confirm whether the items are genuinely the same article; if so, nominate one number as canonical.
- Record the aliases against the canonical number so search still works for the old references.
- Consolidate the physical stock, then re-run the min/max calculation on the combined movement history.
Combining the usage histories of three aliases frequently reveals that a part believed to be a slow mover is in fact one of the faster-moving items in the store — which changes its policy entirely.
Step five: shift risk to the supplier where it is cheaper
Not all stock needs to be owned.
- Consignment: the supplier holds stock on your site or theirs; you pay on consumption. Best for class B items with a willing distributor.
- Vendor-managed inventory: the supplier owns the replenishment decision against agreed min/max. Best for class C consumables and for stores where headcount is the constraint.
- Repair and exchange programmes: a guaranteed exchange unit at a fixed price within a fixed time. Best for class A repairables, and often the only way to keep legacy equipment supported.
- Stock-sharing agreements: neighbouring plants, sister sites or an industry pool holding one shared spare of a very expensive item.
Step six: the KPIs that actually change behaviour
| KPI | What it tells you |
|---|---|
| Availability of class A items | The only service metric that matters most. Target 100%. |
| Stockout events, with cause | Separates genuine surprises from clerical failures — the second type is free to fix. |
| Emergency freight spend | A direct, quantifiable price for planning failures. |
| Inventory turns, excluding class A | A blunt measure overall, but useful for class B and C where turns should be high. |
| Obsolete stock as a share of value | Measures how well the store retires what it no longer needs. |
| Percentage of class A parts with a documented and verified substitute | The single highest-value metric most plants do not measure. |
A ninety-day implementation sequence
- Weeks 1–2: produce a clean stock list with quantities, locations and last-movement dates. Do not attempt to fix anything yet.
- Weeks 2–4: identify and classify the class A items — typically a few hundred lines covering an overwhelming share of downtime risk.
- Weeks 3–6: for each class A item, record the exact part number, a photograph, key dimensions, the lead time actually achieved and at least one verified equivalent.
- Weeks 5–8: consolidate duplicate numbers for the class A and B items and re-run quantities on combined histories.
- Weeks 6–10: set min/max for class B and C, and move consumables to vendor-managed arrangements where possible.
- Week 10–12: retire genuinely dead stock, and stand up the KPI report so the system maintains itself rather than decaying.
Resist the temptation to start with a software purchase. The data work described above is what makes any system useful; software applied to a dirty part master simply makes the dirt visible at greater expense.
Frequently asked questions
How much should we hold in total?
There is no defensible single target. A plant with one critical, obsolete, imported machine should hold far more relative to its asset base than a plant running modern, locally supported equipment. The right question is whether every class A item is available, and whether the class C items justify the space they occupy.
Should we stock spares for a machine we plan to retire in three years?
Hold only class A items essential to run it out, buy no more than the remaining life requires, and stop buying anything with a shelf life longer than the remaining horizon. Also check whether the machine’s spares have resale value while the market still exists for them.
Is stocking nothing and relying on suppliers a valid strategy?
It is valid for class C items with short, reliable lead times, and for equipment whose downtime cost is low. It is not valid where a failure stops production and the lead time exceeds the tolerance for stoppage. Deciding that deliberately is fine; drifting into it by accident is not.
How accurate does the stock record need to be?
Accurate enough that the system’s decision and the shelf’s contents agree. In practice: high accuracy on class A, periodic cycle counting on class B, and simple visual min/max on class C. Cycle counting class A items is far more valuable than trying to count the whole store.
Building or repairing a critical spares list? Send your list — even a rough one, without part numbers — to [email protected]. We will identify the items, verify equivalents, and quote against your lead-time requirement.
Related reading
- MRO Spare Parts Management: A Practical Guide for Maintenance and Procurement
- MRO Spare Parts Management: Cutting Unplanned Downtime with 8000+ Cross-Referenced Components
- Obsolete and Discontinued Industrial Parts: The Complete Sourcing Playbook
- Importing Industrial Components from China: Incoterms, Payment, Inspection and Customs
- Building a spare parts criticality matrix
- Vendor managed inventory and consignment stock for spares