antitrust
Reference ManualDisclaimer: The views expressed herein are entirely those of the authors and should not be purported to reflect those of the Federal Trade Commission or the U.S. Department of Justice. The antitrust
package has been released into the
public domain without warranty of any kind, expressed or implied. We
thank Ronald Drennan, Robert Majure, Russell Pittman, Gloria Sheu,
Nathan Miller, Randy Chugh, Marc Remer, Alexander Raskovich, William Drake, Thomas Jeitschko, Greg Werden, Luke Froeb, Nicholas Hill, and Conor Ryan. Address: Bureau of Economics #202, Federal Trade Commission, 600 Pennsylvania Ave. NW, Washington, DC 20530. email: ctaragin+antitrustr@gmail.com and michael.sandfort@usdoj.gov.
antitrust
is a suite of tools that may be used in assessing the implications of horizontal mergers. The package contains
functions that can calibrate the underlying parameters of a number of different supply and demand models as well as simulate the effects of a horizontal merger in different strategic
environments. The output generated by these tools includes interesting
features such as predicted price increases, welfare measures, demand
elasticities, and the Hypothetical Monopolist Test. antitrust
also includes functions that can assess the
effects of a horizontal merger in other ways, including:
compensating marginal cost reduction and upwards pricing pressure.
There are four features of antitrust
that make it particularly useful
for antitrust practitioners. First, antitrust
collects a number of useful models
onto a common platform, making it easy for
practitioners to compare and contrast the results from different
models.
Second, antitrust
is open source software that runs on the R open source
platform. Practically speaking, this means that practitioners not only
have the flexibility to run this software wherever and whenever they
wish, but they can also modify and extend the software as they see
fit. We hope that having this collection of tools on a common, open
source platform will facilitate discussion and collaboration among practitioners.
Third, antitrust
includes a web interface built using shiny
. While this interface does not give users access to the full array of functionality in antitrust
, it is simple to use and may provide first-time users, particularly those who are unfamiliar with R, a gentler introduction to antitrust
. The interface may be invoked using the ct_shiny
function in the competitiontoolbox
package.
Finally, the functions included in antitrust
vary in the amount of information they require. Some functions, such as upp.bertrand
, cmcr.bertrand
and
cmcr.cournot
require only information on the
merging parties’ products, while functions like linear
,
pcaids
, and logit
require at least some
information on all market participants. Table 10.1
summarizes the information requirements of all the functions included in antitrust
.
The limited information needed for the economic models used in antitrust
comes at some
cost. First, the output of these models is sensitive to the
supplied inputs. For instance, when employing the Bertrand model, inaccurate margins, shares and prices can yield
inaccurate estimates of demand and cost parameters which can in turn yield
incorrect predictions of a merger’s effects. Calibrating model
parameters with an array of plausible inputs will yield a range of
outputs and illustrate the sensitivity of each model to those inputs.
Second, none of the parameters calibrated by antitrust
may be used
in frequentist statistical hypothesis testing. In other words, while the economic
models in antitrust
may be used to generate reliable estimates of the
effects of the merger, statistical tests cannot be used to
determine the accuracy of these estimates. Accomplishing this requires
additional data and is beyond the current scope of antitrust
.
This document provides an introduction to the economic theory upon
which the antitrust
package’s functions are built. Please use the
help
function for assistance invoking any of the functions, classes, or
methods included in antitrust
. In particular, note that the help pages for all the
functions listed in Table 10.1 contain examples
illustrating how to use the function.
Much of antitrust
‘s functionality is built around the Bertrand pricing
game. This version of the game assumes that firms producing multiple
differentiated products with distinct, constant, marginal costs
simultaneously set their products’ prices to maximize their
profits. In this model, prices are strategic complements in the sense that increasing the price of
one product causes some customers to switch to other products, raising
the quantities sold and therefore the profit-maximizing prices of these other
products. Ultimately, it is the magnitude of these lost sales that, at
the margin, dissuades firms from raising their prices further.
Mergers are modeled by assuming that the merging parties’ products are placed under common ownership, which, if the products are substitutes, allows the merged entity to recapture some of the sales that would otherwise be lost. As a result, the Bertrand model (for some demand systems) predicts that, absent any efficiencies affecting the marginal cost of production, the prices of all of the merging parties’ products will increase, and the price of all other products in the market will not decrease.
Currently, this version of the Bertrand model does not allow firms to add or reposition products, or allow firms to engage in some forms of price discrimination.1
Suppose that there are \(K\) firms in a market, and that each of the \(k \in K\) firms produces \(n_k\) products. 2 Let \(n=\sum\limits_{k\in K}n_k\) denote the number of products sold by all \(K\) firms. The Bertrand model assumes that firms simultaneously set their products’ prices in order to maximize their profits. This model also assumes that all firms can perfectly observe each others’ prices, quantities, costs, and product characteristics.
Functions in antitrust
’s Bertrand model also adopt the additional assumption that each
product is produced using its own distinct constant marginal cost
technology \(c_i\), for all \(i \in n\). As we will see, this
assumption is necessary when information is limited.
Firm \(k \in K\) chooses the prices \(\{p_i\}_{i=1}^{n_k}\) of its products so as to maximize profits. Mathematically, firm \(k\) solves:
\[\begin{align*} \max_{\{p_i\}_{i=1}^{n_k}} &\sum_{i=1}^{n_k}(\omega_{ik})(p_i - c_i)q_i, \end{align*}\]
where \(\omega_{ik}\) is the share of product \(i\)’s profits earned by firm \(k\), so that \(\sum\limits_{k\in K} \omega_{ik}\le 1\). \(q_i\), the quantity sold of product \(i\), is assumed to be a twice differentiable function of all product prices.
Differentiating profits with respect to each \(p_i\) yields the following first order conditions (FOCs):
\[\begin{align*} \partial p_i&\equiv \omega_{ik}q_i +\sum_{j=1}^{n}\omega_{jk}( p_j - c_j)\frac{\partial q_j}{\partial p_i}=0& \mbox{ for all $i\in n_k$} \end{align*}\]
which may be rewritten as
\[\begin{align*} \partial p_i&\equiv \omega_{ik}r_i + \sum_{j=1}^{n} \omega_{jk}r_jm_j\epsilon_{ji}=0& \mbox{ for all $i\in n_k$}, \end{align*}\]
where \(r_i\equiv\frac{p_iq_i}{\sum\limits_{j=1}^np_jq_j}\) is product \(i\)’s revenue share, \(m_i\equiv\frac{p_i-c_i}{p_i}\) is product \(i\)’s gross margin, and \(\epsilon_{ij}\equiv\frac{\partial q_i}{\partial p_j}\frac{p_j}{q_i}\) is the elasticity of product \(i\) with respect to the price of product \(j\).
The FOCs for all products may be stacked and then represented using the following matrix notation: \[\begin{align*} (r\circ diag(\Omega)) + (E\circ\Omega)'(r \circ m)=0 \tag{1.1} \end{align*}\]
rearranging yields
\[\begin{align*} m_{Bertrand}= -\{(E\circ\Omega)'^{-1}(r\circ diag(\Omega))\} \circ \frac{1}{r} \tag{1.2} \end{align*}\]
where \(r\) and \(m\) are \(n\)-length vectors of revenue shares and margins, \(E = \left(\begin{smallmatrix} \epsilon_{11}&\ldots&\epsilon_{1n}\\\vdots &\ddots&\vdots\\\epsilon_{n1}&\ldots&\epsilon_{nn} \end{smallmatrix}\right)\) is a \(n \times n\) matrix of own- and cross-price elasticities, and \(\Omega=\left(\begin{smallmatrix} \omega_{11}&\ldots&\omega_{1n}\\\vdots &\ddots&\vdots\\\omega_{n1}&\ldots&\omega_{nn} \end{smallmatrix}\right)\) is an \(n \times n\) matrix whose \(i,j\)th element equals the share of product \(j\)’s profits owned by the firm setting product \(i\)’s price.3 In many cases, product \(i\) and \(j\) are wholly owned by a single firm, in which cases the \(i,j\)th element of \(\Omega\) equals 1 if \(i\) and \(j\) are owned by the same firm and 0 otherwise. Under partial ownership, the columns of the matrix formed from the unique rows of \(\Omega\) must sum to 1. ‘\(diag\)’ returns the diagonal of a square matrix and ‘\(\circ\)’ is the Hadamard (entry-wise) product operator.
The solution to system (1.1) yields equilibrium prices conditional on the ownership structure \(\Omega\). A (partial) merger is modeled as the solution to system (1.1) where \(\Omega\) is changed to reflect the change in ownership.
The Bertrand model described above assumes that products are produced with constant marginal costs and no capacity constraints. Here, we extend this model to allow for exogenous capacity constraints.4
Firm \(k \in K\) chooses the prices \(\{p_i\}_{i=1}^{n_k}\) of its products so as to maximize profits, subject to capacity constraints \(\{t_i\}_{i=1}^{n_k}\). Mathematically, firm \(k\) solves:
\[\begin{align*} \max_{\{p_i\}_{i=1}^{n_k}} &\sum_{i=1}^{n}\omega_{ik}(p_i - c_i)q_i, \end{align*}\]
subject to
\[\begin{align*} & q_i \le t_i,&i=1\ldots n_k \end{align*}\]
In general, either the capacity constraint for product \(i\) will bind and the firm will be forced to produce less of \(i\) than it would find optimal, or the capacity constraint will not bind, and the firm will produce the optimal amount implied by the FOCs. In the former, it can be shown that \(\partial p_i\le 0\) and \(q_i - t_i=0\), while in the latter \(\partial p_i=0\) and \(q_i - t_i \le 0\). Mathematically, these cases can be written as
\[\begin{align*} \max\{\partial p_i, q_i - t_i\}=0,&i=1\ldots n_k \tag{1.3} \end{align*}\]
Although the functions listed in the “Bertrand” section of Table 10.1 are based on the Bertrand model and use similar inputs, they can yield very different equilibrium price predictions. This can occur for two reasons. First, these functions use different demand systems with very different curvatures to simulate the price effects from a merger. Indeed, equation (1.1) indicates that it is these curvatures, embodied in the matrix of own- and cross-price elasticities \(E\), that play an important role in calculating price effects.
Second, binding capacity constraints can limit the incentive of the merging parties to raise prices, or the ability of other firms in the market to respond to a price increase. If, pre-merger, none of the merging parties’ products are capacity constrained but some of the other firms’ products are, then post-merger equilibrium prices will typically be higher than if none of the capacity constraints were binding pre-merger. Also, if pre-merger, some of the merging parties’ products are capacity constrained but none of the other firms’ products are constrained, then post-merger equilibrium prices will typically be lower than if none of the capacity constraints were binding pre-merger.
For all the demand specifications listed in the “Bertrand” section of Table 10.1, the calibration strategy is the same. First, we assume that quantities/shares and (with the exception of LA-AIDS) prices are observed for all products in the market, and that margins for some products are observed. Our decision to treat quantities, prices, and margins as primitives comes directly from equation (1.1). For capacity-constrained models, equation (1.3) indicates that all product capacities must be observed as well.
In addition to quantities, prices, some margins and capacities, we assume that users observe diversion ratios. Diversion ratios come in two forms: quantity diversion and revenue diversion. The quantity diversion from product \(i\) to product \(j\), \(d^q_{ij}\), is defined as the percentage of all of \(i\)’s lost unit sales that switch to \(j\) due to a price increase in product \(i\), while the revenue diversion from product \(i\) to product \(j\), \(d^r_{ij}\), is defined as the percentage of all of \(i\)’s lost revenue that switches to \(j\) due to a price increase in product \(i\). Mathematically, quantity and revenue diversion may be represented as \[\begin{align*} d^q_{ij}=&-\frac{\frac{\partial q_j}{\partial p_i}}{\frac{\partial \nonumber q_i}{\partial p_i}}\\ =& -\frac{\epsilon_{ji}q_j}{\epsilon_{ii}q_i}\\ \tag{1.4} \end{align*}\]
\[\begin{align*} d^r_{ij}=&-\frac{\frac{\partial p_jq_j}{\partial p_i}}{\frac{\partial \nonumber p_iq_i}{\partial p_i}} \\ =&-\frac{\epsilon_{ji}(\epsilon_{jj}-1)r_j}{\epsilon_{jj}(\epsilon_{ii}-1)r_i} \tag{1.5} \end{align*}\]
Note that \(d^q_{ij},d^r_{ij}\) are restricted to be between -1 and 1,
and are positive if products \(i\) and \(j\) are substitutes and negative if they are complements. Additionally, conditional on customers switching from product \(i\), they must switch to another product (i.e. \(\sum_{j}d_{ij}\le 0\)). For all the models included in antitrust
, we assume that \(i\) and \(j\) are not complements (\(d_{ij}\ge 0\)) and for some demand models (i.e. AIDS) we will assume that \(\sum_{j}d_{ij} = 0\).
Although diversion ratios are not present in either equation (1.1) or (1.3), these definitions indicate that diversion ratios may be helpful in recovering the matrix of own- and cross-price elasticities \(E\). Indeed, for a number of the demand systems described below, diversions will be used for just this purpose.
We further assume that all of this information represents the outcome of the unique pre-merger equilibrium for firms in the market playing the static Bertrand pricing game described above. We then substitute observed margins, shares and prices into either equation (1.1) or (1.3), which is now solely a function of demand parameters, and then solve for the coefficient(s) on prices. Once the price coefficients have been estimated, we use observed prices and the demand equations to estimate the intercepts.
Often, there are more FOCs than unknown price coefficients. For instance, under Logit demand, there is only one price parameter that needs to be estimated and up to \(n\) FOCs with which to estimate it. This means that at a minimum, users need only supply enough margin information to complete a single product’s FOC. If that product happens to be owned by a single-product firm, then only one margin is necessary. On the other hand, if the product happens to be owned by a multi-product firm, then at a minimum, all the margins for products owned by that firm must be supplied.
The (Marshallian) demand specifications used in antitrust
can be grouped into two
categories: demand systems that are derived from a
representative consumer’s
expenditure function and demand systems that are derived from a
representative consumer’s indirect utility function. The linear, log-linear,
and LA-AIDS demand systems fall into the former
category, while the Logit and CES fall into
the latter category. Below, we briefly
discuss these demand systems as well as the assumptions
and/or data needed to recover estimates of the demand parameters.
We conclude this section with a discussion of how calibrated demand parameters and the FOCs can be used to calibrate product-specific constant marginal costs.
The Bertrand model with linear demand may be implemented using the
linear
function.
The linear demand system assumes that the demand for each product \(i \in n\) in the market is given by
\[\begin{align*} q_i=& \alpha_i + \sum_{j\in n}\beta_{ij} p_j \mbox{ for all $i\in n$},& \end{align*}\]
which may be written in matrix notation as
\[\begin{align*} q=&\alpha + Bp,& \end{align*}\]
where \(q\ge 0,p>0\) are vectors of product quantities and prices, \(\alpha\) is a vector of product specific demand intercepts and \(B\) is a matrix of slopes. This demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=&\beta_{ii}\frac{p_i}{q_i},& \epsilon_{ii}<0\\ \epsilon_{ij}=&\beta_{ij}\frac{p_i}{q_j},& \epsilon_{ij} \ge 0 \end{align*}\]
Without additional restrictions and/or data, there are \(2n\) equations (\(n\) FOCs and \(n\) demand equations) but \(n(n+1)\) unknown parameters, which means that there are more unknowns than equations and the demand parameters \(\alpha,B\) cannot be recovered. To remedy this, we assume that the quantity diversion is observed.5 With the linear model, this assumption increases the number of equations to \(n(n+1)\), allowing estimates of \(\alpha\) and \(B\) to be recovered if prices, quantities and margins are observed for all products.
One known issue with the linear demand system is that, while analytically tractable, it is not rooted in consumer choice theory. Indeed, it has been shown that the linear demand system without income effects is consistent with the axioms of consumer choice if \(B\) is a symmetric matrix and satisfies homogeneity of degree 0 in prices.6 Imposing these additional assumptions reduces the number of unknown parameters to \(\frac{n(n+3)}{2}\) (\(\frac{n(n+1)}{2}\) elements of \(B\) and \(n\) intercepts), which means that the system is over-identified.7
The linear demand system can be modified to allow for substitution to an outside (numeraire) good. To accomplish this, assume that the price of the outside product is not set strategically (i.e. not set as part of the Nash-Bertrand game played by the manufacturers of the \(n\) products included in the simulation). It can be shown that if \(B\) is symmetric and satisfies homogeneity of degree 0 in prices when the outside good is included, then \(\sum_{j\in n}d_{ij}<0\).8 In other words, under symmetry and homogeneity of degree 0, users may include a non-strategically priced outside good by simply allowing the rows of the diversion matrix to sum to less than zero. The extent to which consumers substitute from product \(i\) to the outside good may be controlled by increasing the magnitude of \(\sum_{j \in n } d_{ij}\).
By default, the calcSlopes
, called by the linear
function to calibrate the linear demand parameters, assumes that the above
assumptions hold and uses a minimum distance algorithm to find the elements of \(B\) that best satisfy i) all the FOCs for which there is sufficient information and ii) the diversion equations \(d_{ij}=-\frac{\beta_{ji}}{\beta_{ii}}\), subject to the constraints that \(\beta_{ij}\ge 0\) for all \(i\ne j\) and \(\sum_j b_{ij}\le 0\) for all \(i\). The model intercepts can then be recovered from the linear demand equations.
For completeness, linear
includes the ‘symmetry’ argument that,
when set equal to FALSE, instructs calcSlopes
to calibrate demand parameters without imposing
symmetry and homogeneity of degree zero in prices on \(B\). Note that when ‘symmetry’ is FALSE, the system of
equations is just-identified, which means that prices, quantities, and
margins must be observed for all products. Also, note that when
‘symmetry’ is FALSE, linear demand is unlikely to be consistent with
consumer choice theory, and welfare measures such as compensating
variation cannot be calculated.9
The Bertrand model with log-linear demand may be implemented using the
loglinear
function.
The log-linear demand system assumes that the demand for each product \(i \in n\) in the market is given by
\[\begin{align*} \log(q_i)=& \alpha_i + \sum_{j\in n}\beta_{ij} \log(p_j) \mbox{ for all $i\in n$},& \beta_{ii}<0 \end{align*}\]
which may be written in matrix notation as
\[\begin{align*} \log(q)=&\alpha + B\log(p),& \end{align*}\]
where \(q,p\) are vectors of product quantities and prices, \(\alpha\) is a vector of product specific demand intercepts and \(B\) is a matrix of slopes. This demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=&\beta_{ii} \\ \epsilon_{ij}=&\beta_{ij} \end{align*}\]
As with linear demand, there are \(2n\) equations
but \(n(n+1)\) unknown parameters, which means the demand parameters
\(\alpha,B\) cannot be recovered without additional assumptions. As
before, we will assume that quantity diversion is known and by default occurs
according to quantity share. However, it turns out that the parameter
restrictions needed to make log-linear demand consistent with consumer
choice theory are likely to be inconsistent with the Bertrand model.10 As
such, loglinear
employs only the first assumption. Consequently,
the demand parameters are just-identified, which means that users
must supply loglinear
with prices, margins, and quantities for all
products in the market.
The Bertrand model with the linear approximate Almost Ideal Demand System (LA-AIDS) may be implemented using the
aids
function.
The LA-AIDS without income effects assumes that the demand for each product \(i \in n\) in the market is given by
\[\begin{align*} r_i=& \alpha_i + \sum_{j\in n}\beta_{ij} \log(p_j) \mbox{ for all $i\in n$},& \beta_{ii}<0 \end{align*}\]
which may be written in matrix notation as
\[\begin{align*} r=&\alpha + B\log(p),& \end{align*}\]
where \(r,p\) are vectors of product revenue shares and prices, \(\alpha\) is a vector of product-specific demand intercepts and \(B\) is a matrix of slopes.11
The LA-AIDS model yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=&-1 + \frac{\beta_{ii}}{r_i} + r_i(1+ \epsilon),& \epsilon_{ii}<0 \\ \epsilon_{ij}=&\frac{\beta_{ij}}{r_i} + r_j(1+ \epsilon),& \epsilon_{ij}\ge 0 \end{align*}\]
where \(\epsilon\) is the market elasticity of demand.
As with the linear demand system, the LA-AIDS model assumes that \(B\) is symmetric, satisfies homogeneity of degree zero in prices, and that diversion is known. The LA-AIDS model, however, assumes that revenue diversion, rather than quantity diversion is observed.12 Under these two assumptions, there are \(\frac{n(n+3)}{2}\) unknown demand parameters (\(\frac{n(n-1)}{2}\) diagonal elements in \(B\), \(n\) diagonal elements, and \(n\) intercepts) and up to \(n(n+1)\) equations (\(n(n-1)\) diversion equations, \(n\) FOCs and \(n\) demand equations), in which case the system is over-identified.13
One interesting feature of the LA-AIDS that distinguishes
it from the linear and log-linear demand systems included in antitrust
is that LA-AIDS elasticities incorporate \(\epsilon\), the
market elasticity. Roughly speaking, \(\epsilon\) controls
the extent to which consumers substitute to products outside
the \(n\) products included in the simulation
given a small change in market-wide product prices. Here, we assume that \(\epsilon\) is a parameter whose value is not a function of product prices.14 While in some cases
\(\epsilon\) can be readily observed, in others it cannot. For the latter,
the calcSlopes
method (called by aids
) exploits the fact that there are more
equations than unknowns to identify both the unknown demand parameters
described above as well as \(\epsilon\).
The calcSlopes
method, called by the aids
function to calibrate the AIDS parameters uses a minimum distance algorithm to find the \(\epsilon\) and a single diagonal element of \(B\) that best satisfy i) all the FOCs for which there is sufficient information and ii) the diversion equations \(d_{ij}=-\frac{\beta_{ji}}{\beta_{ii}}\), and iii) the market elasticity (if supplied using the ‘mktElast’ argument). The \(\beta_{ii}\)s are recovered from the fact that \(\sum_{j}d_{ij}=0\); customers must switch to a product included in the model.
If only a single product’s own-price elasticity and \(\epsilon\) is observed, then pcaids
may be used in lieu of aids
to calibrate
the LA-AIDS parameters.15
Another distinguishing feature of the LA-AIDS model is that it does not require any information on product
prices in order to simulate merger price effects. The LA-AIDS accomplishes this by
using the supplied margin and revenue information to estimate \(B\), but not \(\alpha\). There are
however, a few drawbacks to not using pricing information. First, while
merger-specific price changes may be calculated, pre- and post-merger
price levels cannot. Second, welfare measures like
compensating variation cannot be calculated. Prices are an optional
input to aids
and pcaids
, and when they are supplied both
price levels and welfare measures may be calculated.
The nested LA-AIDS may be implemented using pcaids.nests
.
By default, aids
and pcaids
assume that pre-merger, diversion occurs
according to revenue share. While convenient, one potential drawback of this
assumption is that diversion according to share may not accurately
represent consumer substitution patterns. antitrust
provides two ways to
relax diversion according to share. First, both of these functions contain a ‘diversions’
argument that may be used to supply a \(k \times k\) matrix of
revenue diversions.
Alternatively, users can place the \(n\) products into \(H\ge 2\) nests, with products in the same nest assumed to be closer substitutes than products in different nests.16 This approach requires users to calibrate \(\frac{H(H-1)}{2}\) nesting parameters, where each parameter measures the extent to which the diversion between any two products in different nests deviates from diversion according to share.17 Accordingly, users must supply margin information for at least \(\frac{H(H-1)}{2}\) products.18
The Bertrand model with Logit demand may be implemented using the
logit
function.
Logit demand is based on a discrete choice model that assumes that each consumer is willing to purchase at most a single unit of one product from the \(n\) products available in the market. The assumptions underlying Logit demand imply that the probability that a consumer purchases product \(i \in n\) is given by
\[\begin{align*} s_i=& \frac{\exp(V_i)}{\sum\limits_{k \in n}\exp(V_k)},& \end{align*}\]
where \(s_i\) is product \(i\)’s quantity share and \(V_i\) is the (average) indirect utility that a consumer receives from purchasing product \(i\). We assume that \(V_i\) takes on the following form
\[\begin{align*} V_i=&\delta_i + \alpha p_i,&\alpha<0. \end{align*}\]
The Logit demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=&\alpha (1-s_i)p_i \\ \epsilon_{ij}=&-\alpha s_jp_j \end{align*}\]
Logit demand has \(n+1\) parameters to estimate (\(n\) \(\delta\)s and
\(\alpha\)) and up to \(2n\) equations with which to estimate them (up to
\(n\) complete FOCs and \(n\)
choice probabilities). calcSlopes
exploits this over-identification
by employing a minimum distance algorithm to find the
value for \(\alpha\) that best satisfies all the FOCs for which there
are data. The \(\delta\)s are then recovered from the choice probabilities.
One feature of the logit
function is that the function allows
users to specify whether or not consumers must purchase one of the \(n\)
products sold in the market or whether consumers can choose to
purchase an “outside” good. logit
determines whether users
wish to include an outside option by determining if the user-supplied
quantity shares \(s_i\) sum to 1. If the shares sum to 1, then no outside good is
included and by default \(\delta_1\) is normalized to 0.19 Otherwise, an outside good is included whose \(\delta\) is
normalized to 0, price is set equal to ‘priceOutside’ (default 0), and
whose share equals \(s_0=1-\sum\limits_{i\in n}s_i\).20
The capacity-constrained Bertrand model with Logit demand may be implemented using the
logit.cap
function.
The Logit Model with capacity constraints is calibrated by noting that in the pre-merger equilibrium, if product \(i\) is capacity constrained then \(\frac{\partial q_i}{\partial p_j}=0\) for all \(j \in n\). This condition implies that an estimate of the price coefficient \(\alpha\) may be obtained by starting with the FOCs in equation (1.1), deleting all rows pertaining to a capacity-constrained product and then for the remaining rows, zeroing out the appropriate elements of the Logit elasticity matrix \(E\). A minimum distance estimator on the surviving FOCs is then employed to estimate the price coefficient. Once the price coefficient has been estimated, the technique outlined above may be used to uncover the vector of mean valuations.
The Bertrand model with nested Logit demand may be implemented using the
logit.nests
function.
By construction, Logit demand assumes that diversion occurs
according to quantity share. While convenient, one potential drawback of this
assumption is that diversion according to share may not accurately
represent consumer substitution patterns. One way to relax this
assumption is to group the \(n\) products
into \(n > H \ge 2\) nests, with
products in the same nest assumed to be closer substitutes than
products in different nests.21
logit.nests
‘s ’nests’ argument may be used to specify a length-\(n\) vector identifying which nest each
product belongs to.
The assumptions underlying nested Logit demand imply that the probability that a consumer purchases product \(i\) in nest \(h\in H\) is given by \[\begin{align*} s_i=& s_{i|h}s_h,&\\ s_{i|h}=&\frac{\exp(\frac{V_i}{\sigma_h})}{\sum\limits_{k \in h}\exp(\frac{V_k}{\sigma_h})},& 1 \ge \sigma_h \ge 0\\ s_{h}=& \frac{\exp(\sigma_hI_h)}{\sum\limits_{l\in H}\exp(\sigma_lI_l)},& I_h=\log\sum\limits_{k \in h}\exp\left(\frac{V_k}{\sigma_h}\right). \end{align*}\] We assume that \(V_i\) takes on the following form \[\begin{align*} V_i=&\delta_i + \alpha p_i,& \alpha\le 0. \end{align*}\]
The Nested Logit demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=& [1-s_i + (\frac{1}{\sigma_h}-1)(1-s_{i|h})]\alpha p_i, \\ \epsilon_{ij}=&\begin{cases} -[s_j + (\frac{1}{\sigma_h}-1)s_{j|h}]\alpha p_j, & \text{if $i,j$ are both in nest $h$}.\\ -\alpha s_jp_j, & \text{if $i$ is not in nest $h$ but $j$ is}. \end{cases} \end{align*}\]
Notice how these cross-price elasticities are identical to the non-nested Logit elasticities when products \(i,j\) are in different nests, but are larger when products \(i,j\) are in the same nests. This observation is consistent with the claim that products within a nest are closer substitutes than products outside of a nest.
In contrast to nested LA-AIDS, which must
calibrate \(\frac{H(H-1)}{2}\) nesting parameters, only \(H\) nesting
parameters must be calibrated. By default,
calcSlopes
constrains all the nesting parameters to be equal
to one another, \(\sigma_h=\sigma\) for all \(h\in H\). This reduces the
number of parameters that need to be estimated to \(n+2\) (\(n\)
\(\delta\)s, \(\alpha,\sigma\)) which means users must furnish enough
margin information to complete at least two FOCs. Setting
logit.nests
‘s ’constraint’ argument to
FALSE causes the calcSlopes
method to relax the constraint and calibrate a separate
nesting parameter for each nest. Relaxing the constraint increases the
number of parameters that must be estimated to \(n+H+1\), which means
that users must furnish margin information sufficient to
complete at least \(H+1\) FOCs. Moreover, users must supply at least
one margin per nest for each non-singleton nest. In other words, if
nest \(h\in H\) contains \(n_h>1\) products,
then at least one product margin from nest \(h\) must be supplied.
Like logit
, logit.nests
also allows
users to specify whether or not consumers must purchase one of the \(n\)
products sold in the market or whether consumers can choose to
purchase an “outside” good. This works almost the same in
logit.nests
as logit
, except that when the sum of market
revenue shares is less than 1, the outside good is placed in its own nest with its nesting
parameter normalized to 1.
The Bertrand model with Constant Elasticity of Substitution (CES) demand may be implemented using the
ces
function.
Like the Logit, CES demand is based on a discrete choice model. However, CES differs from the Logit model in that under CES consumers do not purchase a single unit of a product but instead spend a fixed proportion of their budget on one of the \(n\) products available in the market.23
The assumptions underlying CES demand imply that the probability that a consumer purchases product \(i \in n\) is given by \[\begin{align*} r_i=& \frac{V_i}{\sum\limits_{k \in n}V_k}& \mbox{for all $i \in n$}, \end{align*}\] where \(r_i\) is product \(i\)’s revenue share and \(V_i\) is the (average) indirect utility that a consumer receives from purchasing product \(i\). We assume that \(V_i\) takes on the following form
\[\begin{align*} V_i=&\delta_ip_i^{1-\gamma},&\gamma > 1 . \end{align*}\]
The CES demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=& -\gamma + (\gamma-1)r_i \\ \epsilon_{ij}=& (\gamma-1)r_j \end{align*}\]
Functional form differences aside, one important difference between the CES and Logit demand systems is that the Logit model’s choice probabilities are based on quantity shares, while the CES model’s choice probabilities are based on revenue shares.
Like Logit demand, CES demand has \(n+1\) parameters to estimate (\(n\), \(\delta\)s and
\(\gamma\)) and up to \(2n\) equations with which to estimate them (up to
\(n\) complete FOCs and \(n\)
choice probabilities). ces
exploits this over-identification
by employing a minimum distance algorithm to find the
value for \(\gamma\) that best satisfies all the FOCs for which there
are data. The \(\delta\)s are then recovered from the choice probabilities.
ces
also allows
users to specify whether or not consumers must purchase one of the \(n\)
products sold in the market or whether consumers can choose to
purchase an “outside” good. ces
determines whether users
wish to include an outside option by determining if the user-supplied
revenue shares \(r_i\) sum to 1. If the shares sum to 1, then no outside good is
included and by default \(\delta_1\) is normalized to 1.24 Otherwise, an outside good is included whose price and
\(\delta\) are normalized to 1, and whose share equals \(r_0=1-\sum\limits_{i\in n}r_i\).
In addition to specifying an outside option, ces
has the
‘shareInside’ argument that may be used to specify the proportion of
the representative consumer’s budget that the consumer is willing to spend
on the \(n + 1\) products that are within the
market.25 By default,
‘shareInside’ equals 1, which indicates that the customer spends her
entire budget on the \(n+1\) products within the market.
The Bertrand model with nested CES demand may be implemented using the
ces.nests
function.
Like the Logit, CES demand assumes that diversion occurs
according to share.26 While convenient, one potential drawback of this
assumption is that diversion according to share may not accurately
represent consumer substitution patterns. As with Logit demand, one way to relax this
assumption is to group the \(n\) products
into \(H\ge 2\) nests, with
products in the same nest assumed to be closer substitutes than
products in different nests.27 logit.nests
‘s ’nests’ argument may be used to specify a length-\(n\) vector identifying which nest each
product belongs to.
The assumptions underlying nested CES demand imply that the probability that a consumer purchases product \(i\) in nest \(h\in H\) is given by
\[\begin{align*} r_i=& r_{i|h}r_h,&\\ r_{i|h}=&\frac{V_i}{I_h},& I_h=\sum\limits_{k \in h}V_k\\ r_{h}=& \frac{I_h^{\frac{1-\gamma}{1-\sigma_h}}}{\sum\limits_{l\in H}I_l^{\frac{1-\gamma}{1-\sigma_l}}}.& \end{align*}\]
We assume that \(V_i\) takes on the following form
\[\begin{align*} V_i=&\delta_ip_i^{1-\sigma_h},& \end{align*}\]
where \(\sigma_h>\gamma>1\) for all nests \(h\in H\). The Nested Logit demand system yields the following own- and cross-price elasticities: \[\begin{align*} \epsilon_{ii}=& -\sigma_h + (\gamma-1)r_i + (\sigma_h-\gamma)r_{i|h}, \\ \epsilon_{ij}=&\begin{cases} (\gamma-1)r_j + (\sigma_h-\gamma)r_{j|h} & \text{if $i,j$ are both in nest $h$}.\\ (\gamma-1)r_j, & \text{if $i$ is not in nest $h$ but $j$ is}. \end{cases} \end{align*}\]
Like ces
, ces.nests
also allows
users to specify whether or not consumers must purchase one of the \(n\)
products sold in the market or whether consumers can choose to
purchase an “outside” good. This works almost the same in
ces.nests
as ces
, except that when the sum of market
revenue shares is less than 1,
the outside good is placed in its own nest with its nesting
parameter normalized to 0.
By default, calcSlopes
constrains all the nesting parameters to be equal
to one another \(\sigma_h=\sigma\) for all \(h\in H\). This reduces the
number of parameters that need to be estimated to \(n+2\) (\(n\)
\(\delta\)s, \(\alpha,\sigma\)) which means users must furnish enough
margin information to complete at least two FOCs. Setting
ces.nests
‘s ’constraint’ argument to
FALSE causes the calcSlopes
method to relax the constraint and calibrate a separate
nesting parameter for each nest. Relaxing the constraint increases the
number of parameters that must be estimated to \(n+H+1\), which means
that users must furnish margin information sufficient to
complete at least \(H+1\) FOCs. Moreover, users must supply at least
one margin per nest for each non-singleton nest. In other words, if
nest \(h\in H\) contains \(n_h>1\) products,
then at least one product margin from nest \(h\) must be supplied.
If all \(n\) product margins are observed, estimating marginal costs can be accomplished by noting that \(m_i\equiv\frac{p_i-c_i}{p_i}\) and using observed prices to calculate pre-merger marginal costs.
Rather than using observed margins to compute marginal
costs, antitrust
instead relies on the margins predicted by the Bertrand
model. Rearranging the FOCs yields an expression for margins as a
function of the demand parameters, product ownership, and revenue
shares:
\[\begin{align*}
\hat{m}_{pre}=-((E_{pre}'\circ\Omega_{pre})^{-1}r_{pre})\circ(\frac{1}{r_{pre}}),
\end{align*}\]
where \(E_{pre},r_{pre}\) are elasticities and revenues calculated from the assumed demand model, evaluated at observed prices.
The main advantage of using \(\hat{m}_{pre}\) over \(m\) is that not all of the product margins must be observed in order to estimate marginal costs.28 Once \(\hat{m}_{pre}\) has been calculated, observed prices and the margin definition may be used to estimate pre-merger marginal costs.
Because antitrust
‘s Bertrand model
assumes that marginal costs are constant, product \(i\)’s post-merger
marginal costs are equal to its pre-merger marginal costs, multiplied
by \((1+\Delta mc_i)\), the change in marginal costs due to
any merger-specific efficiencies. All of the functions described above
have a ’mcDelta’ argument that allows users to specify a length-\(n\)
vector of marginal cost changes.29 By
default, ‘mcDelta’ is equal to a length-\(n\) vector of zeros,
indicating that the merger will not yield any efficiencies.
For the Bertrand model with capacity constraints, product margins for capacity-constrained products cannot be recovered from the first-order conditions.30 Therefore, marginal costs for capacity-constrained products must be recovered from user-supplied margins and prices.
The calcMC
method may be used to calculate pre- and post-merger
marginal costs.
For most of the demand systems included in antitrust
‘s Bertrand model, a closed-form
solution in prices to the FOCs equation does not exist. We therefore employ
the non-linear equation solver BBsolve
from the BB
package to find
equilibrium prices. It is worth noting that the FOCs in equation (1.1)
are necessary but not sufficient conditions for finding a price equilibrium to the Bertrand
model. Unfortunately, there does not appear to be any theoretical
result guaranteeing that, for many of the demand systems discussed here,
there is a unique equilibrium to the Bertrand game in
prices.31 Practitioners sometimes
address this problem by starting the non-linear solver at different
starting points in the price space, and seeing if these different
initial values converge to distinct price equilibria. All of the
constructor functions (e.g. linear
, loglinear
, logit
) have a ’priceStart’
argument that may be used to specify the non-linear solver’s starting
values. Moreover, many of these functions also include the
‘isMax’ argument, which when set equal to TRUE tests to see whether the
candidate pre-merger and post-merger price equilibria identified by the
non-linear solver are in fact (local) maxima.
antitrust
users can also test the robustness of the predicted prices by
modifying how the non-linear equation solver BBsolve
used by
most antitrust
functions solves for the pre- and post-merger price equilibrium.
Modifications to BBsolve
’s default
behavior may be accomplished by including BBsolve
arguments in any of the antitrust
functions described
above.32 See
BBsolve
’s help page for more information on how to
modify BBsolve
’s behavior.
The FOCs for the capacity-constrained Bertrand game (equation
(1.3)) suffer from an additional complication: the max
function introduces a kink that can make it difficult for the
non-linear equation solver to find equilibrium
prices. L. Froeb, Tschantz, and Crooke (2003), p.54 suggests replacing equation
(1.3) with
\[\begin{align*}
FOC_i + q_i - t_i + \sqrt{FOC_i^2 + (q_i - t_i)^2}=0,& i=1,\ldots,n
\end{align*}\]
which has the same roots as equation (1.3), but is
smoother. The calcPrices
method for all classes based on the
capacity-constrained Bertrand Model use this smoothed system to solve
for equilibrium prices.
In addition to computing pre- and post-merger equilibrium prices,
antitrust
’s Bertrand model contains methods that can compute many other features of the
model. Below, we discuss a few of the methods that we expect users
will find helpful. Table 10.2 provides a more
extensive list of methods.
The summary
method may be used to summarize the results of a
merger between two firms for a given demand model. By default, the summary
method
reports pre- and post-merger equilibrium prices, revenue shares, weighted average compensating marginal cost reduction, and
compensating variation.33 Quantity shares rather than
revenue shares may be reported by setting summary
‘s
’revenue’ argument equal to
FALSE. Likewise, levels, either in units or in revenues, rather than shares, may
be reported by setting summary
‘s
’shares’ argument equal to FALSE. Calibrated demand parameters may be reported by setting
summary
‘s ’parameters’ argument equal to TRUE.The number of significant digits can be
altered using the ‘digits’ argument.
In addition to printing the equilibrium price and output information
to the screen, the summary
method invisibly returns a matrix
containing this information. Users can save this matrix to a new
object for later use.
The plot
method employs ggplot
to
plot pre- and post-merger product residual demand, marginal costs and equilibria.
This method has a ‘scale’ argument, a number between 0 and 1 which
controls how much of the
demand curve above the equilibrium price and below marginal cost is
plotted. The default for ‘scale’ is .1.
plot
returns a ggplot
object.
Absent efficiencies, the Bertrand model with the demand systems described here will almost always produce a (possibly negligible) post-merger price increase among substitutes. These price increases, however, can be offset by merger-specific efficiencies that decrease the incremental costs of some of the merging firms’ products.34
All the functions discussed above allow users to evaluate these
efficiencies in two different ways. First, all of these functions
contain the ‘mcDelta’ argument, which allows users to specify the
proportional change in a product’s marginal costs that may result from
a merger. These cost changes are factored into the
post-merger price equilibrium calculation made by the
calcPrices
method.
Second, users can call the cmcr
method on the output of any
of the functions described above. This method computes the
compensating marginal cost reduction (CMCR) on the merging parties’
products. CMCR is the percentage decrease in the marginal costs of
the merging parties’ products necessary to prevent a post-merger price
increase. See the cmcr
help page for further details.
By default, the Bertrand model calculates a merger’s effects under the assumption that the acquisition does not change the set of products available to consumers. A merger’s effects, however, may differ if the merger induces either the merging parties or another market participant to eliminate some products from their portfolio.
To accommodate the possibility that some products may be removed from the market following an acquisition, all the constructor functions described above have a ‘subset’ argument that allows users to specify a length-\(n\) logical vector that equals TRUE if a product should be included in the post-merger simulation and FALSE otherwise. By default, ‘subset’ is equal to a length-\(n\) vector of TRUEs.
All of the demand models included in antitrust
’s Bertrand model have a CV
method
which may be used to
calculate compensating variation. Compensating variation is the amount of money needed to
make a consumer as well off as they were before the merger increased
prices. Table 10.3 lists the formula for calculating compensating
variation for the demand models included in antitrust
. The last column in
this table indicates whether the formula for compensating variation
returns compensating variation in levels (e.g. dollars) or as a percent of the
representative consumer’s total income.35
Compensating variation can be calculated only if i) the
demand system is consistent with both consumer choice theory as well
as the Bertrand model described above and ii) all the
demand parameters can be estimated. As discussed earlier, the
parameter restrictions necessary for the Log-linear demand system
to satisfy consumer choice theory will typically not satisfy the
parameter restrictions implied by the Bertrand model. Consequently,
there is no CV
method defined for the Log-linear demand
system. Similarly, the CV
method returns an error if Linear
demand is calibrated without imposing symmetry and homogeneity of degree 0 in prices on the matrix of slope
coefficients \(B\) (i.e. setting ‘symmetry’ equal to FALSE). Lastly,
the CV
method for LA-AIDS demand will return an error if LA-AIDS
demand is calibrated without prices. This occurs because prices are
needed to uncover estimates of the LA-AIDS demand intercepts, which are
needed to compute compensating variation.
Finally, it is worth noting that since none of the demand models
included in antitrust
contain income effects, it can be shown that compensating variation
equals two other measures of consumer welfare: equivalent variation
and consumer surplus.36
According to the 2010 Horizontal Merger Guidelines issued by the U.S Department of Justice (DOJ) and the Federal Trade Commission (FTC), the purpose of market definition is twofold:
First, market definition helps specify the line of commerce and section of the country in which the competitive concern arises. In any merger enforcement action, the Agencies will normally identify one or more relevant markets in which the merger may substantially lessen competition. Second, market definition allows the Agencies to identify market participants and measure market shares and market concentration. (U.S Department of Justice and the Federal Trade Commission 2010, 7)
To assist users in identifying antitrust product and geographic markets, antitrust
includes the
HypoMonTest
method. HypoMonTest
assumes that i) firms
are playing the differentiated Bertrand pricing game described earlier
and ii) consumer demand is characterized by one of the demand systems
described earlier, and then performs an implementation of the
Hypothetical Monopolist Test described in the Guidelines for a set of products specified in HypoMonTest
‘s
’prodIndex’ argument 37
Specifically, HypoMonTest
first determines
if ‘prodIndex’ contains at least one of the merging parties’
products. If so, then by default HypoMonTest
calls the
calcPriceDeltaHypoMon
method to find the profit-maximizing
prices that the Hypothetical Monopolist would set on the products in
‘prodIndex’, holding the prices of all other products fixed at
(predicted) pre-merger levels. HypoMonTest
then compares the
largest price change across the merging parties’ products indexed in
‘prodIndex’ to the specified ‘ssnip’. If this price change is
greater than the specified ‘ssnip’,
HypoMonTest
returns TRUE. Otherwise, HypoMonTest
returns FALSE.
The Guidelines state that
… if the market includes a second product, the Agencies will normally also include a third product if that third product is a closer substitute for the first product than is the second product. The third product is a closer substitute if, in response to a SSNIP on the first product, greater revenues are diverted to the third product than the second product (U.S Department of Justice and the Federal Trade Commission 2010, 9).
To facilitate such comparisons, antitrust
‘s Bertrand model includes the diversionHypoMon
method, which, for a set of products specified using the ’prodIndex’
argument, returns the revenue diversion (as defined by equation
(1.5))38 matrix for all products
included in the merger simulation (i.e. all products placed under the
Hypothetical Monopolist’s control as well as those outside of its
control).
Until now, most of the discussion has focused on how to recover demand
parameters when users have information on shares, margins, and in
most cases, prices. To accommodate known demand parameters (e.g. there
is sufficient data to employ econometric methods to estimate demand
parameters), antitrust contains the sim
function. The sim
function allows users to simulate price effects (or the output from
any method listed in Table 10.2) from a merger under the
assumption that firms are playing a Bertrand differentiated pricing
game. sim
requires users to specify a vector of market
prices, demand form (either “Linear”, “AIDS”, “LogLin”, “Logit”,
“CES”, “LogitNests”, “LogitCap”, or “CESNests”), a list containing the known
demand parameters, and pre- and post-merger ownership information. See
the sim
help page for further details.
This section alerts users to some instances where antitrust
may produce
seemingly surprising results, and provides some potential explanations
for these behaviors.
As discussed above, HypoMon
method is a post-simulation
command and therefore is run only after the user has
assumed i) which firms (and products) are playing a differentiated
Bertrand pricing game, and ii) the demand system. As a result,
HypoMon
and diversionHypoMon
can never be applied to a set
of products that includes any product excluded from the merger simulation.
loglinear
always predicts no price effects for single-product
firms in the market who are not party to the acquisition. This
occurs because the FOC for a single-product firm producing \(i\) is
\(m_i=\frac{1}{\epsilon_{ii}}=\frac{1}{\beta_{ii}}\). Since the Bertrand model described earlier
assumes constant marginal costs, a constant \(\epsilon_{ii}\) implies that prices are
constant as well.
Although a single-product non-merging party’s prices will not change, its output will increase. This occurs because the acquisition will increase the price of the merging parties’ products as well as the prices of multi-product non-merging parties. These price increases will entice some customers to switch towards the single-product firms’ products, increasing their output.
As discussed earlier, aids
attempts to calibrate \(\epsilon\), the
market elasticity parameter, by using the FOCs, LA-AIDS demand, and
additional margins. For some combinations of margins and shares,
however, this procedure can yield a very large market elasticity estimate, which
in turn will yield small price effects from the merger. This issue
appears to occur because the set of FOCs that are being used to
calibrate this parameter are nearly colinear. Issues arising from colinearity
can be often be remedied by supplying additional margin
information, supplying margin information for products with
disparate market shares, or supplying the market elasticity parameter directly.
Another model included in antitrust
is the Cournot quantity game. This version of the game assumes that multi-plant firms with distinct, increasing marginal costs producing multiple products
simultaneously set plant output for each product to maximize their
profits. All firms producing a particular product are assumed to be undifferentiated. In this model, quantities are strategic substitutes in the sense that decreasing the quantity of
one product causes some customers to switch to competing manufacturers, raising
their quantities and profits. Ultimately, it is the magnitude of these lost sales that, at
the margin, dissuades firms from reducing their output further .
Similar to the Bertrand model, mergers are modeled by assuming that the merging parties’ plants are placed under common ownership, which allows the merged entity to recapture some of the sales that would otherwise be lost to competitors. As a result, the Cournot model (for some demand systems) predicts that absent any efficiencies affecting the marginal cost of production, the prices of all products produced by the merging parties will increase, possibly by a small amount.
Because all firms are manufacturing an identical version of the product, this version of the Cournot model allows firms post-merger to start or stop producing other products. This model does not allow for firms to engage in some forms of price discrimination.39
Suppose that there are \(K\) firms in a market, each producing a subset \(J_k\) of \(J\) products. Further, suppose that that each of the \(k \in K\) firms manufactures its \(J_k\) products at \(n_k\) plants. Let \(n = \sum_{k\in K} n_k\) denote the total number of plants producing any of the \(J\) products. The Cournot model assumes that firms simultaneously set the amount of each product produced at each plant in order to maximize their profits. This model also assumes that all firms can perfectly observe each others’ quantities, and costs, as well as the demand for each product.
Functions in antitrust
’s Cournot model also adopt the additional assumption that each firm’s plant has its own distinct marginal cost
technology.
Firm \(k \in K\) chooses product output at each plant \(\{q_j^r\}_{\substack{j\in j_k,\\ r\in n_k}}\) so as to maximize profits. Mathematically, firm \(k\) solves:
\[\begin{align*} \max_{{\{q_j^r\}}_{\substack{j\in J_k,\\ r\in n_k}}} &, \sum_{\substack{j\in J_k,\\ r\in n_k}}p_jq_j^r - \sum_{r\in n_k}c^r(q^r) \end{align*}\] subject to \[\begin{align*} & q_j^r \ge 0,&\\ & q^r = \sum_{j \in J_k} q_j^r &\\ \end{align*}\]
where \(p_j\), the price sold of product \(i\), is assumed to be a twice differentiable function of all firm quantities with \(\frac{\partial p_j}{\partial q_j^r}< 0\) for all plants and firms. Likewise, additively separable plant variable costs, \(c^r\), assumed to be twice differentiable with \(\frac{\partial c^r}{\partial q_j^r}> 0\) .
Differentiating profits with respect to each \(q_j^r\) yields the following first order conditions (FOCs):
\[\begin{align} \partial q_j^r&\equiv p_j + \sum_{l\in n_k}q_j^l\frac{\partial p_j}{\partial q_j^r} - \frac{\partial c^r}{\partial q_j^r}=0& \mbox{ for all $j\in J_k$, $r\in n_k$} \tag{2.1} \end{align}\]
The Cournot model can yield different equilibrium quantity and price predictions depending on 1) the curvature of plant variable costs and 2) the curvature of demand. antitrust
allows users to explore the consequences of different cost and demand assumptions.
Currently, cournot
contains two different ways to specify plant costs. First, users can set the ‘cost’ option equal to a \(n\)-length character vector whose values are either equal to “linear” for linear marginal costs (\(\frac{\partial c^r}{\partial q_j^r}= 0.5\gamma_r\sum_{j\in n_r}q_j^r\)) or “constant” for constant marginal costs (\(\frac{\partial c^r}{\partial q_j^r}= \gamma_r\)) . When the ‘cost’ option is employed, cournot
’s calcSlopes
method uses observed costs (implied by predicted margins and prices) and prices to calibrate plant-level cost parameters \(\gamma_r\).
Alternatively, users can specify both plant-level marginal and variable costs. Marginal costs may be specified by setting the ‘mcfunPre’ argument equal to a length \(n\) list of functions that each take as an input the vector of product quantities produced at a plant and then return the marginal cost associated with producing that level of output at that plant. Likewise, the ‘vcfunPre’ argument can be similarly used to specify plant-level variable costs. Note that when marginal costs and variable costs are specified in this manner, cournot
makes no attempt to calibrate any parameters on the cost side.
Currently, cournot
allows users to specify that product demand is either linear (\(p_j=b_j + a_j\sum_{k\in n}q_j^k\)) or log-linear (\(\ln(p_j)=b_j + a_j\ln(\sum_{k\in n}q_j^k)\)). Users can specify product demand by setting cournot
‘s ’demand’ argument equal to a \(j\)-length character vector equal to either “linear” for linear demand or “log” for log-linear demand.
The summary
method may be used to summarize the results of a
merger between two firms. By default, the summary
method reports pre- and post-merger equilibrium prices and quantities for each product included in the simulation. Also reported is the compensating marginal cost reduction (CMCR) as well as the change in consumer surplus from the merger. Setting the ‘market’ argument equal to FALSE returns plant-level equilibrium price effects.
Absent efficiencies, the Cournot model with the demand systems described here will almost always produce a (possibly negligible) post-merger price increase among substitutes. These price increases, however, can be offset by merger-specific efficiencies that decrease the incremental costs of some of the merging firms’ products.40
All the functions discussed above allow users to evaluate these
efficiencies in two different ways. First, all of these functions
contain the ‘mcDelta’ argument, which allows users to specify the
proportional change in a product’s marginal costs that may result from
a merger. These cost changes are factored into the
post-merger price equilibrium calculation made by the
calcPrices
method. If changes in marginal costs are not expected to be proportional,
then users can instead set the ‘mcfunPre’ and ‘mcfunPost’ arguments equal to lists containing functions that return each plant’s pre- and post-merger marginal costs.41
Second, users can call the cmcr
method on the output of any
of the functions described above. This method computes the
compensating marginal cost reduction (CMCR) on the merging parties’
products. CMCR is the percentage decrease in the marginal costs of
the merging parties’ products necessary to prevent a post-merger price
increase. See the cmcr
help page for further details.
The Cournot model allows users to impose capacity constraints that may potentially change as a result of the merger. The “capacitiesPre” argument allows users to specify a vector of pre-merger plant-specific capacity constraints (default is Inf, or no constraint). The “capacitiesPost” argument allows users to specify a vector of post-merger constraints (default is “capacitiesPre”).
By default, the Cournot model calculates a merger’s effects under the assumption that the acquisition does not change the set of products available to consumers or the set of plants that are in production. A merger’s effects, however, may differ if the merger induces either the merging parties or another market participant to eliminate some products from their portfolio or to alter the mix of plants used in producing their products.
To accommodate the possibility that some products or plants may be removed from the market following an acquisition, all the constructor functions described above have a ‘productsPre’ and a ‘productsPost’ arguments that allows users to specify an \(n\) by \(J\) logical matrix which equals TRUE if a product produced at a particular plant should be included in the merger simulation and FALSE otherwise. By default, ‘productsPre’ equals TRUE if the ‘quantities’ is not NA, and FALSE otherwise, while ‘productsPost’ equals ‘productsPre’.
The Cournot model has a CV
method which may be used to
calculate the change in consumer surplus from a merger.
The package contains a stackelberg
function that is similar to cournot
, but also allows for one or more firms to be designated as output leaders for certain products. Output leaders are assumed to set their output levels first, and conditional on the leaders’ output decisions, output followers (defined as everyone who is not a leader) choose their levels of output. The stackelberg
function contains four additional arguments: ‘isLeaderPre’ and ‘isLeaderPost’ for setting which firms are leaders and which are followers, and ‘dmcfunPre’ and ‘dmcfunPost’ for specifying the derivative of a plant’s marginal cost (only necessary when marginal and variable costs are also specified).
Currently, antitrust
has the ability to calibrate model parameters and simulate the effects of a merger in a:
In a 2nd price procurement auction, sellers submit their offers to supply a homogeneous product and the seller with the lowest offer wins but is paid the next lowest offer. 2nd price auctions have a number of interesting properties. In particular, it can be shown that:
A 2nd score procurement auction generalizes a 2nd price auction by allowing sellers to offer differentiated products and allowing buyers to choose the product with the highest score. Instead of being paid the 2nd lowest cost, the seller with the highest score is paid the difference between the value of her product and the surplus (value less manufacturing cost) of the product with the next highest score. All the functions in antitrust
assume that the non-price characteristics of a seller’s products are fixed, which means that sellers’ strategies are restricted to i) which products to offer a particular buyer and ii) what price to offer the products at.
All of the properties of a 2nd price auction generalize to a 2nd score auction. In particular:
In contrast to a 2nd score procurement auction, sellers in a 1st score procurement auction simply receive their offer if they win. It can be shown that a first score auction where non-price product characteristics are fixed is equivalent to a Nash-Bertrand pricing game where buyers purchase only a single product.42 Consequently, the models discussed in the chapter on the Bertrand Pricing Game may also be used to explore the effects of mergers in first price auctions.
The remainder of this chapter explores antitrust
’s implementation of 2nd score auctions.
Here, we describe a 2nd price procurement auction where the buyer sets a reserve price and capacity constrained bidders offer a single unit of a homogeneous
product.43 This auction model may be executed using antitrust
’s auction2nd.cap
function.
Suppose that a buyer is interested in either purchasing a single unit of a homogeneous product from one of the \(K\) firms who supply the product, or supplying the product herself. Although the product is homogeneous, the cost of producing it is not: firm \(k\in K\) uses constant marginal cost technology \(c_k\ge 0\) to produce the product.44 Likewise, suppose that the cost to the buyer of self-supply is \(c_0\). Moreover, marginal costs are assumed to be private information, with the buyer and each firm believing that firm costs are independently drawn from the distribution \(F(c)\) with support \((\underline{c},\overline{c})\). Although marginal costs are constant, firms are assumed to be capacity constrained in the sense that all buyers and the bidder believe that a firm endowed with capacity \(t_k\ge 0\) has a marginal cost \(c_k\) equal to the minimum of \(t_k\) cost draws from \(F(c)\). Define \(t=(t_1,\ldots,t_K)\) as the vector of firm capacities and \(\bar{t}=\sum\limits_{k\in K}t_k\) as total industry capacity.
The buyer is assumed to employ a 2nd price auction with a reserve price to determine who will supply the product. In this auction format, each firm submits a bid and the firm with the lowest bid that is also less than the buyer’s reserve price wins the auction but is paid the 2nd lowest bid.45 The buyer’s reserve reflects the fact that the buyer has the ability to self-supply at cost \(c_0\), and so is only willing to purchase the product from a bidder whose bid is less than \(c_0\).
It can be shown that in a 2nd price auction, each firm has a weakly dominant strategy to bid its marginal cost. Waehrer and Perry (2003) also show that
the probability that firm \(k\)’s cost draw is less than \(c\), equals \[\begin{align} G(c;t_k)&\equiv 1-[1-F(c)]^{t_k}, \tag{3.1} \end{align}\]
the probability that firm \(k\) wins the auction for a given reserve price \(r\), is \[\begin{align} s_k(r;\bar{t}) &\equiv \frac{t_k}{\bar{t}}G(r;\bar{t}), \tag{3.2} \end{align}\]
the probability that firm \(k\) wins conditional on \(I\), the event that some firm wins, is \[\begin{align} s_{k|I}(t) &\equiv \frac{t_k}{\bar{t}}, \tag{3.3} \end{align}\]
firm \(k\)’s expected producer surplus is \[\begin{align} \Pi_k(r;t)&\equiv \int_{\underline{c}}^r\{[1-F(c)]^{\bar{t}-t_k} - [1-F(c)]^{\bar{t}}\}dc, \tag{3.4} \end{align}\]
firm \(k\)’s expected cost is \[\begin{align} E[c_k]&\equiv t_k\int_{\underline{c}}^rcf(c)[1-F(c)]^{\bar{t}-1}dc, \tag{3.5} \end{align}\]
firm \(k\)’s expected price is \[\begin{align*} E[p_k]&=\Pi_k(r;t) + E[c_k], \tag{3.6} \end{align*}\]
The buyer sets her reserve price \(r\) so as to minimize her expected costs (EC):
\[\begin{align} EC(r,t)&= c_0Pr(\min\limits_{k\in K}\{c_k\} > r)+p(r,t)Pr(\min\limits_{k\in K}\{c_k\} \le r) \nonumber\\ &= c_0(1-G(r;\bar{t})) + p(r,t)G(r;\bar{t}) \nonumber\\ \end{align}\] where \(p(r,t)\) is the expected price paid by the buyer conditional on the buyer purchasing from some firm, i.e. \[\begin{align} p(r,t)&\equiv \frac{\int_{\underline{c}}^rcdG(c;\bar{t})}{G(r;\bar{t})} + \frac{\sum\limits_{k\in K}\Pi_k(r;t)}{G(r;\bar{t})} \nonumber\\ \end{align}\] which is minimized at \[\begin{align} c_0 &= r^{\ast} + \frac{\sum\limits_{k\in K} ([1-F(r^{\ast})]^{\bar{t}-t_k} - [1-F(r^{\ast})]^{\bar{t}})}{\bar{t}f(r^{\ast})[1-F(r^{\ast})]^{\bar{t}-1}} \end{align}\]
Note that this last equation implies that the buyer has an incentive to set its optimal reserve below its self-supply cost.
In this model, we will assume that the user observes firm capacities, some price and margin information, and possibly the auction reserve price or the proportion of times a buyer opts to self-supply. The unknowns are the seller cost distribution \(F(c)\), the buyer’s cost of self-supply \(c_0\), and if not observed, the auction’s reserve price.
It can be shown that under this model’s assumptions, it must be the case that \(F(c)=1-\exp{k(c)}\). Common distributions that satisfy this functional form are the Uniform, Exponential, Weibull, Gumbel, and Frechet. Table 3.1 summarizes these distributions.
Name | Bounds | Location Parameter | Scale Parameter | Shape Parameter | # Params |
---|---|---|---|---|---|
Uniform | \([\underline{c},\overline{c}]\) | 2 | |||
Exponential | \([0,\infty)\) | X | 1 | ||
Weibull | \([0,\infty)\) | X | X | 2 | |
Gumbel | \((-\infty,\infty)\) | X | X | 2 | |
Frechet | \([Location,\infty)\) | X | X | X | 3 |
It is important to note that depending upon the parameters, these distributions can be shaped very differently from one another, which can yield different simulated merger effects. In general, distributions with more parameters can assume a greater range of shapes than distributions with fewer parameters. This flexibility comes at a cost; the user must supply additional information in order to calibrate these additional parameters.
Once a distribution has been selected, the distribution parameters as well as the reserve price (if not supplied) must be calibrated from user-supplied prices and margins. To accomplish this, first let \(\hat{p_k}\) and \(\hat{c_k}\) denote firm \(k\)’s ex-ante price and marginal cost, conditional on \(k\) winning. Equations (3.5), (3.6), and (3.2) together imply that \(\hat{p_k}=\frac{E[p_k]}{s_k(r;\bar{t})}\) and that \(\hat{c_k}=\frac{E[c_k]}{s_k(r;\bar{t})}\) Letting \(\overline{p_k}\) and \(\overline{c_k}\) denote firm \(k\)’s average price and marginal cost yields the following moments: \[\begin{align*} \overline{p_k}&=\hat{p_k}\\ \overline{c_k}&=\hat{c_k}\\ \end{align*}\] If in addition, \(s_0\), the proportion of buyers who opt to self-supply is observed, then the following moment is also employed: \[\begin{align*} s_0&= 1-G(r;\bar{t}) \end{align*}\] Note that in order to calibrate the model parameters, the number of moments with user-supplied information must be greater than the number of distribution parameters plus the reservation price (if not supplied).
The auction model’s summary
method may be used to summarize the results of a
merger between two firms for a given cost distribution. By default, the summary
method
reports pre- and post-merger equilibrium prices and quantity
shares, conditional on some firm winning the auction. The unconditional
pre- and post-merger equilibrium prices and quantities may be reported by setting summary
‘s
’exAnte’ argument equal to TRUE. Calibrated distribution parameters may be reported by setting
summary
‘s ’parameters’ argument equal to TRUE. The number of significant digits can be
altered using the ‘digits’ argument.
By default, auction2nd.cap
assumes that a merger places the
parties’ capacities under common ownership and that the capacities of
all other firms in the market are unaffected by the acquisition. Both of these
assumptions may be modified with the ‘mcDelta’ argument, which allows users to specify the proportional changes in each firm’s
capacities due to the merger.
Here, we describe a 2nd score procurement auction where the features of the products – including cost – are both horizontally and vertically differentiated. This section is largely based on Brannman and Froeb (2000) and Miller (2014). This auction model may be executed using antitrust
’s auction2nd.logit
function.
Suppose that a buyer is interested in either purchasing a single unit of a differentiated product from one of \(K\) firms, each of whom manufacture \(J_k,k\in K\) variants of the product, or in supplying the product herself. Let \(J=\bigcup_k^KJ_k\) denote the set of all products produced by any of the \(K\) firms. Not only do each of the variants have different characteristics, the cost of producing these products may also differ. In particular, suppose that variant \(J_k,k\in K\) uses constant marginal cost technology \(c_{J_k}\ge 0\) to produce the product.46
Let the utility that a buyer receives from product \(j\in J\) with offer \(p_j\) equal to \[\begin{align*} V_j(p_j)=& \overline{V}_j(p_j) + \epsilon_j &\\ \overline{V}_j(p_j) =& \delta_j + \alpha p_j,&\alpha<0,\\ \end{align*}\]
where \(\overline{V}_j\) represents an index of “vertical” quality differentiation that is decomposed into a non-offer component \(\delta_j\) and an offer component \(\alpha p_j\). In addition, \(\epsilon_j\) represents a buyer-specific idiosyncratic shock to utility (i.e. “horizontal” quality differentiation). Without loss of generality, we will assume that these shocks are independently drawn from the distribution \(F\), with mean 0 and variance 1.47 We will also assume that at the start of the auction, \(\epsilon_j\) is known to \(j\)’s manufacturer but is not known to any other sellers.
The buyer is assumed to employ a 2nd score auction to determine which product she will purchase. In this auction format, each firm submits an offer and the firm with the highest score (which may be the buyer if the buyer self-supplies) wins the auction but pays the difference between the value of the highest scoring product and the value of the next-highest scoring product, less that seller’s offer on that product. It can be shown that it is a dominant strategy for each firm to offer the product with the highest surplus in its portfolio to the buyer at cost.
Let \(z_A=\max_{k\in A}{V_k(c_k)}\) denote the the maximum surplus available from any product \(k\in A\subseteq J\). It can be shown that the following must hold when firm \(k\in K\) wins with variant \(j\in J_k\)
the probability that \(j\) wins is \[\begin{align} s_j &\equiv 1-Pr(V_j < z_{k \not\in J_k}); \tag{3.7} \end{align}\]
the expected price conditional on \(j\) winning is \[\begin{align} E[p_j|\text{$j$ wins}]= c_j + E[z_J|\text{$j$ wins}] - E[z_{k \not\in J_k}|\text{$j$ wins}]; \tag{3.8} \end{align}\]
subtracting \(c_j\) from both sides of (3.8) yields the expected profit margin conditional on \(j\) winning: \[\begin{align} E[m_j|\text{$j$ wins}]=& E[z_J|\text{$j$ wins}] - E[z_{k \not\in J_k}|\text{$j$ wins}] \tag{3.9} \end{align}\]
Suppose that firm \(k\in K\) acquires a portfolio of products \(J_r\) produced by firm \(r\in K\).48
Retention of all products. If post-merger \(k\) does not discontinue any of \(r\)’s products, then it can be shown that it is still a dominant strategy for \(k\) to only offer a buyer the highest surplus product, and that consequently, the acquisition does not affect which product will ultimately be selected ex-ante. Consequently, the merger does not decrease ex-ante output and therefore leaves total surplus unchanged. The merger will, absent variable cost efficiencies, lead to a price increase that exactly equals the decrease in consumer surplus. The ex-ante magnitude of the price increase (and corresponding decrease in consumer surplus) when \(j\in J_k \cup J_r\) win the auction is:
\[\begin{align} E[\Delta p_j|\text{j wins}] = E[m_j^{post}|\text{j wins}] - E[m_j^{pre}|\text{j wins}]. \tag{3.10} \end{align}\]
The expected change in consumer surplus– which, absent efficiencies also equals the weighted average price effect– may be calculated by taking the share-weighted average of equation (3.10):
\[\begin{align} E[\Delta p] = \sum\limits_{j\in J_k\cup J_r}s_jE[\Delta p_j|\text{$j$ wins}] \tag{3.11} \end{align}\]
where \(s_j\) is given by (3.8)
For this model, we will assume that users observe firm shares, prices, and some margin information. From the user’s perspective, the unknowns are the buyers’ distribution of valuations (\(F\)), the constant marginal costs (\(c_j\)) and the components of a buyer’s mean valuation (i.e. the \(\delta_j\)s and \(\alpha\)).
In order to calibrate this model with the limited information available, we will need to assume a functional form for \(F\). Currently, antitrust
assumes that \(F\) follows a Gumbel distribution. Under this distributional assumption,
the probability that \(j\) wins is \[\begin{align} s_j = \frac{\exp(\overline{V}_j(c_j))}{\sum\limits_{k \in J}\exp(\overline{V}_k(c_k))} \tag{3.12} \end{align}\]
the expected value of the maximum for products in \(A \subseteq J\) is \[\begin{align} E[z_A]=-\alpha^{-1}\log\sum\limits_{j\in A}\exp(\overline{V}_j(c_j)) \tag{3.13} \end{align}\]
First, note that for product \(h\ne j\), equation (3.12) indicates \[\begin{align} \log s_j - \log s_k &= \overline{V}_j(c_j) - \overline{V}_h(c_h)\\ &= \delta_j-\delta_h + \alpha(c_j -c_h) \tag{3.14} \end{align}\]
Equation (3.12) implies that at least one of the \(V_j\)s is not separately identified. Therefore, one product must be selected as the numeraire so that all the other valuations are relative to the normalized product.49
Next, substituting equation (3.13) into equation (3.9) yields the following closed form expression for margins:
\[\begin{align} E[m_j|V_j(c_j) > z_{k \not\in J_k}]= -\frac{1}{\alpha\sum\limits_{r\in J_k}s_r}\log\left(\frac{1}{1-\sum\limits_{r\in J_k}s_r}\right) \tag{3.15} \end{align}\]
Equations (3.14) and (3.15) form the basis of the calibration strategy. All the model parameters may be calibrated with just a single margin and market shares. Product prices only need to to be supplied for products whose marginal costs are assumed to change post-merger (i.e. products for which ‘mcDelta’ is not equal to 0).
For example, suppose that the margin for product \(j\in J_k\) is known. Equation (3.15) implies that \(\alpha\) may be recovered using only \(j\)’s margin as well as the sum of the shares for all of firm \(j\)’s products. This estimate of \(\alpha\), in conjunction with equation (3.15) may then be used to estimate margins for all the other products in the market. Absent post-merger cost changes, these margin estimates, along with equation (3.14), may then be used to estimate each products’ non-offer mean valuations (\(\delta\)s).
When post-merger cost changes are included in the model, it becomes necessary to estimate marginal costs, but only for the products whose costs are changing due to the merger.50 This is accomplished by including price information for these products. Products whose costs are not assumed to change do not require pricing data (i.e. ‘prices’ may be NA for products where ‘mcDelta’ is 0).
In some instances, there may be more than one margin available. In these cases a minimum distance algorithm is used to find the value of \(\alpha\) that best satisfies all the margin equations (3.15) for which there is data.
The summary
method for Auction2ndLogit
is similar to the method described in section 3.1.3. The main difference is that by default, this method reports changes in levels rather than percentages and output in quantity shares rather than in revenue shares. These alterations were made because prices are not a pre-requisite for this model, but when prices are not supplied, only level changes are identified. Regardless, these defaults can be changed by appropriately setting the method’s ‘revenue’ and ‘levels’ arguments.
auction2nd.logit
‘s ’mcDelta’ argument may be used to specify the anticipated proportional change in marginal costs that will likely occur from a merger. See auction2nd.logit
’s help page for further details.
auction2nd.logit
‘s ’subset’ argument may be used to simulate a merger’s effect when a product is assumed to be eliminated from the market post-merger. See auction2nd.logit
’s help page for further details.
The CV
method may be used to calculate compensating variation from a merger. This method will return ‘NA’ if pre-merger prices were not supplied for all products included in the simulation.
Unlike 2nd-price procurement (score) auction models (chapter 3), where buyers pay the difference in surplus between their two to best options in order to entice sellers to reveal their costs (match values), Nash bargaining models assume that buyers and sellers bilaterally negotiate prices so as to maximize their joint surplus. The Nash bargaining model described here allows buyers and sellers to vary in thre important ways. First, buyers maximize utility while sellers maximize profits. Second, buyers and sellers differ in their disagreement payoffs: if a bargain cannot be reached, buyers select their next best option, which may be owned by the same seller. Finally, buyers and sellers negotiate a linear price over a single unit sold.
This bargaining model may be executed using antitrust
’s bargaining.logit
function.
INCOMPLETE
Suppose that there are \(N\) products produced \(J\le N\) firms. Let \(W_j\) denote the set of products produced by firm \(j\in J\). Each product is produced using constant marginal cost technology \(c_n\). There are \(M\) buyers, and each buyer ultimately selects a single product, with buyer \(i\in M\) valuing each product \(n \in N\) as \(V_{n}^i=\delta_n +\alpha p_n +\epsilon_{in},\alpha<0\), \(\epsilon_{in}\), which is unknown to both the buyer and the seller, is distributed according to the Gumbel distribution with mean 0 and scale parameter equal to 1. The price for each product \(p_n\) is negotiated bilaterally and simultaneously between each buyer and each seller. Mathematically, for a given firm \(j\in J\), the ex-ante price \(p_n\) for each \(n\in W_j\) is determined by the following Nash Bargain:
\[ \max_{p_n} \left(E[\max_k V^i_{k} - \max_{h\ne n} V^i_h|\text{$n$ wins}]s_nM \right)^{\lambda_n} \left(\omega_{nj}(p_n-c_n)s_nM - \sum_{k\in \{W_j\setminus n\}}\omega_{kj}(p_k-c_k)\frac{s_ks_n}{1-s_n}M \right)^{1-\lambda_n}. \]
Under Logit demand, it can be shown that the left hand side \(E[\max_k V^i_{k} - \max_{h\ne n} V^i_h|\text{$n$ wins}]s_n=\frac{\ln({1-s_n})/\alpha\).
Taking the derivative w.r.t to \(p_n\) , setting equal to 0 and rearranging yields:
\[ \partial p_n: \omega_{nj}(p_n-c_n) - \sum_{k\in W_j}\omega_{kj}(p_k-c_k) s_k = \frac{\ln({1-s_n})/\alpha}{ \frac{\lambda_n}{(1-\lambda_n)}\frac{s_n}{1-s_n}-\omega_{nj}\ln({1-s_n}) } \]
INCOMPLETE
The Bertrand, 2nd Score, and Bargaining models under Logit demand described above all focused on merger effects in a single market. Here, we extend the analysis to examine merger effects in a vertical supply chain.
The supply chain models discussed here may all be executed using antitrust
’s vertical.barg
function.
For some acquisitions, there may be insufficient information available to use any of the merger simulation functions described above. In these instances, if information is available on the merging parties’ products, then it may still be possible to calculate measures that can help inform users about the effects of the merger.
One such measure, discussed above, is compensating marginal cost reduction (CMCR). CMCR measures the change in the marginal cost of the merging parties’ products needed to offset the price increase following the merger. CMCR may then be compared to the merger’s efficiencies in order to determine whether or not the merger will lead to a price increase.
All the CMCR functions and methods in antitrust
possess a ‘levels’ argument which when equal to TRUE returns the CMCR in dollars. Alternatively, setting the ‘rel’ argument to “cost” expresses CMCR in terms of pre-merger marginal costs, while setting the ‘rel’ argument to “price” expresses CMCR in terms of pre-merger prices.
cmcr.bertrand
may be used to compute CMCR under the assumption
that the merging parties are playing the Bertrand pricing game
described earlier. The matrix formula for \(CMCR_{Bertrand}\),
expressed as a percentage of pre-merger costs,
is:
\[\begin{align*}
CMCR_{Bertrand}=&(m_{post}-m_{pre})\circ\frac{1}{1-m_{pre}},&\\
\end{align*}\]
where \(m_{pre}\) is a vector of observed pre-merger product
margins for each of the merging parties’ products. \(m_{post}\),
post-merger margins evaluated at pre-merger prices, may be
found using
\[\begin{align*}
m_{post}=&(B_{post})^{-1}\left(\frac{diag(\Omega_{post})}{diag(\Omega_{pre})}\circ
B_{pre}m_{pre}\right)&\\
B_s=&D^q_{pre}\circ((1/p_{pre})p_{pre}')\circ\Omega_s,& s \in \{pre,post\},
\end{align*}\]
where \(D^q_{pre}\) is a matrix of pre-merger quantity diversion ratios for the merging parties’ products whose \(i,j\)th element is the quantity diversion from product \(i\) to product \(j\), \(p_{pre}\) is a vector of pre-merger prices for the merging parties’ products, and \(\Omega_s\) is a matrix of either pre- or post-merger ownership shares (typically equal to 1). Note that this formula requires users only to supply price and margin information for all of the merging parties’ products, as well as diversion information between all of the merging parties’ products.
cmcr.cournot
may be used to compute a share-weighted average CMCR under the assumption
that the merging parties are playing a Cournot quantity-setting
game where each party produces a single product. The formula for the share-weighted
\(CMCR_{Cournot}\),expressed relative to a share-weighted average of party pre-merger costs, is:
\[\begin{align*}
CMCR_{Cournot}=&\frac{2s_is_j}{\epsilon(s_i+s_j) - (s_i^2+s_j^2)},
\end{align*}\]
where \(i\) and \(j\) index the merging parties’ products and \(\epsilon\) is the equilibrium elasticity of industry demand. This function requires users to supply information on the merging parties’ quantity shares as well as an estimate of the market elasticity. Under the assumption that each firm produces a single product, it can be shown that \(\epsilon=\frac{s_i}{m_i}\) for all products \(i\). Hence, only a single margin is needed to recover an estimate of \(\epsilon\).
Alternatively, cmcr.cournot2
may be used to compute Cournot CMCRs for each party. The formula
for party-specific \(CMCR_{Cournot}\) is
\[\begin{align*}
CMCR_{Cournot_i}=&\frac{m_j}{1-m_i}.
\end{align*}\]
The main drawback to using CMCR is that CMCR yields only the reduction in marginal costs needed to prevent a price increase; it does not provide any information on how much prices would increase if the efficiencies from the merger are less than CMCR. Likewise, CMCR cannot be used to draw inferences about price effects if some of the merging parties’ products are expected to yield efficiencies that are larger than CMCR, while others are expected to yield efficiencies that are smaller than CMCR.
Another measure included in antitrust
is Generalized Pricing Pressure (GePP).51 GePP measures how a merger would affect the merging parties’
incentives to change the prices of their products, after
accounting for any merger-specific efficiencies. The GePP for the merging parties’ products may be written as
\[\begin{align*} GePP= (B_{post}m_{post})/diag(\Omega_{post}) - (B_{pre}m_{pre})/diag(\Omega_{pre}) \end{align*}\]
where \(B_{pre},B_{post}\) and \(m_{pre}\) are the same as in CMCR, and \(m_{post}\) are pre-merger margins that incorporate anticipated cost reductions. GePP predicts that the acquiring firm will have an incentive to raise the price of merging party product \(i\) when \(GePP_i>0\).
upp.bertrand
may be used to compute GePP under the assumption
that the merging parties are playing the Bertrand pricing game
described earlier. Like cmcr.bertrand
, this function requires
users to supply price and margin information for all of the merging parties’ products, as well
as diversion information between all of the merging parties’
products. Users can also supply a vector of merger-specific
efficiencies to upp.bertrand
‘s ’mcDelta’ argument (default is
0, which assumes no efficiencies). These
efficiencies should be expressed as the percentage decrease in the
merging parties’ marginal costs.
The 2010 Horizontal Merger Guidelines state that
The Agencies often calculate the Herfindahl-Hirschman Index (“HHI”) of market concentration. … The higher the post-merger HHI and the increase in the HHI, the greater are the Agencies’ potential competitive concerns and the greater is the likelihood that the Agencies will request additional information to conduct their analysis. (U.S Department of Justice and the Federal Trade Commission 2010, 18)
antitrust
contains the HHI
function to compute the HHI for a
specified set of products. HHI
also allows users to compute the Modified HHI (MHHI) that may be used
to account for partial firm ownership, where one firm receives
a share of the profits from another firm’s product, as well as
partial control, where one firm has the (partial) ability to control
how much of another firm’s product is produced.
The basic idea behind collusion is that when firms interact with one another repeatedly – either across different product or geographic markets, or over time – firms may find a way to reach an agreement that reduces the extent to which they compete with one another. This agreement may be tacit in the sense that a firm can coordinate its behavior with that of its rivals by for example, first unilaterally adopting a strategy that would be mutually beneficial to itself and its rivals, and then observing whether its rivals subsequently choose to either cooperate by adopting a mutually beneficial strategy or defect by adopting a strategy that is only beneficial to themselves. Colluding firms may also attempt to punish defecting rivals in order encourage these rivals to cooperate rather than defect. A number of factors can influence a firm’s decision to collude including:
Our aim here is to explore how a horizontal merger might affect the incentives of firms to collude. In particular, a horizontal merger can facilitate collusion if a firm with an incentive to collude acquires a maverick, or a firm without such incentive. By doing this, the acquiring firm makes it easier to sustain cooperation among some of the remaining firms. On the other hand, a horizontal merger can retard collusion if after the acquisition, a firm believes that it can make greater surplus by not cooperating with some of the remaining firms. The goal of this model is to provide one method for exploring which of these conflicting incentives ultimately prevails.
Suppose that there are \(K\) firms in a market, and that each of the \(k \in K\) firms produces \(n_k\) products.52 Let \(n=\sum\limits_{k\in K}n_k\) denote the number of products sold by all \(K\) firms. These firms are playing an infinitely repeated super-game, where in each period of the game the \(K\) firms play the Bertrand pricing game described in section 1.1. Mathematically, firm \(k\) solves:
\[\begin{align*} \max_{\{p_{kt}\}_{t=1}^{\infty}} &\sum_{t=1}^{\infty}\sum_{i=1}^{n} \tau_i^{t-1}\Pi^b_{ikt},\\ \end{align*}\] where \(p_{kt}\) is the vector of prices set on all of \(k\)’s products in period \(t\); \(0<\tau_i<1\) is a product-specific and time-invariant discount factor reflecting the rate at which an owner of \(i\) is willing to forgo earning surplus today on \(i\) for future surplus; and \(\Pi^b_{ikt}\) is the surplus earned by firm \(k\) on product \(i\) in period \(t\). Mathematically, \[\begin{align*} \Pi^b_{ikt}&= \omega_{ik}(p_{it} - c_i)q_{it}, \end{align*}\]
where as in the Bertrand Model, \(\omega_{ik}\) is the share of product \(i\)’s surplus earned by firm \(k\) absent collusion, so that \(\sum\limits_{k\in K} \omega_{ik}\le 1\). \(q_{it}\), the quantity sold of product \(i\) at time \(t\), is assumed to be a twice differentiable function of all product prices. Note that \(\omega_{ik}\) and marginal cost \(c_i\) are assumed to be constant over time.
Further, suppose that some subset of firms \(Z\subseteq K\) wish to collude such that each firm \(z\in Z\) selects a subset \(J_z \subseteq n_z\) of their products over which to jointly maximize surplus. We assume that firms within this \(Z\) coalition cannot make side-payments to one another. In other words, firms inside the coalition only earn surplus on the products that they produce.53 Let \(\Pi^c_{jzt}\) denote the surplus that firm \(z\in Z\) earns from selling product \(j\in J_z\) at the jointly surplus maximizing price in period \(t\), and let \(\Pi^c_{lzt}\) denote the surplus that firm \(z\) earns from product \(l\not\in J_z\) in period \(t\). Note that for a given product \(l\not\in J_z\), the profits that \(z\) earns on \(l\) under collusion (\(\Pi^c_{lzt}\)) will typically differ from the profits that \(z\) earns under Bertrand reversion (\(\Pi^b_{lzt}\)), even though in both instances \(l\) is not included in the coalition.
Following Davis (2006) and Davis and Huse (2009), we assume that firms within \(Z\) all attempt to enforce the coalition by playing Grim Trigger strategies where each firm in \(Z\) colludes until they observe a single defection from any other firm in \(Z\), and then “punishes” by forever reverting the prices of its products back to those from the Bertrand game.
All that remains is to describe a firm’s surplus from defecting from the coalition. It is important to note that under the assumptions that all firms are playing Grim Trigger strategies and at most one firm can defect in a turn, i) only a single firm will be able to earn the defector’s surplus, and ii) that firm will only be able to earn the defector’s surplus for a single period. Here, we assume that when a firm defects it sets the prices of its products to maximize only the surplus of its products, conditional on every other firm in \(Z\) setting prices to maximize the coalition’s surplus. Let \(\Pi^d_{jzt}\) denote the surplus that firm \(z \in Z\) earns on product \(j\) in period \(t\) from setting its products’ prices to only maximize the surplus of its products, subject to the other firms in \(Z\) setting prices to maximize joint surplus.
In this model, Firm \(z\) has an incentive to collude with the other firms in the \(Z\) coalition only if the discounted value of the surplus it gains from colluding is greater than the discounted value of the surplus it receives from defecting from coalition prices for a single period, followed by the discounted value of surplus it receives from all firms earning surplus from the Bertrand game for all subsequent periods. Mathematically, this condition can be written as:
\[\begin{align} \nonumber\underbrace{\sum_{t=1}^{\infty}\sum_{j=1}^{n} \tau_j^{t-1}\Pi^b_{jzt}}_\text{collusion surplus} &\ge \underbrace{\sum_{j=1}^{n}\Pi^d_{jzt}}_\text{defection surplus} + \underbrace{\sum_{t=2}^{\infty}\sum_{j=1}^{n}\tau_j^{t-1}\Pi^b_{jzt}}_\text{reversion surplus} \end{align}\] Since we are assuming that outside of the merger firms cannot enter or exit, or add or remove products, equilibrium prices and quantities are the same across all periods, and the above simplifies to \[\begin{align} \sum_{j=1}^n\frac{\Pi^c_{jzt}}{1-\tau_j}&\ge \sum_{j=1}^n\Pi^d_{jzt} + \sum_{j=1}^n\frac{\tau_j\Pi^b_{jzt}}{1-\tau_j} \tag{8.1} \end{align}\]
Inequality (8.1) indicates that five pieces of information must be identified in order to determine if firm \(z\in Z\) has an incentive to collude under the model here: the set of products involved in the \(Z\) coalition, the discount rates \(\tau_j\) for all products produced by firms with at least one product in the coalition (i.e. for each \(j\in n_z\)); the surplus firm \(z\) earns from each product \(j\in n_z\) from colluding (\(\Pi^c_{jzt}\)) in period \(t\), the surplus firm \(z\) earns from each product \(j\in n_z\) upon defecting from the \(Z\) coalition (\(\Pi^d_{jzt}\)) in period \(t\), and the period \(t\) surplus a firm earns from each product \(j\in n_z\) after all firms have “punished” by reverting to Bertrand pricing \(\Pi^b_{jzt}\).
The calcProducerSurplusGrimTrigger
method assumes that the
user has supplied the indices for all products involved in the coalition
to the ‘coalition’ argument, as well as the discount rates \(\tau_j\) to
the ‘discount’ argument. This method then computes ‘preMerger’ product
profits \(\Pi^c_{jzt}\), \(\Pi^d_{jzt}\), and \(\Pi^b_{jzt}\) for
products owned by firms participating in the ‘coalition’
and then returns a data
frame containing the inputted discount rates, these surplus
calculations, and a field labeled “IC” which equals TRUE if
inequality (8.1) holds and FALSE otherwise. Note that “IC”
is a firm-level calculation whose value will be replicated across all
products owned by the same firm.
calcProducerSurplusGrimTrigger
is designed to be run twice: once
with ‘preMerger’ equal TRUE in order to evaluate whether, under this
model’s assumptions members of the specified coalition have an
incentive to collude; and a second time with ‘preMerger’ equal to
FALSE in order to evaluate how a merger affects these
incentives.
A manual page has been written for each class, method, and function
contained in antitrust
. These pages describe the relevant object, its
inputs and outputs, and typically contain at least one example of how
it is used. See the help
function for assistance on how to
access these pages.
In addition to the manual pages, R’s S4 system includes a number of
ways to investigate the properties of the classes and methods
contained in antitrust
. To learn more about a particular instance of an
antitrust
class, use the str
command. To learn more about the class itself
(e.g. class slots, who its parent and child classes are) use the
showClass
function. To show which methods are defined for a
class, or which classes have a particular method, use the showMethods
function. To see how a method has
been defined, use the getMethod
function.
antitrust
antitrust
was written using R’s S4 object-oriented class
system. Figure 10.1 displays the relationships between
each parent-child class. The figure indicates that the
Antitrust class is the main class. Indeed, every effort has
been made to include in the Antitrust class all slots that are common
to its child classes as well as all common methods.
Figure 10.1 also reveals that the Bertrand class
is the parent class for all models related to the Bertrand Pricing
game. Note that each of the Bertrand class’s
child classes are named after a demand model included in antitrust
. These
classes are grouped into two branches: demand systems based on the
representative consumer’s value function (the Logit branch) and
demand systems based on the representative consumer’s expenditure
function (the Linear branch).
Each antitrust
class named after a demand model has a similarly named
constructor function associated with it. For example, the
Linear class has the linear
constructor function
associated with it. The purpose of this function is to make it easy
for users to create a new class instance with sensible default
values. In addition to creating a new class instance, each constructor function does the following:
ownerToMatrix
twice. This method transforms the
pre- and post-merger ownership information into a matrix of 1s and
0s if the ownership information is not already in that format.calcSlopes
. This method calibrates the demand
parameters associated with a particular demand system.calcMC
twice. The first call computes
pre-merger marginal costs and the second call calculates
post-merger marginal costs, which equals
pre-merger marginal costs multiplied by the user-supplied
proportional change in marginal costs (1 + ‘mcDelta’). The results from this call are
assigned to the appropriate class slot,calcPrices
twice. The first call computes
pre-merger equilibrium prices and the second call calculates
post-merger equilibrium prices. The results from this call are
assigned to the appropriate class slot,Perhaps the easiest way to modify an existing class is to create a new child class of that class. That child will inherit all of the parent classes’ slots and methods. Additional slots may then be easily added and the behavior of existing methods may then be overridden.
Currently, the two auction classes available in antitrust
are Auction2ndLogit and Auction2ndCap. Auction2ndLogit
is a child class of Logit and therefore follows the same pattern as the Bertrand Model described above.
In contrast, the constructor function for Auction2ndLogit is
auction2nd.cap
, which initializes a class instance with
sensible default values and then does the following:
calcSellerCostParms
. This method calibrates
the parameters of the seller cost distribution.calcBuyerValuation
. This method calibrates the
cost to the buyer of self-supply.calcOptimalReserve
. Computes the buyer’s optimal
pre-merger reserve price. If ‘constrain.reserve’ equals TRUE (the
default) the post-merger reserve is set equal to the pre-merger
reserve. If ‘constrain.reserve’ equals FALSE, the optimal
post-merger reserve is calculated. The results from this call are
assigned to the appropriate class slot.calcPrices
twice. The first call computes
pre-merger equilibrium prices and the second call calculates
post-merger equilibrium prices. The results from this call are
assigned to the appropriate class slot.calcMC
twice. The first call computes
pre-merger equilibrium marginal costs and the second call calculates
post-merger equilibrium marginal costs. The results from this call are
assigned to the appropriate class slot.Name | Model | Price | Margin | Diversion | Quantity/ Share | Capacity | Cite |
---|---|---|---|---|---|---|---|
Bertrand | |||||||
linear |
Linear | A | 1+ | O | A | (Haefen 2002) | |
loglin |
Log-linear | A | A | O | A | (Haefen 2002) (Jeffrey T. LaFrance 2004) | |
aids |
AIDS | O | 2+ | O | A | (Epstein and Rubinfeld 2004) (Jeffrey T. LaFrance 2004) | |
pcaids |
PCAIDS | O | 1 | O | A | (Epstein and Rubinfeld 2004) (Jeffrey T. LaFrance 2004) | |
pcaids.nests |
Nested PCAIDS | O | 2+ | O | A | (Epstein and Rubinfeld 2004) | |
logit |
Logit | A | 1+ | A | (Gregory J. Werden and Froeb 1994) | ||
logit.alm |
Logit-Unobserved Outside Share | A | 2+ | A | (Gregory J. Werden and Froeb 1994) | ||
logit.nests |
Nested Logit | A | 2+ | A | (Gregory J. Werden and Froeb 1994) | ||
logit.cap |
Capacity-Constrained Logit | A | 2+ | A | A | (L. Froeb, Tschantz, and Crooke 2003) | |
ces |
Constant Elasticity | A | 1+ | A | (Sheu 2011) | ||
ces.nests |
Nested Constant Elasticity | A | 2+ | A | (Sheu 2011) | ||
sim |
A | ||||||
Cournot | |||||||
cournot |
Linear, Log-Linear | A | 1+ | A | |||
Auctions | |||||||
auction2nd.logit |
2nd price, Logit | O | 1+ | A | (Miller 2014) | ||
auction2nd.cap |
2nd price, homogeneous single unit | 1+ | 1+ | A | (Waehrer and Perry 2003) | ||
Other Tools | |||||||
cmcr.bertrand |
any | M | M | M | (Gregory J. Werden 1996) | ||
cmcr.cournot |
any | 1 | M | (L. M. Froeb and Werden 1998) | |||
upp.bertrand |
any | M | M | M | (Farrell and Shapiro 2010) (Jaffe and Weyl 2012) | ||
HHI |
any | A | (Salop and O’Brien 2000) |
‘M’: data on merging parties’ products,
‘A’: data on all products,
‘O’: optional data; if supplied it must be on all products,
‘#+’: data on at least # products
Name | Description |
---|---|
CV |
Compute compensating variation |
calcMC |
Compute pre- and post-merger (constant) marginal costs |
calcMargins |
Compute pre- and post-merger equilibrium margins |
calcPrices |
Compute pre- and post-merger equilibrium prices |
calcPriceDelta |
Compute proportional change in equilibrium prices |
calcProducerSurplus |
Compute pre- and post-merger producer surplus |
calcProducerSurplusGrimTrigger |
Compute pre- and post-merger surplus from colluding to surplus from defection |
calcShares |
Compute pre- and post-merger equilibrium shares |
cmcr |
Compute compensating marginal cost reduction (CMCR) |
HypoMonTest |
Use the Hypothetical Monopolist Test to determine whether a specified set of products satisfy a SSNIP |
diversion |
Compute pre- and post-merger diversion matrices |
diversionHypoMon |
Compute the diversion matrix under a Hypothetical Monopolist Test |
elast |
Compute pre- and post-merger elasticity matrices |
hhi |
Compute HHI using pre- and post-merger equilibrium shares |
upp |
Compute net Upwards Pricing Pressure (UPP) |
plot |
Plot pre- and post-merger demand, marginal costs, and equilibria |
summary |
Summarize result |
Demand | Formula | Reports |
---|---|---|
Linear | \(\alpha'(p_{post}-p_{pre}) + .5p'_{post}Bp_{post} - .5p'_{pre}Bp_{pre}\) | level |
AIDS | \(\alpha'(\log p_{post}-\log p_{pre}) + .5\log p'_{post}B\log p_{post} - .5\log p'_{pre}B\log p_{pre}\) | proportion |
CES | \(\frac{1}{1+\alpha}\frac{1}{1-\gamma}\log\left(\frac{\sum\limits_{i\in n} \delta_ip_{i,post}^{1-\gamma}}{\sum\limits_{i\in n} \delta_ip_{i,pre}^{1-\gamma}}\right)\) | proportion |
Nested CES | \(\frac{1}{1+\alpha}\frac{1}{1-\gamma}\log\left(\frac{\sum\limits_{h\in H}\left(\sum\limits_{i\in h}\delta_i p_{i,post}^{1-\sigma_h}\right)^\frac{1-\gamma}{1-\sigma_h}} {\sum\limits_{h\in H}\left(\sum\limits_{i\in h}\delta_i p_{i,pre}^{1-\sigma_h}\right)^\frac{1-\gamma}{1-\sigma_h}}\right)\) | proportion |
Logit | \(\frac{1}{\alpha}\log\left(\frac{\sum\limits_{i\in n}\exp(\delta_i+\alpha p_{i,post})}{\sum\limits_{i\in n}\exp(\delta_i+\alpha p_{i,pre})}\right)\) | level |
Nested Logit | \(\frac{1}{\alpha}\log\left(\frac{\sum\limits_{h\in H}\left(\sum\limits_{i\in h}\exp(\frac{\delta_i+\alpha p_{i,post}}{\sigma_h})\right)^{\sigma_h}}{\sum\limits_{h\in H}\left(\sum\limits_{i\in h}\exp(\frac{\delta_i+\alpha p_{i,pre}}{\sigma_h})\right)^{\sigma_h}}\right)\) | level |
In particular, this version of the Bertrand model does not accommodate non-linear pricing, such as is used in 2nd or 3rd degree price discrimination.↩︎
Throughout, we abuse the notation slightly by treating variables like \(K\) as both the set of firms as well as the number of firms.↩︎
The Bertrand model assumes that while any firm can receive a portion of another firm’s profits (e.g. through owning a share of that firms’ assets), only one firm can set a product’s price.↩︎
This section is based on the model described in L. Froeb, Tschantz, and Crooke (2003).↩︎
By default,
linear
assumes diversion according to quantity
share. Diversion according to quantity share assumes that
\(d^q_{ij}=\frac{s_j}{1-s_i}\), where \(s_i,s_j\) are the
quantity share of \(i\) and \(j\). As we will see, this is the assumption underlying the
Logit demand system.↩︎
In fact, it turns out that only one element of \(B\) must be estimated.To see why, note that under symmetry, \(\beta_{jj}=\frac{d_{ij}}{d_{ji}}\beta_{ii}\). Hence, if \(\beta_{ii}\) is known, then the preceding equation indicates that all the \(\beta_{jj}\)s may be recovered. From here, the definition of diversion may be used to recover all the \(\beta_{ij}s\).↩︎
To see this, note: \[\begin{align*} &\sum_{i \in n } \beta_{ij} <0 & \text{(homogeneity of degree 0 with outside good)} \\ \Leftrightarrow& \beta_{ii}+\sum_{j\ne i}\beta_{ji} < 0 & \text{(symmetry)}\\ \Leftrightarrow& \beta_{ii}-\sum_{j\ne i}d_{ij}\beta_{ii}<0 \\ \Leftrightarrow& \beta_{ii}(1-\sum_{j\ne i}d_{ij})<0 \\ \Rightarrow & \sum_{j \in n } d_{ij} <0\\ \end{align*}\] where the last line follows since \(\beta_{ii}<0\Rightarrow 1-\sum_{j\ne i}d_{ij}>0\).↩︎
The CV
method used to
compute compensating variation checks to
see if \(B\) is symmetric and returns an error if it isn’t.↩︎
In order for log-linear demand without income effects to be consistent with consumer choice theory, either i) \(\beta_{ij}=1+\beta_{ii},-1\ne\beta_{ii}\le 0\) or ii) \(\beta_{ij}=0,\beta_{ii}=-1\) for all \(i,j \in n\). Condition i) is unlikely to be true, since when products \(i\) and \(j\) are substitutes (typically the case we are most interested in evaluating), \(\beta_{ij}> 0\) which in turn implies that \(\beta_{ii}>-1\). However, if the owner of product \(i\) only manufacturers a single product (a typical occurrence), then the FOCs from the Bertrand model imply that \(\beta_{ii}\le-1\), a contradiction. Condition ii) is unlikely to hold since it implies that product \(i\) has no close substitutes and has marginal costs equal to 0. See Jeffrey T. LaFrance (1986); and Haefen (2002) for more details.↩︎
LA-AIDS differs from AIDS in that LA-AIDS substitutes the AIDS price index with Stone’s price index. Since this version of LA-AIDS is without income effects, Stone’s price index is only used to derive the own- and cross-price elasticities.↩︎
If the ‘diversion’ argument to aids
is missing, aids
assumes diversion according to revenue
share.↩︎
In fact, it turns out that only one element of \(B\) must be estimated.To see why, note that under symmetry, \(\beta_{jj}=\frac{d_{ij}}{d_{ji}}\beta_{ii}\). Hence, if \(\beta_{ii}\) is known, then the preceding equation indicates that all the \(\beta_{jj}\)s may be recovered. From here, the definition of diversion may be used to recover all the \(\beta_{ij}s\).↩︎
This assumption implies that customers substitute to products outside of the simulation in response to price increases by all products in the simulation at the same rate pre- and post-merger.↩︎
The main difference between
pcaids
and aids
is that while aids
requires
users to supply revenue shares and at least two margins (or a single margin and the market elasticity) as inputs, pcaids
requires the
user to supply revenue shares, \(\epsilon\) (using the ‘mktElast’ argument), and the own-price
elasticity for one of the products (using the ‘knownElast’
argument). A value for ‘knownElast’ may be found by
inverting the margin of a single-product firm. A value for
‘mktElast’ may be inferred from such sources as
merging party documents, industry reports, and academic studies.↩︎
No function in antitrust
currently permits
a hierarchy of nests.↩︎
The nesting parameters are constrained to be between 0 and 1, where 1 means that diversion between nests occurs according to share. The diversion between two nests is assumed to be symmetric; the diversion from nest \(a\) to nest \(b\) is the same as the diversion from \(b\) to \(a\).↩︎
Note that these margins are in addition to the margin information that may be necessary to identify the elasticity of a single product (‘knownElast’).↩︎
It can
be shown that when there is no outside option in the Logit model,
not all of the \(\delta\)s can be separately identified. Users can
control which product’s \(\delta\) is normalized to 0 by setting
logit
‘s ’normIndex’ argument equal to the index (position) of the desired
product.↩︎
Essentially ‘priceOutside’ controls how the mean valuations are scaled. Scaling is particularly important when computing compensating variation. See Gregory J. Werden and Froeb (1994) p.412 for further details.↩︎
No function in antitrust
currently permits
a hierarchy of nests. Singleton nests (nests containing only a
single product) are technically permitted,
but their nesting parameter is not identified and is therefore
normalized to 1.↩︎
The outside good is a nuisance parameter because it is only needed to obtain estimates of the other demand parameters and is not used to solve for equilibrium prices.↩︎
Formally, each consumer chooses the product \(i \in n\) that yields the maximum utility \(U_i=\ln(\delta_iq_i) +\alpha \ln(q_0) + \epsilon_i\), subject to the budget constraint \(y=p_iq_i+q_0\). Here, \(q_i\) is the amount of product \(i\) consumed by a consumer, \(\delta_i\) is a measure of product \(i\)’s quality, \(q_0\) is the amount of the numeraire, \(y\) is consumer income, and \(\epsilon_i\) are random variables independently and identically distributed according to the Type I Extreme Value distribution.↩︎
It can
be shown that when there is no outside option in the CES model,
not all of the \(\delta\)s can be separately identified. Users can
control which product’s \(\delta\) is normalized to 1 by setting
ces
‘s ’normIndex’ argument equal to the index (position) of the desired
product.↩︎
1-‘shareInside’ equals the proportion of the representative consumer’s income that is spent on all other products (i.e. the numeraire).↩︎
CES assumes diversion according to revenue rather than quantity share.↩︎
No function in antitrust
currently permits
a hierarchy of nests.↩︎
Of course, enough margins must be observed to calibrate the demand parameters. For Log-Linear demand as well as Linear demand with a matrix of asymmetric slopes (\(B\)), all product margins must be supplied and \(m=\hat{m}_{pre}\).↩︎
Negative values for ‘mcDelta’ imply that a product’s marginal cost will decrease, while positive values imply a price increase. Users will receive a warning if ‘mcDelta’ is supplied with positive values or if the values are greater than 1 in absolute value implying a cost change that is greater than 100%.↩︎
To see why, note that equation (1.3) implies that if product \(i\) is capacity constrained pre-merger, then \(\epsilon_{ij}=0\) for all \(j\). Since \(\epsilon_{ij}\) is always multiplied by the margin of product \(i\), that margin does not appear in the FOCs and is therefore not identified.↩︎
To our knowledge, there is no theoretical result indicating that a unique Nash equilibrium in prices exists for most of the demand systems discussed here, i.e. when i) firms produce multiple products and ii) marginal costs are constant. The primary exception to this is linear demand.↩︎
linear
’s calcPrices
method employs
constrOptim
rather than BBsolve
.↩︎
For some demand systems (e.g. Logit and CES), output shares as opposed to levels are reported. Compensating variation as well as equilibrium price levels for LA-AIDS models are reported only if the user supplied pre-merger prices. Compensating variation is only reported for the Linear model if ‘symmetry’ equals TRUE.↩︎
Costs that are not strictly increasing with a product’s output (i.e. fixed or sunk costs) do not affect the price setting behavior of firms in a Bertrand pricing game.↩︎
The CV
method
for CES demand has a ‘revenueInside’ argument, which if set equal to
the total revenue of all products included in the market, converts the
percent to levels. Similarly, the CV
method
for LA-AIDS demand has a ‘totalRevenue’ argument, which if set equal to
the representative agent’s income (e.g. area GDP), converts the
percent to levels.↩︎
The Guidelines define the Hypothetical Monopolist Test for product market as positing “… a hypothetical profit-maximizing firm, not subject to price regulation, that was the only present and future seller of those products (“hypothetical monopolist”) likely would impose at least a small but significant and non-transitory increase in price (“SSNIP”) on at least one product in the market, including at least one product sold by one of the merging firms. For the purpose of analyzing this issue, the terms of sale of products outside the candidate market are held constant.” (U.S Department of Justice and the Federal Trade Commission 2010, 9) The Guidelines describe a similar test for geographic market definition (U.S Department of Justice and the Federal Trade Commission 2010, 13).↩︎
The Guidelines do not provide a formula for revenue diversion.↩︎
In particular, this version of the Bertrand model does not accommodate non-linear pricing, such as is used in 2nd or 3rd degree price discrimination.↩︎
Costs that are not strictly increasing with a product’s output (i.e. fixed or sunk costs) do not affect the price setting behavior of firms in a Bertrand pricing game.↩︎
Users will also have to specify plant-specific variable costs as well using the ‘vcfunPre’ and ‘vcfunPost’ arguments.↩︎
Throughout, we abuse the notation slightly by treating variables like \(K\) as both the set of firms as well as the number of firms.↩︎
If the second lowest bid is greater than the reserve price, the winner receives the reserve.↩︎
Throughout, we abuse the notation slightly by treating variables like \(K\) as both the set of firms as well as the number of firms.↩︎
Equivalently, \(-\frac{V_j(p_j)}{\alpha}\) is a random variable with location \(-\frac{\overline{V}_j(p_j)}{\alpha}\) and scale \(-\frac{1}{\alpha}\).↩︎
Note that \(k\) could either acquire \(r\)’s entire product line or just a subset.↩︎
Specifically, suppose \(k\) is the numeriare product, and that \(V_k=\delta_k +\alpha p_k\). When supplied ‘shares’ sum to 1, the first product is by default set to be the numeraire product. This may be changed with the ‘normIndex’ option.↩︎
This occurs because in a 2nd score auction, it is a dominant strategy to bid costs. Consequently, if product \(j\)’s costs do not change, then \(V_j\) is the same for product \(j\) both pre- and post-merger. This is in contrast to the Nash-Bertrand pricing game described in section 1.2.4, where a firm’s pricing strategy for product \(j\) depends on the pricing behavior of all other products, making it necessary to use pricing information to decompose \(V_j\) into its price and non-price components.↩︎
GePP (Jaffe and Weyl 2012) extends Upward Pricing Pressure (UPP) – introduced in Farrell and Shapiro (2010) – to accommodate multi-product merging firms.↩︎
Throughout, we abuse the notation slightly by treating variables like \(K\) and \(n_k\) as both the set of firms as well as the number of firms.↩︎
Future versions of antitrust
may extend this model to
allow for side payments.↩︎