Class “Bertrand”

Description

The “Bertrand” class is a building block used to create other classes in this package. As such, it is most likely to be useful for developers who wish to code their own merger calibration/simulation routines.

Objects from the Class

Objects can be created by calls of the form new("Bertrand", ...).

Slots

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

shares:

A length k vector containing observed output. Depending upon the model, output will be measured in units sold, quantity shares, or revenue shares.

mcDelta:

A length k vector where each element equals the proportional change in a product's marginal costs due to the merger.

slopes:

A k x (k+1) matrix of linear demand intercepts and slope coefficients

subset

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.

Extends

Class Antitrust, directly.

Methods

Many of the methods described below contain a ‘preMerger’ and ‘revenue’ argument. The ‘preMerger’ takes on a value of TRUE or FALSE, where TRUE invokes the method using the pre-merger values, while FALSE invokes the method using the post-merger ownership structure. The ‘revenue’ argument also takes on a value of TRUE or FALSE, where TRUE invokes the method using revenues, while FALSE invokes the method using quantities

calcMC

signature(object,preMerger=TRUE)

Calculates (constant) marginal cost for each product. For those classes that do not require prices, returns a length-k vector of NAs when prices are not supplied.

calcMargins

signature(object, preMerger = TRUE)

Compute either pre-merger or post-merger equilibrium margins under the assumption that firms play a differentiated product Bertrand Nash pricing game.

cmcr

signature(object)

Calculates compensated marginal cost reduction, the percentage decrease in the marginal costs of the merging parties' products needed to offset a post-merger price increase.

HypoMonTest

signature(object,prodIndex,ssnip=.05,...)

HypoMonTest implements the Hypothetical Monopolist Test for a given ‘ssnip’.

calcPriceDeltaHypoMon

signature(object,prodIndex,...)

Compute the proportional difference in product prices between the prices of products in ‘prodIndex’ (i.e. prices set by the Hypothetical Monopolist) and prices set in the pre-merger Bertrand equilibrium. ‘...’ may be used to pass arguments to the optimizer.

diversionHypoMon

signature(object,prodIndex,...)

Calculates the matrix of revenue diversions between all products included in the merger simulation, irrespective of whether or not they are also included in ‘prodIndex’.

hhi

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

Compute either the pre-merger or post-merger Herfindahl-Hirschman Index (HHI) under the assumption that firms play a differentiated product Bertrand Nash pricing game.

diversion

signature(object, preMerger = TRUE)

Computes a k x k matrix of diversion ratios.

summary

signature(object,revenue=TRUE,shares=TRUE,parameters=FALSE,digits=2)

Summarizes the effect of the merger, including price and revenue changes. Setting ‘revenue’ equal to FALSE reports quantities rather than revenues. Setting ‘shares’ to FALSE reports quantities rather than than shares (when possible). Setting ‘parameters’ equal to TRUE reports all demand parameters. ‘digits’ controls the number of significant digits reported in output.

plot

signature(x=object,scale=.1

Use ggplot to plot pre- and post-merger demand, marginal cost and equilibria. ‘scale’ controls the amount above marginal cost and below equilbrium price that is plotted.

upp

signature(object)

Calculate the Upwards Pricing Pressure (upp) index.

Author(s)

Charles Taragin charles.taragin@usdoj.gov

Examples

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

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.