Picture a Gulf fashion retailer reviewing seasonal stock across Dubai, Abu Dhabi and Riyadh. One store has a broken size range. Another still sells the same collection at full price. The website shows a regional stock total, and the trading team proposes one discount across everything. Retail markdown optimisation begins with a harder question: which price, in which location, recovers the most useful value before the stock needs to leave?
A blanket percentage is easy to approve and easy to automate. It can also reduce the price of stock that would have sold anyway while leaving the genuinely stranded units untouched. I would define the clearance decision before buying a pricing engine. The target is an economically defensible exit for a known stock position.
Retail markdown optimisation needs an exit condition
Write the commercial objective in one sentence. For example: reduce the remaining units of a selected collection by an agreed date while staying within an approved contribution and residual-stock range. The date might follow a seasonal change, a store refit or the arrival of the next assortment. The numbers must come from the retailer's own economics.
Keep routine promotions and clearance decisions distinct. Oracle's clearance documentation treats a clearance markdown as a permanent price change, with separate reset handling and approval states. That is one platform's implementation, not a universal accounting rule. It shows why the team must understand what the chosen transaction actually changes.
Agree the finish as carefully as the start. What happens to unsold units at the deadline: transfer, outlet, supplier return where contracted, carryover or another approved disposition? If nobody has priced the remaining stock's next destination, the model is optimising against an unfinished business decision.
Build a stock cohort that stays recognisable
Choose the products, variants and locations included in the decision. Record available units, age, current selling price, landed cost, recent realised prices and planned incoming stock. Separate damaged, reserved and unavailable units. A category total can conceal that the remaining inventory consists mainly of sizes customers rarely request.
Freeze the opening cohort for the review, then track movements explicitly. Transfers do not count as customer demand. Replenishment must not make the original clearance problem disappear inside a larger denominator. Returns need their own treatment, including whether they rejoin saleable stock during the decision window.
Shopify's inventory-report documentation illustrates why definitions matter. Its sell-through measure divides units sold by units sold plus ending inventory, and the report has processing latency. It also limits displayed variants to those sold at least once before or during the selected period. A useful dashboard therefore needs reconciliation with the complete stock cohort, including lines that never sold.
Use the report's actual dates. Do not trigger another price reduction because yesterday's transactions have not reached an analytical report yet. The automation needs a freshness rule and a visible pause when its evidence is incomplete.
Compare holding, moving and discounting
Give the decision at least three candidates: hold the price, move stock to a stronger location, or apply a defined markdown. Estimate units sold and residual units by the exit date for each. Show a range when demand is uncertain. A forecast with several decimal places is still an assumption about customer response.
Compare expected net sales proceeds, variable selling and transfer costs, carrying costs during the window and the recoverable value of what remains. Keep the original stock cost visible in the margin view, but recognise that it is common to the alternatives for inventory already owned. Finance should agree the comparison so accounting presentation does not accidentally choose the trading action.
Consider an illustrative case, not a trading result. At AED 100 net selling price and AED 60 product cost, a unit leaves AED 40 before other costs. A cut to AED 80 leaves AED 20. Selling twice as many units would preserve that simple gross-profit amount, before fulfilment, returns or the value of leftover stock. A sales uplift alone does not establish a better decision.
Nor does this arithmetic prove that holding the price is best. An approaching exit date and poor residual value can make earlier discounting sensible. The point is to compare complete alternatives. Ask what each choice leaves in cash, costs and unsold units when the window closes.
Require evidence for the response to price
A model cannot learn price sensitivity cleanly if every historical price cut coincided with a paid campaign, better placement and a holiday. Preserve those interventions in the data. Distinguish a price recommendation from a price that actually reached shoppers, and mark periods when the product was unavailable.
The adjacent note on retail demand forecasting explains how to test forecasts against the decision horizon. Here, the additional question is how demand changes under alternative prices. Require the supplier to explain where that evidence comes from and how it handles products with little history.
Start with a simple rules-based benchmark approved by the trading team. Compare it with the proposed optimiser under the same stock constraints and exit date. Where practical, run a controlled pilot across comparable product or store groups, accounting for customer movement between channels. Otherwise, label the comparison observational. A busy weekend is not proof that the algorithm caused the result.
Give the engine a bounded trading mandate
Set permitted price steps, minimum intervals between changes, review thresholds and excluded products. Have the responsible team confirm applicable promotional requirements and supplier restrictions before execution. Keep UAE and Saudi calendars, currencies and market approvals explicit rather than inheriting a regional default.
Record the proposed price, expected outcome, approver, effective time and actual execution. Check the customer-facing price across the store and online journey. The existing field note on electronic shelf labels covers that execution problem. This decision must first establish why the new price deserves to be sent.
Review net proceeds, contribution, remaining units and forecast error at the agreed deadline. Include transfers, returns and disposition costs. Preserve rejected recommendations and overrides with reasons; they reveal whether the engine misunderstood the business or the team supplied information it never received.
This is a focused business automation opportunity once the trading policy is clear. Retail markdown optimisation should make a difficult stock decision repeatable and reviewable. Approve it when the business can explain the alternative it beat and the value left at the exit date. Empty shelves are not enough evidence.