Set each item's reorder point as average daily demand times the supplier's real lead time, plus safety stock for demand swings. AI helps most with the parts people skip: cleaning a year of usage history, measuring actual lead times from past orders, and running the sum for every line. Then enter the figures in your stock system's reorder field.
The formula itself is simple enough for a calculator. Stockouts usually come from bad inputs rather than bad maths: weeks when you were out of stock look like weeks of low demand, and the lead time on the supplier's website is shorter than what actually happens. Fix those two inputs and the reorder points take care of themselves.
The formula, worked through for one item
A reorder point (the stock level at which you place a new order) has two parts:
- Lead-time demand: how many units you expect to use while you wait for the delivery. Average demand per period multiplied by lead time in the same periods.
- Safety stock: a buffer for the weeks when demand runs higher than average. The common version is z × σ × √L, where z comes from the service level you choose, σ (sigma) is the standard deviation of demand per period, and L is the lead time in periods.
Take an illustrative recruitment agency that places around 150 industrial temps a month and issues every new starter with safety boots, a hi-vis vest and gloves. A temp who turns up and can't be kitted out doesn't start, so a stockout costs a lost shift and an annoyed client. For size 9 safety boots, the last 26 weeks of issue records show an average of 8.4 pairs a week with a standard deviation of 3.1 pairs. The supplier quotes one week's delivery. At a 95% service level, z is 1.65:
- Lead-time demand: 8.4 × 1 = 8.4 pairs
- Safety stock: 1.65 × 3.1 × √1 = 5.1 pairs
- Reorder point: 13.5, rounded up to 14 pairs
So when stock of size 9 boots falls to 14 pairs, someone orders more. That's the calculation most online calculators stop at. Hold on to it, because two sections from now the real figure turns out to be 23.
Stage 1: export the history AI needs (about two hours)
Pull these fields for every stock line, covering at least 12 months if you have them, 26 weeks at a minimum:
- Item code and description, one row per issue or sale, with date and quantity.
- Stock on hand at the end of each week, or at least the dates when an item hit zero. This is the column nearly everyone forgets, and it matters more than any other.
- Purchase order history: order date, supplier, quantity ordered, date received. From these, AI can work out actual lead times.
- Unit of measure: pairs, boxes of 10, metres. Mixing units is the fastest way to produce nonsense.
- Known future events: a new client site starting, a contract ending, a price rise that will pull orders forward.
Strip out anything personal before uploading. The agency's issue log includes each temp's name and payroll number, and none of that is needed to calculate a reorder point. Delete those columns, keep item, date and quantity. If you do need to keep personal data in the file, use a business plan that doesn't train on your content, such as ChatGPT Business or Claude Team, rather than a free account.
Stage 2: clean the history before any maths
This is where AI earns its keep. Ask it to find and flag three kinds of distortion, then decide what to do with each yourself.
Stockout weeks. When size 9 boots ran out in weeks 14 and 15, the log shows only 3 and 2 pairs issued. Demand didn't fall; supply did. Averaging those weeks in drags demand down to 7.6 a week, which lowers the reorder point and makes the next stockout more likely. Statisticians call this censored demand. The fix is to exclude those weeks or replace them with the average of the surrounding weeks.
One-off spikes. In week 20 the agency onboarded 40 temps for a new distribution centre in one go. That week's 26 pairs isn't normal demand; it's a known event. Treat it as a planned order and leave it out of the average, otherwise the reorder point stays inflated for months after the site is fully staffed.
Returns and reissues. Boots returned unworn and reissued can be counted twice. Net them off.
Here's a cleaning prompt you can copy:
I've attached 26 weeks of stock issues (columns: week, item_code,
qty_issued) and a stock-on-hand file (week, item_code, closing_qty).
For each item:
1. List any week where closing_qty was 0 or where qty_issued is
less than half the item's median. Label these "possible stockout".
2. List any week where qty_issued is more than 2.5x the item's median.
Label these "possible one-off spike".
3. Do not change any numbers. Give me a table of flagged weeks with
the reason, so I can decide what to exclude.
Use Python to do the calculations and show me the code you ran.
An illustrative response would flag weeks 14 and 15 for size 9 boots as possible stockouts (closing stock of zero both weeks), week 20 as a spike, and also flag size 13 boots in almost every week, because a median of one pair a week makes any week with two pairs look like a spike. That last flag is noise. Rarely used lines need a different method, covered below, so you'd ignore the size 13 flags and move on.
Stage 3: measure lead times from your own orders
The quoted lead time is a promise; your purchase order history is the evidence. Ask AI to calculate, for each supplier and item, the average and the worst gap between order date and received date over the last year.
For the agency's boot supplier, the quote is one week. Twenty-two past orders show an average of 1.6 weeks, a standard deviation of 0.5 weeks, and a worst case of 2.8 weeks during a holiday period. Rerun the size 9 figure with reality:
- Lead-time demand at 1.6 weeks: 8.4 × 1.6 = 13.4 pairs
- Safety stock that also allows for lead-time swings: z × √(L × σ² + d² × σL²), where d is average weekly demand and σL is the standard deviation of lead time. That's 1.65 × √(1.6 × 9.61 + 70.56 × 0.25) = 1.65 × √33.0 = 9.5 pairs
- Reorder point: 22.9, rounded up to 23 pairs
The agency had been reordering at 14. Nothing about demand changed; the lead time input was simply wrong, and the gap between 14 and 23 is exactly the number of pairs they kept running short on. When a stockout keeps recurring on one line, check the lead time before you touch anything else.
Pick a service level for each item, not one for everything
The service level is the chance of not running out during a replenishment cycle. Higher levels need disproportionately more safety stock, so spend it where a stockout hurts.
| Service level | z value | Use it for | Agency example |
|---|---|---|---|
| 90% | 1.28 | Cheap to run out of, or easy to buy locally the same day | Ear defenders, size 13 boots |
| 95% | 1.65 | Most everyday lines | Gloves, safety glasses |
| 97.5% | 1.96 | A stockout stops work or loses a sale | Hi-vis vests in M and L |
| 99% | 2.33 | Critical, long lead time, or a contract penalty applies | Boots in sizes 8 to 10 |
Moving size 9 boots from 95% to 99% raises safety stock from 9.5 to 13.4 pairs (2.33 instead of 1.65 in the same sum), so the reorder point goes to 27. At around $45 a pair, those extra four pairs tie up $180. A single lost shift costs the agency more margin than that, so the higher level is worth it on the core sizes and not on size 13.
A quick way to sort items into these bands: ask AI to rank lines by annual usage value (units per year × unit cost) and by what happens when you run out. The top of both lists gets the high service level.
Stage 4: have AI calculate every line at once
Once the history is clean and lead times are measured, the calculation for 40 or 400 lines takes one prompt. Ask for the working to be done in code, not in the AI's head, because language models make arithmetic slips when they "think" through numbers rather than calculate them (why AI is unreliable at maths explains the mechanism).
Using the cleaned file (stockout and spike weeks removed as agreed),
calculate a reorder point for every item_code.
Inputs per item:
- d = average weekly demand
- sd = standard deviation of weekly demand
- L = average lead time in weeks (from the PO file, by supplier)
- sL = standard deviation of lead time in weeks
- z = from the service_level column (90%=1.28, 95%=1.65,
97.5%=1.96, 99%=2.33)
Safety stock = z * sqrt(L * sd^2 + d^2 * sL^2)
Reorder point = d * L + safety stock, rounded UP to a whole unit.
Output a table: item_code, d, sd, L, sL, z, safety_stock,
reorder_point, current_reorder_point, change.
Flag any item with fewer than 8 weeks of non-zero demand as
"too sparse - review manually". Run it in Python and show the code.
An illustrative extract of what comes back:
| Item | d | L (wks) | Safety stock | New ROP | Old ROP | Flag |
|---|---|---|---|---|---|---|
| Boots size 9 | 8.4 | 1.6 | 13.4 | 27 | 14 | |
| Hi-vis vest L | 11.2 | 0.8 | 7.9 | 17 | 20 | |
| Gloves M (pairs) | 36.0 | 0.8 | 14.6 | 44 | 50 | |
| Boots size 13 | 0.6 | 1.6 | n/a | n/a | 4 | too sparse |
Three things to check before accepting a table like this. First, units: if gloves are bought in boxes of 12 pairs but issued in pairs, make sure the reorder point is in pairs and the order goes in as boxes. Second, direction: some reorder points should go down. The hi-vis vest drops from 20 to 17 because its supplier delivers in under a week, and lowering it releases cash. Third, the sparse flags: those lines are not errors, they need a different rule.
Lumpy and rarely used lines need a different rule
The formula assumes demand arrives in a steady trickle. It doesn't suit items used once a quarter in large amounts, or items with a handful of issues a year.
An illustrative engineering consultancy that installs ground-movement monitoring shows the difference. Its spares shelf holds data-logger batteries, which are used steadily (a reorder point works), and inclinometer casing, which is used 200 metres at a time on three or four projects a year. A reorder point for the casing would either hold 200 metres idle all year or never trigger in time. The better rule is to order casing per project, as soon as the project is confirmed, with the supplier's lead time built into the project programme. For the rarely used lines, a simple minimum of one or two units, reviewed by a person, beats any formula.
Seasonality is the other exception. If demand in the busiest quarter is more than about 1.5 times the quietest quarter, one reorder point for the year will be too high half the time and too low the other half. Ask AI to calculate separate figures for peak and off-peak months, and put a reminder in the calendar to switch them.
Put the numbers where they'll trigger an order
A reorder point sitting in a spreadsheet prevents nothing. It needs to live in the system that watches stock levels:
- QuickBooks Online Plus or Advanced has a reorder point field on each inventory product, and flags items as low stock when quantity on hand reaches the reorder point. The QuickBooks help page on setting up low stock alerts shows where the field sits.
- Zoho Inventory lets you set a reorder level and a preferred vendor for each item, and can notify you when quantity drops below it, once the reorder option is switched on in the item preferences.
- Shopify: the Stocky app stopped working on 31 August 2026. Purchase orders now sit in Shopify admin, and Shopify points merchants to Sidekick, its AI assistant, for reorder suggestions. Treat those suggestions as a starting point and compare them with your own calculated figures.
- A spreadsheet still works for a small store: a column for stock on hand, a column for the reorder point, conditional formatting that turns the row red at or below it, and a weekly automated email listing red rows.
Most of these fields raise an alert rather than placing an order. Someone still has to act on it, and automating purchase orders and supplier emails is the natural next step once the alerts are reliable.
Keeping reorder points honest month to month
Recalculate monthly for the fast lines and quarterly for the rest, and track three numbers to see whether the new figures are working:
- Stockout events: how many times an item hit zero in the month.
- Fill rate: the share of requests met from stock on the day.
- Stock value: total cost of stock on hand at month end.
After three months, the illustrative agency's log reads like this: stockout events down from 11 a month to 3, fill rate up from 91% to 98%, stock value up by about $1,900 because core boot sizes now carry more buffer while slow lines carry less. Two of the three remaining stockouts were on size 7 boots, and the monthly review found the reason: a new client with a mostly female workforce had changed the size mix. That's the point of reviewing. The formula adapts to the data you feed it, but only a person notices that the data has shifted underneath it.
A monthly review prompt that keeps it quick:
Here are this month's stockout events and last month's reorder
points. For each item that ran out: was demand above the average
used in the calculation, was the delivery later than the lead time
used, or was the order placed late (stock fell below the reorder
point more than 2 days before the order date)? Put each item in
one of those three buckets and list any item where demand has
changed by more than 25% versus the previous 3 months.
The three buckets matter because each has a different fix: a demand change means recalculating, a late delivery means talking to the supplier, and a late order means the alert isn't reaching the right person.
When AI-set reorder points still leave the shelf empty
- The stock count is wrong. If the system says 20 and the shelf holds 12, the alert fires too late. Regular cycle counts on the top 20 lines fix more stockouts than any recalculation; running a faster stocktake covers how.
- Nobody owns the alert. Low-stock emails sent to a shared inbox get read by everyone and acted on by no one. Name one person per supplier.
- Substitutes hide demand. When size 9 runs out and staff issue size 10 instead, size 10 demand looks higher and size 9 looks lower. Log the substitution.
- The AI rounded down. Always round reorder points up. Rounding 22.9 to 22 sounds trivial until it's the pair you needed.
- Old figures were overwritten without a record. Keep a dated copy of every set of reorder points so you can see what changed when something goes wrong.
If your stock list is long and the data is scattered across a till, a spreadsheet and supplier emails, the setup is the hard part rather than the maths. For a broader view of how demand forecasts are built in the first place, see how AI inventory forecasting works.
Reorder point questions owners ask next
How often should I recalculate reorder points?
Monthly for your fastest-moving or most critical lines, quarterly for the rest, and immediately after a supplier changes lead time or a large customer starts or stops. Recalculating weekly usually just chases noise. Keep the old and new figures side by side so a sudden jump gets a human look before it goes into your system.
Is a reorder point the same as a minimum stock level?
Not quite. A minimum stock level is often a round number someone picked years ago. A reorder point is calculated: expected demand during the supplier's lead time plus safety stock. Many systems use the words interchangeably, so check what your software's field actually triggers, usually a low-stock alert rather than an automatic order.
What if my supplier has a minimum order quantity?
The reorder point tells you when to order; the minimum order quantity affects how much. Keep the reorder point as calculated and set the order quantity to at least the supplier minimum. If the minimum is large compared with your usage, you will carry extra stock after each delivery, which is worth weighing against switching supplier.
Further reads
- How Small Shops Can Use AI to Forecast Stock and Reorder — A shop-floor version of forecasting and reordering for small retailers.
- Why AI Stock Forecasts Go Wrong: 8 Mistakes Small Businesses Make — Eight ways stock forecasts fail, so you can spot them early.
- How to Find Dead Stock and Slow Movers With AI — The other side of the problem: stock that never moves.
- AI Supplier Management: Track Prices, Lead Times, and Risk — Track supplier lead times and prices so your inputs stay current.
- How to Sync Stock Across Shopify, Amazon and eBay Automatically — Keep stock counts right across sales channels so alerts fire on time.
- Best AI Inventory Tools for Small Retailers Compared — Compare inventory tools that can hold reorder levels for you.
- How Pubs and Bars Can Use AI for Events, Rotas and Stock — Stock variance checks, till-based rotas and event planning for pubs and bars, with a break-even rule for bar inventory software and copyable prompts.
- How Food Trucks Can Use AI to Plan Stock, Pitches and Posts — A trading log, a weekly planning routine and copyable prompts that help a food truck plan prep, choose pitches and post its schedule with AI.
- How Pet Shops Use AI for Stock, Subscriptions and Advice — Reorder rules for dated and seasonal lines, bag run-out maths for subscriptions, and an advice assistant that knows when to say 'ask your vet'.
- Does AI Stock Ordering Pay Off for an Independent Pharmacy? — The payback sum for AI stock ordering in a single-site pharmacy, the traps that inflate vendor claims, and a 30-day shadow test.
- Can AI Read Emailed Orders Into a Wholesaler's System? — When AI can reliably turn emailed orders into sales orders for a wholesaler, what it depends on, and three different wholesalers' answers.
- Where Should a Small Manufacturer Start With AI? — Why a small manufacturer's first AI project belongs in the office, how to score the options, and a six-week RFQ pilot with real numbers.
- How to Forecast Next Quarter's Sales With AI Using Your History — Three baselines, a backtest that exposes over-confident models, an adjustments log, and a wine merchant's festive quarter forecast worked end to end.
- Can AI Read Delivery Notes and Update Stock Automatically? — How AI reads delivery notes into goods-in records, when stock can update without a person, the mapping table that matters most, and the tests to run first.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: QuickBooks Online help (set up low stock alerts and reorder points); Zoho Inventory knowledge base (setting reorder level, low stock notifications); Shopify notices on the Stocky retirement; standard safety stock formulas from operations management texts.