EU AI Act high risk obligations are now enforceable. Check your exposure
Insights About us Careers
Contact us
Machine Learning & Predictive Analytics

Dynamic Pricing Optimisation

Pricing that moves on measured elasticity rather than on instinct, inside guardrails you set, tested by controlled experiment before a single price changes at scale.

10 to 16 weeks
Typical build
Milestone based
Commercial model
Experiment led
Always

Pricing is the highest-leverage number in most businesses and the one most often set by habit. It is also the area where an unconstrained model can do the most damage fastest, because a pricing error is visible to every customer simultaneously and, in some markets, to a regulator.

In one paragraph

Dynamic pricing optimisation is the systematic setting of prices using measured demand response, inventory position, competitive context and business constraints, delivered through a model that recommends or sets prices within explicit guardrails and is validated by controlled experiment rather than by simulation alone.

Elasticity has to be measured, not assumed

The central quantity is how demand responds to price, and it cannot be reliably read from historical data alone. Your past prices were not random: you discounted when demand was weak and held firm when it was strong, which makes naive elasticity estimates systematically wrong, often with the sign reversed.

Getting this right requires either historical price variation that was genuinely independent of demand, or deliberate experimentation. We assess which you have in the first fortnight, and where the answer is neither, the first milestone is a structured price test rather than a model.

Worth knowing

Cannibalisation and cross-effects are where margin leaks

Changing one product's price moves demand for its substitutes and complements. Optimising items independently produces a set of individually sensible prices that damage the basket. Cross-price effects are modelled explicitly, and they are the reason category-level thinking beats item-level optimisation.

Guardrails come before optimisation

Before any model recommends a price, the constraints are agreed in writing and enforced in code:

  • Floors and ceilings per product, absolute and relative to cost.
  • Maximum change per period, so prices move at a rate customers can absorb.
  • Relative consistency across pack sizes, bundles and channels, so the range still makes sense to a shopper.
  • Contractual commitments, most-favoured-nation clauses and promotional pricing already advertised.
  • Regulatory and fairness limits, including any category where price variation between customers is prohibited or reputationally unacceptable.

These constraints are not obstacles to the optimisation; they are part of its definition, and a system that treats them as post-processing will eventually breach one.

How we build it

Elasticity by segment and context

Response differs by product, channel, customer segment, season and inventory position. We estimate at the level the data supports and pool where it does not, rather than producing confident per-item elasticities from three observations.

Optimise for the objective you can defend

Revenue, margin, volume or sell-through by a date are different objectives producing different prices. Most businesses want a blend with constraints, and making the weights explicit is a commercial decision we facilitate rather than assume.

Recommend before you automate

The first release proposes prices to a commercial team who accept, adjust or reject with a reason. Those decisions are the fastest route to a system people trust, and they surface constraints nobody had written down. Automation follows for the categories where agreement is consistently high.

Test in controlled experiments

Matched stores, regions or product groups, with a holdout, run long enough to see the effect on the whole basket rather than on the changed item alone. Simulation informs the design; the experiment decides whether it ships.

Watch for the failure modes

Monitoring for oscillation, for competitor-following loops, for prices that drift toward a boundary and sit there, and for any customer-visible inconsistency across channels. Pricing systems fail publicly, so the alerting is tuned to catch anomalies within a pricing cycle rather than at the month-end review.

Competition law and fairness

This is the area where we most often recommend involving your legal team from week one rather than at the end:

  • Algorithmic pricing that responds to competitors' prices can raise competition concerns in some markets, particularly where signalling or tacit coordination could be inferred.
  • Personalised pricing between individual consumers is restricted or prohibited in several jurisdictions and is reputationally hazardous almost everywhere.
  • Essential goods, regulated sectors and periods of shortage attract specific rules and considerable public attention.
  • Pricing that correlates with a protected characteristic, even unintentionally through a proxy, is a discrimination risk and needs testing.

We design so that the reasoning behind every price is recorded and reviewable, which is what makes any of these questions answerable later.

Process

How the engagement runs

Guardrails and legal review come first, elasticity is measured, and experiments decide what ships.

Weeks 1 to 3

Data, guardrails and legal review

Price and transaction history assessed for usable variation, constraints written down, legal and fairness boundaries agreed.

Weeks 4 to 6

Elasticity estimation

Demand response estimated by segment and context, cross-price and cannibalisation effects modelled, uncertainty reported.

Weeks 7 to 9

Optimisation and recommendations

Objective and weights agreed, optimiser built inside the guardrails, recommendations surfaced to the commercial team with reasoning.

Weeks 10 to 13

Controlled experiment

Matched groups with a holdout, run to a conclusion on basket-level effect rather than item-level uplift.

Weeks 14 to 16

Rollout and handover

Graduated rollout by category, monitoring for oscillation and boundary drift, handover with the price decision log.

Deliverables

What you receive

Prices you can defend commercially and legally, with the experiment that justifies them.

01

Elasticity estimates

Demand response by product, segment and context, with confidence and the method behind it.

02

Guardrail specification

Floors, ceilings, change limits, consistency rules and regulatory constraints, enforced in code.

03

Pricing engine

Optimiser producing recommendations or prices within the guardrails, deployed as code.

04

Experiment results

Controlled test design and outcome measured on basket-level revenue and margin.

05

Decision log

Every recommendation, the reasoning, and whether it was accepted, adjusted or rejected.

06

Monitoring

Oscillation, boundary drift, competitor-following and cross-channel consistency alerts.

Fit check

Is this the right engagement?

Worth being direct. Dynamic Pricing Optimisation is the wrong spend in some situations, and those are listed rather than buried.

Good fit if

  • Prices are set by habit or by a spreadsheet and rarely revisited.
  • You have price and transaction history with some genuine variation, or can run tests.
  • Commercial owners will review recommendations before automation.
  • Legal can engage early on competition and fairness constraints.
  • You can run a controlled experiment across stores, regions or product groups.

Choose something else if

  • Prices are contractually fixed or centrally regulated.
  • There is no price variation in history and no appetite to test.
  • The category is one where price variation between customers is unacceptable.
  • Nobody will own the commercial trade-offs the optimiser exposes.
Questions

Frequently asked questions

Marked up with FAQPage schema so these answers can surface directly in search results and inside AI assistant responses.

How do you measure price elasticity if our prices rarely change?

Either from historical variation that was genuinely independent of demand, which is rarer than teams assume, or from deliberate experiments. Where neither exists, the first milestone is a structured price test rather than a model, because an elasticity estimate from confounded history is frequently wrong in sign as well as magnitude.

Is dynamic pricing legal?

Varying prices over time by demand and inventory is normal commercial practice in most markets. Personalised pricing between individual consumers is restricted in several jurisdictions, and algorithmic responses to competitors' prices can raise competition concerns. We involve your legal team in week one and record the reasoning behind every price so the questions are answerable later.

Will the model set prices automatically?

Not at first. The initial release recommends prices to a commercial team who accept, adjust or reject with a reason, which builds trust and surfaces constraints nobody had written down. Automation follows for categories where agreement is consistently high, still inside the guardrails.

How do you stop it damaging the wider basket?

By modelling cross-price and cannibalisation effects explicitly and by measuring experiments on basket-level revenue and margin rather than on the changed item. Independently optimised items produce individually sensible prices that can reduce category profit.

How long before we see results?

Ten to sixteen weeks, of which several are a controlled experiment run long enough to reach a defensible conclusion. Pricing is the wrong area in which to accept a simulated result, because the cost of being wrong is visible to every customer at once.

Is this the right engagement?

Tell us what you are trying to build. If a different service fits better, or if you do not need us at all, we will say so.