Demand Estimation
Last updated on Oct 29, 2021
Introduction
Setting
Oligopoly Supply
- 
firms produce differentiated goods/products
 - 
selling to consumers with heterogeneous preferences
 - 
static model, complete information
- 
products are given
 - 
equilibrium: NE for each product/market
 
 - 
 
Cost Function
Variable cost of product $j$: $C_j (Q_j , w_{jt} , \mathbb \omega_{jt}, \gamma)$
- 
$Q_j$: total quantity of good $j$ sold
 - 
$w_{jt}$ observable cost shifters; may include product characteristics $x_{jt}$ that will affect demand (later)
 - 
$\omega_{jt}$ unobserved cost shifters (“cost shocks”); may be correlated with latent demand shocks (later)
 - 
$\gamma$: parameters
 
Notes
- for multi-product firms, we’ll assume variable cost additive across products for simplicity
 - we ignore fixed costs: these affect entry/exit/innovation but not pricing, conditional on these things
 
Notation
Some other variables
- $J_t$: products/goods/choices in market $t$ (for now $J_t = J$)
 - $P_t = (p_{1t},…,p_{Jt})$: prices of all goods
 - $\boldsymbol X_t = ( \boldsymbol x_{1t} , … , \boldsymbol x_{Jt})$ : other characteristics of goods affecting demand (observed and unobserved to us)
 
In general
- I use bold for arrays in dimensions that are not $i$
(consumers), $j$ (firms) or $t$ (markets)
- For example product characteristics $\boldsymbol x_{jt} = \lbrace x_{jt}^1,, …, x_{jt}^K \rbrace$
 
 - I use CAPS for variables aggregated over $j$ (firms)
- For example vector of prices in market $t$: $P_t = (p_{1t},…,p_{Jt})$
 
 
Equilibrium Pricing
- 
Demand system:
$$ q_{jt} = Q_j ( P_t, \boldsymbol X_t) \quad \text{for} \quad j = 1,…,J. $$
 - 
Profit function
$$ \pi_{jt} = Q_j (P_t, \boldsymbol X_t) \Big[p_{jt} − mc_j (w_{jt}, \omega_{jt}, \gamma) \Big] $$
 - 
FOC wrt to $p_{jt}$:
$$ p_{jt} = mc_{jt} - Q_j (P_t, \boldsymbol X_t) \left(\frac{\partial Q_j}{\partial p_{jt}}\right)^{-1} $$
 - 
Inverse elasticity pricing (i.e., monopoly pricing) against the “residual demand curve” $Q_j (P_t, \boldsymbol X_t)$:
$$ \frac{p_{jt} - mc_{jt}}{p_{jt}} = - \frac{Q_j (P_t, \boldsymbol X_t)}{p_{jt}} \left(\frac{\partial Q_j}{\partial p_{jt}}\right)^{-1} $$
 
What do we get?
- 
Holding all else fixed, markups/prices depend on the own-price elasticities of residual demand. Equilibrium depends, further, on how a change in price of one good affects the quantities sold of others, i.e., on cross-price demand elasticities
 - 
If we known demand, we can also perform a small miracle:
- 
Re-arrange FOC
$$ mc_{jt} = p_{jt} + Q_j (P_t, \boldsymbol X_t)\left(\frac{\partial Q_j}{\partial p_{jt}}\right)^{-1} $$
 - 
Supply model + estimated demand $\to$ estimates of marginal costs!
 
 - 
 - 
If we know demand and marginal costs, we can”predict” a lot of stuff - i.e., give the quantitative implications of the model for counterfactual worlds
 
Issues
- 
Typically we need to know levels/elasticities of demand at particular points; i.e., effects of one price change holding all else fixed
 - 
The main challenge: unobserved demand shifters (“demand shocks”) at the level of the good×market (e.g., unobserved product char or market-specific variation in mean tastes for products)
 - 
demand shocks are among the things that must be held fixed to measure the relevant demand elasticities etc.
 - 
explicit modeling of these demand shocks central in the applied IO literature following S. Berry, Levinsohn, and Pakes (1995) (often ignored outside this literature).
 
