Size-curve decisions: why footwear retail needs its own logic
Footwear is a size-matrix problem. A style with units left but a broken size run is dead on the floor — yet most systems still count aggregate units.
Open the inventory report for a footwear style mid-season and you'll see a number that lies. The style shows 240 units in stock across the network, comfortably above the reorder threshold, so no alarm fires. What the number hides is that those 240 units are sizes 36, 37, 47 and 48 — the fringe of the curve. The sizes that actually sell, 40 through 43, sold out three weeks ago. The style is, for all commercial purposes, dead on the floor, and the system reporting 240 units in stock has no way to know it.
This is the defining problem of footwear retail, and it is structurally different from apparel. A customer who wants a 42 and finds only a 38 does not buy the 38. They do not buy a size up, the way an apparel shopper sometimes accepts a different color. They leave, and the sale is gone — not deferred, gone.
The remaining units don't represent residual demand. They represent a broken size run, and a broken run takes the whole style down with it.
Footwear, in other words, is not an inventory-of-units problem. It is a size-matrix problem. How to split the curve across stores, when to consolidate a broken run, when to mark a style down — every season-defining decision is about a distribution, not a count. Systems built to optimize the count get footwear wrong by construction.
The size curve is the unit of decision (not the style, not the unit)
In apparel, a style is reasonably approximated as a bag of units. You buy depth, you allocate depth, and aggregate sell-through is a fair proxy for how the style is doing. Footwear breaks that approximation. A style is not a quantity — it's a curve across sizes, often with half-sizes. The shape of that curve is what determines whether the style sells.
The reason is concentrated demand. For most footwear styles, the core sizes carry the overwhelming majority of demand on a narrow band — frequently 60 to 70% of units on three or four sizes. The fringe sizes round out the curve but move slowly. This makes the aggregate-units view doubly misleading.
A style at 50% sell-through can be perfectly healthy: selling its fringe on schedule, core sizes still stocked. Or already finished: core gone, only fringe left. The same number describes a winner and a corpse.
So the atomic unit of a footwear decision is the curve, not the style and not the individual SKU-size. A size run is whole or it is broken — there is no partial credit. Once the core sizes sell out, the curve is broken and every unit left behind drops in expected sell-through. It can no longer be sold to a customer who came in for a core size and might have grabbed an adjacent one. The style stops converting traffic even though it still occupies its slot on the wall.
A footwear decision system therefore has to carry the full size distribution as a first-class object. Not the style total, not a representative SKU — the per-size profile, per store, tracked as it erodes. Collapse the curve into a single number and you have thrown away the only signal that tells you whether the style is alive. This is the same trap as allocating a heterogeneous network with a single coarse weight: the simplification erases exactly the structure that drives the outcome.
Allocation and transfer to keep curves whole across the network
If the curve is the unit of decision, then allocation in footwear is not "how many units does store X get." It is "what size profile does store X get, given the size profile its customers actually buy." Two stores with identical volume can have opposite curves — a city-center store skewing to smaller sizes, a suburban store skewing larger. Allocate them the same curve and you guarantee that one store breaks its run early while the other sits on unsold fringe.
The initial split is the highest-leverage moment, because everything downstream inherits its shape. But footwear has a second lever apparel barely uses: the network can heal broken runs by consolidating sizes through transfer. Say store A has core sizes left but no fringe, and store B has fringe but no core. Neither store can sell the style well — yet between them they hold a whole curve. Transferring to rebuild one complete run in the store with the traffic to sell it is often worth far more than the logistics cost of the move.
This is the decision most chains never make, for three reasons:
- The signal is invisible at the unit level. A units-based system sees stock in both stores and fires no alert. Only a curve-aware view sees two broken runs that could be one whole one.
- Transfers are owned locally, value is network-wide. A store manager has no incentive to ship away the sizes they do have, even when those sizes are dead weight locally and curve-completing elsewhere.
- Identifying the right consolidations requires a network-level view of every curve simultaneously — exactly the kind of combinatorial scan no merchant builds by hand across thousands of style-store pairs.
The corrective options after that are all worse. Replenishment can refill a core size if the warehouse still holds it, but late in the season the warehouse is as broken as the stores. Markdown clears the broken run, but at a margin cost the chain absorbs as "unavoidable" end-of-season depth. The cheapest fix — consolidating curves while they can still be sold at full price — is the one the units view can't even see.
Fit-driven returns as a size-curve signal (feed back into buying)
Footwear returns are not noise to be processed away. They are the most precise demand signal the category produces, and almost no chain reads them as such. When a customer returns a pair, the reason is overwhelmingly fit. And fit is a statement about the curve: this style runs small, the half-size is the real size, this last is narrow. A units-based returns process throws all of that away and books a restock.
Aggregate the fit reason across a style and a pattern emerges that no pre-season buy plan contains. Say a style returns at 25 to 35% with "too small" as the dominant reason. The curve was wrong: the buy should have shifted up half a size, and the in-season allocation should stop sending the small end to stores already drowning in returns. The return is telling you, with the customer's own wallet, where the curve should have been — one season before your next buy locks in the same mistake.
That signal should close two loops. In-season, it should re-shape allocation and transfer: a style flagged as running small gets its curve re-centered before the next wave ships, instead of repeating the error store by store. Pre-season, it should reach the buying committee at the right grain so next year's size curve is built on what customers kept, not on what was ordered. The grain that matters is by style, by last, by supplier.
This is the same architecture as a returns feedback loop in retail more broadly. The return is a labeled data point. Ignoring it is paid twice — once in the markdown on the returned unit, again in re-buying the same broken curve.
The structural failure is that returns live in the WMS and the size curve lives in merchandising, and the two never share a write path. The fit reason — when it's even captured — dies in a service ticket no buyer reads. The signal isn't missing. It's being actively erased between the loading dock and the next pre-season assortment plan.
What a decision layer does: optimize the curve, not the count
The fix is not a better forecast or a bigger warehouse. It is a decision layer that treats the size curve as the atomic unit of every footwear decision. Allocation, transfer, markdown, and the feedback into buying — all run on the curve, instead of treating the style as a bag of units.
Concretely, that layer has to do four things legacy systems don't:
- Carry the per-size profile, per store, as a first-class object. Track each curve as it erodes, and trigger on core-size depletion — the moment the run breaks — not on aggregate units crossing a threshold.
- Allocate the curve, not the count. Match each store's incoming size profile to the curve its customers actually buy, drawn from that store's own fit history, rather than splitting a flat depth proportionally.
- Scan the network for curve consolidations. Surface, continuously, the transfers that rebuild a whole run in a store with the traffic to sell it — before the broken style has to be marked down.
- Read fit-driven returns as a curve signal. Route the return reason back into in-season allocation and into next season's buy, at style-last-supplier grain, so the curve self-corrects instead of repeating.
None of this requires inventing a new optimization. It requires running the optimizations footwear chains already run — allocation, transfer, markdown, buying — on the right object. The size curve, kept whole, instead of the unit count that hides the break.
The engine doesn't out-think the merchant. It holds tens of thousands of size curves in working memory at once and flags the broken runs while they can still be saved. A team scanning style totals by hand structurally cannot.
This is the layer Solya is built for. It ingests POS, ERP and WMS data and rebuilds each style's size curve per store. Allocation, transfer and markdown then run as decisions about the distribution, under your pack-size and logistics constraints, with the fit-driven return signal wired back into the same engine. The point is not a smarter model. It's that the continuous decision loop finally optimizes what footwear actually sells: a whole size run in front of the customer who wants it.
The real question to ask
Pull last season's worst markdown styles and look at one number: how many of them still had non-trivial units in stock when they stopped selling. Then check whether those units were core sizes or fringe. If the pattern is broken runs — core gone, fringe stranded — you weren't looking at a demand problem or an over-buy. You were looking at a size-curve problem that a units-based system was never built to see, and that decision-level logic on the curve is built to catch.
Where are broken size runs costing you sell-through?
At Solya, we offer footwear merchandising and supply chain leaders a personalized 30-minute diagnostic. On your own network, we map where broken size runs are killing sell-through on otherwise healthy styles. We also map where curve consolidation through transfer could recover full-price margin you currently mark down.
You'll walk away with:
- A view of how much of your markdown depth traces to broken size runs rather than genuine over-buy
- A quantified estimate of the full-price sell-through recoverable by allocating and transferring at the size-curve level
- The first use cases where curve-level decisions would produce measurable impact within one season
Related articles
Sport retail runs two inventory logics at once
The core wants continuous replenishment; the seasonal drop wants sell-through and markdown. Run both on one logic and you lose on both walls.
Big-ticket retail: slow turn inverts the playbook
In furniture and big-ticket home retail, slow turn and heavy logistics amplify the cost of every wrong allocation and late markdown.
AI grocery decisions: why perishables break the order model
In grocery, the question was never how much to order. It is how much to order given spoilage, shelf-life, and the markdown clock running all day.
