Nash bargaining price between a reservation price and a payer's maximum price

Gives the negotiated price when both parties' payoffs are in money and move one for one with the price: the manufacturer gains the price minus its reservation price c, and the payer gains its maximum price p_bar minus the price paid. Maximising the weighted Nash product of the two gains gives a weighted average of the two limits, so the manufacturer receives the share beta of the surplus p_bar minus c and the payer the share 1 minus beta. Berdud, Ferraro and Towse state the same weighted average in cost-effectiveness ratio units, from the developer's reserve ratio to the payer's maximum.

Signature

p_star = c + beta * (p_bar - c)
Inputs
InputsDefinitionUnit
cLowest price per patient the manufacturer accepts; in the short run its marginal cost of supplying the coursecurrency per patient
betaManufacturer's bargaining weight, with 1 minus beta the payer's. A weight of 0.5 gives the symmetric solution, 1 gives the manufacturer all the bargaining power and 0 gives it all to the payerdimensionless share of the surplus
p_barHighest price per patient the payer would pay, above which the product is no longer worth funding; under value-based pricing it comes from HE-FM-BARG-002currency per patient
Output
p_starPrice per patient agreed at the weighted Nash bargaining solutioncurrency per patient, for example £

Function

Nash bargaining surplus-division function for negotiated health care prices

Maps the payoffs two negotiating parties obtain from each feasible agreement, their disagreement payoffs and their relative bargaining power to the agreement that maximises the weighted product of their gains over disagreement. In a price negotiation between a payer and a manufacturer the feasible agreements are prices from the manufacturer's reservation price up to the payer's maximum price, and the function returns the price that splits the surplus between them in proportion to their bargaining weights. A weight of one half gives Nash's original symmetric solution. The payer's maximum price can come from a cost-effectiveness threshold (HE-FM-BARG-002), the manufacturer's weight from the parties' patience in an alternating-offers model (HE-FM-BARG-003), and an outside option changes the result only when it binds (HE-FM-BARG-004).