Key Challenge
The demand of product $j$
$$ q_{jt} (\boldsymbol X_{t}, P_t, \Xi_t) $$
depends on:
- 
$P_t$: $J$-vector of all goods’ prices in market $t$
 - 
$\boldsymbol X_t$: $J \times k$ matrix of all non-price observables in market $t$
 - 
$\Xi_t$: J-vector of demand shocks for all goods in market $t$
 
Key insight: we have an endogeneity problem even if prices were exogenous!
Price Endogeneity Adds to the Challenge
- 
all $J$ endogenous prices are on RHS of demand for each good
 - 
equilibrium pricing implies that each price depends on all demand shocks and all cost shocks
- 
prices endogenous
 - 
control function generally is not a valid solution
 
 - 
 - 
clear that we need sources of exogenous price variation, but
- 
what exactly is required?
 - 
how do we proceed?
 
 - 
 
BLP: Model
Goals of BLP
Model of S. Berry, Levinsohn, and Pakes (1995)
- parsimonious specification to generate the distribution $F_U (\cdot| P, \Xi)$ of random utilities
 - sufficiently rich heterogeneity in preferences to permit reasonable/flexible substitution patterns
 - be explicit about unobservables, including the nature of endogeneity “problem(s)”
 - use the model to reveal solutions to the identification problem, including appropriate instruments
 - computationally feasible (in early 1990s!) algorithm for consistent estimation of the model and standard errors.
 
Utility Specification
Utility of consumer $i$ for product $j$
$$ u_{ijt} = \boldsymbol x_{jt} \boldsymbol \beta_{it} - \alpha p_{jt} + \xi_{jt} + \epsilon_{ijt} $$
Where
- 
$\boldsymbol x_{jt}$: $K$-vector of characteristics of product $j$ in market $t$
 - 
$\boldsymbol \beta_{it} = (\beta_{it}^{1}, …, \beta_{it}^K)$: vector of tastes for characteristics $1,…,K$ in market $t$
- 
$\beta_{it}^k = \beta_0^k + \sigma_k \zeta_{it}^k$
- 
$\beta_0^k$: fixed taste for characteristic $k$ (the usual $\beta$)
 - 
$\zeta_{it}^k$: random taste, i.i.d. across consumers and markets $t$
 
 - 
 
 - 
 - 
$\alpha$: price elasticity
 - 
$p_{jt}$ price of product $j$ in market $t$
 - 
$\xi_{jt}$: unobservable product shock at the level of products $j$ $\times$ market $t$
 - 
$\epsilon_{ijt}$: idiosyncratic (and latent) taste
 
Exogenous and Endogenous Product Characteristics
Utility of consumer $i$ for product $j$
$$ u_{ijt} = \boldsymbol x_{jt} \beta_{it} - \alpha p_{jt} + \xi_{jt} + \epsilon_{ijt} $$
- 
exogenous characteristics: $\boldsymbol x_{jt} \perp \xi_{jt}$
 - 
endogenous characteristics: $p_{jt}$ (usually a scalar, price)
- typically each $p_{jt}$ will depend on whole vector
$\Xi_t = (\xi_{1t} , . . . , \xi_{Jt} )$
- and on own costs $mc_{jt}$ and others’ costs $mc_{-jt}$
 
 - we need to distinguish true effects of prices on demand from the
 - effects of $\Xi_t$ ; this will require instruments
 - of course the equation above is not an estimating equation ($u_{ijt}$ not observed)
 - because prices and quantities are all endogenous - indeed determined - simultaneously, you may suspect (correctly) that instruments for prices alone may not suffice.
 
 - typically each $p_{jt}$ will depend on whole vector
$\Xi_t = (\xi_{1t} , . . . , \xi_{Jt} )$
 
