Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 66

DownloadManual
Open PDF In BrowserView PDF
The antitrust Package
Charles Taragin*

Michael Sandfort*

June 9, 2018

* The

views expressed herein are entirely those of the authors and should not be purported
to reflect those of 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: Economic Analysis
Group, Antitrust Division, U.S. Department of Justice, 450 5th St. NW, Washington
DC 20530. E-mail: charles.taragin@usdoj.gov and michael.sandfort@usdoj.gov.

Contents
I

Unilateral Effects

6

1 The Bertrand Pricing Game
1.1 The Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 The Mathematical Model . . . . . . . . . . . . . . . . . . . .
1.1.2 Adding Exogenous Capacity Constraints . . . . . . . . . . . .
1.2 Calibrating Model Demand and Cost Parameters . . . . . . . . . .
1.2.1 Linear Demand . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Log-Linear Demand . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 LA-AIDS Demand . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Logit Demand . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.5 CES Demand . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.6 Marginal Costs . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Simulating Merger Effects . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Summarizing Results . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Plotting Results (experimental) . . . . . . . . . . . . . . . .
1.3.3 Simulating Price Effects With Efficiencies . . . . . . . . . . .
1.3.4 Excluding Products From the Market (experimental) . . .
1.3.5 Measuring Changes In Consumer Welfare . . . . . . . . . . .
1.3.6 Defining Antitrust Markets . . . . . . . . . . . . . . . . . . .
1.3.7 Simulating Merger Effects With Known Demand Parameters
1.4 Gotchas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Market Definition . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Log-Linear Demand . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 LA-AIDS Demand . . . . . . . . . . . . . . . . . . . . . . . .

7
7
8
9
10
12
14
15
18
22
25
26
27
28
28
29
29
30
31
31
32
32
32

2 The Cournot Quantity Game
2.1 The Game . . . . . . . . . . . . . . .
2.1.1 The Mathematical Model . .
2.2 Calibrating Model Demand and Cost
2.3 Simulating Merger Effects . . . . . .
2.3.1 Summarizing Results . . . . .

33
33
34
34
35
35

2

. . . . . . .
. . . . . . .
Parameters
. . . . . . .
. . . . . . .

. . .
. . .
. .
. . .
. . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

2.3.2
2.3.3
2.3.4
2.3.5
2.3.6

Simulating Price Effects With Marginal Cost Efficiencies .
Simulating Price Effects With Capacity Constraints . . .
Excluding Products or Plants . . . . . . . . . . . . . . . .
Measuring Changes In Consumer Welfare . . . . . . . . .
Allowing For First-Mover Advantage . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

35
36
36
37
37

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

38
39
40
41
43
43
43
45
47

4 Other Tools
4.1 CMCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Generalized Pricing Pressure . . . . . . . . . . . . . . . . . . . . . .
4.3 HHI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49
49
50
51

II

52

3 Auction Models
3.1 2nd Price Auction with Capacity Constraints . . . . . .
3.1.1 The Game . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Calibrating Model Parameters . . . . . . . . . .
3.1.3 Simulating Merger Effects (experimental) . . .
3.2 2nd Score Auction with Differentiated Products . . . . .
3.2.1 The Game . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Calibrating Model Demand and Cost Parameters
3.2.3 Simulating Merger Effects . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Coordinated Effects

5 A Collusion Game with Bertrand Reversion as Punishment
5.1 The Game . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 The Incentive to Collude Under Grim Trigger . . . .
5.2 Comparing Incentives to Collude and Defect Under Grim
(experimental) . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .
. . . . .
Trigger
. . . . .

53
54
55
56

III Under The Hood

57

6 Getting Help

58

7 Modifying and Extending antitrust
7.1 The Bertrand Model . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 The Auction Models . . . . . . . . . . . . . . . . . . . . . . . . . . .

59
59
60

3

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 acess 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
antitrust_shiny function.
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 7.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.

4

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 packages’ 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 7.1 contain
examples illustrating how to use the function.

5

Part I

Unilateral Effects

6

1 The Bertrand Pricing Game
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

1.1 The Game
Suppose that there are K firms in
P a market, and that each of the k ∈ K firms
produces nk products.2 Let n =
nk denote the number of products sold by all
k∈K

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
1

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.
2
Throughout, we abuse the notation slightly by treating variables like K as both the set of firms
as well as the number of firms.

7

each product is produced using its own distinct constant marginal cost technology
ci , for all i ∈ n. As we will see, this assumption is necessary when information is
limited.

1.1.1 The Mathematical Model
k
Firm k ∈ K chooses the prices {pi }ni=1
of its products so as to maximize profits.
Mathematically, firm k solves:

max
n

n
X

k
{pi }i=1
i=1

ωik (pi − ci )qi ,

where ωik is the share of product i’s profits earned by firm k, so that

P

ωik ≤ 1.

k∈K

qi , the quantity sold of product i, is assumed to be a twice differentiable function of
all product prices.
Differentiating profits with respect to each pi yields the following first order conditions (FOCs):

∂pi ≡ ωik qi +

n
X
j=1

ωjk (pj − cj )

∂qj
=0
∂pi

for all i ∈ nk

which may be rewritten as

∂pi ≡ ωik ri +

n
X

ωjk rj mj ji = 0

for all i ∈ nk ,

j=1

where ri ≡

pi qi
n
P
pj qj

is product i’s revenue share, mi ≡

pi −ci
pi

is product i’s gross

j=1

margin, and ij ≡
product j.

∂qi pj
∂pj qi

is the elasticity of product i with respect to the price of

The FOCs for all products may be stacked and then represented using the following
matrix notation:
(r ◦ diag(Ω)) + (E ◦ Ω)0 (r ◦ m) = 0

8

(1.1.1)

rearranging yields
mBertrand = −{(E ◦ Ω)0−1 (r ◦ diag(Ω))} ◦

1
r

(1.1.2)

 11 ...
.. . .
where r and m are n-length vectors of revenue shares and margins, E =
. .

 ω11 ... ωn11n ...

.
.
.
is a n × n matrix of own- and cross-price elasticities, and Ω =
.. . . ..

1n

..
.



nn

is an

ωn1 ... ωnn

n × n matrix whose i, jth element equals the share of product j’s profits owned by
the firm setting product i’s price3 . In many cases, product i and j are wholly owned
by a single firm, in which cases the i, jth element of Ω 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 Ω must sum to 1. ‘diag’ returns the diagonal
of a square matrix and ‘◦’ is the Hadamard (entry-wise) product operator.
The solution to system 1.1.1 yields equilibrium prices conditional on the ownership
structure Ω. A (partial) merger is modeled as the solution to system 1.1.1 where Ω
is changed to reflect the change in ownership.

