All posts
Operations2026-05-12

The retail allocation engine: where the season is actually decided

Initial allocation is the most leveraged decision in retail. Every later replenishment lives inside the box it set — yet most chains still allocate by formula.

Kevin Didelot12 min read

In most retail organizations, the conversation about supply chain AI starts with replenishment. It's the visible loop, the one merchants and supply chain teams touch every week, the one vendors demo most often. Yet by the time replenishment is running, most of the season is already decided — and the decision wasn't taken there. It was taken weeks earlier, at allocation: when the first shipment of a new collection or a new range left the warehouse and was split across the network.

That split sets the box every subsequent decision lives in. Replenishment can move stock between waves, transfers can patch local imbalances, markdowns can clear what didn't sell. But none of these in-season levers can fully undo a wrong initial allocation. They can only contain the damage — and the cost of containment is what shows up, season after season, as "unavoidable" end-of-season markdowns and "unfortunate" stockouts on hero SKUs.

Initial allocation is therefore the highest-leverage decision in the entire merchandising-to-execution chain. And in most chains, it's also the least re-engineered decision of the last twenty years. Forecasting got rebuilt with machine learning.

Replenishment got automated. Markdown optimization got vendors and consultancies of its own. Allocation, in the meantime, is still largely run on formulas designed for a network that no longer exists.

The formula that no longer fits the network

Open the allocation logic of most retail chains and you'll find a variant of the same structure. It reads: store size × historical sales of a comparable product × an inflation or growth factor. It's sometimes refined by a "store cluster" (A, B, C, D) and a few business overrides. This logic was reasonable in an era where networks were homogeneous: a few hundred stores of similar size, in similar catchment areas, serving similar demographics, with comparable assortment depth.

That era is gone. A modern apparel or specialty retail network typically spans several store formats — flagship, standard, compact, outlet — across urban, suburban, and provincial catchments. Assortments diverge by location, climate zones shift the seasonal calendar by weeks, and customer profiles swing the size curve and the style mix dramatically from one store to the next.

The store cluster A/B/C/D was a simplification, useful when granular data was scarce. Today that simplification erases the very heterogeneity it should be exploiting. Two stores in cluster B can have opposite size curves, opposite color preferences, opposite price sensitivities. Allocating them identically — or proportionally to a single coarse weight — guarantees that one of them gets the wrong product mix from day one.

The result is mechanical. Best-sellers go out of stock in the stores that would have sold them at full price. Slow movers pile up in stores that were never going to clear them. By the time the gap becomes visible in weekly sell-through reports, the season is already three or four weeks in. And the corrective levers available are all worse than getting the allocation right in the first place.

Why the cost of a bad allocation compounds

Allocation looks like a single decision, but its consequences are not. They cascade into every subsequent decision of the season — and each cascade narrows the option set.

Replenishment inherits the gap, it doesn't close it

Replenishment engines, however sophisticated, work within the stock that already exists across the network. They can redistribute the next wave, accelerate reorders, balance flows. They cannot conjure a hero SKU into a store that didn't get any in the initial drop. Nor can they make a slow mover disappear from a store that received a full pack of it.

In practice, replenishment can recover perhaps 15 to 25% of the value lost to a bad initial allocation — never more. The rest is structural: it was lost the moment the trucks left the warehouse.

Transfers exist, but they are expensive and political

Inter-store transfers are the second-line corrective. They work, technically — most chains have the WMS and the logistics capacity. They almost never get used at the scale they would need to. The reasons are familiar: each transfer has a visible logistics cost and a diffuse benefit, store managers have no direct incentive to ship away stock. And identifying the right transfers requires a network-level view operational teams don't have time to build.

The deeper issue is that transfers, even when they happen, only redistribute what's already been distributed wrong. They don't undo the initial mistake — they only soften its visible signature.

Markdowns are how the chain pays the bill

What replenishment and transfers can't fix, markdowns absorb. End-of-season markdown depth is, in most retail organizations, the single largest variable cost the chain controls. And a non-trivial share of that depth is the direct accounting consequence of allocation mistakes made twenty weeks earlier.

The chain doesn't see it that way, because the markdown is decided in week 20 and the allocation was decided in week 0. And the two live in different tools, different teams, different reporting lines. But the link is mechanical. Every wrong allocation buys a future markdown. The question is just how big.

Stockouts are the invisible half of the bill

The other half of the bill is the sale that never happened. A hero SKU stocked out in week 4, in the store where it would have been a top performer, is a customer who walked out. A basket that didn't build, a margin that doesn't appear in any P&L line. Industry studies put the cost of stockouts at several points of annual revenue — and a large fraction of those stockouts trace back to allocation, not to replenishment shortfalls.

What allocation actually has to solve

Done right, allocation is not a sizing problem. It's a multi-constraint optimization problem at the SKU-store-week level, with a deeply heterogeneous network, scarce comparable history. And a hard truncation: once a season's buy is set, the total quantity to allocate is fixed. You're not deciding how much to produce — you're deciding where the existing volume creates the most value.

The constraints that an allocation decision has to absorb, at minimum:

  • Store-level demand shape, not just store-level volume — same revenue store can want a very different size curve, color mix, or price tier.
  • Carryover and current on-hand, by store, by category — allocating fresh stock to a store still sitting on unsold equivalents is destroying margin twice.
  • Logistics constraints — pack sizes, minimum drop quantities, regional warehouse capacities, truck schedules.
  • Commercial intent — the merchandising team's narrative for the season, the hero SKUs that need visibility in flagships, the regional exclusives.
  • Risk tolerance — how much to load up the strongest stores versus how much to keep in reserve at the warehouse for in-season reallocation.

