BertrandFunctions {antitrust}  R Documentation 
Calibrates consumer demand using either a Logit, CES, or AIDS demand system and then simulates the prices effect of a merger between two firms under the assumption that all firms in the market are playing a NashBertrand price setting game.
Let k denote the number of products produced by all firms below.
bertrand.alm( demand = c("logit", "ces", "aids"), prices, quantities, margins, ownerPre, ownerPost, mktElast = NA_real_, insideSize = ifelse(demand == "logit", sum(quantities, na.rm = TRUE), sum(prices * quantities, na.rm = TRUE)), diversions, mcDelta = rep(0, length(prices)), subset = rep(TRUE, length(prices)), priceOutside = ifelse(demand == "logit", 0, 1), priceStart = prices, isMax = FALSE, parmStart, control.slopes, control.equ, labels = paste("Prod", 1:length(prices), sep = ""), ... )
demand 
A character vector indicating which demand system to use. Currently allows logit (default), ces, or aids. 
prices 
A length k vector product prices. Default is missing, in which case demand intercepts are not calibrated. 
quantities 
A length k vector of product quantities. 
margins 
A length k vector of product margins. All margins must be either be between 0 and 1, or NA. 
ownerPre 
EITHER a vector of length k whose values indicate which firm produced a product before the merger OR a k x k matrix of premerger ownership shares. 
ownerPost 
EITHER a vector of length k whose values indicate which firm produced a product after the merger OR a k x k matrix of postmerger ownership shares. 
mktElast 
A negative number equal to the industry premerger price elasticity. Default is NA. 
insideSize 
Size of all units included in the market. For logit, this defaults to total quantity, while for aids and ces this defaults to total revenues. 
diversions 
A k x k matrix of diversion ratios with diagonal elements equal to 1. Default is missing, in which case diversion according to revenue share is assumed. 
mcDelta 
A vector of length k where each element equals the proportional change in a product's marginal costs due to the merger. Default is 0, which assumes that the merger does not affect any products' marginal cost. 
subset 
A vector of length k where each element equals TRUE if the product indexed by that element should be included in the postmerger simulation and FALSE if it should be excluded. Default is a length k vector of TRUE. 
priceOutside 
A postive real number equal to the price of the outside good. Default either equals 1 for Logit demand or 0 for CES demand. 
priceStart 
A vector of length k who elements equal to an initial guess of the proportional change in price caused by the merger. For aids, the default is to draw k random elements from a [0,1] uniform distribution. For ces and logit, the default is prices. 
isMax 
If TRUE, checks to see whether computed price equilibrium locally maximizes firm profits and returns a warning if not. Default is FALSE. 
parmStart 

control.slopes 
A list of 
control.equ 
A list of 
labels 
A klength vector of labels. 
... 
Additional options to feed to the 
The main purpose of this function is to provide a more convenient frontend
for the aids
, logit.alm
and ces
functions.
Using price, and quantity, information for all products
in each market, as well as margin information for at least
one products in each market, bertrand.alm
is able to
recover the slopes and intercepts of either a Logit, CES, or AIDS demand
system. These parameters are then used to simulate the price
effects of a merger between
two firms under the assumption that the firms are playing a
simultaneous price setting game.
‘ownerPre’ and ‘ownerPost’ values will typically be equal to either 0 (element [i,j] is not commonly owned) or 1 (element [i,j] is commonly owned), though these matrices may take on any value between 0 and 1 to account for partial ownership.
bertrand.alm
returns an instance of class LogitALM
,
CESALM
, or AIDS
,
depending upon the value of the “demand” argument.
Charles Taragin ctaragin@ftc.gov