Guide

Reorder point and safety stock: the formulas, with worked numbers

One item followed end to end, with every step of the arithmetic shown.

Updated September 2026 ~17 min read

You do not run out of stock on the day the shelf is empty. You run out on the day you should have placed the order and didn't. A reorder point is the on-hand quantity that marks that day — the level at which what is left just covers what you will use while the replacement is in transit.

The reorder point formula

Reorder point = (average daily usage × lead time in days) + safety stock

  • Average daily usage — units removed per day over a recent window.
  • Lead time — days from placing the order to stock being on the shelf and usable.
  • Safety stock — the buffer for the days that miss the average.

The bracket is lead-time demand: what you burn through while waiting. The second term is the cushion. Every method below is a better estimate of one of those two parts. One item runs through the guide — a mid-value consumable at 18 units a day, 12-day lead time, $40 a unit. The 60-unit safety stock below is a placeholder; three ways to derive a real figure come later.

Worked example

The running example

  • Average daily usage18 units/day
  • Average lead time12 days
  • Safety stock (placeholder)60 units
18 × 12 = 216 units of lead-time demand. 216 + 60 = 276 units. When on-hand drops to 276, you order.

The output is one number per item, and it is an estimate you revisit — carrying it to three decimals will not improve the inputs.

Getting the two inputs right

Average daily usage is units removed over a recent window divided by the days in that window. Sixty to ninety days suits a stable item; for anything seasonal, use a window matching the season you are heading into. Divide by calendar days if the item is consumed at weekends, by operating days if not — then count lead time the same way.

Mixing day types is the most common error here

Usage per operating day divided into a calendar-day lead time inflates the reorder point by the ratio of the two — about 40% on a five-day week. Pick one kind of day and use it in both terms.

Lead time means order-placed to shelf-ready, not order-placed to truck-arrives; receiving and put-away usually add a day or more, and that rarely reaches the formula. Use what your supplier actually delivers: pull the last eight to twelve receipts into a table of order date, received date and elapsed days, and the average and maximum come straight off it. Note the busiest single usage day too — methods B and C need both extremes.

Worked example

Measuring the inputs

  • Units removed in 60 days1,080
  • Average daily usage1,080 ÷ 60 = 18 units/day
  • Twelve receipts, average elapsed12 days
  • Longest of those twelve18 days
  • Busiest single usage day29 units
Those four numbers — 18 units/day, 12 days, 18 days, 29 units — carry the rest of this guide.

This step happens in a spreadsheet or your vendor's portal — Stockout holds no lead-time or usage-rate data, though it does keep the supplier directory of contacts and ordering-portal links. And your on-hand number has to be right before a reorder point means anything: a trigger set against a drifted quantity fires late, or not at all.

Why safety stock exists

If usage and lead time were constant, safety stock would be zero. They fail in two different ways. Demand variability: you burn faster than average while you wait. Lead-time variability: you wait longer than average at the same burn rate. The second is the one people underestimate, because it is invisible until the delivery does not arrive.

Worked example

What a late shipment costs in units

  • Extra days waiting18 − 12 = 6 days
  • Usage over those days6 × 18 = 108 units
With no buffer, the item is out for the last six days of the wait — 108 units of demand you cannot fill.

They also behave differently over time. Busy days partly offset quiet ones, so demand variability grows with the square root of lead time rather than in proportion to it. Lead-time variability does not cancel — a late shipment is late for the whole order — so if your supplier is erratic, better demand data will not save you. Safety stock is a cost decision either way: every unit sits on a shelf all year, and the three methods below trade accuracy against measuring effort.

Method A: days of cover (crude, and fine for cheap items)

Safety stock = average daily usage × days of cover
Safety stock = lead-time demand × buffer percentage

Pick how many days you want covered beyond the lead time and multiply by average daily usage. The percentage variant says the same thing against lead-time demand.

Worked example

Five days of cover, and the 25% variant

  • 5 days of cover18 × 5 = 90 units
  • Reorder point216 + 90 = 306 units
  • 25% of lead-time demand0.25 × 216 = 54 units
  • Reorder point216 + 54 = 270 units
The two forms agree: 25% of a 12-day lead time is 3 days, and 18 × 3 = 54 units.