No spreadsheet handles that combination cleanly across tens of thousands of SKU-store pairs. The teams that allocate by hand know this. They cope by simplifying the problem until it fits the tool, which means collapsing real network heterogeneity into a few coarse weights. The decision gets made; the optimality is lost.

Why this is the highest-ROI place to put decision-level AI

Most AI investments in retail are pointed at forecasting, replenishment, or pricing. They produce real gains, but they all share the same ceiling: they operate inside the box that allocation sets. Moving the ceiling requires moving the box.

Allocation is the highest-ROI place to deploy decision-level AI for four structural reasons:

One — every other lever inherits its mistakes. A 5% improvement in allocation quality compounds through replenishment, transfers, markdown, and stockouts. A 5% improvement in any of those downstream levers does not propagate back upstream.

Two — the data is finally there. A decade of POS, e-commerce, and clienteling data has changed what's possible. Most chains now have, per store, enough granular sell-through history to model demand shape — not just demand volume — at the SKU-store level. The cluster A/B/C/D simplification is no longer a data constraint; it's an organizational habit.

Three — the decision is bounded and repeatable. Unlike pricing or assortment, allocation is a structured optimization problem with a clear objective and a fixed budget (the season's buy). It is exactly the kind of decision where a well-designed engine outperforms a human team. Not because the engine is smarter, but because it can hold tens of thousands of SKU-store-week constraints in working memory simultaneously.

Four — the operational adoption path is short. Allocation is owned, in most chains, by a small allocation team inside merchandising or supply chain. The decision is centralized, the execution is downstream (WMS, transport). You don't need to change two hundred store managers' behavior to deploy a better allocation engine — you need to change one team's tool.

What a real retail allocation engine has to do

A store-level allocation AI worth deploying is not a forecasting model with a distribution layer bolted on. It's a decision engine that takes a fixed quantity, a heterogeneous network, and a set of constraints. And outputs a per-store, per-SKU, per-wave allocation that maximizes expected sell-through at full price.

Concretely, that engine has to do four things that legacy allocation tools don't:

Model demand shape per store, not just demand volume. The relevant signal is not how much store X sold of a comparable product last year. It's which sizes, which colors, which price points sold, and how the curve moved over the season. Some verticals make this acute, as size-curve decisions in footwear retail show. The engine must build a per-store demand profile from granular history, not collapse the store into a coarse cluster.

Hold the network constraint, not just the local optimum. Allocation is a zero-sum problem at the SKU level: one more unit to store A is one less unit to store B. The engine must optimize across the network, not store by store, and must surface the trade-offs explicitly so the merchandising team can override when commercial intent requires it.

Stage the allocation in waves, not in one shot. Holding back a meaningful reserve at the central warehouse, to reallocate as in-season signal comes in, is almost always optimal. The engine must propose a first-wave drop and a re-allocation plan for the reserve, tied to early sell-through triggers.

Hand off cleanly to replenishment. Allocation and replenishment are not two projects — they're two phases of the same decision loop. The allocation engine has to push its plan into the systems that will execute it. The replenishment loop, in turn, has to feed back into the engine's learning so the next season's allocation gets sharper.

The Solya angle

This is the layer Solya is built for. Not a forecasting tool, not a replenishment engine, not a markdown optimizer. It's the decision layer that ties those loops together, with allocation as the first and highest-leverage decision in the chain.

Solya ingests your POS, ERP, e-commerce, and WMS data, rebuilds a per-store demand model at the SKU level. And runs the allocation as a network-wide optimization under your business rules — pack sizes, minimum drops, merchandising intent, regional exclusives. The output is not a recommendation that lands in someone's inbox. It's an allocation plan that propagates into your execution systems, with the in-season replenishment loop already wired into the same engine.

The point is not that the engine is smarter than your allocation team. It's that the team gets to spend its judgment on the trade-offs that matter — commercial intent, hero SKU placement, risk on new categories. Instead of spending it on the mechanical work of pushing a formula across twenty thousand SKU-store pairs.

The real question to ask

If you want to know whether your chain is leaving margin on the table at allocation, the diagnostic isn't complicated. Look at two numbers from last season.

First, the share of total markdown depth that ended up concentrated in a small number of stores — the ones that "always" end the season heavy. Second, the share of stockouts on top-quartile SKUs that occurred in stores where comparable stores in the network finished the season with carryover on the same product.

If both numbers are non-trivial — and in most chains they are — you're not looking at a replenishment problem, or a markdown problem, or a forecasting problem. You're looking at the structural cost of allocating a heterogeneous network with a formula built for a homogeneous one. That cost is recurrent, it's measurable, and it's the place where decision-level AI has the most leverage in your entire operation.


Where is your allocation actually costing you?

At Solya, we offer merchandising and supply chain leaders a personalized 30-minute diagnostic to map, on your own network, where initial allocation is costing you margin. We look at concentrated end-of-season markdowns, at avoidable stockouts on hero SKUs, and at the transfers and reallocations that should never have been needed.

You'll walk away with:

  • A view of the share of your markdown depth that traces back to allocation, not to in-season execution
  • A quantified estimate of the margin recoverable by moving from formula-based to decision-level allocation
  • The first use cases where an allocation engine would produce measurable impact within one season
Kevin DidelotCo-founder & CTO, Solya

Co-founder & CTO of Solya.

Related articles