Podcast: how to calculate price elasticity in retail
The formula fits in a spreadsheet cell - the work is everything around it. Granularity, the eight demand factors, and why a perfect fit on three price points is the most dangerous number in pricing.
Ask a retailer how to calculate price elasticity and you usually get one of two answers: a formula remembered from university, or a shrug in the direction of a data science team. Both miss the practical middle. The formula fits in a spreadsheet cell - the percentage change in units sold divided by the percentage change in price - and the real work is everything around it: the granularity you calculate at, the noise you strip out, and the honesty about how much the number can be trusted.
In episode 3 of the Retailgrid Podcast, Retailgrid founder Maxim walks through that full path: the formula in plain terms, why a catalogue-average elasticity quietly loses money on both ends, how to estimate elasticity from the price-change history you already have, the eight factors besides price that move demand, and the mitigation for each of the classic calculation traps.
The formula, in plain terms
Elasticity represents how demand changes when price changes: percentage change in units sold against percentage change in price. When the result is above one in magnitude, a one percent price move shifts demand by more than one percent - demand is elastic, and customers visibly react. When demand barely moves, it is inelastic - and that changes what price is for. On an inelastic product, price is a margin lever: discounting it does not buy meaningful volume, it just gives profit away. For a fuller treatment of the concept itself, see our guide to price elasticity of demand in retail; this episode is about the calculation.
Why the average hides the truth
The most consequential choice is not the formula - it is the level you apply it at. Elasticity can be calculated on the whole business (average price change against total demand) or granularly, per product, per store, per period. The average is easier, and it hides the truth. In a category of a thousand products, the average can read as elastic while plenty of the SKUs inside it are inelastic. Price everything off that average and the inelastic SKUs give up margin while the genuinely elastic ones give up traffic - and the blended numbers still look fine.
That is why the episode's refrain is don't be average. Retail is a massive business in product count, and digging into elasticity SKU by SKU and store by store is one of the biggest profit opportunities most retailers are sitting on.
How to calculate price elasticity from your own history
No data science team required to start - a spreadsheet will do. The raw material is your history of price-change events: promotions and discounts, cost-driven raises passed through in inflationary periods, repricing rounds against competitors. For each event, compare units sold before and after. The challenge - and the actual skill - is stripping out the noise from that comparison: seasonality, promotional mechanics, stockouts. What survives the cleaning is an elasticity you can genuinely use for price optimization.
Eight things besides price that move demand
Price never acts alone, and whatever you fail to control for ends up inside your elasticity estimate. The episode names eight demand drivers to isolate: seasonality, promotions, stock and availability, competitor actions, cannibalization between your own products, halo effects (a price cut on one product lifting the attached basket), inflation, and visibility - placement and ranking on the web or the shelf, which is typically invisible in the sales data itself.
The classic problems, each with a working fix
- Promo and regular price changes behave differently. A quiet regular-price change and a loudly communicated "20% off" are different mechanics with different elasticities. Calculate them separately.
- Stockouts read as demand collapse. Sales patterns alone cannot distinguish "nobody bought it" from "it was not on the shelf". Bring stock history into the sample before trusting a drop.
- Seasonality flatters your price actions. Sunglasses sell in summer whatever you did to the price. Isolate the seasonal uplift before crediting the discount.
- Inflation moves the whole ladder. Long ignored in price optimization, it now matters: observe price changes in time buckets, or model on relative price against the market rather than the nominal tag, so general market movement does not masquerade as your own price signal.
- Cannibalization hides in single-product fits. Within a good-better-best group - the episode's example is the yogurt shelf - the price gaps between levels shift demand between your own products. Monitor the sales shares of the whole group over time, not just each product's own price history.
Confidence: the thin-data trap
The biggest problem in retail elasticity calculation is thin data wearing a confident face. Two or three historical price points can produce a perfect-looking model fit - an R² that says trust me - precisely because a line through three points fits by construction. Seven or eight price observations in different situations produce a messier fit that is far more real. Whatever sits behind the estimate - regression, machine learning, AI - the question to keep asking is the same: how confident are we in this number?
Episode timestamps
- 0:00 - The magic number for profitability
- 0:23 - The formula in plain terms
- 0:45 - Elastic vs inelastic demand
- 1:28 - Pick the level: every SKU or the whole business
- 2:38 - Calculating it in Excel from your price history
- 3:38 - Price is not the only thing moving demand
- 4:54 - Promo vs regular price changes
- 5:45 - Stockouts, seasonality, inflation
- 6:59 - Cannibalization: the yogurt shelf
- 7:44 - Thin data and confidence
- 8:47 - The takeaway: don't be average
Where this leaves pricing teams
There is no company-wide elasticity. It varies per SKU, per store, per country, even per customer segment - and while price personalization is usually off the table (in places, legally prohibited), price localization is not. The episode closes with the number that makes the case: in Maxim's experience, moving from one average to granular, localized elasticity analysis is worth an additional three to seven percent of gross profit. That per-SKU, explainable elasticity work is exactly what agentic pricing in Retailgrid is built to do - every proposed price shows the elasticity and confidence behind it.
Watch the full episode on YouTube, and subscribe to the Retailgrid channel for future episodes on pricing strategy and AI in retail.