Industrial Organization & Spatial Economics
Hotelling Linear City & Salop Circular City Pricing Formula
Calculate Hotelling endpoint Nash price c + t, Salop free-entry firm count SQRT(t / F), Salop equilibrium price c + SQRT(t * F), and Salop’s 2x excess-entry theorem.
Quantify spatial differentiation markups and Salop’s excess-entry theorem
Horizontal differentiation gives firms local market power proportional to consumer travel/mismatch disutility t_tr > 0! In d’Aspremont-Gabszewicz-Thisse’s quadratic Hotelling [0, 1] linear city with firms at 0 and 1 and unit marginal cost c >= 0, the indifferent consumer sits at x* = 0.5 + (p_2 - p_1) / (2 * t_tr), yielding unique symmetric Nash price p_Hot* = c + t_tr. In Steven Salop’s (1979) unit-circumference circular city with N symmetric firms and fixed entry cost F > 0, price is p_Salop(N) = c + t_tr / N, zero-profit free entry yields N_FE* = SQRT(t_tr / F) firms at price p_FE* = c + SQRT(t_tr * F), whereas minimizing social fixed + transport cost N*F + t_tr / (4*N) yields N_opt* = 0.5 * SQRT(t_tr / F) — proving free entry produces TWICE the socially optimal number of varieties!
Verify with marginal cost c = 10 (B2), mismatch/transport rate t_tr = 36 (B3), and entry setup cost F = 1 (B4): Hotelling endpoint price is 10 + 36 = 46.00; Salop free-entry firm count is SQRT(36 / 1) = 6.0000 firms charging p_FE* = 10 + 6 = 16.00; and socially optimal variety count is N_opt* = 3.0000 firms (total social setup + travel cost 3*1 + 36/12 = 6.00 vs 6*1 + 36/24 = 7.50 under free entry!).
| Spatial Equilibrium Metric (c=10, t=36, F=1) | Formula | Verified Output |
|---|---|---|
| Hotelling Endpoint Price (p_Hot*) | c + t_tr | 46.00 |
| Salop Free-Entry Firm Count (N_FE*) | SQRT(t_tr / F) | 6.0000 firms |
| Salop Free-Entry Price (p_FE*) | c + SQRT(t_tr * F) | 16.00 |
| Planner Optimal Firm Count (N_opt*) | 0.5 * SQRT(t_tr / F) | 3.0000 firms (Half of N_FE!) |
Salop Circular-City Free-Entry Firm Count N_FE* and Equilibrium Price Formula
Validate c >= 0, transport/mismatch rate t_tr > 0, and fixed entry cost F > 0.
=LET(c_mc, B2, t_tr, B3, f_fix, B4, IF(OR(c_mc < 0, t_tr <= 0, f_fix <= 0), "Invalid Spatial Input", ROUND(c_mc + SQRT(t_tr * f_fix), 4)))Social-Planner Total Entry + Mismatch Cost Comparison (Free Entry vs Optimum) Formula
Total setup plus consumer travel cost on a unit Salop circle is N * F + t_tr / (4 * N), equaling 1.25 * SQRT(t_tr * F) under free entry versus 1.00 * SQRT(t_tr * F) at the social optimum (exact 25% excess social cost!).
=LET(t_tr, B3, f_fix, B4, IF(OR(t_tr <= 0, f_fix <= 0), "Invalid Spatial Input", ROUND(0.5 * SQRT(t_tr / f_fix), 4)))Try the example
Use the original values or change them to test your understanding.