How to plan a replenishment program
A replenishment program plans a rate rather than a total: a continuing item, a measured rate of sale, a reorder point that fires a release without anyone deciding to, an order-up-to level that caps the position, and a vendor commitment that makes the lead time real. A seasonal plan does the opposite — it plans a total, phases that total into a shape, and ends. The two cannot share a plan line, because a season total on a continuity item is a number with no meaning: there is no season for it to be the total of.
This guide covers the whole life of that program, including the two decisions that have no natural forcing event — when a seasonal style has earned its way into the core, and when a core item stops. It leans on the safety stock guide for how the buffer is sized, on how to plan receipt flow for where releases land in the intake plan, and it does not restate either.
Covered below: the rate-versus-total distinction and why it splits the plan line, the trigger arithmetic and the review-period term most treatments omit, min and max sizing and what the maximum actually controls, the four things that break a clean trigger, the graduation test, the phase-out rule, core against newness in one open-to-buy, six verticals, eight mistakes and seven questions. Every figure in the worked examples is illustrative. No benchmark rates, service levels or turn figures appear anywhere on this page.
- Definition — Replenishment program
- A replenishment program is a standing arrangement to keep a continuing item in stock by reordering it against a rule rather than buying it once for a season. It has four parts: a measured rate of sale, a reorder point that defines when a release fires, an order-up-to level that defines how much the release brings in, and a vendor commitment that makes the lead time inside the reorder point something other than a hope. The canonical statement of the trigger itself sits in the replenishment trigger formula card on RetailNorthstar; this guide is about the terms that card assumes you have already settled, and about the two ends of the program’s life.
- Reorder point = (lead time + review period) × rate of sale + buffer
- Used by: Merchandise planners, buyers and allocators, in season and continuously
- Related: Reorder point, review period, min/max, safety stock, inventory position, blanket purchase order, open-to-buy
Why continuity and seasonal cannot share a plan line
A seasonal plan is a total with a shape. You commit a quantity, phase it across the weeks, watch the sell-through curve, and the plan resolves itself at a date that exists in advance. Every number in it is denominated in that total: sell-through is against it, the markdown decision is timed against the end of it, and the residual position at the end is the outcome being managed.
A continuity plan has none of those properties. There is no total, because the item does not end. There is no shape, because the plan is a level rather than a curve. There is no residual, because the closing position is simply the opening position of the next period. What it has instead is a rate, a trigger and a cadence, and the thing being managed is the trigger rather than the quantity. The quantity is an output.
Force the two onto one line and both break. Give a continuity item a season total and you have invented an end date that will be enforced by the plan even though nothing about the item requires it — the classic symptom is a core basic that goes quiet every year in the final weeks of a season because the plan ran out, not because demand did. Give a seasonal style a trigger and you have promised to reorder something that has no reorder path, which produces a release request against a vendor with no capacity, no fabric and no interest.
The practical consequence is that the split has to be made before either plan is built. It is not a merchandising preference and it is not a category. It is a sourcing fact: an item is continuity if there is a reorder path that lands inside the window where the reorder is still useful, and seasonal if there is not. The same style can be continuity at one vendor and seasonal at another. That test is also the one the safety stock guide uses to decide where the standard buffer formula applies, and the two answers should agree — if the safety stock method treats an item as replenishable, this program is what it is replenishable into.
Nine steps, in order
Steps two, four and six are the ones that fail silently. Each of them produces a plausible number when it is done wrong, and none of them raises a variance when it is.
- 1
Sort the range into continuity and seasonal, and plan them on separate lines
A continuity item is planned as a rate with a trigger and no exit; a seasonal item is planned as a total with a phased shape and an exit. Neither number is meaningful in the other line, so the split has to happen before either plan is built rather than being reconstructed afterwards.
- 2
Measure the rate of sale over in-stock weeks, not over calendar weeks
Divide units sold by the weeks the item was actually available, and exclude any week that opened with nothing on hand. A trailing average of sales treats every stockout as evidence of low demand, which is the single mechanism that makes a replenishment forecast drift downward on its own.
- 3
Take the lead time from vendor delivery history and the review period from your own calendar
Lead time is order release to sellable, measured across enough completed orders to be a distribution rather than a quote. The review period is how often you actually look and release, which is a fact about your own buying cadence and is usually written nowhere.
- 4
Set the reorder point across the full exposure window
The reorder point is demand over the lead time plus demand over the review period, plus the buffer. Omitting the review period sets the trigger short by exactly one review cycle of demand, and the shorter the lead time the larger that omission is as a share of the whole.
- 5
Set the order-up-to level from a cycle quantity, and decide what the max is for
The maximum is the reorder point plus at least one review period of demand, because a release has to carry the item to the next review. Above that floor the max is a cash and space decision, not a service decision — it controls how much you hold, never whether you run out.
- 6
Test the trigger against inventory position, not against on-hand
Inventory position is on hand plus on order and in transit, less anything already committed. A trigger tested on on-hand alone re-orders at every review until the first shipment lands, so the number of duplicate releases is set by how many review periods fit inside the lead time.
- 7
Round to the pack, then re-read the cover you actually bought
Case packs, carton quantities, batch sizes and container capacity all round the release up. Convert the rounded quantity back into weeks of cover before releasing it, because the rounding recurs every cycle and quietly lifts the average position above the maximum you set.
- 8
Put the release schedule under a blanket order and reserve it in the open-to-buy
A program without a blanket purchase order, a release schedule and a component commitment is repeated ad-hoc buying with a formula attached. Reserve the planned releases in the open-to-buy before the season opens so newness is budgeted against the real remainder.
- 9
Write the graduation test and the phase-out rule down before the program starts
A continuity item has no season end to force a decision, so both ends of its life have to be explicit: what has to be true for a seasonal style to enter the core, and what has to be true for a core item to stop replenishing. Neither rule gets written after the program is running.
The review period is the term everyone drops
The reorder point has to cover demand until a newly placed order can arrive. Most statements of it cover the lead time and stop there, which quietly assumes you can place an order the instant the position crosses the trigger. You cannot. You place orders when you review, and if the position drops below the trigger the day after a review closes, it sits uncovered for the rest of that review cycle before the lead time even begins.
So the exposure window is lead time plus review period, and the reorder point is demand across that whole window plus a buffer for the variability in both terms. Take one core style-colour selling 60 units a week, with a three-week lead time and a fortnightly release cycle, and a buffer of 90 units. On lead time alone the trigger is 3 × 60 + 90 = 270 units. Across the real exposure window it is (3 + 2) × 60 + 90 = 390 units. The difference, 120 units, is exactly one review cycle of demand — and it is the amount by which the first version runs the item down before the release it was meant to trigger has even been placed.
The counter-intuitive part is where this matters most. A long lead time swamps the review term: on an eight-week import with a weekly review, the review period is one week in nine, and dropping it is a rounding error. On a one-week domestic lead time with a monthly buy meeting, four of the five weeks of exposure come from the calendar rather than the factory. Shortening that lead time from eight weeks to one, without touching the review cadence, cuts the exposure window from twelve weeks to five rather than from eight to one. The seven weeks saved are real, but the window that remains is five times the lead time instead of equal to it, and every week of that residual belongs to the review calendar rather than the factory.
| Sourcing and review cycle | Lead time (wks) | Review period (wks) | Exposure window (wks) | Demand over window | Buffer | Reorder point |
|---|---|---|---|---|---|---|
| Import vendor, weekly review | 8 | 1 | 9 | 540 | 90 | 630 |
| Import vendor, monthly review | 8 | 4 | 12 | 720 | 90 | 810 |
| Domestic vendor, weekly review | 1 | 1 | 2 | 120 | 90 | 210 |
| Domestic vendor, monthly review | 1 | 4 | 5 | 300 | 90 | 390 |
Read the last two rows against each other. Same vendor, same lead time, same buffer, same item — and the reorder point nearly doubles, from 210 to 390, purely because the buying desk meets monthly instead of weekly. There is no sourcing project in that difference and no negotiation. It is a meeting. Where the lead time is already short, the cheapest available reduction in inventory is a shorter review period, and it is usually free.
One convention to settle explicitly. Some formulations use the full review period and some use half of it, on the argument that the average wait between crossing the trigger and the next review is half a cycle. The full-period version protects the worst case; the half-period version plans to the average and accepts being uncovered roughly half the time. Neither is wrong, but the choice has to be stated on the plan, because the two produce materially different triggers on exactly the short-lead-time items where the term dominates. In the last row of that table the full-period version gives (1 + 4) × 60 + 90 = 390 units and the half-period version gives (1 + 2) × 60 + 90 = 270 — a difference of two full weeks of cover, arising from a convention rather than from anything about the item.
The buffer term is the third input and this guide does not size it. The formula, the days-of-coverage formulation and a calculator are on the safety stock formula card, and the cases where the standard formula does not apply are worked through in safety stock for seasonal assortments. The one thing worth flagging here is that a buffer expressed in weeks of cover inherits the rate of sale, so a rate that falls drags the buffer down with the trigger — which is the mechanism behind the ratchet described further down.
What the maximum actually controls
The minimum in a min/max program is the reorder point: 390 units in the worked example, or 6.5 weeks of cover at 60 a week. The maximum is the order-up-to level, and it has one hard requirement and one soft one. The hard requirement is that a release has to carry the item to the next review, so the maximum must sit at least one review period of demand above the minimum — 390 plus 120, or 510 units, which is 8.5 weeks of cover.
Above that floor, the maximum is a different kind of decision from the minimum, and conflating the two is common. The minimum controls whether you run out. The maximum controls how much cash and warehouse space the item consumes and how often you talk to the vendor. Raising the maximum does not improve availability at all. Availability is settled entirely by the minimum and the buffer inside it; a higher maximum just means each release is bigger and they come further apart. Teams reaching for a higher max in response to a stockout are adjusting the lever that was not connected to the problem.
The one real service consideration in the maximum is the opposite of the intuitive one: a maximum set too close to the minimum produces very frequent tiny releases, and small releases are the ones most likely to fall below a vendor minimum or a pack size, at which point the rounding takes the decision away from you entirely. Set the gap between minimum and maximum as a whole number of review cycles of demand, check that the resulting cycle quantity clears the vendor minimum comfortably, and read the cover the maximum implies with the weeks of supply calculator before committing to it.
Rounding to a pack changes the cover and the cadence
Continue the same style. The position has fallen to 380 units, below the 390 trigger, and the release is order-up-to: 510 less 380, or 130 units. Nothing sells in 130s. It sells in prepacks, cartons, batches and containers, and the release rounds up to the next whole one. The table below runs the same 130-unit requirement through four rounding units.
| Pack size | Packs ordered | Units ordered | Closing position | Cover at 60/wk | Overshoot vs the 8.5-week max | Weeks between releases |
|---|---|---|---|---|---|---|
| 12 | 11 | 132 | 512 | 8.53 wks | +0.03 wks | 2.2 |
| 24 | 6 | 144 | 524 | 8.73 wks | +0.23 wks | 2.4 |
| 50 | 3 | 150 | 530 | 8.83 wks | +0.33 wks | 2.5 |
| 100 | 2 | 200 | 580 | 9.67 wks | +1.17 wks | 3.3 |
At a pack of twelve, the overshoot is two units and nobody should care. At a pack of a hundred, the release is 200 units rather than 130, the closing position is 580 rather than 510, and the item carries 9.67 weeks of cover against a maximum of 8.5. The maximum has stopped being a maximum. It is now a number the position passes on its way up. And because the overshoot recurs on every release rather than once, the average position across the year sits above the level anyone signed off.
The second effect is the one that gets missed. A 130-unit release covers 2.17 weeks at 60 a week; a 200-unit release covers 3.33. So the interval between releases stretches by more than a week, which means the vendor sees a different cadence from the one in the blanket order, and the review period embedded in the reorder point — two weeks — is no longer the interval that governs anything. Where the pack is a large fraction of the cycle quantity, the pack is the review period, and the reorder point should be computed against that rather than against the calendar.
Two fixes, and they are not equivalent. The first is to size the gap between minimum and maximum so the cycle quantity is a comfortable multiple of the pack — if the pack is 100, plan a cycle quantity near 200 or 300 rather than near 130, and accept the higher average position as a decision rather than an accident. The second is to negotiate the pack down, which is worth attempting precisely on the items where the pack is coarse relative to velocity, because that is where it costs the most. What does not work is leaving the arithmetic in weeks and the ordering in packs and never converting between them.
The trigger that fires twice for one shortage
Same style, same trigger of 390. On-hand is 380, so on-hand is below the trigger. But a release of 144 units went out at the previous review and is in transit, arriving in two weeks. Inventory position is on hand plus on order and in transit, less anything already committed: 380 plus 144, or 524 units. 524 is above 390, so no release should fire. A trigger tested against on-hand fires one anyway.
The failure is not a one-off. On-hand keeps falling while the first shipment is in transit, so the trigger keeps testing true at every review until that shipment lands. The number of duplicate releases is simply how many review cycles fit inside the lead time: a three-week lead time with a fortnightly review has room for one extra release, a three-week lead time with a weekly review has room for two. In the example, one duplicate release of 144 units arrives on top of a position that was already correct — 2.4 weeks of cover at 60 a week, bought for no reason, and it will not be visible as an error because both releases were individually valid against the number they were tested on.
The fix is a definition rather than a calculation, which is why it is so often skipped. Inventory position must include everything already ordered and not yet received, and must exclude anything physically present but already promised — allocated to a store transfer, held against a wholesale release, reserved for an online order awaiting pick. Where the on-order data lives in the purchasing system and the on-hand data lives in the warehouse system, that addition is a reconciliation somebody has to do at every review, and in a spreadsheet it is a pasted column that ages between refreshes. A stale on-order column produces exactly this failure while looking like an up-to-date file.
The ratchet: how a replenishment forecast walks itself down
Rate of sale is the input everything else depends on, and it is nearly always taken as a trailing average of units sold. Units sold is not demand. It is demand truncated by whatever was on the shelf, and the weeks where the item was out of stock enter the average as evidence of low demand.
Work it. The style sells 60 a week when it is available. Over the trailing eight weeks it was out of stock for two of them, so it sold 6 × 60 = 360 units. Divide by eight calendar weeks and the measured rate is 45. Recompute the trigger on 45, with the buffer expressed as 1.5 weeks of cover so it inherits the rate too: (3 + 2) × 45 = 225, plus 1.5 × 45 = 68, giving 293 units against the correct 390. The trigger has fallen by a quarter on an item whose demand did not move at all.
A lower trigger means the item is exposed for longer, so next cycle it is out of stock for three weeks of eight rather than two. Sold units are 5 × 60 = 300, the measured rate is 37.5, and the trigger recomputes to (3 + 2) × 37.5 = 188 plus 56, or 244. Each turn of the loop manufactures the evidence for the next one, and every number in it is a real number correctly averaged. Nothing in the file is wrong. The rate is genuinely what was sold, the trigger genuinely follows the rate, and the program genuinely does what it was built to do. This is the mechanism behind an entire core range that used to be dependable and now is not, with no decision anywhere in the history to point at.
The fix has three parts. Compute the rate over in-stock weeks — 360 divided by six, not by eight — so availability stops contaminating the denominator. Exclude any week that opened with nothing on hand rather than counting it as a zero. And keep the count of excluded weeks visible next to the rate, because a rate computed on three of the last eight weeks is a much weaker number than one computed on eight, and the person setting the trigger should be able to see that. Where lost-sales estimation is available, use it, but the in-stock denominator alone removes most of the drift and needs nothing beyond a stockout flag.
No commitment, no program
The reorder point contains a lead time, and a lead time is a promise about somebody else’s factory. Without a blanket purchase order with a release schedule behind it, each release joins the vendor’s queue as a new order, and the quoted lead time is a queue position rather than a commitment. Queue positions lengthen when the vendor is busy, and the vendor is busy at the same time you are, which is when the reorder point has least slack to absorb it. A program built on an uncommitted lead time is therefore most wrong exactly when it matters.
The commitment has to reach further up than the assembly step, because the assembly step is rarely what makes the lead time long. On a knit core item the long pole is greige and dye; on leather goods it is the hide lot and the hardware; on a moulded hard good it is tooling availability and resin. A blanket that commits only the finished-goods lead time leaves the actual constraint uncommitted, which is why the first release after a quiet period lands late while all the routine ones arrive on schedule. What a blanket needs to name: the release cadence, the committed lead time from release, the total volume commitment across the term, the component or fabric position being held, and who owns that raw material if the program is cut short. That last item is the one that decides how expensive the phase-out decision will be, and it is nearly always left unstated until the phase-out arrives.
There is a second, quieter cost to running without a blanket. Every release has to clear the vendor’s minimum on its own, so the minimum becomes the rounding unit, and the rounding problem from two sections up runs at its worst case on every cycle. Under a blanket with a committed total, the minimum applies to the term rather than the release, and the release quantity is free to be the cycle quantity the plan actually wanted.
When a seasonal style becomes a core style
Continuity ranges grow by promotion from the seasonal range, and the promotion is usually made on one observation: the style sold. That is not enough, because selling well once and being replenishable are different properties. Four conditions have to hold together, and the failure of any one of them shows up months later as a program that cannot be stopped and does not pay.
| Condition | What has to be true | How you test it | What failing it looks like later |
|---|---|---|---|
| Sustained rate of sale | The style holds a rate at full price, across more than one peak, without promotional support. | Split the history into promoted and unpromoted weeks and read the unpromoted rate only. Compare the same window across two seasons or two model years. | A trigger set on a blended rate that only exists under promotion. The program holds cover for demand that has to be bought each time with margin. |
| A vendor who will hold capacity | A blanket purchase order with a release schedule, a component or fabric commitment, and a stated owner for the raw-material liability. | Ask for the blanket, the release cadence and the committed lead time in writing. Check whether the quoted lead time survives the vendor’s own peak. | The quoted lead time is a queue position. It inflates in exactly the weeks demand is highest, which is when the reorder point is least able to absorb it. |
| A size curve stable enough to reorder against | The curve moves within a tolerance you have written down, period to period and season to season. | Lay the curves side by side and look at the largest single-size movement, not the average. | Every release is split on a curve that is noise, so the program is wrong in every size at once and the broken run destroys the rate that justified the program. |
| Margin at the replenishment cost | The item still works at the smaller-cut unit cost and the replenishment freight mode, at the replenishment quantity. | Re-run the margin using the replenishment landed cost, not the initial-buy landed cost, and at the release quantity rather than the first cut. | A style that was profitable once and is unprofitable every time after. The initial buy earned a volume price the program will never see again. |
Run it on a case. Every figure that follows is illustrative and chosen to divide cleanly; none of it is a benchmark or drawn from any brand. A ribbed knit top carried two consecutive seasons. In the first, it sold 42 a week at full price across ten weeks, then 95 a week across six promoted weeks. In the second, 44 a week full price across ten weeks, then 88 a week across six promoted weeks. The unpromoted rate is 42 and then 44 — a five percent move across two seasons, which is stable. That is the graduation evidence, and 43 a week is the rate the program should be built on.
The blended rate tells a different story. Across all sixteen weeks of the first season the style averaged (42 × 10 + 95 × 6) ÷ 16 = 990 ÷ 16, or about 62 a week. Build the trigger on 62 rather than 43 and the reorder point becomes (3 + 2) × 62 + 93 = 403 units instead of (3 + 2) × 43 + 65 = 280. That is 123 extra units held permanently on an item that sells 43 a week unpromoted — nearly three additional weeks of cover, funded on every cycle, on demand that only exists when margin is given away. The program then needs promotion to clear the stock the promotion-inflated trigger keeps bringing in, which is a loop rather than a plan.
The size-curve condition is quick to test and easy to skip. If the curve across small, medium, large and extra large ran 15/35/35/15 in the first season and 14/36/34/16 in the second, the largest single-size movement is one point and a release split on last period’s curve is safe. A curve that moved from 15/35/35/15 to 22/30/30/18 is a different customer, and a program splitting every release on a stale curve is wrong in all four sizes at once — which breaks the run, which suppresses the rate of sale, which then feeds the ratchet. Build the ratios first with how to calculate size curves and compare the largest movement, not the average one.
The margin condition is the one most often assumed rather than checked, because the first buy looks profitable and the assumption is that a repeat is the same product. It is not. The initial buy of 1,200 units at a landed cost of 9.00 against a 32.00 retail carries an initial markup of (32.00 − 9.00) ÷ 32.00, or 71.9 percent. A replenishment cut of 300 units is a smaller cut with a higher per-unit freight burden — say a landed cost of 11.40 — and the same retail now returns (32.00 − 11.40) ÷ 32.00, or 64.4 percent. Still comfortably viable, so this style graduates. Had the replenishment landed cost come out at 16.00, the same retail returns 50.0 percent, and the honest conclusion would be that the style was profitable once and would be a different, thinner business every time after. Those cost figures are illustrative and chosen to divide cleanly; the rule is to re-run the arithmetic at the replenishment cost and quantity before graduating, not after.
The decision nothing forces
A seasonal style ends because the season ends. A continuity item has no such event, which makes stopping one the genuinely hard decision in this whole discipline — and the reason it is hard is structural rather than analytical. A trigger left running against a falling rate does not stop. It re-orders all the way down the decline curve, in progressively smaller and less economic releases, and the stock that eventually clears was bought after the decline was already visible in the numbers. Nobody decides to do this. It is what the program does when nobody decides anything.
A workable phase-out rule has three parts. First, a rate test: the trailing in-stock rate at full price has fallen below a floor you have written down, for several consecutive review cycles rather than one, so the rule does not fire on noise. Second, a last-release date, derived backwards from whatever ends the item’s window — a replacement launch, a model-year changeover, a discontinued finish, a shelf-life limit — allowing enough weeks for the released quantity to sell down at the declining rate, not the current one. Third, a named owner and a date on which the trigger is switched off, because a rule that identifies the moment but assigns it to nobody produces the same outcome as no rule.
Work the case, again on illustrative figures rather than benchmarks. A core item has been declining for three consecutive four-week cycles: 60 a week, then 52, then 45, then 38. That is a fall of between thirteen and sixteen percent per cycle, sustained across three cycles, so the rate test fires — this is a trend, not a soft month. At week 16 the position is 360 units, the replacement style lands at week 30, and the full-price window for this item closes when it does. Recompute the trigger on the current 38 a week with the same three-week lead time, two-week review and a buffer of 1.5 weeks of cover: (3 + 2) × 38 = 190 plus 57, or 247 units. The order-up-to level moves with it, to 247 plus one review cycle of demand, or 323.
Project the remaining demand. If the decline continues at about a unit a week, weeks 17 through 30 run 36, 35, 34 and so on down to 23 — fourteen weeks averaging (36 + 23) ÷ 2, or 29.5, for 413 units of demand against a position of 360. Now the two paths are visible. Leave the trigger on: the position is 289 at the week 18 review, still above the trigger, and 222 at the week 20 review, so a release of 323 − 222 = 101 units fires there and lands around week 23. Total supply becomes 461 against 413 of demand, so 48 units are still on hand when the window closes, and they clear. Switch the trigger off at week 16 instead and supply is 360 against 413, so the item runs out during week 28 and 53 units of full-price demand go unmet across the closing weeks.
Neither path is free, and that is the point — the phase-out rule is choosing which error to make, so it should choose in advance. Cost them out on the same illustrative figures. At an 11.40 landed cost and a 32.00 retail, a full-price unit contributes 20.60. A lost sale forgoes all of it: 53 × 20.60, or about 1,092. A unit cleared at half price recovers 16.00 − 11.40, or 4.60, so relative to a full-price sale it gives up 16.00 each: 48 × 16.00, or 768. On these numbers the release is the cheaper error by a little over three hundred, and the honest caveat is that this ignores substitution — if a meaningful share of the 53 lost sales moves to another style in the range, the gap narrows or reverses. The arithmetic does not decide for you. It makes the decision arguable, which is more than a trigger left running will ever do.
Two things follow for the rule itself. Write down, per category, which error you prefer: a stockout gap at the tail of a core basic is a service failure customers notice, while the same gap on a colour being discontinued costs almost nothing. And name the raw-material position when you stop, because the blanket order that made the program work may hold fabric, hides or components against releases you are now not going to take. Whoever owns that liability was decided when the blanket was signed, or it was not decided at all — which is the version that turns a phase-out into a negotiation.
Core and newness competing for the same open-to-buy
Core releases and newness buys draw on the same money, and they are not symmetrical. A newness buy has a launch date it cannot miss: delay it past the drop and the whole season for that style is gone. A core release can slip by one review cycle at the cost of eating into the buffer, and the item continues to trade. So when the budget binds, the rule is that core yields — but only down to the reorder point, never through it, because through the reorder point the program stops being a program and becomes a stockout with extra steps.
In practice the opposite happens, and it happens quietly. Core replenishment releases automatically; newness requires a meeting. So core spends first, by default, and newness is left with whatever survived. Take an illustrative monthly open-to-buy of 150,000 at cost — a round number chosen to divide cleanly, not a typical budget — with 60,000 reserved for the core release schedule and 90,000 planned for newness. If the core rate of sale runs a little ahead and pack rounding overshoots on a few releases, core consumes 78,000 and newness is left with 72,000 — a 20 percent cut to the newness budget that arrived as an arithmetic consequence rather than a decision, and that appears in no variance report because both lines did precisely what they were built to do.
The fix is to make the core schedule a committed line rather than a residual. Reserve the planned releases in the open-to-buy before the season opens, so the newness budget is set against the real remainder from the start, and route any release above the reserved line through the same approval a newness buy would need. That single change converts an invisible transfer into a visible request. Build the reservation into the budget with how to set open-to-buy, check the period stock target it implies on the stock-to-sales ratio calculator, and phase the releases alongside seasonal intake with how to plan receipt flow — a core program is a steady baseline of intake underneath a seasonal curve, and the warehouse receives the sum of the two, not each in turn.
Same arithmetic, different unit of continuity
The reorder point, the min/max and the four failure modes are the same everywhere. What differs is what the program is a program of, what the coarsest rounding constraint is, and what ends it — and getting the unit of continuity wrong is a more expensive error than getting the buffer wrong, because it makes the whole program describe the wrong object.
| Vertical | What continuity is a property of | Coarsest rounding constraint | What ends the program |
|---|---|---|---|
| Apparel | The style, not the colour. A core tee carries; the season’s colour does not. | The prepack or size-run pack, and the mill’s minimum fabric cut behind it. | A rate test on the style, and a colour-level retirement that runs continuously underneath it. |
| Footwear | The model, across model years. A season is not the unit and never was. | The size-run pack — the run itself is the rounding unit. | The model-year changeover date, which the vendor sets on a calendar rather than a rate. |
| Accessories & bags | The evergreen core silhouette in a core leather and hardware combination. | The tannery hide lot and the hardware component minimum, both upstream of assembly. | A materials decision. When the leather or the hardware is discontinued, the program ends whether the silhouette sells or not. |
| Health & beauty | The shade or formulation within a franchise, held for years. | The compounding or filling batch — a batch is the minimum, and it is large. | Reformulation, regulatory change, or the shade dropping out of the shade range. Shelf life caps cover but does not end the program. |
| Home & furniture | The frame plus a specific fabric, finish or configuration. | The container. Cover is decided by what fits, not by weeks of supply. | Discontinuation of the finish or the fabric, which can end the program while the frame carries on. |
| Sporting goods | In-line core: consumables, replacement parts, core apparel and accessories carried all year. | The case pack for consumables; the container or the prebook slot for hard goods. | Model-year changeover for anything carrying one; a rate rule for consumables and parts, which have no changeover to lean on. |
Apparel: the style carries, the colour does not
A core apparel program runs on basics — tees, denim, socks, underwear, a house shirt block — and the unit of continuity is the style, while the colour is seasonal underneath it. That means two rules operate at once: a rate test and phase-out at style level that fires rarely, and a colour-level retirement running continuously, which is what most apparel teams are actually doing when they say they are managing the core. Getting that layering wrong produces the two classic errors — retiring a healthy style because one colour died, or replenishing a colour that has already been superseded because the style-level program is still green.
The other apparel-specific constraint is upstream. A replenishment program only exists if the mill will hold greige or the vendor will hold finished fabric, because the fabric lead time, not the cut-and-sew lead time, is what sets the number in the reorder point. That is where the blanket order does its real work, and it is also what makes the raw-material ownership question so sharp at phase-out. One system detail worth naming: a continuity style has to survive the season boundary as the same item, and systems that create a new style-colour each season sever the history, which resets the rate of sale and hands the ratchet a fresh start.
Footwear: a model, not a season
Footwear carryover is organised around the model and the model year, and a season is not the unit and never was. A model runs for several model years, so the phase-out trigger is usually not a rate test at all — it is the changeover date the vendor puts on a calendar, which makes the last-release calculation a scheduling exercise with a known deadline rather than a judgement about decline. That is a genuine simplification, and it removes the specific failure this guide is most concerned with: a trigger running down a decline curve because nothing forces a stop needs the absence of a fixed end date, and a model year supplies one.
What is harder is that the replenishment quantity is a size-run problem rather than a units problem. A release that restores only the fast-selling middle sizes leaves the run broken, and a broken run suppresses the rate of sale, which then feeds the ratchet — the item reads as declining when what it actually has is an unavailable size. So footwear programs should reorder against a target run profile, bringing the run back to shape, rather than against a total unit requirement. The size-run pack is usually the rounding unit too, which conveniently makes the pack and the planning object the same thing.
Accessories and bags: long lead time against low velocity
Evergreen core leather goods combine a long lead time with a low unit rate of sale and a high unit cost, and that combination strains the trigger. Take an illustrative item selling four a week against a twenty-week lead time and a fortnightly review — figures chosen to divide cleanly, not a benchmark for the category. The exposure window is twenty-two weeks, so before any buffer the reorder point is 88 units on an item that sells four. The arithmetic is correct and the answer is not useful: at that velocity the demand estimate is noisy over twenty-two weeks, and a trigger set on it will be either reordering constantly or not at all.
The answer is not a bigger buffer. It is to run these items on a committed release cadence against a forecast rather than on a trigger — the vendor produces on a schedule you have agreed, and the plan adjusts the release quantities as the forecast moves, rather than waiting for a level to be crossed. The second lever is where the blanket sits: on leather goods the long poles are the hide lot and the hardware, both upstream of assembly, so a component-level commitment can cut the effective lead time down to the assembly time. That is a much larger reduction in the reorder point than anything available on the demand side, and it is the reason materials discontinuation, rather than a rate test, is usually what ends one of these programs.
Health and beauty: the one vertical where a bigger buffer is wrong
Continuity shades and core formulations are the purest replenishment objects in retail — they run for years, the rate is stable, and there is no season to end them. But they carry a constraint no other vertical has: shelf life, expressed as a period-after-opening or an expiry date, and a retailer or channel requirement for a minimum remaining life at delivery. That puts a hard ceiling on how much cover can safely be held, and it is the one case where the standard instinct — buffer more when demand is uncertain — makes the position worse rather than better.
The ceiling is arithmetic. Take an illustrative twenty-four month shelf life from manufacture, two months from manufacture to your own warehouse, and a channel requirement of twelve months remaining at delivery. The maximum time a unit can sit with you is 24 − 2 − 12, or ten months. At an illustrative 400 units a month, the largest position that can still be sold through in time is 4,000 units. If the service calculation asks for a maximum of 5,200, the shelf-life ceiling binds and the extra 1,200 units are not a buffer — they are a write-off with a delay on it. When the ceiling binds, the lever that remains is the review period, not the quantity: reviewing and releasing more often lowers the reorder point without raising the position, which is the only direction that helps here. Batch minimums push the other way, because a compounding or filling batch is a coarse rounding unit, so the rounding overshoot from earlier lands directly against a ceiling that cannot absorb it.
Home and furniture: the container is the review period
Never-out programs on core home goods run against the coarsest rounding constraint in retail: a full container. If, illustratively, a core upholstered item sells twelve a week and sixty units fill a container, the rounding unit is five weeks of cover, which is larger than most people’s entire review cycle. At that point the pack has swallowed the calendar — the real question is not when the position crosses a trigger but when to book a container, and the min/max collapses into a booking cadence with a trigger used only to confirm it.
Two further specifics. The lead-time term is mostly a freight number rather than a factory number, because space availability and sailing schedules move it far more than production does, so the lead-time distribution should be built from delivery history including the freight leg rather than from the factory’s quoted ready date. And the unit of continuity is the frame together with a specific fabric, finish or configuration — a discontinued finish ends the program even where the frame carries on, which means the phase-out trigger for home is frequently a supplier range decision arriving with little notice, not a rate test you control.
Sporting goods: in-line core underneath a prebooked season
Sporting goods runs two supply mechanisms against one budget and one warehouse. Prebooked seasonal hard goods are committed months ahead with quantity and date fixed by dealer prebooks, and there is no trigger involved at all. In-line core — consumables, replacement parts, core apparel and accessories — replenishes on a trigger all year. Because the prebook is contractually committed and the core program is not, the core program is the only line with any flex, which means it absorbs every shock whether or not anyone decided it should.
The consequence is predictable and worth planning against: core gets starved in exactly the weeks the prebook commitments land, which are the weeks the season is trading hardest and the core attach-rate items sell fastest. The rule is the same one from the open-to-buy section, applied earlier in the calendar — reserve the core release schedule as a committed line before the prebook commitments are placed, not after. On phase-out, sporting goods splits: anything carrying a model year retires on the changeover date like footwear, while consumables and parts have no changeover to lean on and need an explicit rate rule, with a service-life consideration on parts, since a part often has to remain available after the product it fits has been discontinued.
Eight ways a replenishment program goes wrong
Building the reorder point on lead time alone
The trigger has to cover demand until the next order can land, and the next order cannot be placed until the next review. Leaving the review period out understates the exposure window by exactly one review cycle. The error is invisible on a long import lead time and severe on a short domestic one, which is the opposite of where most teams expect to find it.
Testing the trigger against on-hand instead of inventory position
On-hand falls below the trigger, an order fires, and nothing about on-hand changes until that order arrives — so the next review fires another one, and the one after that. The stock eventually turns up in a block, weeks of unplanned cover arrive at once, and every individual release looked correct at the moment it was placed.
Computing rate of sale from sales rather than from in-stock demand
A week with nothing on hand records low sales, the trailing average falls, the reorder point falls with it, and the item goes out of stock sooner next cycle. Each turn of the loop supplies the evidence for the next one. A program that has ratcheted down this way looks perfectly well behaved from inside the numbers, because every input is a real number correctly averaged.
Treating the pack size as an ordering detail rather than a planning input
Rounding up to a pack is not a one-time excess. It recurs on every release, so the average position sits permanently above the order-up-to level and the cadence between releases stretches. Where the pack is a large fraction of the cycle quantity, the pack — not the review calendar — is what actually sets the review period.
Running a program without a blanket order behind it
Without a committed release schedule and a component or fabric commitment, each release is a fresh order that joins the vendor’s queue. The lead time in your reorder point is then a number nobody promised, and it stretches during the vendor’s own peak — which is usually your peak too. Every minimum has to be cleared release by release as well, which forces the rounding problem to its worst case.
Letting the core trigger consume open-to-buy before newness is budgeted
Core replenishment releases automatically; newness requires a meeting. So core spends first, by default, and newness gets whatever survives. Nobody voted for the split, and no variance report shows it, because both lines individually did what they were designed to do.
Having no phase-out rule, so a declining core item replenishes itself into clearance
A seasonal style ends because the season ends. A continuity item has nothing to end it, so a trigger left running against a falling rate keeps re-ordering all the way down the decline curve, in smaller and smaller economic releases, until someone notices the aged stock. The units that eventually clear were bought after the decline was already visible in the numbers.
Graduating a style on its peak rate rather than its unpromoted rate
A style that sold hard under promotion produces a flattering average, and a trigger built on that average holds cover for demand that only exists when margin is given away. The program then requires promotion to clear the stock the promotion-inflated trigger brought in, which is a loop rather than a plan.
Why this drifts back to the default
A replenishment program is the only planning object that runs without a person, and that is exactly why it degrades. Every other line in the plan gets looked at because something forces the look — a buy meeting, a season open, a markdown decision, a launch date. The trigger has none of those. It computes, it fires, and it keeps doing so correctly against inputs that have quietly stopped describing the item.
Those inputs live in three different systems. Rate of sale comes from point-of-sale and ecommerce, on-order and in-transit from purchasing, lead time from vendor delivery history. When they meet only in a spreadsheet, each one arrives in its weakest form: rate of sale as a trailing average of sales rather than of in-stock demand, on-order as a pasted column that ages between refreshes, and lead time as a typed constant taken from the vendor quote. Those are precisely the three failure modes in this guide — the ratchet, the double-order and the uncommitted lead time — and none of them produces an implausible number. The default state is not a missing trigger. It is a trigger computed from the three easiest inputs to get slightly wrong, running unattended.
The graduation and phase-out rules degrade for a related reason: both need history spanning several seasons on one item identity, and both need the vendor commitment terms sitting next to the sell-through. When the plan, the purchase orders, the receipts and the sell-through sit on one data model, the rate is computable over in-stock weeks without a manual exclusion list, inventory position includes the in-transit line by construction rather than by paste, and the phase-out test can actually be run on a schedule instead of when someone notices aged stock. The broader pattern — replenishment logic reading real availability, and allocation rules pushing recovered and reordered stock where it can sell — is set out in allocation and replenishment best practices on RetailNorthstar.
- A replenishment program plans a rate with a trigger and no exit; a seasonal plan plans a total with a phased shape and an exit. The two cannot share a plan line, and the split is a sourcing fact rather than a merchandising preference.
- The reorder point covers lead time plus review period, plus a buffer. Where the lead time is short the review period is the larger term, so a monthly buy meeting can nearly double the trigger on a one-week domestic vendor at no benefit.
- The minimum controls whether you run out; the maximum controls cash, space and cadence. Raising the maximum in response to a stockout adjusts the lever that was not connected to the problem.
- Four things break a clean trigger: pack rounding that lifts the average position above the maximum every cycle, an on-hand test that double-orders while the first release is in transit, a rate of sale computed from sales rather than in-stock demand, and a lead time nobody committed to.
- A seasonal style graduates only when the unpromoted rate holds across more than one peak, a vendor will commit capacity, the size curve is stable enough to reorder against, and the margin survives at the replenishment cost rather than the initial-buy cost.
- A continuity item has no season end to stop it, so the phase-out rule has to be written in advance: a rate test over several cycles, a last-release date derived backwards from what closes the window, and a named owner with a date to switch the trigger off.
- Core and newness draw on one budget asymmetrically — core releases automatically, newness needs a meeting. Reserve the core release schedule as a committed line before the season opens so newness is budgeted against the real remainder.
- Safety stock for seasonal assortments — how the buffer inside the reorder point is sized, and where the standard formula stops applying →
- How to plan receipt flow — phasing a steady core baseline underneath a seasonal intake curve →
- How to set open-to-buy — reserving the core release schedule before newness is budgeted →
- How to calculate size curves — the stable curve the graduation test requires →
- How to read a WSSI — where a continuity line and a seasonal line sit side by side →
- Weeks of supply calculator — convert a reorder point or a rounded release back into cover →
- Stock-to-sales ratio calculator — set the period stock target a core baseline sits inside →
- Lead time & OTD calculator — build the lead-time distribution the reorder point needs from delivery history →
- Replenishment trigger formula card on RetailNorthstar — the canonical statement of the trigger →
- Safety stock formula card on RetailNorthstar — days-of-coverage formulation and a calculator →
- Allocation and replenishment best practices on RetailNorthstar →
Frequently asked questions
- How do you set a reorder point?
- A reorder point is the inventory position at which a release has to fire so the item does not run out before the next order can land. It is demand over the lead time, plus demand over the review period, plus a buffer for the variability in both. Rate of sale should be measured over the weeks the item was actually in stock, lead time should come from vendor delivery history rather than the vendor quote, and the review period is your own release cadence. The trigger is then compared to inventory position — on hand plus on order and in transit, less commitments — never to on-hand alone.
- What is the difference between lead time and review period?
- Lead time is how long a released order takes to become sellable stock. The review period is how long you wait between opportunities to release one. They are different exposures and they add: after a review passes without a release, you are uncovered for the rest of that review cycle and then for the whole lead time that follows. This is why a fast vendor reviewed infrequently behaves worse than the lead time alone suggests — with a one-week lead time and a four-week review cycle, four of the five weeks of exposure come from the calendar, not the factory. Some formulations use half the review period, on the argument that the average wait is half the cycle; using the full review period protects the worst case instead of the average, and the choice between them should be stated rather than inherited.
- How does case-pack rounding change your cover?
- Rounding a release up to a whole pack adds inventory that no service calculation asked for, and it does so on every cycle rather than once. The effect scales with the pack as a fraction of the cycle quantity: rounding a 130-unit release to twelves adds a couple of units, while rounding the same release to hundreds adds seventy. Two consequences follow. The average position sits above the order-up-to level you set, so the maximum stops functioning as a ceiling. And the cadence stretches, because a larger release lasts longer — at which point the pack size, not the review calendar, is setting the real review period. Convert every rounded release back into weeks of cover before it goes out.
- How do you know when a seasonal style should become a core style?
- Four things have to be true at once. The style holds a rate of sale at full price, across more than one peak, without promotional support — read the unpromoted weeks only, because a blended rate flatters a style that needed markdown to move. A vendor will commit capacity through a blanket order with a release schedule and a component or fabric commitment, with a stated owner for the raw-material liability. The size curve is stable enough that a release split on last period’s curve is still right. And the margin survives at the replenishment landed cost and quantity rather than the initial-buy cost, since the first cut usually earned a volume price the program will never see again. Fail any one and the style is a seasonal item that happened to sell well.
- When do you stop replenishing a core item?
- On a rule written before the decline starts, because nothing else will force the decision. A workable rule has three parts: a rate test, where the trailing in-stock rate at full price has fallen below a stated floor for several consecutive review cycles rather than one; a last-release date, derived backwards from the end of the item’s window — a replacement launch, a model-year changeover, a discontinued finish or a shelf-life limit — allowing enough weeks for the released quantity to sell down at the declining rate; and a named owner with a date on which the trigger is switched off. Without all three, a falling core item keeps re-ordering down its own decline curve, and the stock that eventually clears was bought after the decline was already in the numbers.
- Should core and seasonal share one open-to-buy?
- They can share the budget, but they cannot share an undifferentiated pool. Core replenishment releases automatically while newness requires a decision, so in a single pool core spends first by default and newness receives the remainder — a split nobody chose and no variance report surfaces. Reserve the planned core release schedule as a committed line before the season opens, so the newness budget is set against the real remainder, and route any release above the reserved line through the same approval a newness buy would need. When the budget genuinely tightens, core is the correct line to flex, because a delayed release costs buffer while a missed launch date costs a season. Flex it down to the reorder point, not through it.
- Why does a replenishment forecast drift down over time?
- Because the rate of sale is almost always computed from sales, and sales are censored by availability. A week spent out of stock records low sales, the trailing average falls, the reorder point and any cover-based buffer fall with it, the item goes out of stock sooner in the next cycle, and that supplies the evidence for the next reduction. The loop is self-reinforcing and completely quiet: every input is a real number correctly averaged, so no check flags it. The fix is to measure the rate over in-stock weeks only, exclude weeks that opened with nothing on hand, and hold a separate record of stockout weeks so the exclusions themselves are visible.
See how RetailNorthstar keeps rate of sale, on-order and in-transit, vendor lead-time history and the sell-through on one data model, so the trigger tests against a real inventory position, the rate is measured over in-stock weeks, and the phase-out test runs on a schedule rather than when someone notices aged stock.