Every SKU earns its shelf.

Assortment, price, and replenishment decided per store cluster rather than per chain average. Retail margin is lost in thousands of small decisions, which is exactly where a model beats judgement.

Three problems worth modelling

An assortment per cluster, not per chain

A single national range guarantees the wrong products in most stores. Clustering on demand behaviour rather than geography shows which SKUs actually earn their facings where.

Markdowns timed before the season decides for you

Held too long, stock clears at the deepest discount. Elasticity and sell-through models price the exit while there is still margin left to protect.

Replenishment tuned to the store, not the average

Chain-wide min/max settings overstock slow locations and strand demand at fast ones. Store-level parameters move the same inventory to where it sells.

What we build

  • Assortment optimization by store cluster, including facings and space
  • Price and promotion analytics: elasticity, cannibalisation, and halo effects
  • Markdown optimization against sell-through and residual-value targets
  • SKU × store demand forecasts feeding replenishment directly
  • Store-level replenishment parameters and allocation logic
  • New-product and short-history forecasting from product attributes

Methods: clustering, elasticity models, causal inference, MILP, hierarchical forecasting

Outcomes

  • Sharper assortment: space allocated to what sells in that cluster
  • Margin recovered: promotions that pay back and markdowns timed right
  • Less stranded stock: inventory positioned where the demand actually lands