Use it for low-value items, for anything with no history yet, and where a shortfall is an inconvenience rather than a stopped job. The rule is arithmetic: if the annual carrying cost of the buffer is less than the cost of measuring variability, stop here — for a $3 item that is almost always true. Avoid it on expensive items, long or erratic lead times, or anything that halts work, because it hands the same buffer to a steady item and a lumpy one.

Avoid the lazy version

A flat buffer on every item regardless of usage — everything gets 50 units — over-buffers slow movers and under-buffers fast ones. Multiply by that item's own usage even when the number of days is a guess.

Method B: the max-usage method

Safety stock = (max daily usage × max lead time) − (average daily usage × average lead time)

This covers the worst case you have actually lived through: your busiest usage day sustained across your longest lead time. No statistics, and it hedges both risks at once.

Worked example

Worst observed case

  • Max usage × max lead time29 × 18 = 522 units
  • Average × average18 × 12 = 216 units
  • Safety stock522 − 216 = 306 units
  • Reorder point216 + 306 = 522 units
The averages cancel: the reorder point lands exactly on 29 × 18. Note that this 306 is a safety stock, not the 306-unit reorder point method A produced — the same figure in a different role. It is a little over three times the buffer the 95% statistical method gives for this item once lead-time variability is included (306 ÷ 96 = 3.2), and nearly nine times the demand-only figure of 35.

Use it on critical items, and where an item has so few movements that a standard deviation would be noise. Avoid it on high-volume items with occasional freak days, where one bad week sets the buffer forever.

Clean the extremes first

Check whether the extreme usage day or lead time was a one-off — a single bulk job, a holiday shutdown at the supplier. If it will not recur, use the second-highest value and write down why.

Method C: service level and a Z factor

The statistical method asks how often you are willing to run short during a replenishment cycle. Pick that probability, take the matching Z factor, and the formula returns the buffer.

Safety stock (demand varies) = Z × σd × √LT
Safety stock (demand and lead time vary) = Z × √(LT × σd² + avg demand² × σLT²)

  • σd — standard deviation of daily demand, in units.
  • LT — average lead time, in the same days as the demand figures.
  • σLT — standard deviation of lead time, in days.

The square root is not a fudge: variance adds up across the days of the wait, so the standard deviation grows with its square root. Twelve days does not need twelve times the buffer of one day — it needs √12 = 3.4641. Keep units honest: σd must be per day if LT is in days, so convert weekly data with σdaily = σweekly ÷ √7.

Worked example

95% service level, σd = 6 units, σLT = 3 days

  • σd × √LT6 × 3.4641 = 20.78 units
  • × Z at 95%1.65 × 20.78 = 34.29 → 35 units
  • Reorder point216 + 35 = 251 units
  • Combined, demand term LT × σd²12 × 36 = 432
  • Combined, lead-time term avg demand² × σLT²18² × 3² = 324 × 9 = 2,916
  • Total variance, then its root432 + 2,916 = 3,348; √3,348 = 57.86
  • × Z at 95%1.65 × 57.86 = 95.47 → 96 units
  • Reorder point216 + 96 = 312 units
The lead-time term is 2,916 of the 3,348 total — 87% of this item's risk sits with the supplier, not with demand.

That split matters more than the 96 itself: better demand data would move almost nothing here. Tighten the supplier's spread, or accept the buffer and price it. Note that this item now has two defensible buffers — 35 units if you only cover demand variability, 96 once the supplier's three-day spread is in. The sections below quote the demand-only pair (35 units, a reorder point of 251) so every comparison stays like for like; for a real item with a supplier this erratic, carry the 96.

When the Z factor does not apply

The normal-distribution assumption breaks down on sporadic, lumpy demand — zero usage most days, a large order occasionally. Use method A or B there. As a rough floor, you want 30 or more days of history with movement on most of them before a daily standard deviation means anything.

What a service level actually promises

A cycle service level is the probability of not running short at any point during a single replenishment cycle. It is not the share of units shipped on time — that is fill rate, a different and usually higher measure — and it is not an annual figure. Multiply the miss probability by the cycles you run to get something you can reason about; the example item is reordered about every two weeks, so roughly 26 cycles a year.

Z factors and the resulting buffer for the running example (σd = 6 units, LT = 12 days, so σd × √LT = 20.78 units)
Service level Z factor Safety stock (Z × 20.78, rounded up) Expected short cycles per year at 26 cycles
90%1.2826.6 → 27 units0.10 × 26 = 2.6
95%1.6534.3 → 35 units0.05 × 26 = 1.3
97.5%1.9640.7 → 41 units0.025 × 26 = 0.65
98%2.0542.6 → 43 units0.02 × 26 = 0.52
99%2.3348.4 → 49 units0.01 × 26 = 0.26

