§8.1

Price Elasticity

Pricing is the most leveraged decision a firm makes. A one-percent price increase, with volume held constant, drops straight to revenue and disproportionately to profit. The catch is that volume is almost never constant: raising price alienates the most price-sensitive customers and lowering it gives away margin you cannot get back. To navigate that tradeoff systematically, managers measure how much volume responds to a price change, in units that compare across products and across price levels. That measure is price elasticity of demand.

This article defines own-price elasticity, walks through why we estimate it with a log-log regression rather than a linear one, names the three pricing zones every elasticity value sits in, and ends with a data case showing how a confounded estimate of elasticity can lead a pricing decision badly astray.


The Executive Question: Will Volume Loss Erode Margin?

A category manager weighs a 10% price increase on lattes. Two things will happen at once: every cup sold makes more money, and fewer cups are sold. Without an estimate of how much volume drops, the decision is a guess.

The right question is not will price increase revenue? — it is how price-sensitive is the segment of customers we serve, and will the volume we lose outweigh the margin we gain on the cups we keep selling?

The unit of measurement that makes this question quantitative is the price elasticity of demand.


The Math of Elasticity

Formally, own-price elasticity (ϵ\epsilon) is the ratio of the percentage change in quantity demanded to the percentage change in price:

Price elasticity of demand

ϵ  =  ΔQ/QΔP/P  =  dlnQdlnP  =  dQdPPQ\epsilon \;=\; \frac{\Delta Q / Q}{\Delta P / P} \;=\; \frac{d\ln Q}{d\ln P} \;=\; \frac{dQ}{dP} \cdot \frac{P}{Q}

Because price and quantity move in opposite directions for normal goods, own-price elasticity is almost always a negative number. An elasticity of 2-2 means a 1% price increase reduces volume by 2%.

Why log-log, not linear

A linear demand specification, Q=β0+β1PQ = \beta_0 + \beta_1 P, has an elasticity that changes at every price. At very high prices a $0.10 increase is a small percentage and triggers a large percentage drop in volume (highly elastic); at very low prices the same dollar change is a big percentage and triggers a smaller drop (inelastic). For pricing planning we want a single, transportable number — an elasticity that does not depend on where we are on the curve.

That is what the log-log specification gives us. Writing the demand model in logs,

Constant-elasticity (log-log) demand

ln(Qit)  =  β0+β1ln(Pit)+γControlsit+uit\ln(Q_{it}) \;=\; \beta_0 + \beta_1 \ln(P_{it}) + \gamma \,\text{Controls}_{it} + u_{it}

makes β1\beta_1 exactly the elasticity. Why? Because dln(Q)=dQ/Qd\ln(Q) = dQ/Q and dln(P)=dP/Pd\ln(P) = dP/P, so the slope of lnQ\ln Q on lnP\ln P is

β1  =  dlnQdlnP  =  dQ/QdP/P  =  ϵ\beta_1 \;=\; \frac{d\ln Q}{d\ln P} \;=\; \frac{dQ/Q}{dP/P} \;=\; \epsilon

A regression coefficient of 2.23-2.23 in log-log space says: a 1% price increase reduces volume by 2.23%, independent of the baseline level of either price or volume.


The Three Zones

Every elasticity value sits in one of three qualitatively different pricing zones, each with a different strategic implication.

Three pricing zones on a constant-elasticity demand curve

price →quantityInelastic|ε| < 1 · price ↑ → revenue ↑Unit|ε| = 1 · revenue flatElastic|ε| > 1 · price ↑ → revenue ↓Strategy: harvest margin in the green zone · revenue-max in the amber · cut price or stop raising in red.
Figure 1. The three zones of own-price elasticity. Inelastic (|ε| < 1) means raising price increases revenue. Unit elastic (|ε| = 1) means revenue does not change with small price moves. Elastic (|ε| > 1) means raising price reduces revenue — and is where most well-run firms actually operate.

The zones translate into three different strategic responses:

ZoneRange of ϵ\epsilonRevenue response to price increaseStrategy
Inelastic1<ϵ<0-1 < \epsilon < 0IncreasesRaise price (you are leaving margin on the table)
Unit elasticϵ=1\epsilon = -1Roughly unchangedRevenue-maximizing point (but not profit-max)
Elasticϵ<1\epsilon < -1DecreasesHold price unless you also lower cost or improve product

One important asymmetry: a firm that finds itself in the inelastic zone of its own demand curve is almost always under-pricing, because raising price would simultaneously increase revenue and reduce the costs that scale with units sold. In practice, well-run firms almost always operate in the elastic zone. Estimating an inelastic value should immediately raise suspicion about the regression specification, not encourage immediate price hikes.


Data Case: Estimating Progresso's Own-Price Elasticity

Two figures from the Progresso panel make the lesson concrete: where the data lives in log-log space, and how the estimated elasticity moves as confounders are added.

What the raw data look like

East

Sample trend slope -3.12

-0.30.41.1-0.35.310.9log pricelog volume

MidWest

Sample trend slope -3.30

-0.30.41.1-0.35.310.9log pricelog volume

South

Sample trend slope -3.04

-0.30.41.1-0.35.310.9log pricelog volume

West

Sample trend slope -2.58

-0.30.41.1-0.35.310.9log pricelog volume
Figure 2. Log-price vs. log-volume scatter for Progresso soup, faceted by census region. The downward slope inside each panel confirms the log-log form is appropriate; the differences in slope and intercept across regions hint that a pooled regression is mixing very different demand environments.

Two things to notice. First, the within-region scatter is clearly downward-sloping in log-log space — the constant-elasticity functional form is reasonable for this data. Second, the regional clouds are shifted and rotated relative to one another: pooling them without a regional or store fixed effect will produce a slope that is some weighted average of different regional slopes, distorted by the level differences across regions.

Climbing the regression ladder

The elasticity estimate changes as the comparison gets cleaner

88,409 store-months across 2,042 stores. Coefficient is on log(Progresso price).

-3.4-3.0-2.6-2.2Raw log-log-3.21R2 0.28+ month seasonality-2.46R2 0.35+ competitor prices-3.12R2 0.43+ region controls-2.66R2 0.57+ store fixed effects-2.23R2 0.90Elasticity-style coefficient
Figure 3. The Progresso pricing regression ladder. The own-price coefficient moves from a naive −3.21 down to a store-fixed-effects estimate of −2.23 as confounders are added.

The naive bivariate regression returns an elasticity of about 3.21-3.21. That estimate is mechanically biased by the omitted-variable story from Chapter 5.2: retailers run promotions in low-demand months, so the historical pairing of low price and high volume is partially a seasonality artifact, not a price effect. Adding seasonality, then competitor price, then regional dummies, then store fixed effects walks the estimate down to about 2.23-2.23.

The difference matters operationally. A pricing recommendation built on 3.21-3.21 would conclude that customers are extraordinarily price-sensitive and would call for aggressive discounting to chase volume. The discounting would erode margin and, in the world where the true elasticity is 2.23-2.23, would not produce the volume lift the naive model predicted. The safe foundation for pricing is the within-store estimate, with controls — not the headline regression.