Phasing returns in a WSSI: the error that understates your open-to-buy
Most spreadsheet WSSIs net returns in the week they arrive, not the week of sale. A 12-week worked model of what that does to cover and intake.
- Published
- Author
- Chris Kellet
- Length
- 2,762 words · 10 min read
- Concerns
- Badger WSSI
Open the WSSI you are trading from this week and find the returns. In most spreadsheet grids there is nothing to find, because returns are not a line — they are already inside the sales line, netted off in the week the refund was processed, with every returned unit treated as back on the shelf the moment it was credited.
That single shortcut overstates your closing stock every week of the season, overstates your cover with it, and therefore understates your open-to-buy at the precise moment a buyer commits intake. It is not a rounding error. In the worked model below — one womenswear department, a 22% return rate, a two-to-four week lag — the grid is holding 1,282 units of stock that do not exist by week six, and the buyer opens 896 units of intake where the department needs 3,136.
Worse, it never announces itself. The grid balances, the stock file reconciles at the season end, nothing fails. Only the decisions taken in between are wrong.
A returned unit has two dates, and a WSSI has one sales line
A unit bought in week eight and sent back in week eleven is two separate events in the stock ledger. In week eight it leaves the building and stops being available to sell. In week eleven it reaches the returns bench, is graded, and — if it passes — becomes available again.
A WSSI with a single "sales" line has to pick one of those weeks, and both choices are wrong in different directions.
Feed the line from your ecommerce report's net sales and returns are netted in the week the refund posts. Week eleven then carries a deduction generated by week eight's trade, so the line is not a statement of demand at all. In a rising trend it flatters the rate of sale; three weeks after a peak it drops hard, and a planner reads a returns cohort as a collapse in demand.
Plan forward instead by multiplying gross demand by one minus your return rate — the only thing a single line allows for future weeks — and you have netted in the week of sale, which assumes every returned unit is back on the shelf before the week closes.
A returned unit has two dates. A single sales line can only carry one of them, and it is the closing stock that pays for the choice.
Almost every spreadsheet WSSI does both: receipt-netting for the weeks that have traded and sale-netting for the weeks that have not, with a discontinuity at the join that nobody notices because the two look identical in the cell.
The same 12-week season, planned twice
Everything below is identical in both grids except how returns are handled: same opening stock, same demand, same committed intake, same target.
The assumptions. A womenswear department trading predominantly online, over a 12-week autumn season.
- Opening stock 18,000 units. Cost price £16.50 a unit, selling price £45 including VAT.
- Gross demand plan of 28,200 units, building from 1,200 in week one to a 4,200-unit peak in week ten, then easing to 2,600 by week twelve.
- Intake of 11,000 units already committed, landing 3,000 / 2,500 / 3,000 / 2,500 in weeks one, three, five and seven.
- Return rate 22% of gross despatched units.
- Return lag: 50% of a week's returns are booked in two weeks after despatch, 35% three weeks after, 15% four weeks after. Mean lag 2.65 weeks.
- 90% of returns received go back into sellable stock. 10% are written off or diverted to outlet.
- Demand lands exactly on plan, so the only thing separating the two grids is the returns treatment.
- The season opens clean, with no returns in flight from the previous season. That never happens, and it is the subject of a later section.
Grid A — the naive grid. One sales line, planned net of returns in the week of sale, all returned units straight back to stock. Cover is closing stock over the average of the next four weeks on the same line.
| Week | Opening | Intake | Sales (net) | Closing | Cover |
|---|---|---|---|---|---|
| 1 | 18,000 | 3,000 | 936 | 20,064 | 15.1 |
| 2 | 20,064 | 0 | 1,092 | 18,972 | 12.8 |
| 3 | 18,972 | 2,500 | 1,248 | 20,224 | 12.3 |
| 4 | 20,224 | 0 | 1,404 | 18,820 | 10.5 |
| 5 | 18,820 | 3,000 | 1,560 | 20,260 | 10.0 |
| 6 | 20,260 | 0 | 1,716 | 18,544 | 7.7 |
| 7 | 18,544 | 2,500 | 1,872 | 19,172 | 7.6 |
| 8 | 19,172 | 0 | 2,028 | 17,144 | 6.8 |
| 9 | 17,144 | 0 | 2,496 | 14,648 | 6.2 |
| 10 | 14,648 | 0 | 3,276 | 11,372 | 5.7 |
| 11 | 11,372 | 0 | 2,340 | 9,032 | 5.0 |
| 12 | 9,032 | 0 | 2,028 | 7,004 | 4.3 |
Grid B — returns phased. Gross despatches on the week of sale. Returns received on the lag distribution, split into the units that go back to sellable stock and the units that do not. Cover is closing stock over the average net depletion of the next four weeks.
| Week | Opening | Intake | Gross sales | Returns to stock | Written off | Closing | Cover |
|---|---|---|---|---|---|---|---|
| 1 | 18,000 | 3,000 | 1,200 | 0 | 0 | 19,800 | 12.8 |
| 2 | 19,800 | 0 | 1,400 | 0 | 0 | 18,400 | 11.1 |
| 3 | 18,400 | 2,500 | 1,600 | 119 | 13 | 19,419 | 10.8 |
| 4 | 19,419 | 0 | 1,800 | 222 | 25 | 17,841 | 9.2 |
| 5 | 17,841 | 3,000 | 2,000 | 291 | 32 | 19,132 | 8.7 |
| 6 | 19,132 | 0 | 2,200 | 331 | 37 | 17,262 | 6.5 |
| 7 | 17,262 | 2,500 | 2,400 | 370 | 41 | 17,733 | 6.4 |
| 8 | 17,733 | 0 | 2,600 | 410 | 46 | 15,542 | 5.8 |
| 9 | 15,542 | 0 | 3,200 | 449 | 50 | 12,792 | 5.3 |
| 10 | 12,792 | 0 | 4,200 | 489 | 54 | 9,081 | 4.8 |
| 11 | 9,081 | 0 | 3,000 | 568 | 63 | 6,649 | 4.0 |
| 12 | 6,649 | 0 | 2,600 | 715 | 79 | 4,764 | 3.1 |
Neither grid is arithmetically wrong on its own terms. Both balance. Grid A simply believes a different thing about what came back, and when.
Look at week one. Grid A shows 936 units sold; the department despatched 1,200. If you have ever tried to reconcile a WSSI sales line against a warehouse despatch report and given up, this is usually why.
The gap is the returns in flight, plus the write-off
Put the two closing stock lines beside each other and the divergence is not noise. It grows every week, in one direction, and it decomposes exactly.
| Week | Grid A closing | Grid B closing | Gap | Returns in flight | Written off (cum.) |
|---|---|---|---|---|---|
| 1 | 20,064 | 19,800 | 264 | 264 | 0 |
| 2 | 18,972 | 18,400 | 572 | 572 | 0 |
| 3 | 20,224 | 19,419 | 805 | 792 | 13 |
| 4 | 18,820 | 17,841 | 979 | 942 | 38 |
| 5 | 20,260 | 19,132 | 1,128 | 1,058 | 70 |
| 6 | 18,544 | 17,262 | 1,282 | 1,175 | 107 |
| 7 | 19,172 | 17,733 | 1,439 | 1,291 | 148 |
| 8 | 17,144 | 15,542 | 1,602 | 1,408 | 194 |
| 9 | 14,648 | 12,792 | 1,856 | 1,613 | 244 |
| 10 | 11,372 | 9,081 | 2,291 | 1,993 | 298 |
| 11 | 9,032 | 6,649 | 2,383 | 2,022 | 361 |
| 12 | 7,004 | 4,764 | 2,240 | 1,800 | 440 |
The last three columns are the whole article. In every week, the amount by which the naive grid overstates closing stock equals the returns generated but not yet received, plus the returns received and written off since the season began. That is an identity, not a coincidence — it holds for any demand shape, any rate and any lag. Figures are rounded to whole units, so a row may not foot by one.
Both components push the same way, and they behave differently. The in-flight balance is a timing error: those units genuinely exist, they are in a van or a returns bench, and they will arrive. The write-off is permanent — 440 units and £7,260 of cost over the season that Grid A has counted as stock and will never see again.
What the buyer commits in week six
Numbers on a grid are not the point. The decision is.
At the end of week six the buyer commits the balance of the season's intake for delivery in weeks nine to twelve. Both planners want to finish on 7,900 units — about five weeks' forward cover on the week thirteen to seventeen plan — and both already have 2,500 units committed for weeks seven and eight. The open-to-buy is what is left: target closing stock, plus everything that will leave between now and then, less what you are holding and what is already on order.
| Grid A | Grid B | |
|---|---|---|
| Closing stock, week 6 | 18,544 | 17,262 |
| Cover, week 6 | 7.7 weeks | 6.5 weeks |
| Stock leaving in weeks 7–12 | 14,040 | 14,998 |
| Intake needed, weeks 7–12 | 3,396 | 5,636 |
| Already committed, weeks 7–8 | 2,500 | 2,500 |
| Open-to-buy, weeks 9–12 | 896 | 3,136 |
The buyer working from Grid A opens 896 units. The correct answer is 3,136 — a shortfall of 2,240 units, £36,960 at cost and £100,800 at selling price.
The gap has two halves and both come from the same shortcut. 1,282 units of it is the stock Grid A thinks it is holding at week six but is not. The other 958 units is the returns credit Grid A takes in weeks seven to twelve: it credits the full 3,960 units those weeks will generate, where the phased grid puts about 3,000 units back into sellable stock across the same weeks. The difference is the returns still in transit when the season closes, plus the ones that never pass grading.
Notice that the open-to-buy gap is the same 2,240 units you can read off week twelve of the divergence table. That is not luck either. Open-to-buy is a residual — the last number in a chain — so every error upstream of it arrives at full size against a much smaller base. A 7% overstatement of closing stock became a 71% understatement of intake.
Then the season trades. The buyer who bought 896 units finishes week twelve on 5,660 units and 3.7 weeks' cover, against a plan of 7,900 and 5.0 — while their own grid, still netting returns the same way, reports that they landed on 7,900 exactly.
Five rules for the returns block in your own grid
You do not need a system to fix this. You need three lines where you currently have one, and a lag you have measured rather than assumed.
- 1
Split the sales line into gross despatches and returns
Gross despatched units belong in the week of despatch, matching the warehouse. Returns get their own line, in the week the unit is booked in. Net sales, if you still want it, becomes a derived row — not the row the stock balance runs on.
- 2
Measure the lag distribution, not the average
Pull twelve months of despatch dates and booking-in dates and build the histogram: what share of a week's despatches come back at one week, two, three, four, five. Do it by department — footwear, dresses and beauty do not share a curve, and an average hides the long tail that does most of the damage at the season end.
- 3
Phase returns off the week of sale, not the current week
Forecast returns received in a week as the sum, across each lag, of the gross despatches that many weeks earlier, multiplied by the return rate and that lag's share. Every forward week then inherits the returns owed to it by weeks that have already traded, which is the asset the single-line grid throws away.
- 4
Route the returned unit before you credit it
Only the units that pass grading go back into the stock balance. Split the returns line into back-to-sellable, moved-to-outlet and written-off from your own grading data. If you have never measured that split, measure it first: it is the only part of this error that is permanent.
- 5
Seed the pipeline at the start of every season
A season does not open empty. Load the returns already in flight from the previous season into weeks one to four before you plan anything else, and decide where those units land.
A returns rate is not a returns provision
These get conflated constantly, usually when merchandising asks finance for a returns number and receives the wrong one.
| Returns rate | Returns provision | |
|---|---|---|
| What it is | A planning parameter: the share of despatched units expected back | An accounting accrual against revenue already recognised |
| Measured in | Units, by department, by week of despatch | Value, at the balance sheet date |
| Moves with | Product mix, size architecture, delivery proposition | The sales trend — it rises after a peak whatever the rate does |
| What it drives | Stock availability, cover, open-to-buy | Reported revenue and margin |
They describe the same population of units and they are not interchangeable. The provision at week six covers the value of returns owed on sales already made — in this model, the same 1,175 in-flight units, about £53,000 at selling price. Merchandising needs those units as units, dated by the week they will arrive. Dropping the provision into a WSSI puts a value into a unit grid on the wrong date, which is a second error wearing the first one's clothes.
Why the lag matters more than the rate
Everyone argues about the rate. It is one cell, it is easy to benchmark badly, and it is the number that gets challenged in the sign-off meeting. The lag is the one that moves the decision.
Holding everything else in the model constant and testing the week-six intake decision:
| Change | Open-to-buy, weeks 9–12 |
|---|---|
| Base case: 22% rate, 2.65-week mean lag | 3,136 |
| Rate 18%, same lag | 3,857 |
| Rate 26%, same lag | 2,415 |
| Same rate, 1.65-week mean lag | 2,453 |
| Same rate, 4.65-week mean lag | 4,419 |
An eight-point swing in the rate — a wide range for one department — moves the open-to-buy by about 1,440 units. A three-week swing in the mean lag moves it by about 1,970. The lag wins, and it wins for a structural reason: the rate scales how many units eventually come back, while the lag decides how many of them are on the right side of the week you commit intake.
The second reason is the one that matters more. A wrong rate is a level error and it eventually fails to reconcile. A wrong lag is a timing error that always reconciles, so it survives every control you have.
The returns you never planned to receive
The model's last four trading weeks generate about 1,800 units of returns that arrive after the season has closed — roughly 760, 660, 300 and 90 units in weeks thirteen to sixteen, of which about 1,620 are sellable.
Those units land in a grid that was never built for them. The autumn department has been closed off, the spring department's opening stock was set weeks ago from a stock file that did not include them, and the units themselves are autumn product. If your season boundary is a hard cut, they either disappear from the plan entirely or they inflate a new season's opening stock with product that new season cannot sell.
Markdown is where this gets expensive. Those units left the building at full price in weeks ten to twelve and come back in weeks thirteen to sixteen, by which point the department is in markdown. At 30% depth that is roughly £22,000 of markdown on units that were never in the markdown budget, because the budget was sized on the intake plan and returns are not intake. The unit count is only half of it: if your grid is kept at retail value and credits a returned unit at the price it originally sold for, your closing stock value is overstated as well as your unit count.
The fix is unglamorous. Carry the returns pipeline across the boundary as an opening line in the next season's grid, tagged to the season that sold it, with its own disposition and its own markdown provision. Better decided in week eleven than discovered in week fourteen.
Where this does not apply
If your return rate is genuinely low — a food, homeware or hard-goods range in the low single digits — the in-flight balance is too small for the single-line shortcut to cost you much, and rebuilding the grid is not the best use of a week. The same holds if you trade almost entirely in store with immediate exchange, where the two dates are one date.
The test is arithmetic, not judgement: multiply your return rate by your mean lag by your weekly gross demand, and compare the answer with the open-to-buy you are about to commit. If it is a rounding error against that number, stop reading. In the model above it was 37% of the correct open-to-buy.
Before you rebuild anything, measure the lag. Pull twelve months of despatch and booking-in dates for one department, plot the distribution, and work out how many units are in flight today. It is an afternoon's work, and it tells you whether the rest of this is worth doing. If the answer is a meaningful share of the intake you are about to commit, the next thing to fix is not the WSSI — it is the returns disposition data, because a phasing model that cannot tell you which returned units are sellable is only half a grid.
Related reading
- Field notes
Retailers discounted deeper in peak 2025 and sold less. Plan markdown as a budget.
UK peak 2025 saw deeper discounts and lower sales. A break-even table, a worked markdown budget and a margin-floor rule set for peak planning.
- News
What this blog is for, and what it will not be
We are starting a blog about the operational side of ecommerce. Here is what will go in it, who it is written for, and what we have deliberately left out.
- News
Introducing central authentication: passkeys, social login and magic links
One account across every store, with passkeys, Google and Apple sign-in, and magic links. How central authentication works on Badger Commerce.