The “Linear” class contains all the information needed to calibrate a Linear demand system and perform a merger analysis under the assumption that firms are playing a differentiated Bertrand products pricing game.

Objects can be created by using the constructor function `linear`

.

Let k denote the number of products produced by all firms.

`intercepts`

:A length k vector of demand intercepts.

`prices`

:A length k vector product prices.

`quantities`

:A length k vector of product quantities.

`margins`

:A length k vector of product margins. All margins must be between 0 and 1.

`diversion`

:A k x k matrix of diversion ratios with diagonal elements equal to 1.

`priceStart`

:A length k vector of prices used as the initial guess in the nonlinear equation solver.

`symmetry`

:If TRUE, requires the matrix of demand slope coefficients to be consistent with utility maximization theory.

Class `Bertrand`

, directly.
Class `Antitrust`

, by class `Bertrand`

, distance 2.

For all of methods containing the ‘preMerger’ argument, ‘preMerger’ takes on a value of TRUE or FALSE, where TRUE invokes the method using the pre-merger ownership structure, while FALSE invokes the method using the post-merger ownership structure.

`calcPrices`

`signature(object, preMerger = TRUE,...)`

Compute either pre-merger or post-merger equilibrium
prices under the assumptions that consumer demand is Logit and firms play a differentiated product
Bertrand Nash pricing game. ‘...’ may be used to change the
default values of `constrOptim`

, the non-linear
equation solver used to enforce non-negative equilibrium quantities.

`calcPriceDeltaHypoMon`

`signature(object,prodIndex,...)`

Calculates the price changes that a Hypothetical Monopolist would impose on its products relative to pre-merger prices.

`calcQuantities`

`signature(object, preMerger = TRUE)`

Compute either pre-merger or post-merger equilibrium quantities under the assumptions that consumer demand is Linear and firms play a differentiated product Bertrand Nash pricing game.

`calcShares`

`signature(object, preMerger = TRUE, revenue = FALSE)`

Compute either pre-merger or post-merger equilibrium quantity shares under the assumptions that consumer demand is Linear and firms play a differentiated product Bertrand Nash pricing game.

`calcSlopes`

`signature(object)`

Uncover slopes and intercept from a Linear demand system. Assumes that firms are currently at equilibrium in a differentiated product Bertrand Nash pricing game.

`CV`

`signature(object = "Linear")`

Calculate the amount of money a representative consumer would need to be paid to be just as well off as they were before the merger.

`elast`

`signature(object, preMerger = TRUE)`

Computes a k x k matrix of own and cross-price elasticities.

Charles Taragin charles.taragin@usdoj.gov

1 2 | ```
showClass("Linear") # get a detailed description of the class
showMethods(classes="Linear") # show all methods defined for the class
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.