Arte SheetsLearn. Try. Understand.

Retail Pricing & Game Theory

Varian Model of Sales Promotional Price Floor Formula

Calculate Hal Varian’s (1980) mixed-strategy promotional discount floor p_min = c + (U / (U + I)) * (r - c), equilibrium store profit, and sale-frequency CDF F(p).

Why supermarkets randomize weekly promotions instead of posting a predictable everyday price!

If competing retailers posted static prices in a market containing BOTH Loyal/Uninformed Shoppers (U per store, who visit one store and pay up to reservation price r) AND Informed Bargain-Hunters (I price-comparison shoppers who buy from whichever of the N >= 2 stores posts the lowest price), any deterministic low price could be profitably undercut by $0.01 until a store gave up and jumped back to r to harvest its captives! Hal Varian (1980) proved in "A Model of Sales" that retailers play a symmetric randomized promotional strategy: each store earns guaranteed Security Profit Pi* = U * (r - c), never discounts below exact Promotional Price Floor p_min = c + (U / (U + I)) * (r - c), and prices at or below p with cumulative probability F(p) = 1 - ((U * (r - p)) / (I * (p - c)))^(1 / (N - 1))!

Verify on Competing_Stores N = 2 (B2), Regular_List_Price r = 100.00 (B3), Unit_Cost c = 20.00 (B4), Uninformed_Captives_Per_Store U = 300 (B5), Informed_Bargain_Hunters I = 500 (B6), and Candidate_Promo_Price p = 60.00 (B7): Equilibrium Store Profit is 300 * (100 - 20) = 24,000.00; Deepest Rational Sale Floor is p_min = 20 + (300 / 800) * 80 = 50.00 (never price below $50 even to win all 800 shoppers!); Single-Store Promo Frequency <= $60 is F(60) = 1 - (300 * 40) / (500 * 40) = 0.4000 (40.00% of weeks); and Market-Wide Bargain Availability (at least one store <= $60) is 1 - (1 - 0.40)^2 = 0.6400 (64.00% of weeks)!

Varian Promotional Pricing Metric (N=2, r=100, c=20, U=300, I=500)FormulaVerified Output
Equilibrium Expected Store Profit (Pi*)U * (r - c) = 300 * 8024,000.00
Minimum Rational Promo Floor (p_min)c + (U / (U + I)) * (r - c)50.00 (Max 50% Markdown)
Single-Store Sale CDF at p = 601 - ((U*(r - p)) / (I*(p - c)))^(1/(N-1))0.4000 (40.00% of Weeks)
Market Deal Availability (Min Price <= 60)1 - (1 - F(60))^N0.6400 (64.00% of Weeks)

Varian Minimum Promotional Sale Floor p_min Formula

Validate integer N >= 2, r > c >= 0, U > 0, and I > 0.

=LET(n_st, B2, r_ls, B3, c_un, B4, u_cp, B5, i_bh, B6, IF(OR(n_st < 2, INT(n_st) <> n_st, c_un < 0, r_ls <= c_un, u_cp <= 0, i_bh <= 0), "Invalid Sales Input", ROUND(c_un + (u_cp / (u_cp + i_bh)) * (r_ls - c_un), 2)))

Store Promotional Price CDF F(p) on [p_min, r] Formula

Clamp F(p) cleanly to 0 below p_min and 1 at or above list ceiling r.

=LET(n_st, B2, r_ls, B3, c_un, B4, u_cp, B5, i_bh, B6, p_pr, B7, IF(OR(n_st < 2, INT(n_st) <> n_st, c_un < 0, r_ls <= c_un, u_cp <= 0, i_bh <= 0), "Invalid Sales Input", LET(p_mn, c_un + (u_cp / (u_cp + i_bh)) * (r_ls - c_un), IF(p_pr <= p_mn, 0, IF(p_pr >= r_ls, 1, ROUND(1 - (((u_cp * (r_ls - p_pr)) / (i_bh * (p_pr - c_un))) ^ (1 / (n_st - 1))), 4))))))

Try the example

Use the original values or change them to test your understanding.

Further reading