Computational function

  • Computational function: threshold, patience and outside option to a negotiated price per patient

    Takes the inputs a price negotiation usually starts from, a threshold, the incremental QALYs and other costs per patient, the manufacturer's reservation price, the two parties' discount factors, which party opens and the value of any competing option to the payer, and returns the negotiated price, the cost per QALY at that price and the payer's net monetary benefit. It chains four formulae: the payer's maximum price (HE-FM-BARG-002), the manufacturer's share from alternating offers (HE-FM-BARG-003, taking the responder's share when the payer opens), the Nash bargaining price (HE-FM-BARG-001) and the outside option rule (HE-FM-BARG-004). The inputs therefore differ from the formula's variables: the formula needs a weight and a maximum price, and the function builds both from the threshold and the parties' patience.

    Inputs and outputs: k: Cost-effectiveness threshold; required, above zero. Unit: currency per QALY.; Delta_E: Incremental QALYs per patient; required, above zero. Unit: QALYs per patient.; Delta_C_o: Incremental cost per patient other than the price; required. Unit: currency per patient.; c: Manufacturer's reservation price; required, zero or above and no higher than p_bar. Unit: currency per patient.; delta_M: Manufacturer's discount factor per round; required, above zero and below one. Unit: dimensionless.; delta_P: Payer's discount factor per round; required, above zero and below one. Unit: dimensionless.; first_M: 1 if the manufacturer makes the first offer, 0 if the payer does; required. Unit: none.; v_P: Net monetary benefit per patient of the payer's best alternative outside the negotiation, 0 if there is none; required, zero or above and no higher than p_bar minus c. Unit: currency per patient.; p_bar: Payer's maximum price, an intermediate output. Unit: currency per patient.; s_M: Manufacturer's share of the surplus, an intermediate output. Unit: dimensionless share.; p_star: Nash bargaining price before the outside option, an intermediate output. Unit: currency per patient.; p_neg: Negotiated price. Unit: currency per patient.; ICER_neg: Cost per QALY at the negotiated price. Unit: currency per QALY.; NMB_P: Payer's net monetary benefit per patient at the negotiated price. Unit: currency per patient.

    Assumption: One course per patient, money payoffs that move one for one with the price, complete information and alternating offers with fixed discount factors, with the manufacturer's alternating-offers share used as its Nash bargaining weight, as in the article's worked example. The outside option ends the negotiation for good and leaves a price the manufacturer accepts.

    Worked example (Manufacturer opens with no competing therapy): The article's illustrative treatment with a more patient manufacturer that opens gives a price of £6,000 per patient, £16,000 per QALY and £2,000 of net monetary benefit per patient for the payer. k = 20000; Delta_E = 0.5; Delta_C_o = 2000; c = 1000; delta_M = 0.9; delta_P = 0.8; first_M = 1; v_P = 0; p_bar = 8000; s_M = 0.714286; p_star = 6000; p_neg = 6000; ICER_neg = 16000; NMB_P = 2000

    Worked example (Payer opens with no competing therapy): When the payer opens, the manufacturer's share falls to nine fourteenths and the price to £5,500 per patient, £15,000 per QALY. k = 20000; Delta_E = 0.5; Delta_C_o = 2000; c = 1000; delta_M = 0.9; delta_P = 0.8; first_M = 0; v_P = 0; p_bar = 8000; s_M = 0.642857; p_star = 5500; p_neg = 5500; ICER_neg = 15000; NMB_P = 2500

    Worked example (Manufacturer opens and the payer has a competing therapy worth £4,000): The outside option beats the payer's £2,000 gain from the bargain, so the price is £4,000 per patient, £12,000 per QALY, the same price as in the article's symmetric case, because a binding outside option fixes the price whatever the weight. k = 20000; Delta_E = 0.5; Delta_C_o = 2000; c = 1000; delta_M = 0.9; delta_P = 0.8; first_M = 1; v_P = 4000; p_bar = 8000; s_M = 0.714286; p_star = 6000; p_neg = 4000; ICER_neg = 12000; NMB_P = 4000

    Excel: =MIN(ReservationPrice+(1-PayerDelta)/(1-MfrDelta*PayerDelta)*(MfrFirst+(1-MfrFirst)*MfrDelta)*(Threshold*IncQALYs-OtherIncCost-ReservationPrice),Threshold*IncQALYs-OtherIncCost-PayerOutsideOption) With named cells for each input and MfrFirst set to 1 or 0, the formula returns the negotiated price; (NegotiatedPrice+OtherIncCost)/IncQALYs then gives the cost per QALY.

    R: negotiated_price <- function(k, d_e, d_co, res, delta_m, delta_p, m_first, v_p) { p_bar <- k*d_e-d_co; s_m <- (1-delta_p)/(1-delta_m*delta_p)*(m_first+(1-m_first)*delta_m); p_neg <- pmin(res+s_m*(p_bar-res), p_bar-v_p); data.frame(p_bar = p_bar, s_m = s_m, p_neg = p_neg, icer = (p_neg+d_co)/d_e, nmb_p = k*d_e-d_co-p_neg) } Vectorised, so a column of thresholds or outside option values returns one row per scenario.

    Python: def negotiated_price(k, d_e, d_co, res, delta_m, delta_p, m_first, v_p): p_bar = k*d_e-d_co; s_m = (1-delta_p)/(1-delta_m*delta_p)*(m_first+(1-m_first)*delta_m); p_neg = min(res+s_m*(p_bar-res), p_bar-v_p); return p_bar, s_m, p_neg, (p_neg+d_co)/d_e, k*d_e-d_co-p_neg Returns the maximum price, the manufacturer's share, the negotiated price, the cost per QALY and the payer's net monetary benefit for one scenario.

    Test (Negotiated price inside the bargaining range): The price is at or above the reservation price and at or below the payer's maximum price. Expected result: TRUE. Excel check: =AND(NegotiatedPrice>=ReservationPrice,NegotiatedPrice<=Threshold*IncQALYs-OtherIncCost)

    Test (Equal patience close to one gives the symmetric price): With both discount factors set to 0.9999 and no outside option, the price is within £1 of the symmetric Nash price whichever party opens. Expected result: TRUE. Excel check: =ABS(NegotiatedPrice-(ReservationPrice+0.5*(Threshold*IncQALYs-OtherIncCost-ReservationPrice)))<1

    Common error (Entering the per-round loss from delay in place of the discount factor): Entering 0.1 and 0.2, the share lost per round, instead of the discount factors 0.9 and 0.8 gives the manufacturer about 0.816 of the surplus and a price of about £6,714 rather than £6,000 per patient. The inputs are the share of value kept after one round of delay.

    Source: Berdud M, Ferraro J, Towse A. A theory on ICER pricing and optimal levels of cost-effectiveness thresholds: a bargaining approach. Frontiers in Health Services. 2023;3:1055471. Section 2.3, which bargains over the price with the Nash bargaining solution after the payer commits to a threshold and links each party's impatience to clinical need and sunk research and development costs; the share by discount factor follows Rubinstein (Econometrica 1982;50(1):97-109).

    p_bar = k * Delta_E - Delta_C_o; s_M = (1 - delta_P) / (1 - delta_M * delta_P) * (first_M + (1 - first_M) * delta_M); p_star = c + s_M * (p_bar - c); p_neg = min(p_star, p_bar - v_P); ICER_neg = (p_neg + Delta_C_o) / Delta_E; NMB_P = k * Delta_E - Delta_C_o - p_neg