Utility Specification, Rewritten
Rewrite
$$ \begin{align} u_{ijt} &= \boldsymbol x_{jt} \boldsymbol \beta_{it} - \alpha p_{jt} + \xi_{jt} + \epsilon_{ijt} = \newline &= \delta_{jt} + \nu_{ijt} \end{align} $$
where
- $\delta_{jt} = \boldsymbol x_{jt} \boldsymbol \beta_0 - \alpha p_{jt} + \xi_{jt}$
- mean utility of good $j$ in market $t$
 
 - $\nu_{ijt} = \sum_{k} x_{jt}^{k} \sigma^{k} \zeta_{i t}^{k} + \epsilon_{ijt} \equiv \boldsymbol x_{jt} \tilde{\boldsymbol \beta}{it} + \epsilon{ijt}$
- We split $\beta_{it}$ into its random ($\tilde{\beta}_{it}$) and non-random ($\beta_0$) part
 
 
From Consumer Utility to Demand
With a continuum of consumers in each market: market shares = choice probabilities
- P.S. continuum not needed, enough that sampling error on choice probs negligible compared to that of moments based on variation across products/markets
 
$$ s_{jt} (\Delta_t, \boldsymbol X_t, \boldsymbol \sigma) = \Pr (y_{it} = j) = \int_{\mathcal A_j (\Delta_t)} \text d F_{\nu} \Big(\nu_{i0t}, \nu_{i1t}, … , \nu_{iJt} \ \Big| \ \boldsymbol X_t, \boldsymbol \sigma \Big) $$
- where $$ \mathcal A_j(\Delta_t) = \Big\lbrace (\nu_{i0t}, \nu_{i1t}, … , \nu_{iJt} ) \in \mathbb{R}^{J+1}: \delta_{jt} + \nu_{ijt} \geq \delta_{kt} + \nu_{ikt} \ , \ \forall k \Big\rbrace $$ In words: market share of firm $j$ is the frequency of consumers buying good $j$
 
Demand is just shares $s_{jt}$ per market size $M_t$ $$ q_{jt} = M_t \times s_j (\Delta_t, \boldsymbol X_t, \boldsymbol \sigma) $$
Why Random Coefficients?
Without random coefficients $$ \begin{aligned} u_{ijt} &= \underbrace{\boldsymbol x_{jt} \boldsymbol \beta_0 - \alpha p_{jt} + \xi_{jt}} + \epsilon_{ijt} \newline &= \hspace{3.4em} \delta_{jt} \hspace{3.4em} + \epsilon_{ijt} \end{aligned} $$ If $\epsilon_{ijt}$ are iid and independent of $(\boldsymbol X_t, P_t)$, e.g. as in the multinomial logit or probit models,
- products differ only in mean utilities $\delta_{jt}$
 - $\to$ market shares depend only on the mean utilities
 - $\to$ price elasticities (own and cross) depend only on mean utilities too
 
Implication: two products with the same market shares have the same cross elasticities w.r.t. all other products
Does this matter?
Yes!
- Mercedes class-A and Fiat Panda might both have low market shares
 - But realistically should have very different cross-price elasticities w.r.t. BMW series-2
 
What is the issue?
- 
Models (like MNL) that have only iid additive taste shocks impose very restrictive relationships between the levels of market shares and the matrix of own and cross-price derivatives
- Impact on counterfactuals!
 
 - 
Restrictions only coming from model assumptions (analytical convenience)
 - 
Models always imporse restrictions
- necessary for estimation
 - but must allow flexibility in the relevant dimensions
 
 
How do random coefficients help?
In reality:
- goods differ in multiple dimensions
 - consumers have (heterogeneous) preferences over these differences
 
How do random coefficients capture it?
- large $\beta_i^k$ $\leftrightarrow$ strong taste for characteristic
$k$
- e.g., maximum speed for sport car
 
 - Consumer $i$’s first choice likely to have high value of $x^k$
 - $i$’s second choice too!
- Mark: cross elasticities are always about 1st vs. 2nd choices
 
 
Incorporating this allows more sensible substitution patterns
- competition is mostly “local”
 - i.e., between firms offering products appealing to the same consumers.
 
Which random coefficients?
Which characteristics have random coefficients?
- dummies for subsets of products?
- S. T. Berry (1994): covers the nested logit as a special case
 
 - certain horizontal or vertical characteristics?
