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 Nash-Bertrand price setting game.
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=""),
...)
Let k denote the number of products produced by all firms.
A character vector indicating which demand system to use. Currently allows logit (default), ces, or aids.
A length k vector product prices. Default is missing, in which case demand intercepts are not calibrated.
A length k vector of product quantities.
A length k vector of product margins. All margins must be either be between 0 and 1, or NA.
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.
EITHER a vector of length k whose values indicate which firm produced a product before the merger OR a k x k matrix of pre-merger ownership shares.
EITHER a vector of length k whose values indicate which firm produced a product after the merger OR a k x k matrix of post-merger ownership shares.
A negative number equal to the industry pre-merger price elasticity. Default is NA .
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.
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.
A vector of length k where each element equals TRUE if the product indexed by that element should be included in the post-merger simulation and FALSE if it should be excluded.Default is a length k vector of TRUE.
aids
only. A vector of length 2 who elements equal to an
initial guess for "known" element of the diagonal of the demand matrix and the market elasticity.
A postive real number equal to the price of the outside good. Default either equals 1 for Logit demand or 0 for CES demand.
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.
If TRUE, checks to see whether computed price equilibrium locally maximizes firm profits and returns a warning if not. Default is FALSE.
A list of optim
control parameters passed to the calibration routine optimizer (typically the calcSlopes
method).
A list of BBsolve
control parameters passed to the non-linear equation solver (typically the calcPrices
method).
A k-length vector of labels.
Additional options to feed to the BBsolve
optimizer used to solve for equilibrium prices.
bertrand.alm
returns an instance of class '>LogitALM
,
'>CESALM
, or '>AIDS
, depending upon the value of the ``demand'' argument.
The main purpose of this function is to provide a more convenient front-end
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.