Retail & e-commerce

Markdown Optimizer

A markdown sequence that states the margin-versus-sell-through trade-off plainly.

The problem

First step on a fixed date, second a fortnight later, final step at season close: end-of-season markdown follows the trading calendar rather than the stock. Depth is decided by looking at what is left, the question of timing never having been asked. A late first step has to be made up on the later ones, in markdown or in unsold stock.

The real trade-off sets two quantities against each other that nobody puts side by side: the sales margin on what sells, and value lost on what remains. The internal debate runs between trading, who want to sell through, and finance, who want to protect the gross margin rate, with no shared figure between them; the calculation produces one.

Markdown Optimizer

How to read the result

Input

  • Remaining units, current selling price (ex-VAT, or VAT-inclusive with the VAT rate), ex-VAT cost price and residual value per unsold unit
  • Clearance window, from 4 to 20 weeks, and season end date, shown as 5 January 2026, which dates the steps without changing the calculation
  • Observed rate of sale at the current price
  • Price sensitivity seen at previous seasons' markdown steps and, optionally, demand decay in percent per week (0 by default)
  • Constraints: maximum depth, number of steps, stock holding cost

How to read the result

  • Two dimensions to read the sequence: the depth of each step and its trigger date
  • Sales margin against residual stock: the trade-off is laid out and left open, the net result picking up the cost of unsold units that sales margin leaves out
  • A late first step is paid for either in realised markdown rate or in residual stock, depending on what the remaining time allows
  • What comes out: the markdown calendar and the budget behind it

Limits

  • Response to the first step is extrapolated from current rate of sale, itself measured on stock whose sizes and colours no longer represent original demand. An extrapolation alert appears when the sensitivity multiplies the rate of sale by more than 5 at the deepest step: beyond that, the result rests on a response never observed.
  • The reasoning runs on aggregate units. A residual concentrated in extreme sizes will not clear at the calculated rate, whatever depth is applied.
  • Competitor markdowns are absent from the model. A player breaking price a week earlier empties the clearance window the whole calendar rests on.
  • Residual stock value arrives as an input. Destruction, sale to a clearance channel and carry-over to next season carry neither the same net value nor the same cost. A value above the ex-VAT selling price is brought back to that price, and a positive sensitivity brought back to 0, each with a message.

The sequence assumes faithful execution in store. A step applied a week late changes the entire outcome. An unreadable entry leaves the last valid value in place with a message, and any value brought back to a limit is flagged. Numbers are read according to the language of the page: comma or point in French, point in English, comma in German and Spanish.

A first thirty-minute conversation

The tool gives the order of magnitude. The decision that follows can be discussed in thirty minutes.

Book a 30-minute call
A first 30-minute conversation, no strings attached. contact@velista.net