Read the last two columns together and the trade shows: 95% to 99% adds 14 units — a 40% bigger buffer — to buy four points of probability, and the curve steepens as you climb. A higher service level does not make you order more often; it leaves more at the bottom of the bin between deliveries.

Choosing a service level per item

Do not set one level for the whole catalog. It falls out of two numbers: what a short cycle costs you, and what a unit costs to carry for a year. A working assumption of 20–30% of unit cost per year — capital, space, insurance, obsolescence — is enough to make the comparison; use your own figure if you have one.

Worked example

Is 99% worth it on this item?

  • Carrying cost per unit-year$40 × 25% = $10
  • Extra buffer, 95% → 99%49 − 35 = 14 units
  • Annual cost of that buffer14 × $10 = $140
  • Short cycles avoided1.3 − 0.26 = 1.04 per year
  • Benefit at $500 per short cycle1.04 × $500 = $520
  • Benefit at $50 per short cycle1.04 × $50 = $52
$520 of avoided cost for $140 of carrying cost: move to 99%. $52 for $140: stay at 95%. Same item, opposite answers — the cost of a miss decides it.

A starting point, judgment rather than law: items that stop work or lose a sale outright, 98–99%; ordinary moving stock, 95%; cheap and easily substituted, 90% or just method A. Weigh consequence, not only value — a $4 fitting that halts a build outranks a $400 item a customer will wait a week for. That classification is yours to record; Stockout does not rank items.

If you only review stock weekly

Everything above assumes continuous review — you know the moment stock touches the trigger. Check levels once a week and an item can cross the day after you looked, then sit unnoticed for six more days. Cover the review period as well as the lead time, in both terms.

Reorder point = average daily usage × (lead time + review period) + safety stock
Safety stock = Z × σd × √(LT + R)

That second line covers demand variability only, and the example below stays with the demand-only buffer like the rest of the guide. If the supplier's lead time varies as well, keep the combined form from method C and use lead time plus the review period in place of lead time: 1.65 × √(19 × 36 + 18² × 3²) = 1.65 × √3,600 = 99 units, and a reorder point of 342 + 99 = 441.

Worked example

A 7-day review period on a 12-day lead time

  • Demand cover18 × (12 + 7) = 18 × 19 = 342 units
  • √194.3589
  • Safety stock at 95%1.65 × 6 × 4.3589 = 43.15 → 44 units
  • Reorder point342 + 44 = 386 units
  • Trigger, against continuous review386 − 251 = 135 units higher
Same item, same 95% target: the trigger sits 135 units higher, but most of that is demand you consume while waiting. What you actually carry year-round rises by the bigger buffer (35 → 44 units) plus, on average, half a review period of demand you ordered early — about 72 units, roughly $720 a year, bought entirely by not looking.

This is the usual explanation behind "I set a reorder point and still ran out": the formula was right, the process was not. Shortening the review period is nearly always cheaper than inflating the buffer. Record stock as people take it and you are close to continuous review; update on a weekly walk-round and you are on a seven-day cycle and must pay for it. Alerts in Stockout are edge-triggered — one alert at the moment a change newly crosses a threshold, no re-alert on an item already low, no scheduled digest — so they are exactly as timely as the moment someone records the movement.

How much to order once you are triggered

The reorder point says when, not how much. The classic answer to how much is the economic order quantity, which balances what it costs to place an order against what it costs to hold the result.

EOQ = √(2DS ÷ H)

  • D — annual demand in units. S — cost of placing one order. H — cost of holding one unit for a year.
Worked example

EOQ for the running example

  • Annual demand D (calendar days, matching the usage rate above)18 × 365 = 6,570 units
  • S = $45 per order, H = $10 per unit-year2 × 6,570 × 45 = 591,300
  • ÷ H591,300 ÷ 10 = 59,130
  • √59,130243.2 → 243 units
  • Orders per year6,570 ÷ 243 = 27.0
  • Days between orders365 ÷ 27.0 = 13.5 days
243 units about every 13.5 days — consistent with the roughly 26 cycles a year assumed in the table above.