- parts of $(\boldsymbol X_t, P_t)$?
 
 
In practice
- Choice depends on the application and data set, including instruments
 - Too many RC’s (w.r.t quantity of data available) $\to$ imprecise estimates of $\boldsymbol \sigma$
 
BLP: Estimation
Setting
Observables
- $\boldsymbol X_t$: product characteristics
 - $P_t$: prices
 - $S_t$: observed market shares
 - $\boldsymbol W_t$: observable cost shifters
 - $\boldsymbol Z_t$: excluded instruments
 
Sketch of procedure
- start with demand model alone
 - suppose $ F_{
\nu{=tex}} (\cdot{=tex} |\boldsymbol{=tex}X,\boldsymbol{=tex}\sigma{=tex})$ is known (i.e., $\sigma$ known) - for each market $t$, find mean utilities $\Delta_t \in \mathbb R$
such that
$s_{jt} (\Delta_t, \boldsymbol X_t, \boldsymbol \sigma) = s^{obs}_{jt} \ \forall j$
- i.e.,“invert” model at observed market shares to find mean utilities $\boldsymbol \delta$
 - where $s^{obs}_{jt}$ are the observed market shares
 
 - using IV ,e.g. $\mathbb E [\boldsymbol z_{jt} | \xi_{jt} ] = 0$, estimate the equation
 
Issues
- What instruments?
 - Will the “inversion” step actually work?
 - What about $\boldsymbol \sigma$??
 - Formal estimator?
 - Computational algorithm(s)?
 - Supply side
- additional restrictions (moment conditions)
- help estimation of demand
 
 - additional parameters: marginal cost function
- why? may care directly
 - and needed for counterfactuals that change equilibrium quantities unless $mc$ is constant
 
 
 - additional restrictions (moment conditions)
 
Instruments
We need intruments for all endogenous variables—prices and quantities—independently.
- 
Excluded cost shifters $\boldsymbol W_t$ (classic)
- Usually: wages, material costs, shipping cost to market $t$, taxes/tariffs, demand shifters from other markets
 
 - 
Or proxies for them
- Usually: price of same good in another mkt (“Hausman instruments”)
 
 - 
Markup shifters:
- 
Usually: characteristics of “nearby” markets (“Waldfogel instruments”)
 - 
Logic: income/age/education in San Francisco might affect prices in Oakland but might be independent fo Oakland preferences
 
 - 
 - 
Product characteristics of other firms in the same market $\boldsymbol X_{-jt}$
- “BLP instruments”
 - affect quantities directly; affect prices (markups) via equilibrium only
 
 
Inversion
How do we get from market shares to prices??
Given x,σ and any positive shares sh, define the following mapping $\Phi : \mathbb R^j \to \mathbb R^j$ $$ \Phi (\Delta_t) = \Delta_t + \log\Big( \hat S^{obs}_t \Big) - \log \Big( S_t (\Delta_t, \boldsymbol X_t, \boldsymbol \sigma) \Big) $$ S. T. Berry (1994): for any nonzero shares sh, Φ is a contraction
- under mild conditions on the linear random coefficients random utility model
 - extreme value and normal random coeff not necessary
 
What does it imply?
- It has a unique fixed point: we can compute $\delta_{jt} = \delta (S_t, \boldsymbol X_t, \boldsymbol \sigma)$
 - We can compute the fixed point iterating the contraction from any initial guess $\Delta_{0t}$
 
What about $\sigma$?
What we we got?
- inversion result: for any market shares and any $\boldsymbol \sigma$, we can find a vector of mean utilities $\Delta_t$ that rationalizes the data with the BLP model
 - a non-identification result? there is no information about $\boldsymbol \sigma$ from market shares?
 