1.1.2 Adding Exogenous Capacity Constraints
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
k
Firm k ∈ K chooses the prices {pi }ni=1
of its products so as to maximize profits,
nk
subject to capacity constraints {ti }i=1 . Mathematically, firm k solves:

max
n

n
X

k
{pi }i=1
i=1

ωik (pi − ci )qi ,

subject to
qi ≤ t i ,

i = 1 . . . nk

3

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.
4
This section is based on the model described in Froeb et al. [2003, p. 51-55]

9

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 ∂pi ≤ 0 and qi − ti = 0, while in the latter ∂pi = 0
and qi − ti ≤ 0. Mathematically, these cases can be written as

max{∂pi , qi − ti } = 0,i = 1 . . . nk

(1.1.3)

1.2 Calibrating Model Demand and Cost Parameters
Although the functions listed in the “Bertrand” section of Table 7.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.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 7.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.1. For capacityconstrained models, equation 1.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 dqij is defined
as the percentage of all of i’s lost unit sales that switch to j due to a price increase

10

in product i, while the revenue diversion from product i to product j drij 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

dqij

=−
=−

drij = −
=−

∂qj
∂pi
∂qi
∂pi
ji qj

ii qi

(1.2.1)

∂pj qj
∂pi
∂pi qi
∂pi

ji (jj − 1)rj
jj (ii − 1)ri

(1.2.2)

Note that dqij , drij 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.
P
j dij ≤ 0). For all the models included in antitrust , we assume that i and j are
not complements
(dij ≥ 0) and for some demand models (i.e. AIDS) we will assume
P
that j dij = 0.
Although diversion ratios are not present in either equation 1.1.1 or 1.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.1 or 1.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-

11

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.

1.2.1 Linear Demand
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 ∈ n in the
market is given by

qi =αi +

X

βij pj for all i ∈ n,

j∈n

which may be written in matrix notation as

q =α + Bp,
where q ≥ 0, p > 0 are vectors of product quantities and prices, α 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:
pi
,
qi
pi
ij =βij ,
qj
ii =βii

ii < 0
ij ≥ 0

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

12

are more unknowns than equations and the demand parameters α, 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 α 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 n(n+3)
( n(n+1)
elements of B and n intercepts), which means that the system is
2
2
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
P
outside good is included, then j∈n dij < 0.8 . In other words, under symmetry and
homogeneity of degree 0, users may include a non-strategically priced outside good
5

By default, linear assumes diversion according to quantity share. Diversion according to quantity
sj
share assumes that dqij = 1−s
, where si , sj are the quantity share of i and j. As we will see,
i
this is the assumption underlying the Logit demand system.
6
See [von Haefen, 2002, pp. 283].
7
In fact, it turns out that only one element of B must be estimated.To see why, note that under
dij
symmetry, βjj = dji
βii . Hence, if βii is known, then the preceding equation indicates that all
the βjj s may be recovered. From here, the definition of diversion may be used to recover all the
βij s.
8
To see this, note:
X
βij < 0
(homogeneity of degree 0 with outside good)
i∈n

⇔βii +

X

βji < 0

(symmetry)

j6=i

⇔βii −

X

dij βii < 0

j6=i

⇔βii (1 −

X

dij ) < 0

j6=i

⇒

X

dij < 0

j∈n

where the last line follows since βii < 0 ⇒ 1 −

P

13

j6=i

dij > 0.

by simply allowing the rows of the diversion matrix to sum to less than zero. The
extent to which consumers substitute from
Pproduct i to the outside good may be
controlled by increasing the magnitude of j∈n dij .
By default, the calcSlopes method, 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
P
β
dij = − βji
, subject to the constraints that βij ≥ 0 for all i 6= j and j bij ≤ 0 for
ii
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

1.2.2 Log-Linear Demand
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 ∈ n in
the market is given by

log(qi ) =αi +

X

βij log(pj ) for all i ∈ n,

βii < 0

j∈n

which may be written in matrix notation as

log(q) =α + B log(p),
where q, p are vectors of product quantities and prices, α is a vector of product
specific demand intercepts and B is a matrix of slopes. This demand system yields
9

The CV method used to compute compensating variation checks to see if B is symmetric and
returns an error if it isn’t.

14

the following own- and cross-price elasticities:
ii =βii
ij =βij
As with linear demand, there are 2n equations but n(n + 1) unknown parameters,
which means the demand parameters α, 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 justidentified, which means that users must supply loglinear with prices, margins, and
quantities for all products in the market.

1.2.3 LA-AIDS Demand
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 ∈ n in the market is given by

ri =αi +

X

βij log(pj ) for all i ∈ n,

βii < 0

j∈n

which may be written in matrix notation as

r =α + B log(p),

10

In order for log-linear demand without income effects to be consistent with consumer choice
theory, either i) βij = 1 + βii , −1 6= βii ≤ 0 or ii) βij = 0, βii = −1 for all i, j ∈ 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), βij > 0 which in turn implies that β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 βii ≤ −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
LaFrance [1986] and von Haefen [2002] for more details.

15

where r, p are vectors of product revenue shares and prices, α is a vector of productspecific demand intercepts and B is a matrix of slopes11 .
The LA-AIDS model yields the following own- and cross-price elasticities:
ii = − 1 +
ij =

βii
+ ri (1 + ),
ri

βij
+ rj (1 + ),
ri

ii < 0
ij ≥ 0

where  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 n(n+3)
unknown
2
n(n−1)
demand parameters ( 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 , the market elasticity. Roughly speaking,  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  is a
parameter whose value is not a function of product prices.14 While in some cases 
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 .
The calcSlopes method, called by the aids function to calibrate the AIDS parameters uses a minimum distance algorithm to find the  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 dij = − βji
, and iii) the market elasticity (if supplied using
ii
11

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.
12
If the ‘diversion’ argument to aids is missing, aids assumes diversion according to revenue share.
13
In fact, it turns out that only one element of B must be estimated.To see why, note that under
d
symmetry, βjj = dij
βii . Hence, if βii is known, then the preceding equation indicates that all
ji
the βjj s may be recovered. From here, the definition of diversion may be used to recover all the
βij s.
14
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.

16

the ‘mktElast’ argument). The βii s are recovered from the fact that
customers must switch to a product included in the model.

P

j

dij = 0;

