What Inventory Replenishment Is
Inventory replenishment means ordering more stock before you run out. You order it early enough that new stock lands when you need it, not after.
It is not one formula. It is a set of methods, and we see sellers pick the wrong one for their catalog more often than they pick a bad formula within the right one. Each method fits a different kind of seller, or a different kind of SKU, and mixing them up is usually what turns a manageable stock gap into an actual stockout. Below are the four main ones, the math behind each, and two worked examples.
Reorder Point = (Average Daily Sales x Lead Time) + Safety Stock
The Four Replenishment Methods
Reorder Point (Continuous Review)
You watch stock all the time, or close to it. The moment it drops to a set number, you order. That number is the reorder point.
Reorder Point = (Average Daily Sales x Lead Time) + Safety Stock
This fits SKUs you can check often. It works best when demand is steady, not spiky. Most inventory software uses this method by default. A system can watch every SKU in real time. A person with a spreadsheet cannot.
Periodic Review (Order-Up-To)
You check stock on a fixed schedule instead. Weekly, say, or once a month. Each time you check, you order enough to bring stock back up to a target. That target is the order-up-to level.
Order-Up-To Level = Demand over (Lead Time + Review Period) + Safety Stock
Compare this to the reorder point formula above. There is one new term: the review period. Between two checks, stock keeps falling. It can fall for the whole review period before you look again. Your buffer has to cover that gap too, not just the supplier's lead time.
This fits sellers who review purchasing on a schedule. It also fits suppliers who batch orders the same way.
Min-Max
A simpler, rounder version of periodic review. You set two numbers: a minimum, and a maximum. The minimum sits close to a reorder point. The maximum sits close to an order-up-to level.
Min = Reorder Point
Max = Order-Up-To Level
Order Quantity = Max - Current Inventory Position (when Current <= Min)
When stock hits the minimum, or drops below it, you order up to the maximum. Min-max trades precision for something easier to read at a glance. Two round numbers are simpler to check than a formula run fresh each week. That is why spreadsheets lean on it.
Demand-Driven (Top-Off)
No fixed formula here. You top off stock toward a buffer, and you size that buffer to recent demand, weighted toward what just happened. You review often, and you adjust as the pattern shifts.
This fits fast movers with short lead times. A number computed once a week is already stale for a SKU that moves that fast. It also fits sellers for whom ordering slightly too often costs little, next to what a stockout costs.
Method at a Glance
| Method | You Order When | Best Fit |
|---|---|---|
| Reorder Point | Stock crosses a set trigger, checked continuously | Steady demand, software that watches stock for you |
| Periodic Review | A fixed date arrives, regardless of stock level | A weekly or monthly purchasing routine |
| Min-Max | Stock hits a floor, checked by eye | Small catalogs run from a spreadsheet |
| Demand-Driven | A recent-demand buffer runs low | Fast movers, short lead times, volatile sales |
The Planner
Match your situation to one of the four methods above. Then run your numbers through the planner. We default it to periodic review, since that is what most sellers who order on a schedule actually need, and we still show the continuous-review reorder point next to it so you can compare both triggers on the same set of numbers at once.
The two triggers are not the same number, and the planner acts on the periodic one. If you only check stock every week, waiting for the continuous-review reorder point means crossing it on a Tuesday and doing nothing about it until the following Monday. So the review-day trigger sits one review period of demand above the reorder point, and that is what decides both the verdict and every week in the schedule.
Where to Get Each Input
Garbage in, garbage out. A gut-feel number for daily sales produces a gut-feel reorder point. Pull real data for each input instead.
Average daily sales. In Shopify, open Analytics, then Sales by product. Divide total units sold by the number of days in the range. On Amazon, the Business Reports page gives units ordered by day. Use the last 30 to 90 days, unless something recent changed the pattern.
Lead time. Ask your supplier for their current turnaround, not what it was last year. Add transit time. Add customs and port delays if you ship by ocean. For FBA, add receiving time on top of the supplier's number, since Amazon's check-in queue is its own delay.
Demand variability. Low fits a SKU whose weekly sales barely move. Medium fits normal seasonal or promo swings. High fits anything spiky, viral, or heavily advertised. If you are not sure, start at medium and adjust once you see a few cycles of real results.
Order cadence. This is how often you actually sit down and place orders, not how often you wish you did. A weekly purchasing routine should use a weekly cadence. Padding it to make the math look tidier just under-covers the real gap between checks.
Worked Example: Shopify Seller
A Shopify store sells 12 units a day. Stock on hand: 400 units. Nothing on order. The supplier is domestic, with a 14-day lead time. Demand is steady, so this seller picks low variability: a 15% safety multiplier. Purchasing gets reviewed weekly.
Lead Time Demand = 12 x 14 = 168 units
Reorder Point = 168 + (168 x 0.15) = 193 units
Protection Interval = 14 + 7 = 21 days
Order-Up-To Level = (12 x 21) + (12 x 21 x 0.15) = 252 + 38 = 290 units
At 400 units, this store sits well above both numbers. No order needed yet. On-hand stock crosses the 193-unit reorder point around day 17. The planner's schedule places the first order a week before that, on day 14, and it lands on day 28. The gap is deliberate: the schedule can only act on a review day, so it orders while stock still covers the week it would otherwise spend waiting for the next one.
Worked Example: Amazon FBA Seller
An FBA seller sells 25 units a day. Stock on hand: 300 units. 200 more units are already on order. The supplier is overseas: 40 days for production and freight, plus 7 days for FBA to receive it. That is a 47-day lead time in total. Demand swings more here, tied to ad spend, so this seller picks medium variability: a 35% multiplier. Purchasing gets reviewed every two weeks.
Total Lead Time = 40 + 7 = 47 days
Lead Time Demand = 25 x 47 = 1,175 units
Reorder Point = 1,175 + (1,175 x 0.35) = 1,586 units
Protection Interval = 47 + 14 = 61 days
Order-Up-To Level = (25 x 61) + (25 x 61 x 0.35) = 1,525 + 534 = 2,059 units
Inventory position here is on hand plus on order: 300 plus 200, or 500 units. That sits well below the 1,586-unit reorder point. This seller should have ordered already. FBA receiving time is the part sellers most often leave out of lead time. Leave it out, and "order two weeks late" turns into a stockout alert nobody saw coming.
Worked Example: Multi-Channel Seller
One SKU sells on both Shopify and Amazon, from a shared warehouse. Shopify moves 8 units a day. Amazon moves 12. Combined, that is 20 units a day. Stock on hand: 350 units, none on order. Lead time is 21 days. Demand swings a bit with promotions on either channel, so this seller picks medium variability: a 35% multiplier. Purchasing gets reviewed every two weeks.
Combined Daily Sales = 8 + 12 = 20 units
Lead Time Demand = 20 x 21 = 420 units
Reorder Point = 420 + (420 x 0.35) = 567 units
Protection Interval = 21 + 14 = 35 days
Order-Up-To Level = (20 x 35) + (20 x 35 x 0.35) = 700 + 245 = 945 units
At 350 units on hand, this seller is already below the 567-unit reorder point. An order is due now, sized to bring stock up to 945 units. Combining both channels into one daily-sales number is the key step here. Track Shopify and Amazon separately, and each channel's reorder point will trigger too late, since neither one alone reflects the true draw on shared stock.
Mistakes That Break Replenishment Math
Using the supplier's promised lead time, not the measured one. A supplier who quotes 30 days but ships in 38 is not lying. Your formula just cannot tell a promise from a track record. Pull your last five to ten purchase orders. Use the real gap: order placed to stock received. Not the number on the supplier's price sheet.
Ignoring the review period. A reorder-point formula built for continuous review, then run on a monthly cycle, is missing a full month of demand from its buffer. That gap is exactly what the order-up-to formula's extra term covers. Skip it, and you get the most common way a periodic-review seller stocks out on a SKU that looked fine on paper.
Ordering the same quantity every time. A fixed order size ignores what you actually have in stock right now. Two orders placed a month apart start from different inventory levels. They need different quantities to land at the same target. That is the whole point of the order-up-to level. It adjusts the size to what is already on the shelf, not to a round number that felt right once.
Setting a plan once and never touching it. Lead times drift. Demand shifts with the season, a new ad campaign, or a competitor going out of stock. A plan built in January on January's numbers is wrong by June. Review your inputs every quarter, at minimum, and sooner for any SKU whose sales pattern just changed.
Doing This for 500 SKUs
The formulas above run fine in a spreadsheet, for a handful of products. Scale breaks that fast. Five hundred SKUs each need their own lead time, their own read on demand swings, their own review timing. Every one of those inputs drifts over time.
A supplier gets slower, and nobody updates the sheet. A product goes viral, and the old average stays put. A cell holding last quarter's sales rate sits untouched until a stockout forces the question.
We built ReplenishRadar to run this math per SKU, every day, from your real sales and purchase order history, instead of a number someone typed in once and then forgot to revisit. It reads actual lead times from receiving dates. It adjusts safety stock as demand variability changes. Our system tells you which SKUs need an order today, with a quantity already rounded to your MOQ and case pack, so there is no spreadsheet to remember to update before the numbers go stale.