§8.4

Cross-Price Elasticity and Competitive Strategy

No product in a modern firm is priced in isolation. Customers do not see a single SKU; they see a basket. Raising the price of one item can shift customers to a sibling brand (cannibalization), drag down purchases of a complementary item (basket erosion), or — if the items are unrelated — leave the rest of the basket untouched. To reason about these effects, the right object is not own-price elasticity but the matrix of cross-price elasticities that records how each product's demand responds to changes in every other product's price.

The previous article found that Progresso's off-season price increases are, in the aggregate, justified: demand is measurably less elastic outside winter, so raising price when the category is quiet leaves less money on the table than raising it in the winter peak. But "in the aggregate" is doing a lot of work in that sentence. A national average blends four regions with very different competitive structures, and a countercyclical price hike that looks safe on average can be far riskier in a market where rivals are one shelf-tag away. This article asks the question the seasonal result cannot answer on its own: does the same off-season pricing strategy carry the same risk everywhere, or are some regions more exposed to substitution than others when Progresso raises price? It defines cross-price elasticity, shows what the sign of the coefficient tells you about the strategic relationship between two products, gives the multivariate log-log specification used to estimate it, and ends with a regional cross-price matrix that names, region by region, where Progresso is insulated and where it is exposed.


The Executive Question: Where Will the Displaced Customers Go?

A pricing analyst proposes raising the oat-milk surcharge on a premium latte. The own-price elasticity says volume of oat-milk lattes will fall. The interesting question is not how much — it is where the customers will go.

If oat-milk and regular lattes are strong substitutes, the displaced customers stay inside the firm: they switch to regular lattes. Total beverage volume holds; the question becomes whether the per-cup margin shift is profitable.

If oat-milk lattes and pastries are strong complements, every customer who skips the oat-milk latte also skips the pastry. The total beverage volume falls and the high-margin attached basket falls.

Two products, two cross-price relationships, two completely different strategic implications. The own-price elasticity alone cannot tell you which world you are in.


Sign First, Magnitude Second

Cross-price elasticity tells you whether two products compete or pair

Substitutesε(A,B) > 0Raise B → demand for A risesComplementsε(A,B) < 0Raise B → demand for A fallsSign of the cross-price coefficient → competitive relationship between the two products.
Figure 1. The sign of a cross-price coefficient tells you whether two products compete or pair. Positive means substitutes — raising B's price moves volume to A. Negative means complements — raising B's price reduces volume of A. Near-zero means independent — pricing A has no implication for B.

Formally, the cross-price elasticity of AA with respect to BB is

Cross-price elasticity

ϵA,B  =  ΔQA/QAΔPB/PB  =  lnQAlnPB\epsilon_{A,B} \;=\; \frac{\Delta Q_A / Q_A}{\Delta P_B / P_B} \;=\; \frac{\partial \ln Q_A}{\partial \ln P_B}

The sign is the headline:

SignRelationshipWhat raising B's price does
ϵA,B>0\epsilon_{A,B} > 0SubstitutesVolume of A rises (customers switch to A)
ϵA,B<0\epsilon_{A,B} < 0ComplementsVolume of A falls (basket drag)
ϵA,B0\epsilon_{A,B} \approx 0IndependentVolume of A is unaffected

The magnitude refines the picture. A cross-price coefficient of +1.5+1.5 says a 1% increase in B's price moves 1.5% of A's volume — a strong substitute, well above unit. A value of +0.2+0.2 says the two are weak substitutes that share a small slice of the market.


The Multivariate Log-Log Specification

Cross-price effects are estimated from the same regression family as own-price effects. For a focal product AA sold in market ii at time tt, with two relevant other products BB and CC:

Multivariate log-log demand

lnQA,it  =  α+βAlnPA,it+βBlnPB,it+βClnPC,it+γControlsit+uit\ln Q_{A,it} \;=\; \alpha + \beta_A \ln P_{A,it} + \beta_B \ln P_{B,it} + \beta_C \ln P_{C,it} + \gamma \,\text{Controls}_{it} + u_{it}

