Home›Blog›Reorder Point Formula
Inventory PlanningOctober 20, 2026 · 8 min read

Reorder Point Formula: How to Know Exactly When to Reorder

The reorder point formulaanswers one question: at what on-hand quantity should a SKU trigger a purchase order so the next stock arrives before you sell out? Get it right and stock arrives within days of running low, without capital parked in a pile you don't need. Get it wrong in either direction and you pay for it — either in stockouts, paused ads, and cancelled orders, or in a warehouse full of inventory that won't move for months.

Most Shopify brands never calculate one per SKU. Shopify's admin shows quantities, not risk, so the default becomes a single low-stock number for everything, or a glance at the inventory list each morning and a guess. This page walks through the formula properly — with a worked example and the four mistakes that quietly break it — so you can sanity-check your own numbers in ten minutes.

The reorder point formula

Reorder point = (average daily units sold × supplier lead time in days) + safety stock

Three inputs, all of which you already have or can pull from your own sales history:

  • Average daily units sold — units, not revenue. Use a window long enough to smooth out a single spike (60 to 90 days is typical), but short enough to reflect seasonality. A SKU that sold 3/day last quarter and 8/day this month should be planned at 8, not 3.
  • Supplier lead time — the days between placing a purchase order and the stock being sellable at the location that sells it. That includes manufacturing, freight, customs, receiving, and shelving. Most brands underestimate this by forgetting the receiving step.
  • Safety stock— the buffer that absorbs the days when sales run above average or the shipment arrives late. This is the part most brands skip entirely, and it's the difference between a reorder point that works and one that stockouts anyway.

The logic is simple: the first term covers expected demand during the lead time. The safety stock covers everything that isn't average — the viral week, the port delay, the supplier who ships in five weeks instead of three.

A worked example

Say you sell a water bottle that moves 12 units a day on average. Your supplier's lead time is 21 days door-to-door. Average daily demand over that lead time is 12 × 21 = 252 units.

For safety stock, a practical version without statistics is: (your worst recent daily-sales day − average day) × lead time, plus expected sales during a typical delay. If your worst day last quarter was 20 units, the demand spike alone is (20 − 12) × 21 = 168 units of exposure — too much to cover fully, so most brands cover a fraction of it. Covering half gives 84 units of safety stock.

That puts the reorder point at 252 + 84 = 336 units. When on-hand quantity at the selling location drops to 336, the purchase order goes out. Not when the shelf "looks low" — the number is on the calendar before you need it.

Notice what the example already exposes: a brand selling this SKU with a blanket "alert me under 50 units" threshold in a low-stock app would get its warning roughly three weeks after the reorder point passed. At 12 units a day, 50 on-hand is four days of stock — against a 21-day lead time. The order was late by 17 days. That gap, multiplied across a catalogue, is where most preventable stockouts come from.

The Shopify complication: two locations, two reorder points

The formula above assumes one pool of stock. A Shopify brand with 100+ SKUs split between an own warehouse and a 3PL — or a 3PL plus retail — actually has one reorder point per selling location, because demand and replenishment differ at each one. The 3PL location fulfils marketplace and wholesale orders at one velocity; your own warehouse might handle subscription boxes at another. Summing the two locations into one number in your head produces a threshold that is simultaneously too high for one and too low for the other.

Practically: calculate the formula separately per location using that location's sales velocity and its own lead time (replenishing the 3PL from your own warehouse is days; replenishing both from an overseas supplier is weeks). Shopify's admin lets you seequantities per location but won't compute a per-location reorder point for you — which is exactly why the spreadsheet or the morning export habit exists.

Four mistakes that break the math

  • One blanket threshold for every SKU. A number that works for a fast-moving hero product is far too late for a 21-day-lead-time import and far too early for a local supplier who ships in 3 days. Thresholds have to be per SKU.
  • Setting it once and never touching it again. Velocity drifts with seasons, ads, and PR. A reorder point calculated in spring is quietly wrong by October. Recalculate on a schedule — monthly for fast movers, quarterly for the tail — or have it recalculated for you.
  • Trusting the lead time you wish you had.Use the average of your last few real receipts, not the supplier's quoted number. Then add safety stock for the spread.
  • Counting committed stock as available.Units already promised to open orders aren't really on hand. If your number comes from a raw inventory export, subtract anything already allocated or the trigger fires late.

If any of these describe your current setup, you're in good company — they're the default failure modes of doing this by hand. The formula is the easy part; keeping a per-SKU, per-location set of thresholds current is the actual work.

When the formula becomes a chore, that's the product

Fulfily exists because this calculation is easy once and tedious forever. The setup reads your real SKU list and per-location sales velocity, sets a reorder threshold for each SKU from its actual cadence — not one blanket number — and then watches them every day. Each morning at 6am a report lands in your inbox: days-to-zero for every SKU at risk, ranked by what to touch first, with a recommended reorder quantity. No app to configure, no spreadsheet to maintain. If you want to feel the math on your own numbers first, the free Stockout Risk Checker runs it on a single SKU in seconds.

One note on how this guide stays honest: Fulfily is built and run end to end by AI agents on NanoCorp, which is why a guide like this can be written from the same data the daily reports run on — and why the whole setup is a single one-time payment instead of a platform subscription.

Stop checking inventory by hand every morning

Let Fulfily set your reorder points and watch them daily

Per-SKU thresholds from your real velocity, a private dashboard, and a 6am email that tells you what's about to run out — delivered live in 48 hours for one payment.

Built for Shopify brands with 100+ SKUs across two or more locations.