Lessons · Lesson 1 of 3
The stock number is five different numbers
Take one style's network position apart: what the system owns, what the website may promise, and how much of that can actually be sold to the customers who arrive.
Lesson 1 of 3 · 38 min
The situation
A retailer puts a website in front of the same stock its shops are selling. The question changes. It stops being how much the company owns. It becomes how much it can safely promise to a customer standing at a checkout page. Those are two different figures, and this lesson walks down the ladder between them. Goods on a lorry. Goods already bought and not yet collected. Goods a colleague cannot find.
Monday 11 May 2026, in an office above the loading bay at the Hartswood distribution centre in the English Midlands. Corvedale is a British womenswear retailer. It has 62 shops and a website, and the website takes a little over a third of the chain's units. The department is Women's Denim. The phase is a nine-week spring run, from the week starting 6 April to Sunday 7 June 2026. Yesterday closed week 5.
The style on the screen is CRV-4120, the Tarnbeck high-rise straight leg in mid indigo. Sizes 6 to 18. One retail price of GBP 59.00. It was bought at a 62.0% intake margin — the margin planned at the moment of buying — so each pair landed at GBP 22.42. Corvedale bought 9,600 pairs in a single delivery before week 1. That is normal for a core denim line: one commitment, no repeat order, everything decided back in November.
Three people are looking at the same screen and disagreeing about what is on it.
- Nadia Threlkeld runs allocation. Her number is what each of the 62 shops holds, and what she can move between them.
- Owen Braycott runs e-commerce operations. His number is what the website is allowed to promise a customer with a card in their hand.
- Sasha Delamore buys the denim. Her number is what is left of a commitment she made in November, and whether it will sell through.
None of them is wrong. The system reports 4,180 units on hand across the network. That figure is correct in the only sense a stock figure is ever correct: it is the sum of the counts. It is also the wrong number for every decision the three of them are about to make.
Six ways to be wrong about one number
A shops-only retailer can treat stock as one number and get away with it. Only one thing can happen to a unit: somebody buys it in the shop it is sitting in. The moment a website can promise any unit anywhere in the network, the question changes from what do we own to what can we hand over. Five things sit between those two, and all five are true at once.
| Step | Units | Running |
|---|---|---|
| System on-hand across the network | 4,180 | 4,180 |
| Less online returns received at Hartswood, not yet graded | 214 | 3,966 |
| Less units in transit between nodes | 96 | 3,870 |
| Less click-and-collect reservations awaiting collection | 158 | 3,712 |
| Less units on a DC pick list for store replenishment | 340 | 3,372 |
| Less units held behind the store exposure buffer | 494 | 2,878 |
| Promisable | 2,878 |
A node is any place stock sits: the distribution centre, or any one of the 62 shops. Promisable is what the website may safely offer today. Take each deduction seriously, because each one is a different kind of not-really-there.
Returns not yet graded are physically at Hartswood and they belong to Corvedale. They are not sellable, because nobody has decided yet whether each pair is A-grade and goes back to the picking shelf, B-grade and goes to the outlet, or is scrapped. Corvedale grades within four working days. For those four days the units exist, count in the accounts, and cannot be promised.
In transit is the honest one, and the one people forget. Ninety-six pairs are on a lorry between Hartswood and a group of shops. They are owned, they are counted, and for the next eighteen hours they are at no node at all.
Click-and-collect reservations are units a customer has already bought and not yet fetched. They sit on a shelf in the back of a shop with a name on them. A colleague counting the rail will not count them. A system that counts everything inside the four walls will.
On a DC pick list is the hardest one to spot. Those 340 units are at Hartswood. They are unsold, no customer has reserved them, and they are already promised to tonight's delivery run to the shops. Promise them to a website customer and you get one of two disappointments: the shop does not get its delivery, or the customer's order is picked short in the morning.
The exposure buffer is not a fact about the units at all. It is a decision, and it is the only line in the table Corvedale chose.
The exposure buffer is a price you pay on purpose
Corvedale does not show the website a shop's last two units of a size. The rule costs 494 units of promisable stock on this style alone. That looks like pure waste until you price what it buys.
When the website promises a unit sitting in a shop, a colleague has to go and find it. Sometimes it is not there. It is in a fitting room, over a customer's arm, under the rail, scanned wrongly at goods-in three weeks ago, or gone and never recorded. Corvedale calls this the pick-fail rate: the share of store orders where the pair cannot be found. It measured the rate both ways before setting the rule.
| Buffer setting | Pick-fail rate | Fails on 11,480 store-fulfilled units | Cost at GBP 6.80 a cancellation |
|---|---|---|---|
| No buffer, expose every unit | 7.4% | 850 | GBP 5,780.00 |
| Protect the last 2 units of a size in a shop | 2.1% | 241 | GBP 1,638.80 |
The buffer avoids 609 failed picks across the department in the phase. At Corvedale's own costing of a cancellation, that is worth GBP 4,141.20. Lesson 2 takes that costing apart. This is a good argument for the buffer. The last unit of a size in a shop is exactly the unit the count is most likely to be wrong about. It has been handled the most and tidied the least.
Notice what the buffer is really doing. It is not protecting stock. It is paying for a stock count nobody has fixed. A shop whose count was reliable would need no buffer. The buffer is the price of the count being wrong, and it is paid every day, in availability.
Now the number that actually matters
2,878 promisable units of one style, five weeks into a nine-week phase, sounds comfortable. Sell-through so far is 5,420 of 9,600, which is 56.5% at week 5. Nothing on that line asks for a decision.
Here is the same 2,878, split by size, against the size curve Corvedale measured from its own denim sales. A size curve is the share of customers who want each size.
| Size | Promisable units | Share of the promisable pool | Share of demand | Units of balanced demand this size can serve |
|---|---|---|---|---|
| 6 | 604 | 21.0% | 6% | 10,067 |
| 8 | 518 | 18.0% | 13% | 3,985 |
| 10 | 345 | 12.0% | 19% | 1,816 |
| 12 | 259 | 9.0% | 22% | 1,177 |
| 14 | 317 | 11.0% | 18% | 1,761 |
| 16 | 374 | 13.0% | 13% | 2,877 |
| 18 | 461 | 16.0% | 9% | 5,122 |
The last column is one division: units held in the size, divided by that size's share of demand. Size 12 holds 259 pairs, and 22% of customers want a 12. So those 259 pairs run out once 259 ÷ 0.22 = 1,177 units of demand have arrived, in the mix customers really arrive in. Every other size lasts longer. Size 6 would last past ten thousand.
So the smallest of those seven figures is the whole answer:
balanced sellable units = the smallest, across sizes, of units held divided by that size's share of demand
1,177. The system says 4,180. The website may promise 2,878. The number of pairs that can be sold to the demand that is actually coming is 1,177 — 40.9% of the promisable pool, and 28.2% of what the system reports owning.
Two things must be said about that calculation before anybody uses it, because it is easy to read too much into.
It assumes future demand looks like the measured curve. That is a real assumption, and it flatters us. Corvedale's curve was built from sales, and sales in a size are capped by having that size in stock. A curve built from a season where the 12s ran out early understates how many 12s people wanted. Lesson 3 comes back to exactly this, because it is the same mistake wearing different clothes.
It is a chain-level number, and stock does not sit at chain level. 1,177 assumes every promisable unit can reach every customer. That is true for the website and false for someone walking into a shop. A shop holding five pairs of CRV-4120 in sizes 6, 6, 8, 18 and 18 has five units on the rail — and for the 40% of customers who want a 12 or a 14, nothing at all.
What to do with the two numbers
Promisable and balanced-sellable answer different questions, and you need both.
- Promisable is an operating limit. It is what the website may offer today without making a promise it cannot keep. Owen's number.
- Balanced-sellable is a commercial forecast. It says how much of the remaining stock will sell at full price before the size mix breaks, and therefore how much of it is already heading for markdown. Sasha's number.
The gap between 2,878 and 1,177 is 1,701 pairs that will still be there when the sizes that matter have gone. Nothing in the next four weeks changes that, except moving units between shops — which does not create 12s — or deliberately selling the end sizes at a price that clears them while the middle is still trading.
That is the position at the close of week 5. Nobody has made a mistake yet.
Check yourselfA director looks at the same style and says: we hold 4,180 units and we are 56.5% sold through at week 5, which is ahead of plan, so stop worrying. What is the shortest honest answer?Show the answer
That 4,180 is the sum of the counts, not an availability, and that sell-through so far says nothing about whether the rest can be sold. The website may only promise 2,878 of it. The balanced-set calculation says 1,177 pairs can be sold to the customers who arrive, before size 12 runs out. The remaining 1,701 are sizes 6, 8, 16 and 18, in shops that already cannot serve a 12. Sell-through measures the past. The size mix of what is left measures the future, and only one of those two is a decision. Ask for the remaining stock by size before agreeing that anything is ahead of plan.
Prompt · Take my stock number apart before I promise it
When one style's stock figure is quoted in a meeting and three people mean three different numbers by it.
Act as an omnichannel inventory analyst for a fashion retailer. I want one style's stock position taken apart, and I want to know which number answers which question. My inputs: style [CODE AND DESCRIPTION], colour [COLOUR], size range [SIZES], retail price [AMOUNT], landed cost [AMOUNT], estate [NUMBER] shops plus a website, and the week we are in is [WEEK] of a [NUMBER]-week phase. System on-hand across the network is [UNITS]. Of that: returns received but not yet graded [UNITS], units in transit between nodes [UNITS], click-and-collect reservations awaiting collection [UNITS], units on a distribution-centre pick list [UNITS], and units held behind a store exposure buffer of [NUMBER] units a size a shop [UNITS]. My measured size curve is [PASTE SIZE AND PERCENTAGE SHARE OF DEMAND], and the remaining stock by size is [PASTE SIZE AND UNITS]. Do the following. First, build the waterfall from system on-hand down to promisable, one line per deduction, and say for each whether it is a fact about where the unit is or a decision I made. Second, work out the balanced sellable figure as the smallest, across sizes, of units held divided by that size's share of demand. Name the size that limits it, and give me the surplus that will not sell to the customers who arrive. Third, state plainly the two assumptions that calculation rests on, including whether my size curve was built from sales rather than from demand, and what that does to the answer. Fourth, tell me which of the three numbers belongs on an availability screen, which belongs in a markdown forecast, and which belongs nowhere. Show every division. Where a figure I gave you is missing, ask for it rather than assuming one.
AI can make mistakes — check anything you act on.