Try this function

Implementations

  • Excel

    Nash bargaining price in one cell

    Excel adds the manufacturer's share of the surplus to its reservation price, using named cells for the reservation price, the payer's maximum price and the manufacturer's weight.

    =ReservationPrice+MfrWeight*(MaxPrice-ReservationPrice)

Assumptions

  • Money payoffs that move one for one with the negotiated price

    Each pound added to the price is a pound gained by the manufacturer and lost by the payer, so the gains are p_star minus c and p_bar minus p_star. The disagreement point gives the manufacturer no sale in this market and the payer the net benefit of current care, so both gains are measured from zero. If a failed deal would also damage the manufacturer's prices elsewhere, its disagreement payoff falls and the formula no longer applies unchanged.

  • Complete information and a non-empty bargaining range

    Each side knows the other's reservation price and maximum price, and c does not exceed p_bar. When c exceeds p_bar no price is acceptable to both sides and no agreement is predicted, whatever the weight.

  • Bargaining weight fixed by the negotiating setting

    The weight beta is taken as given for the negotiation, for example from the parties' patience (HE-FM-BARG-003). Outside options are not part of beta; they are applied afterwards with HE-FM-BARG-004.

Worked examples

  • Symmetric Nash price for an illustrative new treatment

    With a reservation price of £1,000, a maximum price of £8,000 and equal weights, the negotiated price is £4,500 per patient. Each side gains £3,500 per patient and the cost per QALY is £13,000, as in the article's worked example.

    c = 1000; beta = 0.5; p_bar = 8000; p_star = 4500
  • Nash price with a patience-based manufacturer weight

    When the manufacturer opens and is more patient than the payer, the alternating-offers share of five sevenths (HE-FM-BARG-003) gives a price of £6,000 per patient, a cost per QALY of £16,000 and a payer gain of £2,000 per patient.

    c = 1000; beta = 0.714286; p_bar = 8000; p_star = 6000

Common errors

  • Reversing the manufacturer's and payer's bargaining weights

    Using beta as the payer's weight hands each side the other's share. With a manufacturer weight of five sevenths the price is £6,000 per patient; with the weights reversed it becomes £3,000.

  • Reading the threshold price as the expected negotiated price

    The payer's maximum price of £8,000 is the predicted outcome only when the manufacturer holds all the bargaining power. Under symmetric weights the price is £4,500 and the cost per QALY £13,000 rather than £20,000, and the payer keeps £3,500 per patient of net monetary benefit that pricing at the threshold would pass to the manufacturer.

  • Estimating the bargaining weight from list prices

    A weight backed out as the price minus c, divided by p_bar minus c, needs the price actually paid. Where confidential discounts apply, the list price is higher than the price paid, so the estimate overstates the manufacturer's share.

Sources

  • OHE report on Nash bargaining over the cost-effectiveness ratio

    Berdud M, Ferraro J, Towse A. A theory on ICER pricing and optimal level of cost-effectiveness threshold: a bargaining approach. OHE Consulting Report. London: Office of Health Economics; 2020. Section 2.3, equations 12 and 13, which write the Nash product over the agreed ratio with the developer's bargaining power beta and give the solution as beta times the payer's maximum ratio plus 1 minus beta times the developer's reserve ratio; equation 14 links price and ratio. The report was commissioned and funded by Roche Products Ltd.

    View source →

  • Berdud and colleagues on the Nash bargaining solution for medicine prices

    Berdud M, Ferraro J, Towse A. A theory on ICER pricing and optimal levels of cost-effectiveness thresholds: a bargaining approach. Frontiers in Health Services. 2023;3:1055471. Section 2.3, which models the agreed ratio and price with the Nash bargaining solution and sets out the cases in which the developer (beta of 1) or the payer (beta of 0) holds all the bargaining power, and Appendix A.1.3.

    View source →

  • Grennan on the weighted Nash product in hospital and device price negotiations

    Grennan M. Price discrimination and bargaining: empirical evidence from medical devices. American Economic Review. 2013;103(1):145-177. Section III.B, equation 7, in which each hospital and manufacturer price maximises the Nash product of manufacturer profit over marginal cost and hospital surplus over its disagreement payoff, with bargaining ability parameters as the exponents.

    View source →

Canonical Identity