Akiba Tools › Guides
Reorder Level Formula: The Excel Method Where You Set the Rules and Stay in Control
The reorder level formula you find everywhere is average daily usage × lead time + safety stock. It was written for shops that sell every day. A store issues spare parts a few times a year, buys some locally and some from abroad, and holds parts it hopes never to use. This guide gives you the full method, in Excel, from the yearly issue quantities in a normal stock export. You choose the lead times, the cover and the safety stock; the formulas only make suggestions, and every final level is your decision.
What the basic formula misses
Usage × lead time is the core, but on its own it gets many store items wrong. The method below also allows for:
- Stock on order: what is already coming, so you don't order twice
- Local and foreign supply: different lead times and how many months of stock to hold
- How steady the use is: steady items need less safety stock than variable ones
- Falling use: an average of past years overstates what you will need next year
- Items that should not get a level at all: no use, erratic use, too little history
- Critical spares: held for breakdowns, set by decision rather than by formula
- Very slow movers and pack sizes: rounding that keeps the levels practical
- Your current levels: comparing old and new shows the cash each change frees or needs
What you need, and how to lay out the sheet
One stock export, one row per item, with the issue quantities for the last 3 completed years (2 is the minimum; many systems show these as yearly columns), the supply source (Local or Foreign), stock on hand, stock on order and unit cost. Useful if you have them: current reorder level and maximum, pack size or minimum order quantity, and a critical-spare flag.
Set the sheet up once with the layout below. The formulas in this guide use these column letters. The white columns come from your export; the shaded ones are formulas you add.
| Col | Heading | What goes in it |
|---|---|---|
| A–B | Code, Description | From your export |
| C–E | Issues year 1, 2, 3 | Issue quantity per completed year, oldest in C, latest in E |
| F | Supply | Local or Foreign |
| G–I | On hand, On order, Unit cost | From your export |
| J–L | Annual usage, Spread, Use | Formulas (steps 2 and 3) |
| M–O | Lead time, Cover, Safety % | Formulas (steps 3 and 4), which you can overwrite for a single item |
| P–U | Lead-time use, Safety stock, Reorder level, Maximum, Order qty, Order now | Formulas (steps 5 and 6): the suggestions |
| V–W | Current level, Current max | From your system, to compare |
| X–Y | Pack size, Critical | Pack size or minimum order; Y for critical spares |
| Z | Decision | Approve, Change or Keep current: your call on each line |
Adapt it to your store. The layout is a starting point. Change the lead times, cover and safety % to match your suppliers and your risk, overwrite a value for one item when you know better, and add your own columns after Z (category, location, buyer) without breaking the formulas.
The formulas suggest; you decide. Everything this method produces is a proposal based on past use. It can't know about a planned overhaul, a new machine or a supplier problem. Review each suggestion and confirm it before you change anything in your system.
Step 1: Sort the items before you calculate
Not every item should get a calculated reorder level. Sort first:
| If the item… | Then |
|---|---|
| was used steadily or variably in at least 2 of the last 3 years | Calculate its levels (steps 2 to 4) |
| has erratic use, or less than 2 years of history | Set the levels by hand, item by item |
| had no issues last year, or none at all | Reorder level and maximum 0: stop buying it (see our slow-moving stock guide) |
| is a critical spare with no regular use | Keep a small floor, for example reorder at 1, maximum 2, and record why |
Step 2: Work out the annual usage
A plain average treats a year from three years ago the same as last year. Weight the recent years more. With the three years in columns C, D and E (E = the latest):
=0.5*E2+0.3*D2+0.2*C2
With only two years: =0.6*E2+0.4*D2.
If use is clearly falling, the average still overstates it. When last year is below 70% of the earlier years, use last year only:
=IF(E2<0.7*AVERAGE(C2:D2),E2,0.5*E2+0.3*D2+0.2*C2)
This is column J, "Annual usage". The spread in step 3 is column K.
Step 3: How steady is the use?
Divide the spread of the yearly quantities by their average (the coefficient of variation). It tells you how much buffer an item needs:
=IFERROR(STDEV.P(C2:E2)/AVERAGE(C2:E2),"")
| Spread ÷ average | Use is | Safety stock |
|---|---|---|
| 0.3 or less | Steady | 25% of the use during the lead time |
| 0.3 to 0.6 | Variable | 50% of the use during the lead time |
| above 0.6 | Erratic | Set by hand |
These cut-offs and percentages are a practical starting point, not a rule. Adjust them to your store.
The "Use" column (L) and the safety % (O):
=IF(SUM(C2:E2)=0,"No use",IF(E2=0,"Stopped",IF(K2<=0.3,"Steady",IF(K2<=0.6,"Variable","Erratic"))))
=IF(L2="Steady",25%,IF(L2="Variable",50%,""))
Step 4: Lead time and cover, local or foreign
Lead time decides when to order; cover decides how much to hold at most. Starting points:
| Supply | Lead time | Maximum cover |
|---|---|---|
| Local | 3 weeks (0.75 month) | 2 months of use |
| Foreign | 3 months | 6 months of use |
Lead time (M) and cover (N), in months:
=IF(F2="Foreign",3,0.75)
=IF(F2="Foreign",6,2)
Use the real lead time where you know it, and overwrite it for a single item when a supplier is slower than usual.
Step 5: The formulas
These columns are your suggested levels. With annual usage in J, lead time in M, cover in N and the safety % in O:
- Use during the lead time (P):
=J2/12*M2 - Safety stock (Q):
=ROUNDUP(O2*P2,0) - Reorder level (R):
=ROUNDUP(P2+Q2,0) - Maximum (S):
=MAX(ROUNDUP(J2/12*N2,0),R2+1). The MAX keeps the maximum above the reorder level for low-use items. - Order quantity (T):
=IF(X2>0,CEILING(S2-Q2,X2),S2-Q2), rounded up to the pack size in X when there is one
Two practical rules on top:
- Very slow movers: if the use during the lead time is less than 1 unit, set reorder level 1, maximum 2. The formulas would otherwise give 0 or 1 and leave you with nothing on the shelf.
- Long lead times: make sure the cover is longer than the lead time plus the safety stock, plus a little margin. Otherwise the stock arrives just as you hit the maximum.
Step 6: When to order, and how much
This is where most stores go wrong: they look at stock on hand only. Count what is already on order too. With stock on hand in G and on order in H:
=IF(G2+H2<=R2,S2-(G2+H2),0)
In words: when on hand + on order is at or below the reorder level, order enough to bring it back up to the maximum.
Thousands of items? The formulas are simple; doing them for every line, item by item, is not. The Stock Health Check applies this whole method to your full stock export and puts your current levels next to the suggested ones, with the cash effect of each change. You review each suggestion and approve, change or keep your current level: nothing changes on its own.
A worked example
Six items from a made-up store. Issues are for the last three completed years, oldest first.
| Item | Supply | Issues | Annual use | Use | Reorder level | Max |
|---|---|---|---|---|---|---|
| Bearing 6205 2RS | Local | 150 · 170 · 160 | 161 | Steady | 14 | 27 |
| Hydraulic filter (packs of 10) | Foreign | 90 · 120 · 110 | 109 | Steady | 35 | 55 |
| V-belt B52 | Local | 14 · 22 · 18 | 18.4 | Steady | 3 | 4 |
| Grease EP2 cartridge | Local | 400 · 380 · 150 | 150 | Variable, falling | 15 | 25 |
| Pump impeller 80 mm | Foreign | 4 · 0 · 7 | – | Erratic | by hand | by hand |
| Seal kit, main gearbox (critical) | Foreign | 0 · 0 · 0 | – | No use | 1 | 2 |
Made-up data. The grease uses last year only (150), because use fell below 70% of the earlier years. The seal kit keeps a floor of 1 and 2 as a critical spare.
Now the decisions, with stock on order and the current levels:
| Item | On hand | On order | Order now? | Current level / max | Cash freed (+) / needed (−) |
|---|---|---|---|---|---|
| Bearing | 12 | 0 | Yes: 27 − 12 = 15 | 60 / 200 | +715 |
| Hydraulic filter | 25 | 40 | No: 25 + 40 = 65, above 35. On hand alone would have ordered again. | 20 / 50 | −129 |
| V-belt | 2 | 0 | Yes: 4 − 2 = 2 | 10 / 30 | +166 |
| Grease | 210 | 0 | No: 185 above the new maximum. Use it up first. | 120 / 300 | +799 |
Made-up data. Cash freed compares the average stock value with the current and the new levels (average stock ≈ safety stock + half the order quantity). Total for these four items: +1,551.
Three things stand out. The filter is the only item where the new level is higher: with a 3-month lead time, the old level of 20 was below the 27 filters used during one lead time, so the shelf would run empty before the next delivery arrived. The grease had its level set when use was much higher, so 185 cartridges are now surplus. And without counting stock on order, the filter would have been ordered twice.
Before you load the new levels: review and confirm
The suggestions are a starting point for your decision, not the decision. Go through them and record your call in the Decision column (Z): Approve, Change (type your own value) or Keep current. Only approved or changed values go into your system.
- Check the big changes by hand, especially the largest cash amounts in both directions.
- Ask the people who use the parts. A planned overhaul, a new machine or a retired one changes next year's use in ways the history can't show.
- Set dead items to zero. An item with no use that still carries a reorder level will be bought again.
- Make sure every maximum is above its reorder level.
- Keep the old values next to the new ones, with the date and who approved them.
Review every quarter
Use changes, suppliers change and equipment is retired. Recalculate every quarter with the new export, and straight away when a lead time or a supplier changes. The first time takes the longest; after that, you only look at what moved.
Prefer not to build it in Excel?
The Stock Health Check does this whole method for every item in your stock export, in your browser: your file is never uploaded.
Set your levels
Stock Health Check
$39 founder price (first 100 founders, then $79)
Suggested reorder levels, maximums and order quantities for every item, local and foreign lead times, steady, variable and erratic use, falling use, pack sizes and critical spares. Your current levels side by side with the cash freed or needed. Every level is a suggestion: you approve, change or keep your current value on each line, and nothing changes on its own. Run it every quarter and see what changed. Includes the Dead Stock Action Pack.
Become a founderStart with what's dead
Dead Stock Finder
Free
Find the dead and non-moving items first, including the ones still on order or still carrying a reorder level, in an Excel report from your stock export.
Try it freeFrequently asked questions
What is the difference between a reorder level and a reorder point?
They are the same thing: the stock level at which you place a new order. Many systems call it the minimum, and pair it with a maximum (min/max).
How do you calculate the reorder level for spare parts?
Work out the annual usage from your yearly issue quantities, divide by 12 and multiply by the lead time in months to get the use during the lead time, then add safety stock. Only do this for items with steady or variable use; critical spares, erratic items and items with no use need their own rules.
How much safety stock should spare parts have?
A practical starting point is 25% of the use during the lead time for items with steady use and 50% for items with variable use. Critical spares are set by decision, based on what a breakdown would cost, not by formula.
Should stock on order count when deciding to reorder?
Yes. Reorder when stock on hand plus stock on order is at or below the reorder level, and order up to the maximum minus both. Looking at stock on hand alone leads to double orders.
How often should reorder levels be reviewed?
Every quarter is a good rhythm for most stores, and straight away when a supplier, a lead time or the equipment an item fits changes.