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:
| Question | Appropriate output | What it does not establish |
|---|---|---|
| What price was historically charged for similar products? | Observed-price regression, useful for a benchmark or review queue | A price that improves demand or profit |
How much would customers buy under candidate price p? | A demand or conversion response under a specified price intervention | The best price without costs, capacity and constraints |
| Which allowed price maximises the business objective? | A policy combining a response estimate with optimisation | That 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 onlyHere 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.