Modelling penetration pricing with price elasticity data
The difference between a penetration-pricing bet and a plan is elasticity data. The break-even formula that kills bad plans, how to estimate elasticity honestly, and the scenarios to run before you commit.
Penetration pricing is a bet: sacrifice margin now to buy volume, share, and customer habit. The difference between a bet and a plan is elasticity data. Retailgrid is built for that modelling step - combining historical sales, seasonality, and competitor signals so the entry price is calculated rather than guessed at in a planning meeting.
Start with the elasticity number
Price elasticity of demand measures the percentage change in units for a 1% change in price. An elasticity of -2.0 means a 10% price cut lifts volume roughly 20%.
The break-even test is simple. With gross margin m and a price cut of d (as a fraction of price), the volume increase needed to hold gross profit is:
required volume lift = d ÷ (m − d)
At 35% margin, a 10% cut needs a 40% volume increase to break even. At 20% margin, the same cut needs a 100% increase. That single calculation kills most poorly conceived penetration plans before launch.
Estimating elasticity honestly
Most retailers already hold enough data - the problem is contamination. Historical price variation is usually tangled with promotions, seasonality, stockouts, and competitor moves.
Three practical sources:
Historical promotions. Past discount events give observed price-volume pairs, but they overstate elasticity because promotions carry display and advertising support that a permanent price change will not.
Natural experiments. Regional or channel price differences produce cleaner reads. Zone pricing structures make these comparisons legitimate rather than accidental.
Structured tests. Deliberate price variation across matched store or SKU groups, held long enough to clear the novelty effect - typically four to six weeks.
Exclude stockout periods entirely. Suppressed sales from unavailable inventory read as inelastic demand and will understate your case.
Build the model, not just the number
A usable penetration model needs four inputs beyond elasticity:
- Competitor response probability. If two rivals match within a fortnight, your volume lift evaporates while the margin sacrifice remains. Model the matched scenario as your base case, not your downside.
- Cross-elasticity. A penetration price on one SKU cannibalises its neighbours. Net category volume matters, not SKU volume.
- Repeat purchase rate. The entire justification rests on retention. Model customer value over 12 months, not the launch quarter.
- Cost curve. If volume genuinely improves purchasing terms, the margin floor moves with you.
Run the scenarios before committing
Model at least three: no competitor response, partial response, and full matching. Compare gross profit across all three over the intended campaign duration plus the exit ramp.
The ROI calculator is a reasonable way to frame the gross-profit trade-off you are accepting before the business case goes to finance.
Execution has to match the model
A model assuming a 12% entry discount fails if execution drifts to 18% through reactive matching. Dynamic pricing enforces the plan - reacting to competitor moves within your caps, holding the entry price on the target SKU set, and expiring on schedule rather than by memory.
Instrument the exit from day one. Increment the price in defined steps, watch repeat purchase rate at each step, and stop escalating if retention breaks.
Measure against the model, not the hope
Compare actual elasticity to your estimate after four weeks. If realised elasticity is materially below forecast, the campaign is buying volume you are paying too much for, and shortening it is the disciplined call.
Retailers who run this loop consistently build an elasticity library that makes every subsequent pricing decision cheaper and faster - which is the compounding return that pricing analytics software actually delivers.
Take the next step toward smarter pricing. Book a demo with Retailgrid.