If only a single product’s own-price elasticity and  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 α. 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.
Nested LA-AIDS
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 × k matrix of revenue diversions.
Alternatively, users can place the n products into H ≥ 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 H(H−1)
nesting parameters, where each
2
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 H(H−1)
products.18
2
15

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,  (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.
16
No function in antitrust currently permits a hierarchy of nests.
17
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.
18
Note that these margins are in addition to the margin information that may be necessary to

17

1.2.4 Logit Demand
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 ∈ n is given by

exp(Vi )
si = P
,
exp(Vk )
k∈n

where si is product i’s quantity share and Vi is the (average) indirect utility that
a consumer receives from purchasing product i. We assume that Vi takes on the
following form

Vi =δi + αpi ,

α < 0.

The Logit demand system yields the following own- and cross-price elasticities:
ii =α(1 − si )pi
ij = − αsj pj
Logit demand has n + 1 parameters to estimate (n δs and α) 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 α that best satisfies all the FOCs for which there are
data. The δ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 si sum to 1. If the shares sum to 1, then no outside good is included and
by default δ1 is normalized to 0.19 Otherwise, an outside good is included whose δ
19

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 δs can be
separately identified. Users can control which product’s δ is normalized to 0 by setting logit’s
‘normIndex’ argument equal to the index (position) of the desired product.

18

is normalized to P
0, price is set equal to ‘priceOutside’ (default 0), and whose share
si .20
equals s0 = 1 −
i∈n

Logit With Capacity Constraints
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∂qi
merger equilibrium, if product i is capacity constrained then ∂p
= 0 for all j ∈ n.
j
This condition implies that an estimate of the price coefficient α may be obtained by
starting with the FOCs in equation 1.1.1, deleting all rows pertaining to a capacityconstrained 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.
Nested Logit
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 ≥ 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 ∈ H is given by

20

Essentially ‘priceOutside’ controls how the mean valuations are scaled. Scaling is particularly
important when computing compensating variation. See Werden and Froeb [1994, p.412] for
further details.
21
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.

19

si =si|h sh ,
si|h

exp( σVhi )
,
=P
exp( σVhk )

1 ≥ σh ≥ 0

k∈h

exp(σh Ih )
,
sh = P
exp(σl Il )

Ih = log

X
k∈h

l∈H


exp

Vk
σh


.

We assume that Vi takes on the following form

α ≤ 0.

Vi =δi + αpi ,

The Nested Logit demand system yields the following own- and cross-price elasticities:
1
ii =[1 − si + (
− 1)(1 − si|h )]αpi ,
σh
(
−[sj + ( σ1h − 1)sj|h ]αpj , if i, j are both in nest h.
ij =
−αsj pj ,
if i is not in nest h but j is.
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 H(H−1)
nesting parameters,
2
only H nesting parameters must be calibrated. By default, calcSlopes constrains
all the nesting parameters to be equal to one another, σh = σ for all h ∈ H.
This reduces the number of parameters that need to be estimated to n + 2 (n δs,
α, σ) 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 ∈ H
contains nh > 1 products, then at least one product margin from nest h must be
supplied.

20

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.
(Nested) Logit With Unobserved Outside Share
The Bertrand model with (nested) Logit demand and unobserved outside share may
be implemented using the (logit.nests.alm) logit.alm function.
The Bertrand model with Logit demand described above assumes that when an
outside good is included, its share is known. In some instances, however, users may
find it difficult to reliably estimate the share of the outside good. The logit.alm
function attempts to circumvent this issue by treating the share of the outside good
as a nuisance parameter and using additional margin information to estimate that
parameter.22
logit.alm accomplishes this by noting that the probability that a consumer purchases product i ∈ n can be rewritten as
si =si|I sI ,
exp(Vi )
si|I = P
,
exp(Vk )
k∈I

sI =1 − s0 ,
where si|I is product i’s quantity share, conditional on a product being chosen from
the set of inside goods I. This implies that
X

sk|I =1,

k∈I

As in the Logit Model, we assume that Vi takes on the following form

α ≤ 0.

Vi =δi + αpi ,

Likewise, the own- and cross-price elasticities may be rewritten as
22

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.

21

ii =α(1 − si|I (1 − s0 ))pi
ij = − αsj|I (1 − s0 )pj
This version of the Logit model has n + 2 parameters to estimate (n δs, α, and s0 )
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 values for α and s0 that best satisfy all
the FOCs for which there are data. The δs are then recovered from the choice
probabilities.
Similar logic may be used to formulate the nested logit with unobserved outside
share. Under the assumption that the outside good is the sole member of its own
nest H0 , the probability that a consumer purchases product i in nest h ∈ H \ H0
can be rewritten as

si =si|h sh sI ,
sI =1 − s0 ,
where si|h and sh are defined in the section on Nested Logit demand, and sI is the
unobserved probability that an inside good is selected. This version of the nested
Logit model has n+h+2 parameters to estimate (n δs, h nesting parameters, α, and
s0 ) and up to 2n equations with which to estimate them (up to n complete FOCs
and n choice probabilities).

1.2.5 CES Demand
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
23

Formally, each consumer chooses the product i ∈ n that yields the maximum utility Ui = ln(δi qi )+
α ln(q0 ) + i , subject to the budget constraint y = pi qi + q0 . Here, qi is the amount of product
i consumed by a consumer, δi is a measure of product i’s quality, q0 is the amount of the
numeraire, y is consumer income, and i are random variables independently and identically
distributed according to the Type I Extreme Value distribution.

22

The assumptions underlying CES demand imply that the probability that a consumer purchases product i ∈ n is given by

Vi
ri = P
Vk

for all i ∈ n,

k∈n

where ri is product i’s revenue share and Vi is the (average) indirect utility that
a consumer receives from purchasing product i. We assume that Vi takes on the
following form

Vi =δi p1−γ
,
i

γ > 1.

The CES demand system yields the following own- and cross-price elasticities:
ii = − γ + (γ − 1)ri
ij =(γ − 1)rj
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 δs and γ)
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 γ that best satisfies all the FOCs for which
there are data. The δ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 ri sum to 1. If the shares sum to 1,
then no outside good is included and by default δ1 is normalized to 1.24 Otherwise,
an outside good P
is included whose price and δ are normalized to 1, and whose share
equals r0 = 1 −
ri .
i∈n
24

It can be shown that when there is no outside option in the CES model, not all of the δs can be
separately identified. Users can control which product’s δ is normalized to 1 by setting ces’s
‘normIndex’ argument equal to the index (position) of the desired product.

23

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.
Nested CES
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 ≥ 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 ∈ H is given by

ri =ri|h rh ,
Vi
ri|h = ,
Ih

Ih =

X

Vk

k∈h

1−γ
1−σh

I
rh = h
P
l∈H

1−γ
1−σl

.

Il

We assume that Vi takes on the following form

h
Vi =δi p1−σ
,
i

25

1-‘shareInside’ equals the proportion of the representative consumer’s income that is spent on all
other products (i.e. the numeraire).
26
CES assumes diversion according to revenue rather than quantity share.
27
No function in antitrust currently permits a hierarchy of nests.

24

where σh > γ > 1 for all nests h ∈ H. The Nested Logit demand system yields the
following own- and cross-price elasticities:
ii = − σh + (γ − 1)ri + (σh − γ)ri|h ,
(
(γ − 1)rj + (σh − γ)rj|h if i, j are both in nest h.
ij =
(γ − 1)rj ,
if i is not in nest h but j is.
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 σh = σ for all h ∈ H. This reduces the number of parameters that need to
be estimated to n + 2 (n δs, α, σ) 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 ∈ H contains nh > 1 products, then at least one product
margin from nest h must be supplied.

1.2.6 Marginal Costs
If all n product margins are observed, estimating marginal costs can be accomplished
i
by noting that mi ≡ pip−c
and using observed prices to calculate pre-merger marginal
i
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:
0
m̂pre = −((Epre
◦ Ωpre )−1 rpre ) ◦ (

1
),
rpre

where Epre , rpre are elasticities and revenues calculated from the assumed demand
model, evaluated at observed prices.

25

The main advantage of using m̂pre over m is that not all of the product margins
must be observed in order to estimate marginal costs.28 Once 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 + ∆mci ), 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 capacityconstrained products cannot be recovered from the first-order conditions.30 Therefore, marginal costs for capacity-constrained products must be recovered from usersupplied margins and prices.
The calcMC method may be used to calculate pre- and post-merger marginal costs.

1.3 Simulating Merger Effects
For most of the demand systems included in antitrust’s Bertrand model, a closedform 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.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
28

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 = m̂pre .
29
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%.
30
To see why, note that equation 1.1.3 implies that if product i is capacity constrained pre-merger,
then ij = 0 for all j. Since ij is always multiplied by the margin of product i, that margin
does not appear in the FOCs and is therefore not identified.
31
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

26

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.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. Froeb et al.
[2003, p. 54] suggests replacing equation 1.1.3 with
q
F OCi + qi − ti + F OCi2 + (qi − ti )2 = 0,i = 1, . . . , n
which has the same roots as equation 1.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 7.2 provides a more extensive list of methods.

1.3.1 Summarizing Results
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 preand post-merger equilibrium prices, revenue shares, weighted average compensating
marginal cost reduction, and compensating variation.33 Quantity shares rather than
products and ii) marginal costs are constant. The primary exception to this is linear demand.
linear’s calcPrices method employs constrOptim rather than BBsolve.
33
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

