A luxury jacket in one colour and one size may sell a single unit per boutique per season. That isn't a pattern to forecast; it's a handful of customers. The questions that matter are different from mass retail: how deep to buy each size when an average says "half a unit", which boutique should hold each piece, and where to move it when it doesn't sell, before the only option left is a markdown.
A forecast of 0.48 units can't be ordered. Round it and the size disappears from the buy; round everything up and the buy doubles. Neither is a decision.
A missing size is a lost sale at full margin. An extra piece can't be cleared with a quick discount without cost to the brand. Mass-retail rules of thumb assume at least one of these is cheap.
When most weeks are zero, a forecast of zero scores well on average error. A model can look accurate and stock nothing.
Most forecast scorecards add up absolute error. When nine weeks out of ten sell nothing, the forecast that minimises that error is close to zero, so a model that stocks nothing can look like the most accurate one in the room. Percentage errors are worse: they can't even be computed on a week that sold zero. For slow-moving, high-value SKUs, accuracy has to be read alongside what the buy was for.
The share of customers who found their size in stock. It measures the thing a slow-moving buy is for.
How much of what was bought sold before any markdown. It's what a luxury buy is judged on, and what rebalancing protects.
Error alone favours zero. Paired with bias and service level, it shows whether a model is systematically short or long, not just close on average.
That's why buffers.ai scores every model on WAPE, bias, safety stock and service level together, and why the size split is tested on fill rate: on a specialty footwear retailer's holdout, 92–93% of units sold landed on a size the split would have stocked.
A single size of a single colourway has too little history for any model. The style family has more: every colourway and size of the same style, together. buffers.ai forecasts the family, backtesting five engines and keeping the champion, then splits that forecast back down: to colourway by recent sales, and to size by a size curve.
The size curve is pooled across every family in the same category, because whether a boutique sells more 48s or 52s depends mostly on who walks in, not on the individual jacket. Each family's own sales are blended in by how much it has sold, so a best-seller keeps its own shape and a style with three sales can't decide its whole size run.
SKU qty = family qty × P(colourway | family) × P(size | category)
curve = (n · Pfamily + 10 · Ppooled) / (n + 10)
n is the family's units sold. A new style or colourway starts on the pooled curve and moves toward its own as it sells. The full method and its holdout results are in Family Forecasting & Size Curves.
Once a size has an expected demand, the order is the smallest whole number of units that covers that demand with the probability you choose: a Poisson quantile at your service level. Rounding does something else entirely. In the example, it buys 8 units and leaves size 46 out, though there's a 38% chance a customer asks for one.
The service level is a business decision, not a statistical one. The more a missed full-price sale costs compared with an unsold piece, the higher it should be. Luxury raises both sides at once: high margin makes a miss expensive, and a no-markdown policy makes an extra piece expensive too. Going from 70% to 90% here takes the buy from 12 units to 17, which is why the level is set deliberately rather than left at a default.
Example: one jacket style, a 8-unit season forecast across six sizes
| Size | Curve | Expected | Rounded | 70% service | 90% service |
|---|---|---|---|---|---|
| 46 | 6% | 0.48 | 0 | 1 | 1 |
| 48 | 15% | 1.20 | 1 | 2 | 3 |
| 50 | 26% | 2.08 | 2 | 3 | 4 |
| 52 | 24% | 1.92 | 2 | 3 | 4 |
| 54 | 19% | 1.52 | 2 | 2 | 3 |
| 56 | 10% | 0.80 | 1 | 1 | 2 |
| Units bought | 8 | 12 | 17 | ||
Expected = 8 × the size's share of the curve. Each service-level column is the Poisson quantile of that expectation. Illustrative numbers.
With a handful of units per size across a network of boutiques, where each piece starts matters as much as how many were bought. Placement in buffers.ai combines what the data says with the commercial rules merchandising sets.
A new style goes to each store in the sizes that store's customers buy, from a curve learned from its department's sales, within the maximum quantities you set.
If a boutique should always show a piece, enter a display quantity. It overrides the model, so a slow seller isn't pulled from the floor.
A shipment can wait until enough of the size run is available, rather than sending a single size that won't sell on its own.
Units held for e-commerce and wholesale accounts are reserved, so store replenishment can't use them.
Even a good buy, well placed, will put some pieces in the wrong boutique: with one or two customers per size per season, chance decides a lot. The piece that hasn't sold in one boutique is often exactly what another boutique is missing. Store-to-Store Rebalancing finds stock sitting above target at one store while another is short of the same style and size, and turns it into transfers.
It changes the buying decision too. When stock can move, a size that's short in one boutique can be covered from another, so each boutique doesn't have to carry enough depth on its own to cover every possible customer. That's the lever that lets a luxury network keep sizes available without buying every boutique a deep size run.
See it on the Replenishment module.
Wool Coat · size M · 4 stores
Warehouse sold out · no reorder this season
Store 01 sold none of its four in eight weeks; stores 02 and 03 sold out of the size.
A slow-moving, high-value SKU sells too rarely at the level it's bought (style × colour × size × store) for its own sales history to show a pattern, and is valuable enough that both a missed sale and an unsold unit carry a real cost. Planning it well means forecasting at the style family, buying each size at a chosen service level, placing each piece deliberately, and moving it between stores before marking it down.
Read next: buffers.ai for luxury fashion · Family Forecasting & Size Curves · How buffers.ai chooses the best forecast
Send a past season's sales by style, colour, size and store, and we'll show you your size curves, a size-level buy at the service level you choose, and where stock would have moved between stores.