Cross Elasticity Demand

Updated: October 2, 2025

What is cross elasticity of demand (cross-price elasticity)?
– Definition: Cross elasticity of demand measures how much the quantity demanded of one product (X) changes in response to a price change in another product (Y). It isolates the effect of Y’s price movement on demand for X, holding other factors constant.

Why it matters (key points)
– Sign tells you the relationship:
– Positive coefficient → X and Y are substitutes (a rise in Y’s price increases demand for X).
– Negative coefficient → X and Y are complements (a rise in Y’s price decreases demand for X).
– Zero → X and Y are unrelated (price changes in Y have no effect on X).
– Magnitude shows strength: larger absolute values mean a stronger response (closer substitutes or stronger complements).
– Firms use this measure to help set prices, plan product positioning, and anticipate competitive effects. Products without substitutes give firms more pricing power.

Formula and algebraic forms
Let Qx be quantity of good X and Py be price of good Y. Δ denotes a change. The basic formula is:
– E_xy = (percentage change in Qx) / (percentage change in Py)

Written algebraically:
– E_xy = (ΔQx / Qx) ÷ (ΔPy / Py)
Equivalently:
– E_xy = (ΔQx / ΔPy) × (Py / Qx)

How to calculate — step-by-step checklist
1. Choose the base period values: Qx (initial quantity of X) and Py (initial price of Y).
2. Measure the changes: ΔQx = Qx_new − Qx and ΔPy = Py_new − Py.
3. Compute percentage changes: (ΔQx / Qx) and (ΔPy / Py).
4. Divide the percentage change in Qx by the percentage change in Py to get E_xy.
5. Interpret the sign and magnitude:
– E_xy > 0: substitutes.
– E_xy 0: substitute (e.g., butter vs margarine).
– E_xy 0 → substitutes.
– Exy < 0 → complements.
– Exy ≈ 0 → independent (little relationship).
– Magnitude (rule of thumb):
– |Exy| 1 → strong cross-price responsiveness.
Note: These thresholds are heuristic; context matters.

Practical checklist — calculating cross elasticity from observed data
1. Choose the goods X and Y and the relevant time period or market.
2. Obtain baseline (Qx0, Py0) and new values (Qx1, Py1).
3. Decide percent-change formula (simple or arc midpoint).
4. Compute %ΔQx and %ΔPy.
5. Apply Exy = (%ΔQx)/(%ΔPy).
6. Interpret sign and magnitude in context (market definition, units, seasonality).
7. Test robustness: alternate time windows, control for other factors, use regression if multiple influences exist.

Determinants that affect cross elasticity
– Availability of close substitutes: more substitutes → higher positive Exy.
– Degree of complementarity (goods consumed together) → more negative Exy.
– Scope of the market (broad categories show smaller |Exy|; narrowly defined rivals show larger |Exy|).
– Share of expenditure: goods that are a small part of the budget often show weaker responses.
– Time horizon: substitution typically increases over time as consumers adjust.

Empirical estimation tips and caveats
– Correlation ≠

ation. Correlation ≠ causation. When you observe a relationship between Qx and Py, you must consider whether a third factor (income, tastes, seasonality) or simultaneous pricing decisions is driving both variables. Below are practical steps, common econometric fixes, worked examples, and a final checklist to help you estimate and interpret cross‑price elasticity reliably.

Econometric pitfalls and fixes (brief)
– Omitted variables: If income or preferences shift at the same time as Py, you’ll bias Exy. Fix: include control variables (income, seasonality dummies) or use fixed effects in panel data.
– Price endogeneity / simultaneity: Retail prices and quantities are often jointly determined (supply shocks affect both). Fix: use instrumental variables (IV) that shift Py but are uncorrelated with the error term—examples: cost shocks, taxes, input price changes, or competitor-specific supply shocks.
– Measurement error: Noisy price or quantity data bias estimates toward zero. Fix: improve data quality, average across transactions, or use errors‑in‑variables methods if possible.
– Short sample / small changes: Very small or one‑off price moves produce unstable elasticities. Fix: use longer windows or aggregate across similar events.
– Heterogeneity: Different consumer segments react differently. Fix: estimate separate elasticities for segments or include interaction terms.
– Dynamic adjustment: Short‑run and long‑run elasticities differ. Consider distributed‑lag models or long panels to capture adjustment over time.

Regression specification templates
– Log‑log simple (interpretable as elasticity):
ln(Qx)t = α + β · ln(Py)t + γ · Zt + εt
Interpretation: β ≈ Exy (percent change in Qx for 1% change in Py), holding controls Z constant.
– Difference‑in‑differences (natural experiment):
Δln(Qx) = α + β · Treatment × Post + γ · ΔZ + ε
Use when a subset of markets faces a discrete price policy (tax or subsidy) and others do not.
– Instrumental variables (IV):
First stage: ln(Py) = π · Instrument + controls + u
Second stage: ln(Qx) = α + β · ln(Py)_hat + controls + ε
Valid instrument example: an excise tax applied to product Y but not directly to X, or local input cost shocks affecting supplier pricing.

Worked numeric examples
1) Arc (midpoint) cross‑price elasticity (discrete change)
– Scenario: Qx falls from 100 units to 80 units after Py rises from $10.00 to $12.00.
– %ΔQx (midpoint) = (80 − 100) / ((80 + 100)/2) = −20 / 90 = −0.2222 → −22.22%
– %ΔPy (midpoint) = (12 − 10) / ((12 + 10)/2) = 2 / 11 = 0.1818 → 18.18%
– Exy = (%ΔQx)/(%ΔPy) = (−22.22%) / (18.18%) = −1.222
Interpretation: X and Y are complements; a 1% increase in Py is associated with about a 1.22% decrease in Qx.

2) Log‑difference (continuous approximation — regression interpretation)
– Compute ln changes: ΔlnQx = ln(80) − ln(100) = ln(0.8) = −0.2231
ΔlnPy = ln(12) − ln(10) = ln(1.2) = 0.1823
– Elasticity ≈ ΔlnQx / ΔlnPy = −0.2231 / 0.1823 = −1.224 (very close to midpoint result)
– If you estimate ln(Qx) on ln(Py) by OLS and get β̂ = −1.22, you’d interpret this as a cross‑price elasticity of −1.22 (ceteris paribus).

Robustness checklist before reporting Exy
– Data checks: Confirm consistent units, clean outliers, and adjust for quantity units (units, kilos, dollars).
– Alternative formulas: Compare midpoint, simple percent change, and log differences—values should be similar for moderate changes.
– Control tests: Add income, seasonality, store fixed effects, and competitor prices.
– Endogeneity test: Try IV or lagged price as instrument; report first‑stage F statistic (>10 desirable).
– Subsamples: Test by region, store type, or time horizon (short vs long run).
– Sign and magnitude: Check economic plausibility (very large |Exy| may indicate measurement problems).