ML Systems Lab Open interactive version →
Foundational 24 min read Pricingelasticitydemand curvelog-log

Price Elasticity of Demand

Why %ΔQ / %ΔP is the master parameter — and why a naive regression of quantity on price estimates the wrong thing

Every pricing decision reduces to one number: if I move price by 1%, how much does quantity move? That number is the elasticity ε, and almost every mistake in pricing analytics is either not knowing ε or estimating it from data that cannot possibly reveal it.


Elasticity is a ratio of percent changes, and that is deliberate. ε = %ΔQ / %ΔP. Using percentages instead of raw units makes ε unit-free: it doesn't matter whether Q is in cups of coffee or gigawatt-hours, or whether P is in dollars or rupees. Demand curves slope down, so ε is negative; people quote |ε|. |ε| > 1 is elastic (quantity reacts more than price — a 1% cut lifts volume more than 1%), |ε| < 1 is inelastic (quantity barely moves), |ε| = 1 is unit elastic.


The clean way to estimate it is a log-log demand model, where the coefficient IS the elasticity. Fit log Q = α + β·log P. Then β = d(log Q)/d(log P) = %ΔQ / %ΔP = ε — a *constant* elasticity across the range, which is why log-log is the workhorse specification. A linear Q = a − b·P instead gives an elasticity that changes at every point (ε = −b·P/Q), which is fine but less interpretable. The log-log slope reads off directly as the master parameter.


The trap: regressing observed quantity on observed price estimates the wrong thing. Firms *raise* prices exactly when demand is high (peak season, hot product) and cut them when demand is soft. So in observational data, high prices coincide with high quantities — the naive regression can return a *shallow, even positive* "elasticity," implying "raise price to sell more." That is endogeneity: price is correlated with the demand shocks in the error term. This is why real elasticity comes from experiments or instruments (a supply-side cost shock that moves price but not demand), not from a scatterplot of what happened.

Key points

Takeaway

Elasticity ε = %ΔQ / %ΔP is the single number that decides whether a price move grows or shrinks revenue, and the log-log demand model reads it off as a slope. But you cannot regress observed quantity on observed price — firms set price in response to demand, so that estimate is endogenously biased (even positive). Real elasticity comes from an experiment or an instrument that moves price independently of demand.

Recap

Check your understanding

Q1. A product has estimated |ε| = 1.6. Select the two correct statements about what happens if you cut price by 5%.

Q2. You regress log(units) on log(price) across a year of store data and get a slope of +0.3. What is the most likely explanation?

Q3. Why is a log-log demand model usually preferred over a linear one when the goal is to report a single elasticity number?

Try it interactively

ML Systems Lab is a free interview-prep platform for ML engineers — work through the full interactive module, quizzes, and drills.

Open ML Systems Lab →