← Back to the full chapter
Lesson

1. Define the decision before the model

Model demand, separate the causal response, and optimise within supported limits.

2 min readApplied extensionUpdated
Read source ↗

Choose one unit, such as SKU × store × next day, and a fixed decision horizon. Say whether the system recommends a posted price, a markdown, a subscription tier, a quote or a negotiated price, since each has different actions, exposures and outcomes. This guide assumes one shared posted price for a product and market over a stated interval.

Separate three questions:

QuestionAppropriate outputWhat it does not establish
What price was historically charged for similar products?Observed-price regression, useful for a benchmark or review queueA price that improves demand or profit
How much would customers buy under candidate price p?A demand or conversion response under a specified price interventionThe best price without costs, capacity and constraints
Which allowed price maximises the business objective?A policy combining a response estimate with optimisationThat the response estimate is causally valid

Write the intervention as do(price = p): set the price while keeping the specified offer, placement and availability policy fixed. Decide whether the objective is contribution profit, clearance sell-through, revenue under a margin floor, or a longer-horizon customer objective. No single objective fits every case. Agree the currency, tax treatment and horizon with the business owner.

For a one-period SKU decision, a useful simplified objective is:

profit(p, x) = (net_unit_receipt(p, x) - variable_unit_cost(x))
              × E[min(D(p, x), available_inventory) | do(price = p)]
              - expected_return_cost(p, x)
              - price_change_cost(p, x)

p* = argmax profit(p, x), over approved and supported prices only

Here D is latent customer demand (true demand, before stock limits) and x holds what is known at decision time. Count refund losses once: inside net receipts or in a separate return term. Include fulfilment, payment fees and other variable costs consistently. Fixed costs may cancel between prices, but state that assumption. With scarce inventory, E[min(D, inventory)] generally differs from min(E[D], inventory), so a mean-only estimate can misprice a product with limited stock.

A daily optimiser can also sell stock cheaply today that would be worth more tomorrow. Start with products where a one-period approximation is credible. Add a multi-period inventory model only when replenishment, perishability or customers waiting for a better price require it. Dynamic pricing with limited supply shows why capacity changes the decision problem.

Something unclear or out of date? Suggest a correction ↗

Find your next idea

Loading local search…

Search is built from this edition. No account needed.