The coefficient on each log-price has the same exact meaning as before: βA\beta_A is the own-price elasticity; βB\beta_B and βC\beta_C are cross-price elasticities of AA with respect to BB and CC. The identification logic from Chapter 6 carries over directly: omitting a control that correlates with both prices and the outcome biases all of the price coefficients, not just the own-price one.


A Subtle Identification Threat: Coordinated Promotion Timing

Cross-price elasticities are particularly hard to estimate from raw historical data because promotions are coordinated. When Progresso runs a featured-display week, Campbell's often does too — sometimes in the same store, sometimes in alternation. Both prices drop together; both have endcap displays simultaneously. A regression that does not control for the display features will attribute all of the cross-store volume swings to price, when much of the swing is the display.

The fix is the same as in Chapter 6: control for the confounder. Most production cross-price regressions include promotion flags (display, feature, temporary price reduction) for every competitor brand, not just the focal one. Without those controls, cross-price coefficients are inflated in absolute value — they look stronger than they are.


Data Case: The Progresso Regional Cross-Price Matrix

Cross-price effects are not just product-pair properties — they vary across markets. The same Progresso vs. Campbell's competition looks very different in a high-density Southern market than in a brand-loyal Eastern one. Figure 2 is the regional matrix from the soup panel.

Substitution differs sharply by region

Positive cross-price elasticity means Progresso gains volume when a rival price rises.

RegionProgresso priceCampbell pricePrivate label price
East-2.200.900.48
MidWest-3.200.380.86
South-2.932.301.55
West-2.381.320.13
Figure 2. Regional own- and cross-price elasticity matrix for Progresso soup. Each cell shows the elasticity of Progresso volume with respect to a price change in the column variable (Progresso's own price, Campbell's price, or private label price). Blue cells are negative (own-price); green and amber cells are positive (substitutes).

Four regions, four different exposure profiles — and each one answers the "strongest or most vulnerable" question differently:

  • The South is exposed on both fronts, and this is exactly where the seasonal price hike is riskiest. Progresso's own-price elasticity is 2.93-2.93, but the number that matters strategically is the cross-price elasticity with respect to Campbell's: +2.30+2.30, the highest of any region, alongside the highest private-label cross-price elasticity too, at +1.55+1.55. A 10% Campbell's price cut would mechanically move well over 20% of Progresso's volume in the South alone. Recall that the off-season price increase looked justified because demand overall is less elastic outside winter — but that aggregate result says nothing about who is standing ready to absorb the switchers. In the South, both the branded rival and the store brand are, so a countercyclical hike timed for the quiet season is also the hike most likely to hand share to Campbell's exactly where it competes hardest.
  • The West is exposed to Campbell's, but insulated from private label. The cross-price elasticity with respect to Campbell's is +1.32+1.32 — the second-highest in the matrix — while the private-label cross-price elasticity is only +0.13+0.13, the lowest of any region. West Coast customers who leave Progresso trade down to the branded competitor, not the store brand, so the competitive threat here is Campbell's specifically, not genericization.
  • The Midwest is insulated from Campbell's but exposed to private label. The Campbell's cross-price elasticity is only +0.38+0.38, the lowest in the matrix, while the private-label cross-price elasticity is +0.86+0.86, the second-highest. Progresso's brand-vs-brand pricing power is strong here; its vulnerability is to the store shelf, not the name-brand rival.
  • The East is the most broadly insulated region. Both cross-price coefficients — +0.90+0.90 to Campbell's and +0.48+0.48 to private label — sit in the middle-to-low range of the matrix, and Progresso's own-price elasticity here, 2.20-2.20, is also the least elastic of the four regions. Progresso has more room to move price in the East than anywhere else, simply because fewer customers are poised to defect to either kind of substitute.

A category manager who reads only the national average — a single own-price number, a single cross-price number — misses all four of these profiles, and in particular misses that the region carrying the most seasonal-pricing risk (the South) is not a random one: it is the region where substitution is already the strongest force in the market. Regional matrices, not national averages, are the operational object for deciding where a countercyclical strategy is safe and where it needs a local exception.