32

27

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.

1.3.2 Plotting Results (experimental)
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.

1.3.3 Simulating Price Effects With Efficiencies
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.
only if the user supplied pre-merger prices. Compensating variation is only reported for the
Linear model if ‘symmetry’ equals TRUE.
34
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.

28

1.3.4 Excluding Products From the Market (experimental)
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.

1.3.5 Measuring Changes In Consumer Welfare
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 7.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.

35

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.

29

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

1.3.6 Defining Antitrust Markets
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, p. 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
36
37

See Willig [1976].
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, p. 9]
The Guidelines describe a similar test for geographic market definition [U.S Department of
Justice and the Federal Trade Commission, 2010, p. 13]

30

(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, p. 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.2.2)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).

1.3.7 Simulating Merger Effects With Known Demand Parameters
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 7.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.

1.4 Gotchas
This section alerts users to some instances where antitrust may produce seemingly
surprising results, and provides some potential explanations for these behaviors.
38

The Guidelines do not provide a formula for revenue diversion.

31

1.4.1 Market Definition
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.

1.4.2 Log-Linear Demand
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 mi = 1ii = β1ii . Since the Bertrand model described earlier
assumes constant marginal costs, a constant 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.

1.4.3 LA-AIDS Demand
As discussed earlier, aids attempts to calibrate , 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 co-linear. Issues arising from co-linearity 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.

32

2 The Cournot Quantity Game
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.1

2.1 The Game
Suppose that there are K firms in a market, each producing a subset Jk of J products.
Further, suppose that that
P each of the k ∈ K firms manufactures its Jk products
at nk plants. Let n = k∈K nk 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,
1

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.

33

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.

2.1.1 The Mathematical Model
Firm k ∈ K chooses product output at each plant {qjr }j∈jk , so as to maximize profits.
r∈nk

Mathematically, firm k solves:

max ,
r

X

{qj }j∈J ,
k j∈J ,
r∈nk r∈nk
k

pj qjr −

X

cr (q r )

r∈nk

subject to
qjr ≥ 0,
X
qr =
qjr
j∈Jk

where pj , the price sold of product i, is assumed to be a twice differentiable function
∂p
of all firm quantities with ∂qrj < 0 for all plants and firms . Likewise, additively
j

separable plant variable costs cr assumed to be twice differentiable with

∂cr
∂qjr

>0.

Differentiating profits with respect to each qjr yields the following first order conditions (FOCs):

∂qjr ≡ pj +

X
l∈nk

qjl

∂pj
∂cr
−
=0
∂qjr
∂qjr

for all j ∈ Jk , r ∈ nk

(2.1.1)

2.2 Calibrating Model Demand and Cost Parameters
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.

34

Currently, cournot contains two different ways to specify plant costs. First, users
can set the ‘cost’ option equal to a n-length character vector
values are either
P whose
∂cr
r
equal to “linear” for linear marginal costs ( ∂qr = 0.5γr j∈nr qj ) or “constant” for
j

r

∂c
constant marginal costs ( ∂q
r = γr ) . When the ‘cost’ option is employed, cournot’s
j

calcSlopes method uses observed costs (implied by predicted margins and prices)
and prices to calibrate plant-level cost parameters γ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,
demand is either linear (pj =
P
P cournot allows users to specify that product
bj +aj k∈n qjk ) or log-linear (ln(pj ) = bj +aj ln( k∈n qjk )) 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.

2.3 Simulating Merger Effects
2.3.1 Summarizing Results
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.

2.3.2 Simulating Price Effects With Marginal Cost Efficiencies
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

35

