Skip to content

Finance · 14 September 2026

From a trusted number to a price: building the dynamic-pricing optimiser

Once you trust the elasticity, pricing becomes a constrained optimisation. Here is the objective, the guardrails, and why the quality of the input dominates the result.

Written by

Pancham Narang

6 min read

With a demand model and a trusted elasticity in hand, pricing stops being a judgement call and becomes a constrained optimisation: define expected margin as a function of price, search for the price that maximises it, and clamp that choice inside a guardrail band. The surprising part is that the quality of the elasticity matters more than the sophistication of the optimiser, because it is the elasticity that tells the search where the real optimum lies.

The objective

The objective is expected margin as a function of price. For a candidate price, margin is the unit contribution, price less unit cost, multiplied by the quantity the demand model predicts at that price, where the shape of the quantity response is governed by the elasticity. Evaluate expected margin across a range of candidate prices and take the price that maximises it.

That is the core loop of dynamic pricing optimisation; everything else is making it safe and honest. Inputs feed an explicit margin objective, the search finds the best price, and a guardrail step keeps the chosen price inside an allowed band.

The constraints that keep it sane

An unconstrained optimiser will happily recommend a price that is commercially or ethically unacceptable if the maths points there, so the raw optimum is never the final answer. Guardrails bound the decision: a floor protects margin and avoids loss-leading below cost; a ceiling reflects competitive, perception, and fairness limits; and rate limits cap how far price can move in one step so the system cannot lurch.

The decision engine clamps the raw optimum into that allowed band, and the clamp is a first-class part of the pipeline rather than an afterthought bolted on at the end. Safety is a property of the framework, not something each model reinvents and occasionally forgets.

Why the elasticity dominates the result

Here is the part that surprises people: the quality of the elasticity matters more than the sophistication of the optimiser. The elasticity sets the curvature of the margin-versus-price curve, and that curvature is what tells the optimiser where the interior optimum sits. Feed it a too-flat elasticity, like the attenuated estimate from a naive regression, and the curve looks almost monotonically rising, so the optimiser concludes it can keep raising price with little loss of volume, pushes straight into the ceiling, and captures only a small gain.

Feed it the causal elasticity and the curve has a genuine peak; the optimiser finds the interior optimum and, on this synthetic market, captures several times as much, close to the theoretical best available. A perfect optimiser on a wrong elasticity leaves most of the money on the table. Fix the input before you polish the solver.

Guardrails as reusable objects, and reading the result honestly

Separating the objective from the constraints pays off well beyond a single price. The same decision engine, objective, search, guardrail clamp, and rollout control, drives markdown scheduling, promotion and discount depth, bundle pricing, subscription tiers, and even sales-territory balancing. Each swaps in a different objective, clearing inventory by a date, maximising incremental lift, or balancing workload, while reusing the same clamp and the same safety scaffolding.

Uplift is reported as incremental margin against the current rule, what the new price earns over what the existing price would have earned on the same demand, not as a headline number from a model admiring its own forecast. That discipline matters, because it is easy to make an optimiser look brilliant by grading it against its own optimistic assumptions. Measuring against the incumbent rule, and against a theoretical best where one exists, keeps the claim defensible.