Most teams do not use EOQ, for honest reasons: S is hard to pin down, the formula assumes steady demand, and it ignores supplier minimums, case packs, price breaks and freight thresholds, which usually override the theoretical answer. Two defensible substitutes: order up to a target days of supply, or round EOQ to the nearest case pack. Either way, sanity-check it — below one case or above a quarter's demand means the inputs are wrong.

Six mistakes that break the math

  1. Mixing time units. A weekly sigma against a lead time in days, or operating-day usage against calendar-day lead times. Convert first: σdaily = σweekly ÷ √7, so a weekly sigma of 15.87 is a daily sigma of 15.87 ÷ 2.6458 = 6.0.
  2. Ignoring the review period. If nobody looks daily, the reorder point has to cover the gap between looks.
  3. Confusing safety stock with the reorder point. Safety stock is the cushion you hope never to touch; the reorder point is the trigger that contains it. Enter 35 instead of 251 — or 96 instead of 312 — and you will order far too late.
  4. Setting it once and never revisiting. Recheck when average usage moves more than about 20%, when a supplier changes, or quarterly — whichever comes first.
  5. Ignoring seasonality. At a Q4 rate of 30 units/day with the same 12-day lead time and 35-unit buffer, the reorder point is 30 × 12 + 35 = 395 — 144 units above the 251 that works the rest of the year. Recompute for the season rather than averaging across it, and if the swing also makes demand lumpier, recompute σd for the season too rather than reusing the 35.
  6. Using average lead time when variance is the real problem. If most of your variance sits in the lead-time term, more buffer is a workaround; the fix is a more reliable supplier or a second source.
And always round up

Round safety stock up to a whole unit or pack, never down. Rounding down quietly removes the last slice of the protection you just paid to calculate.

Putting your number to work in Stockout

The boundary first: you calculate the reorder point, and Stockout holds it as one number on the item. It does not compute a reorder point, does not forecast, and has no safety-stock or lead-time field.

The number goes in the item editor's Low Stock At field — 251 for the running example on the demand-only buffer, or 312 once the supplier's lead-time spread is covered. Either way it is the full reorder point, never the 35-unit buffer on its own. It takes a fixed number or a percentage from a two-option dropdown labeled # and %, where a percentage means a percentage of that item's Max Capacity (units), never of usage or demand. Use # mode for a calculated reorder point. See setting low-stock and capacity thresholds on an item.

Two threshold traps

If the item has no Max Capacity set, a percentage threshold resolves to zero and never fires.

Because Low Stock is evaluated before Max Capacity, an item whose low threshold sits at or above its Max Capacity will read Low Stock even when the shelf is physically full.

Once the threshold is set, the item carries one live status out of five. Quantity at or below zero reads Out of Stock; at or under the low-stock threshold reads Low Stock; at or above Max Capacity reads Max Capacity; at or above the near-capacity threshold reads Near Capacity; everything else reads In Stock. The colors are the same on Windows, Android and the web.

Low Stock and Out of Stock are two of four independently toggleable alert types, and Out of Stock takes priority over Low Stock on the way down. Four details catch people out.

  • Email recipients are a comma-separated list saved per device or browser and do not sync, and alerts only fire for the location that device is set to — both in alert settings.
  • On the web, alerts fire from the ± Adjust path; editing quantity in the item editor writes no stock movement and raises no alert, so use Adjust when the change should be recorded.
  • Settings carries a Default Low Stock Threshold for new items — it defaults to 5 and is stored per device, not synced — so a new item sits on 5 until you enter the real number.
  • Every item belongs to exactly one location, so the same product at two sites is two records with independent thresholds: calculate and enter a reorder point for each. Any User or above can set them; Viewers cannot adjust stock. See roles and permissions and how devices stay in sync.

For a coarse coverage read, the Weeks Cover chart in Analytics is current stock divided by units removed in the trailing 7 days, capped at 52 weeks. Its denominator counts every negative movement, not just sales, and it knows nothing about lead time — never treat it as a reorder trigger.

How Stockout helps

Everything above happens outside the app until this last step.

  • You calculate the number; Stockout stores it per item as Low Stock At — it does not compute one for you.
  • Inventory shows five stat tiles — Total Products, Low, Out, Near Capacity, Max Capacity — and tapping Low filters the list to everything that has crossed. That is your order-today list.
  • Low Stock and Out of Stock alerts fire once, at the crossing: email on every platform, mobile push on Android.