that decrease the incremental costs of some of the merging firms’ products.2
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
plants’ pre- and post-merger marginal costs3 .
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.

2.3.3 Simulating Price Effects With Capacity Constraints
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”).

2.3.4 Excluding Products or Plants
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
2

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.
3
Users will also have to specify plant-specific variable costs as well using the ‘vcfunPre’ and ‘vcfunPost’ arguments.

36

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’.

2.3.5 Measuring Changes In Consumer Welfare
The Cournot model has a CV method which may be used to calculate the change in
consumer surplus from a merger.

2.3.6 Allowing For First-Mover Advantage
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)
chooses 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).

37

3 Auction Models
Currently, antitrust has the ability to calibrate model parameters and simulate
the effects of a merger in a:
ˆ 2nd price procurement auction where the buyer sets a reserve price and capacity constrained bidders offer a single unit of a homogeneous product,
ˆ 2nd score procurement auction with differentiated products, and a
ˆ 1st score procurement auction with differentiated products.

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:
ˆ the dominant strategy in a 2nd price auction is for each seller to offer their
product at marginal cost,
ˆ the dominant strategy for a seller with a portfolio of products is to only offer
the buyer the product in their portfolio with the lowest cost,
ˆ the winner of the 2nd price auction is always the product with the lowest cost,
ˆ the incremental surplus of the winning product, defined as the difference in
cost between the least costly and next-most costly products, goes entirely to
the seller,
ˆ absent efficiencies, horizontal mergers do no affect total surplus only
consumer surplus.

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

38

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:
ˆ the dominant strategy in a 2nd score auction is for each seller to offer their
product at marginal cost,
ˆ the dominant strategy for a seller with a portfolio of products is to only offer
the buyer the product in their portfolio with the highest surplus,
ˆ the winner of the 2nd price auction is always the product with the highest
surplus,
ˆ the incremental surplus of the winning product, defined as the difference in
surplus between the highest scored and next-most highest scored products,
goes entirely to the seller,
ˆ absent efficiencies, horizontal mergers do no affect total surplus only
consumer surplus.

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 NashBertrand pricing game where buyers purchase only a single product.1 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

3.1 2nd Price Auction with Capacity Constraints
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.2 .
This auction model may be executed using antitrust’s auction2nd.cap function.

1
2

See Miller [2014] for further details.
Waehrer and Perry [2003] for further details.

39

3.1.1 The Game
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 ∈ K uses constant marginal cost technology ck ≥ 0 to produce the product.3
Likewise, suppose that the cost to the buyer of self-supply is c0 . 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
(c, 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 tk ≥ 0 has a marginal cost ck equal to the minimum of tk cost
Pdraws
tk as
from F (c). Define t = (t1 , . . . , tK ) as the vector of firm capacities and t̄ =
k∈K

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.4 The buyer’s reserve reflects the fact that
the buyer has the ability to self-supply at cost c0 , and so is only willing to purchase
the product from a bidder whose bid is is less than c0 .
It can be shown that in a 2nd price auction, each firm has a weakly dominant strategy
to bid it’s marginal cost. Waehrer and Perry [2003] also show that
ˆ the probability that firm k’s cost draw is less than c, equals

G(c; tk ) ≡ 1 − [1 − F (c)]tk ,

(3.1.1)

ˆ the probability that firm k wins the auction for a given reserve price r, is

sk (r; t̄) ≡

tk
G(r; t̄),
t̄

(3.1.2)

ˆ the probability that firm k wins conditional on I, the event that some firm
wins, is

sk|I (t) ≡
3

tk
,
t̄

(3.1.3)

Throughout, we abuse the notation slightly by treating variables like K as both the set of firms
as well as the number of firms.
4
If the second lowest bid is greater than the reserve price, the winner receives the reserve.

40

ˆ firm k’s expected producer surplus is
Z r
Πk (r; t) ≡
{[1 − F (c)]t̄−tk − [1 − F (c)]t̄ }dc,

(3.1.4)

c

ˆ firm k’s expected cost is

Z
E[ck ] ≡ tk

r

cf (c)[1 − F (c)]t̄−1 dc,

(3.1.5)

c

ˆ firm k’s expected price is

E[pk ] = Πk (r; t) + E[ck ]

(3.1.6)

The buyer sets her reserve price r so as to minimize her expected costs (EC):

EC(r, t) = c0 P r(min{ck } > r) + p(r, t)P r(min{ck } ≤ r)
k∈K

k∈K

= c0 (1 − G(r; t̄)) + p(r, t)G(r; t̄)
where p(r, t) is the expected price paid by the buyer conditional on the buyer purchasing from some firm, i.e.
P
Rr
Πk (r; t)
c cdG(c; t̄)
k∈K
+
p(r, t) ≡
G(r; t̄)
G(r; t̄)
which is minimized at
P
∗

c0 = r +

([1 − F (r∗ )]t̄−tk − [1 − F (r∗ )]t̄ )

k∈K

t̄f (r∗ )[1 − F (r∗ )]t̄−1

(3.1.7)

Note that this last equation implies that the buyer has an incentive to set its optimal
reserve below its self-supply cost.

3.1.2 Calibrating Model Parameters
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 c0 , and if not observed, the auction’s reserve price.

41

Selecting a Cost Distribution
It can be shown that under this models’ 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

Uniform
Exponential
Weibull
Gumbel
Frechet

[c, c]
[0, ∞)
[0, ∞)
(−∞, ∞)
[Location, ∞)

Location
Parameter

Scale
Parameter

X
X

X
X
X
X

Shape
Parameter

X
X

# Params
2
1
2
2
3

Table 3.1: Five Cost Distributions that satisfy this model’s assumptions. An ‘X’
indicates a parameter that must be calibrated.
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.
Identifying Moments
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 pˆk and cˆk denote firm k’s ex ante price and
marginal cost, conditional on k winning. Equations 3.1.5, 3.1.6, and 3.1.2 together
k]
k]
imply that pˆk = sE[p
and that cˆk = sE[c
Letting pk and ck denote firm k’s average
k (r;t̄)
k (r;t̄)
price and marginal cost yields the following moments:
pk = pˆk
ck = cˆk
If in addition, s0 , the proportion of buyers who opt to self-supply is observed, then
the following moment is also employed:
s0 = 1 − G(r; t̄)

42

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).

3.1.3 Simulating Merger Effects (experimental)
Summarizing Results
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.
Simulating Price Effects With Efficiencies
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.

3.2 2nd Score Auction with Differentiated Products
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 ? and Miller [2014]. This auction model may be executed using
antitrust’s auction2nd.logit function.

3.2.1 The Game
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
S Jk , k ∈ K variants of the
product, or in supplying the product herself. Let J = K
k Jk denote the set of all

43

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 Jk , k ∈ K uses constant marginal cost technology
cJk ≥ 0 to produce the product.5
Let the utility that a buyer receives from product j ∈ J with offer pj equal to
Vj (pj ) =V j (pj ) + j
V j (pj ) =δj + αpj ,

α < 0,

where, V j represents an index of “vertical” quality differentiation that decomposed
into a non-offer component δj and an offer component αpj . In addition, 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.6 We will also assume
that at the start of the auction, 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 zA = maxk∈A Vk (ck ) denote the the maximum surplus available from any product
k ∈ A ⊆ J. It can be shown that the following must hold when firm k ∈ K wins
with variant j ∈ Jk
ˆ the probability that j wins is

sj ≡ 1 − P r(Vj < zk6∈Jk );

(3.2.1)

ˆ the expected price conditional on j winning is

E[pj |j wins] = cj + E[zJ |j wins] − E[zk6∈Jk |j wins];

(3.2.2)

5

Throughout, we abuse the notation slightly by treating variables like K as both the set of firms
as well as the number of firms.

6

Equivalently, −

Vj (pj )
α

is a random variable with location −

44

V j (pj )
α

and scale − α1 .

ˆ subtracting cj from both sides of 3.2.2 yields the expected profit margin conditional on j winning:

E[mj |j wins] =E[zJ |j wins] − E[zk6∈Jk |j wins]

(3.2.3)

Merger analysis
Suppose that firm k ∈ K acquires a portfolio of products Jr produced by firm
r ∈ K.7
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 the 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 ∈ Jk ∪ Jr win the
auction is:

E[∆pj |j wins] = E[mpost
|j wins] − E[mpre
j
j |j wins].

(3.2.4)

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.2.4:

E[∆p] =

X

sj E[∆pj |j wins]

(3.2.5)

j∈Jk ∪Jr

where sj is given by 3.2.2

3.2.2 Calibrating Model Demand and Cost Parameters
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’
7

Note that k could either acquire r’s entire product line or just a subset.

45

distribution of valuations (F ), the constant marginal costs (cj ) and the components
of a buyer’s mean valuation (i.e. the δj s and α).
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

exp(V j (cj ))
sj = P
exp(V k (ck ))

(3.2.6)

k∈J

ˆ the expected value of the maximum for products in A ⊆ J is
X
E[zA ] = −α−1 log
exp(V j (cj ))

(3.2.7)

j∈A

First, note that for product h 6= j, equation 3.2.6 indicates
log sj − log sk = V j (cj ) − V h (ch )

(3.2.8)

= δj − δh − α(cj − ch )

(3.2.9)

Equation 3.2.6 implies that at least one of the Vj 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.8
Next, substituting equation 3.2.7 into equation 3.2.3 yields the following closed form
expression for margins:


E[mj |Vj (cj ) > zk6∈Jk ] = −

α

1
P
r∈Jk

sr


log 


1−

1
P

sr




(3.2.10)

r∈Jk

Equations 3.2.9 and 3.2.10 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).
8

