bargain_NP_vert_seq_gnl: Nash Product for use in vertical model with sequential timing

View source: R/bargain_NP_vert_seq.R

bargain_NP_vert_seq_gnlR Documentation

Nash Product for use in vertical model with sequential timing

Description

Nash Product for use in vertical model with sequential timing

Usage

bargain_NP_vert_seq_gnl(
  w_start,
  product_max,
  price_w,
  own_down,
  own_up,
  alpha,
  delta,
  cost_w,
  cost_r,
  lambda,
  p_R0,
  sigma,
  nest_allocation,
  mu,
  showAll = FALSE
)

Arguments

w_start

Initial wholesale price for product for which to maximize Nash Product

product_max

Index of product for which to maximize Nash Product

price_w

Upstream or wholesale prices

own_down

Ownership matrix for downstream firms

own_up

Ownership matrix for upstream firms

alpha

Price coefficient

delta

Mean values

cost_w

Marginal costs for upstream firm for each product

cost_r

Marginal costs for downstream firm for each product

lambda

Bargaining power of the buyer/retailer

p_R0

Retail prices starting values

sigma

Contract type; value between 0 and 1 where 0 is linear price, 1 is two-part tariff

nest_allocation

For generalized nested logit demand, a J-by-K matrix where each element (j,k) designates the membership of good j in nest k. Rows should sum to 1.

mu

Nesting parameters for each nest

showAll

logical; if true, returns gains for trade for every product

Details

This function calculate the Nash Product from a Nash bargaining model. This version allows for nested logit with overlapping nests.

Value

The first-order conditions

Examples


own_down <- paste0("R",rep(c(1,2,3),each=2))
own_up <- paste0("W",rep(c(1,2),3))

B1 <- 1 * matrix( c(own_down == "R1",
                    own_down == "R2",
                    own_down == "R3",
                    own_up == "W1",
                    own_up == "W2"),
                  ncol = 5, nrow = 6)
a1 <- B1 * 0.5
mu1 <- rep(1.0,5)

bargain_NP_vert_seq_gnl(w_start = 1.5, product_max = 1,
                        price_w = c(1.6, 1.6, 1.6, 1.6, 1.6, 1.6),
                        own_down = own_down,
                        own_up = own_up,
                        alpha = -0.9, delta = c(0.2, 0.3, 0.9, 1.0, 0.8, 0.9),
                        cost_w = rep(.2, times = 6),
                        cost_r = rep(.1, times = 6),
                        lambda = 0.5, sigma = 0,
                        p_R0 = c(2.9, 2.9, 3.0, 3.0, 3.0, 3.0),
                        nest_allocation = a1, mu = mu1)



mergersim documentation built on July 21, 2026, 5:09 p.m.