A worksheet you can run in ten minutes

  • Pull the last 60–90 days of usage from wherever you record it — spreadsheet, POS, vendor portal — and divide by the days in the window to get average daily usage.
  • Pull the last 8–12 receipts from your own records or the vendor's portal; record average lead time, longest lead time and the spread, counting order-placed to shelf-ready.
  • Pick the method: no history or a cheap item, days of cover; critical item with few movements, max usage; enough data and enough value, service level with a Z factor.
  • If you went statistical, choose a service level from the table and write down why.
  • Compute safety stock and round it up to a whole unit or pack.
  • Reorder point = average daily usage × (lead time, plus the review period if you review on a cycle) + safety stock.
  • Enter it as Low Stock At in # mode, turn on the Low Stock and Out of Stock alerts, and check the recipient list on the device you actually watch.
  • Diary a review: quarterly, or the moment usage or the supplier changes.

One discipline point outlasts the arithmetic: the number is worthless if nobody records stock as it moves, because an alert can only fire on a change the app was told about. That habit is one of the practices that stop stockouts before the math matters, running through all three guides.

FAQ

Questions, answered

Reorder point = (average daily usage × lead time in days) + safety stock. If an item is used at 18 units a day and the supplier takes 12 days from order to shelf-ready, lead-time demand is 216 units; add a 35-unit safety buffer and the reorder point is 251 units. When on-hand reaches 251, you place the order. Both inputs must use the same kind of day — if you calculate usage per operating day, count lead time in operating days too.

Safety stock is the buffer quantity you hold to absorb higher-than-average demand or a later-than-average delivery; you hope never to dip into it. The reorder point is the trigger level that tells you to place an order, and it already contains the safety stock plus the demand you expect to consume during the lead time. Typing a safety stock figure into a low-stock threshold instead of the full reorder point is a common mistake, and it makes you order far too late.

There are three practical methods. Days of cover: average daily usage × the number of extra days you want covered — 18 × 5 = 90 units. Max usage: (max daily usage × max lead time) − (average daily usage × average lead time) — (29 × 18) − (18 × 12) = 306 units, which is deliberately conservative. Statistical: Z × sigma_d × √LT, so at a 95% service level with a daily demand sigma of 6 and a 12-day lead time, 1.65 × 6 × 3.4641 = 34.29, rounded up to 35 units. If lead time varies too, use Z × √(LT × sigma_d² + avgDemand² × sigma_LT²), which for a 3-day lead-time sigma gives 1.65 × √3,348 = 1.65 × 57.86 = 95.47, rounded up to 96 units.

It is the probability of not running short at any point during a single replenishment cycle — not the percentage of units shipped on time, and not an annual figure. If you reorder an item about 26 times a year, a 95% cycle service level means expecting a shortfall in roughly 1.3 of those cycles. Raising it to 99% cuts that to about 0.26 cycles but costs 40% more buffer in this example (35 units up to 49), which is why the right level depends on what a stockout costs you versus what a unit costs to carry.

Yes, and by more than most people expect. The standard formula assumes you notice the moment stock crosses the trigger. If you only look weekly, the item can cross the day after you looked and sit unnoticed for six more days, so you must cover lead time plus the review period. For an item at 18 units a day with a 12-day lead time, a 7-day review period moves the reorder point from 251 to 18 × 19 + 44 = 386 units. Recording movements as they happen is usually cheaper than carrying the extra stock all year — the buffer rises from 35 to 44 units and you order about half a review period early, roughly 72 extra units on the shelf.

No. You work out the number yourself and enter it as that item's 'Low Stock At' threshold in the item editor; Stockout does not compute a reorder point and has no safety stock field. The threshold can be a fixed number or a percentage, but a percentage is a percentage of that item's Max Capacity, so if no Max Capacity is set a percentage threshold resolves to zero and never fires — use the # mode for a calculated reorder point. Once it is set, the item reads Low Stock when quantity is at or under the threshold and Out of Stock at or below zero, the Inventory screen's Low tile filters the list to everything that has crossed, and the Low Stock and Out of Stock alerts fire once at the moment of the crossing.

Turn your reorder point into an alert

Once you have the number, enter it as the item's Low Stock At threshold and Stockout will flag it the moment an adjustment takes stock across the line.