Specifically, suppose k is the numeriare product, and that Vk = δk + αpk . 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.

46

For example, suppose that the margin for product j ∈ Jk is known. Equation 3.2.10
implies that α 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 α, in conjunction with equation
3.2.10 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.2.9,
may then be used to estimate each products’ non-offer mean valuations (δ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.9 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 α that best satisfies all the
margin equations (3.2.10) for which there is data.

3.2.3 Simulating Merger Effects
Summarizing Results
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 methods ‘revenue’
and ‘levels’ arguments.
Simulating Price Effects With Efficiencies
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.

9

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 Vj 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 Vj into its price and non-price components.

47

Excluding Products From the Market
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.
Measuring Changes In Consumer Welfare
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.
Calibrating Unobserved Outside Share
auction2nd.logit.alm uses the calibration strategy similar to the one discussed in
section 1.2.4 to calibrate the unobserved share of the outside good.

48

4 Other Tools
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.

4.1 CMCR
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.
cmcr.bertrand may be used to compute CMCR under the assumption that the
merging parties are playing the Bertrand pricing game described earlier. The formula
for CM CRBertrand in matrix notation is:
CM CRBertrand =(mpost − mpre ) ◦

1
,
1 − mpre

where mpre is a vector of observed pre-merger product margins for each of the merging parties’ products. mpost , post-merger margins evaluated at pre-merger prices,
may be found using
−1

mpost =(Bpost )



diag(Ωpost )
◦ Bpre mpre
diag(Ωpre )

q
Bs =Dpre
◦ ((1/ppre )p0pre ) ◦ Ωs ,


s ∈ {pre, post},

q
where Dpre
is a matrix of pre-merger quantity diversion ratios for the merging parties’
products whose i, jth element is the quantity diversion from product i to product
j, ppre is a vector of pre-merger prices for the merging parties’ products, and Ωs is
a matrix of either pre- or post-merger ownership shares (typically equal to 1). Note

49

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 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 CM CRCournot is:
CM CRCournot =

2si sj
,
(si + sj ) − (s2i + s2j )

where i and j index the merging parties products and  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
si
assumption that each firm produces a single product, it can be shown that  = m
i
for all products i. Hence, only a single margin is needed to recover an estimate of .
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.

4.2 Generalized Pricing Pressure
Another measure included in antitrust is Generalized Pricing Pressure (GePP).1
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
GeP P = (Bpost mpost )/diag(Ωpost ) − (Bpre mpre )/diag(Ωpre )
where Bpre , Bpost and mpre are the same as in CMCR,and mpost 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
GeP Pi > 0.
1

GePP (Jaffe and Weyl [2012]) extends Upward Pricing Pressure (UPP) – introduced in Farrell
and Shapiro [2010]– to accommodate multi-product merging firms.

50

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.

4.3 HHI
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, p. 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.

51

Part II

Coordinated Effects

52

5 A Collusion Game with Bertrand
Reversion as Punishment
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:
ˆ how willing a firm is to sacrifice short term for long term gain,
ˆ the ease with which a firm can implement a mutually beneficial strategy,
ˆ the ease with which a firm can observe its rivals’ response,
ˆ the costs associated with punishing a defecting rival.

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.

53

5.1 The Game
Suppose that there are K firms in
P a market, and that each of the k ∈ K firms
nk denote the number of products sold by all
produces nk products.1 Let n =
k∈K

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:

max

{pkt }∞
t=1

∞ X
n
X

τit−1 Πbikt ,

t=1 i=1

where pkt is the vector of prices set on all of k’s products in period t; 0 < τ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 Πbikt
is the surplus earned by firm k on product i in period t. Mathematically,
Πbikt = ωik (pit − ci )qit ,
where as in the Bertrand Model,P
ωik is the share of product i’s surplus earned by
ωik ≤ 1. qit , the quantity sold of product i at
firm k absent collusion, so that
k∈K

time t, is assumed to be a twice differentiable function of all product prices. Note
that ωik and marginal cost ci are assumed to be constant over time.
Further, suppose that some subset of firms Z ⊆ K wish to collude such that each
firm z ∈ Z selects a subset Jz ⊆ nz 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.2 Let Πcjzt denote the surplus that firm z ∈ Z earns
from selling product j ∈ Jz at the jointly surplus maximizing price in period t, and
let Πclzt denote the surplus that firm z earns from product l 6∈ Jz in period t. Note
that for a given product l 6∈ Jz , the profits that z earns on l under collusion (Πclzt )
will typically differ from the profits that z earns under Bertrand reversion (Πblzt ),
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
1

Throughout, we abuse the notation slightly by treating variables like K and nk as both the set
of firms as well as the number of firms.
2
Future versions of antitrust may extend this model to allow for side payments.

54

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 Πdjzt
denote the surplus that firm z ∈ 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.

5.1.1 The Incentive to Collude Under Grim Trigger
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:

∞ X
n
X

τjt−1 Πbjzt ≥

t=1 j=1

|

{z

collusion surplus

}

n
X

Πdjzt

+

∞ X
n
X

j=1

t=2 j=1

| {z }

|

defection surplus

τjt−1 Πbjzt

{z

reversion surplus

}

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
n
n
n
X
X
X
Πcjzt
τj Πbjzt
d
≥
Πjzt +
1 − τj
1 − τj
j=1

j=1

j=1

55

(5.1.1)

5.2 Comparing Incentives to Collude and Defect Under
Grim Trigger (experimental)
Inequality (5.1.1) indicates that five pieces of information must be identified in order
to determine if firm z ∈ Z has an incentive to collude under the model here: the
set of products involved in the Z coalition, the discount rates τj for all products
produced by firms with at least one product in the coalition (i.e for each j ∈ nz );
the surplus firm z earns from each product j ∈ nz from colluding (Πcjzt ) in period
t, the surplus firm z earns from each product j ∈ nz upon defecting from the Z
coalition (Πdjzt ) in period t, and the period t surplus a firm earns from each product
j ∈ nz after all firms have “punished” by reverting to Bertrand pricing Πbjzt .
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 τj to the ‘discount’ argument. This method then
computes ‘preMerger’ product profits Πcjzt , Πdjzt , and Πbjzt 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 (5.1.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.

56

Part III

Under The Hood

57

6 Getting Help
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 antitrustclass, 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.

58

7 Modifying and Extending antitrust
antitrust was written using R’s S4 object-oriented class system. Figure 7.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.

7.1 The Bertrand Model
Figure 7.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:
1. Calls 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.
2. Calls calcSlopes. This method calibrates the demand parameters associated
with a particular demand system.
3. Calls 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,

59

4. Returns the class instance.
5. Calls 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,
6. Returns the class instance.
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.

7.2 The Auction Models
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:
1. Calls calcSellerCostParms. This method calibrates the the parameters of
the seller cost distribution.
2. Calls calcBuyerValuation. This method calibrates the cost to the buyer of
self supply.
3. Calls 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.
4. Calls 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.
5. Calls 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.
6. Returns the class instance.

60

61

O
O
A
A
A
A
A
A
A
A

PCAIDS
Nested PCAIDS
Logit
Logit – Unobserved Outside Share
Nested Logit
Capacity-Constrained Logit
Constant Elasticity
Nested Constant Elasticity

Linear, Log-Linear
2nd price, Logit
2nd price, homoegeneous single unit
any
any
any
any

pcaids

pcaids.nests
logit
logit.alm
logit.nests
logit.cap
ces
ces.nests
sim

cournot

auction2nd.logit
auction2nd.cap

cmcr.bertrand
cmcr.cournot
upp.bertrand

HHI

‘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.

O

AIDS

aids

Cournot
1+

2+
1+
2+
2+
2+
1+
2+

1

O
1+

M

M

O

O

O

O
O

Bertrand
1+
A
2+

Diversion

Margin

Auctions
1+
1+
Other Tools
M
M
1
M
M

A
A

Linear
Log-linear

linear
loglin

Price

Model

Name

A

M

A

A

A
A
A
A
A
A
A

A

A

A
A

Quantity/
Share

Table 7.1: antitrust functions and their information requirements

A

A

Capacity

Werden [1996]
Froeb and Werden [1998]
Farrell and Shapiro [2010]
Jaffe and Weyl [2012]
Salop and O’Brien [2000]

Miller [2014]
Waehrer and Perry [2003]

von Haefen [2002]
von Haefen [2002]
LaFrance [2004]
Epstein and Rubinfeld [2004]
LaFrance [2004]
Epstein and Rubinfeld [2004]
LaFrance [2004]
Epstein and Rubinfeld [2004]
Werden and Froeb [1994]
Werden and Froeb [1994]
Werden and Froeb [1994]
Froeb et al. [2003]
Sheu [2011]
Sheu [2011]

Cite

Name
CV
calcMC
calcMargins
calcPrices
calcPriceDelta
calcProducerSurplus
calcProducerSurplusGrimTrigger
calcShares
cmcr
HypoMonTest
diversion
diversionHypoMon
elast
hhi
upp
plot
summary

Description
Compute compensating variation
Compute pre- and post-merger (constant) marginal costs
Compute pre- and post-merger equilibrium margins
Compute pre- and post-merger equilibrium prices
Compute proportional change in equilibrium prices
Compute pre- and post-merger producer surplus
Compare pre- and post-merger surplus from colluding to surplus from defectin
Compute pre- and post-merger equilibrium shares
Compute compensating marginal cost reduction (CMCR)
Use the Hypothetical Monopolist Test to
determine whether a specified set of products satisfy a SSNIP
Compute pre- and post-merger diversion matrices
Compute the diversion matrix under a Hypothetical Monopolist Test
Compute pre- and post-merger elasticity matrices
Compute HHI using pre- and post-merger equilibrium shares
Compute net Upwards Pricing Pressure (UPP)
Plot pre- and post-merger demand, marginal costs, and equilibria
Summarize result

Table 7.2: Selected antitrust methods. While all of the above methods are defined
for the Bertrand Class and its child classes, not all of these methods are
currently defined for the Auction2ndCap class.

62

Table 7.3: Compensating variation formulas
Demand
Linear
AIDS

Formula
α (ppost − ppre ) + .5p0post Bppost − .5p0pre Bppre
0
α (log ppost − log ppre ) + .5 log p0post B log ppost!− .5 log p0pre B log ppre
0

P

1
1
1+α 1−γ

CES

log

i∈n

δi p1−γ
i,post

P
i∈n

Nested CES

1
1
1+α 1−γ

 h∈H
log 


i∈h

P

P

h∈H

i∈h

P
1
α

Logit

log


P

Nested Logit

1
α

P

proportion

δi p1−γ
i,pre


P

!

1−γ
1−σh

!

1−γ
1−σh

1−σ

h
δi pi,post

1−σ
δi pi,preh

exp(δi +αpi,post )






proportion

!

i∈n

P

Reports
level
proportion

level

exp(δi +αpi,pre )

i∈n

P

exp(

 h∈H
log 

i∈h

P

P

h∈H

i∈h

δi +αpi,post
σh

δ +αp
exp( i σ i,pre
h

!σ
)
!σ
)

h



h




level

Note: The ‘Reports’ column indicates whether the compensating variation formula returns
compensating variation in levels (e.g. dollar amounts) or as a proportion of aggregate income.

63

Figure 7.1:

64

Bibliography
Peter Davis. Coordinated effects merger simulation with linear demands. Competition Commission, 2006.
Peter Davis and Cristian Huse. Estimating the ‘coordinated effects’ of mergers. May
2009.
Roy J. Epstein and Daniel L. Rubinfeld. Merger simulation with brand-level margin
data: Extending pcaids with nests. The B.E. Journal of Economic Analysis &
Policy, advances.4(1):2, 2004. URL http://econpapers.repec.org/RePEc:bpj:
bejeap:v:advances.4:y:2004:i:1:n:2.
Joseph Farrell and Carl Shapiro. Antitrust evaluation of horizontal mergers: An
economic alternative to market definition. The B.E. Journal of Theoretical Economics, 10(1):1–39, 2010. doi: 10.2202/1935-1704.1563.
Luke Froeb, Steven Tschantz, and Philip Crooke.
Bertrand competition with capacity constraints: mergers among parking lots.
Journal
of Econometrics, 113(1):49 – 67, 2003.
ISSN 0304-4076.
doi: 10.
1016/S0304-4076(02)00166-5. URL http://www.sciencedirect.com/science/
article/pii/S0304407602001665.
Introduction to statistics and
econometrics in ligitation support.
Luke M. Froeb and Gregory J. Werden. A robust test for consumer welfare enhancing mergers among sellers of a homogeneous product. Economics Letters, 58(3):
367 – 369, 1998. ISSN 0165-1765. doi: DOI:10.1016/S0165-1765(97)00287-5.
URL http://www.sciencedirect.com/science/article/B6V84-3T51RH8-3Y/
2/6610d482809009001e3c4e8533d32644.
Sonia Jaffe and Eric G. Weyl. The first-order approach to merger analysis. SSRN
eLibrary, 2012.
Jeffrey T. LaFrance. The structure of constant elasticity demand models. American
Journal of Agricultural Economics, 68(3):543–552, 1986.
Jeffrey T. LaFrance. Integrability of the linear approximate almost ideal demand
system. Economics Letters, 84(3):297 – 303, 2004. ISSN 0165-1765. doi: 10.1016/j.

65

econlet.2003.12.019. URL http://www.sciencedirect.com/science/article/
pii/S0165176504000461.
Nathan H Miller. Modeling the effects of mergers in procurement. International
Journal of Industrial Organization, 37:201–208, 2014.
Steven Salop and Daniel O’Brien. Competitive effects of partial ownership: Financial
interest and corporate control’. Antitrust L.J., 67:559–614, 2000.
Gloria Sheu. Price, quality, and variety: Measuring the gains from trade in differentiated products. January 2011.
U.S Department of Justice and the Federal Trade Commission. Horizontal merger
guidelines. Technical report, 2010.
Roger H. von Haefen. A complete characterization of the linear, log-linear, and semilog incomplete demand system models. Journal of Agricultural and Resource Economics, 27(02), December 2002. URL http://ideas.repec.org/a/ags/jlaare/
31118.html.
Keith Waehrer and Martin K. Perry. The effects of mergers in open-auction markets.
The RAND Journal of Economics, 34(2):287–304, 2003. ISSN 0741-6261.
Gregory J. Werden. A robust test for consumer welfare enhancing mergers among
sellers of differentiated products. The Journal of Industrial Economics, 44(4):pp.
409–413, 1996. ISSN 00221821. URL http://www.jstor.org/stable/2950522.
Gregory J Werden and Luke M Froeb. The effects of mergers in differentiated
products industries: Logit demand and merger policy. Journal of Law, Economics
and Organization, 10(2):407–26, October 1994. URL http://ideas.repec.org/
a/oup/jleorg/v10y1994i2p407-26.html.
Robert D. Willig. Consumer’s surplus without apology. The American Economic
Review, 66(4):pp. 589–597, 1976. ISSN 00028282. URL http://www.jstor.org/
stable/1806699.

66



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : Yes
Author                          : 
Create Date                     : 2018:06:09 23:40:42-04:00
Modify Date                     : 2018:06:09 23:50:19-04:00
PTEX Fullbanner                 : This is MiKTeX-pdfTeX 2.9.6211 (1.40.17)
Subject                         : 
XMP Toolkit                     : Adobe XMP Core 5.4-c006 80.159825, 2016/09/16-03:31:08
Format                          : application/pdf
Creator                         : 
Description                     : 
Title                           : 
Creator Tool                    : LaTeX with hyperref package
Metadata Date                   : 2018:06:09 23:50:19-04:00
Keywords                        : 
Producer                        : pdfTeX-1.40.17
Trapped                         : False
PTEX Fullbanner                 : This is MiKTeX-pdfTeX 2.9.6211 (1.40.17)
Document ID                     : uuid:d4b392e0-b7a9-4ef2-a516-311ef8f44dcf
Instance ID                     : uuid:4ce41722-bf1a-4eed-a668-5d2a24f83a55
Page Mode                       : UseOutlines
Page Count                      : 66
EXIF Metadata provided by EXIF.tools

Navigation menu