What are we forgetting?
- Cross-market variation!
 - We can get the mean utilities $\delta_{jt} = \boldsymbol x_{jt} \boldsymbol \beta_0 - \alpha p_{jt} + \xi_{jt}$
 - As in OLS, use $\boldsymbol z_{jt} \perp \xi_{jt}$ to get identification of $(\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$
 
Identification of $\sigma$
We are trying to estimate $(\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$ from $$ \mathbb E \Big[ \xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma) \cdot \boldsymbol z_{jt} \Big] = \mathbb E \Big[ \big( \delta_{jt}(\boldsymbol \sigma) - \boldsymbol x_{jt} \boldsymbol \beta_0 + \alpha p_{jt} \big) \cdot \boldsymbol z_{jt} \Big] $$ What kind of intruments $\boldsymbol z_{jt}$ do we need?
- $\boldsymbol x_{jt}$ (for $\boldsymbol \beta_0$)
 - intruments for $p_{jt}$ (for $\alpha$)
 - but also something for $\boldsymbol \sigma$!
 
BLP Estimation
Steps
- Take guess of parameters $(\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$
 - From observed market shared $S^{obs}{t}$ and $\boldsymbol \sigma$ get mean utilities $\delta{jt} (\boldsymbol \sigma)$
 - Use also $(\alpha, \boldsymbol \beta_0)$ to get $\xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$
 - Compute empirical moments $\frac{1}{JT} \xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma) \cdot \boldsymbol z_{jt}$
 
The GMM estimator is $(\hat \alpha, \boldsymbol{\hat{\beta}_0}, \boldsymbol{\hat{\sigma}})$ that get the empirical moments as close to $0$ as possible.
Issues
- Computing $S_t (\Delta_t, \boldsymbol X_t, \boldsymbol \sigma)$
involves a high dimensional integral
- Use simulation to approximate distribution of random tastes $\zeta_{it}^k$
 - P.S. recall that we have decomposed random coefficients $\beta_{it}^k$ as $\beta_{it}^k = \beta_0^k + \sigma_k \zeta_{it}^k$
 
 - $\xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$ has
no closed form solution
- Compute it via contraction
 - MPEC?
 
 
Computation
Nested fixed point algorithm
Sketch of the algorithm
- Draw a vector of consumer tastes
 - Until you have found a minimum for
$\mathbb E \Big[ \xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma) \cdot \boldsymbol z_{jt} \Big]$
do
- Pick a vector of parameter values $(\alpha, \boldsymbol \beta_0, \boldsymbol \sigma)$
 - Initialize mean utilities $\delta_{jt}^0$
 - Until
$\big|\big| \Delta_{t}^{n+1} - \Delta_{t}^{n} \big|\big| < tolerance$
do
- Compute implied shares: $s_{jt} (\Delta_{t}^{n}, \boldsymbol X_t, \boldsymbol \sigma) = \int \frac{\exp \left[ \boldsymbol x_{j t} \boldsymbol{\tilde{\beta}}{it}+\delta{j t}\right]}{1+\sum_{j^{\prime}} \exp \left[\boldsymbol x_{j^{\prime} t} \boldsymbol{\tilde{\beta}}{it}+\delta{j’ t}\right]} f\left( \boldsymbol{\tilde{\beta}}{it} \mid \theta\right) d \tilde{\beta}{i t}$
 - Update mean utilities: $\Delta_{t}^{n+1} = \Delta_{t}^{n} + \log\Big( \hat S^{obs}t \Big) - \log \Big( S_t (\Delta{t}^{n}, \boldsymbol X_t, \boldsymbol \sigma) \Big)$
 
 - Compute $\xi_{jt} = \delta_{jt} - \boldsymbol x_{jt} \boldsymbol \beta_0 + \alpha p_{jt}$
 - Compute $\mathbb E \Big[ \xi_{jt} (\alpha, \boldsymbol \beta_0, \boldsymbol \sigma) \cdot \boldsymbol z_{jt} \Big]$
 
 
Notes
- Important to draw shocks outside the optimization routine!
 
Appendix
References [references]
Berry, Steven T. 1994. “Estimating Discrete-Choice Models of Product Differentiation.” The RAND Journal of Economics, 242–62.
Berry, Steven, James Levinsohn, and Ariel Pakes. 1995. “Automobile Prices in Market Equilibrium.” Econometrica: Journal of the Econometric Society, 841–90.