Platform Economics & Digital Marketplaces
Two-Sided Platform Cross-Subsidy Pricing Formula
Solve Armstrong / Rochet-Tirole two-sided platform prices p_1* = c_1 + n_1* - alpha_2 * n_2* and explain why optimal consumer prices often sit below marginal cost.
Why two-sided platforms subsidize the side that generates the stronger cross-side externality!
In Mark Armstrong’s (2006) and Jean-Charles Rochet & Jean Tirole’s (2003) two-sided marketplace models, Side 1 users have participation n_1 = V_1 - p_1 + alpha_1 * n_2 and Side 2 merchants/developers have participation n_2 = V_2 - p_2 + alpha_2 * n_1 (standalone unit costs c_1, c_2 >= 0; cross-side network benefits alpha_1, alpha_2 >= 0 with concavity (alpha_1 + alpha_2) < 2). At monopoly optimality, each side’s markup equals standalone inverse-demand slope MINUS the marginal externality conferred on the OTHER side: p_1* = c_1 + n_1* - alpha_2 * n_2* and p_2* = c_2 + n_2* - alpha_1 * n_1*! Whenever merchants value users strongly (alpha_2 * n_2* > n_1*), optimal User Price p_1* sits strictly BELOW unit cost c_1 (free tiers, card rewards, subsidized consoles)!
Verify on V_1 = 45 (B2), c_1 = 15 (B3), V_2 = 45 (B4), c_2 = 15 (B5), user value per merchant alpha_1 = 0.30 (B6), and merchant value per user alpha_2 = 1.20 (B7 -> alpha_1 + alpha_2 = 1.50 < 2): equilibrium participation on each side jumps to n_1* = n_2* = 30 / (2 - 1.50) = 60.00, optimal User Price is subsidized down to p_1* = 15 + 60 - 1.20 * 60 = 3.00 (12.00 BELOW unit cost c_1 = 15!), Merchant Price is p_2* = 15 + 60 - 0.30 * 60 = 57.00, and total platform profit reaches (3 - 15)*60 + (57 - 15)*60 = 1,800.00!
| Two-Sided Platform Metric (V=45, c=15, a_1=0.30, a_2=1.20) | Formula | Verified Output |
|---|---|---|
| Equilibrium Participation (n_1*, n_2*) | 2x2 Linear FOC System | 60.00 Users / 60.00 Merchants |
| Subsidized Side 1 User Price (p_1*) | c_1 + n_1* - alpha_2 * n_2* | 3.00 (< c_1 = 15.00!) |
| Monetized Side 2 Merchant Price (p_2*) | c_2 + n_2* - alpha_1 * n_1* | 57.00 |
| Total Platform Net Profit | (p_1* - c_1)*n_1* + (p_2* - c_2)*n_2* | 1,800.00 |
General Asymmetric Two-Sided Equilibrium User Price p_1* Formula
Solve the general 2x2 FOC system det = 4 - (alpha_1 + alpha_2)^2 > 0 for n_1* and n_2*, then evaluate p_1* = c_1 + n_1* - alpha_2 * n_2*.
=LET(v_1, B2, c_1, B3, v_2, B4, c_2, B5, al_1, B6, al_2, B7, s_al, al_1 + al_2, det_m, 4 - (s_al^2), IF(OR(v_1 <= c_1, v_2 <= c_2, c_1 < 0, c_2 < 0, al_1 < 0, al_2 < 0, det_m <= 0), "Require V_i > c_i and alpha_1 + alpha_2 < 2", LET(n_1s, (2 * (v_1 - c_1) + s_al * (v_2 - c_2)) / det_m, n_2s, (2 * (v_2 - c_2) + s_al * (v_1 - c_1)) / det_m, ROUND(c_1 + n_1s - al_2 * n_2s, 4))))Total Two-Sided Platform Equilibrium Profit Formula
Notice that at alpha_1 = alpha_2 = 0 (zero network effects), the formula collapses cleanly to two independent monopolies p_i* = (V_i + c_i) / 2!
=LET(v_1, B2, c_1, B3, v_2, B4, c_2, B5, al_1, B6, al_2, B7, s_al, al_1 + al_2, det_m, 4 - (s_al^2), IF(OR(v_1 <= c_1, v_2 <= c_2, c_1 < 0, c_2 < 0, al_1 < 0, al_2 < 0, det_m <= 0), "Require V_i > c_i and alpha_1 + alpha_2 < 2", LET(n_1s, (2 * (v_1 - c_1) + s_al * (v_2 - c_2)) / det_m, n_2s, (2 * (v_2 - c_2) + s_al * (v_1 - c_1)) / det_m, p_1s, c_1 + n_1s - al_2 * n_2s, p_2s, c_2 + n_2s - al_1 * n_1s, ROUND((p_1s - c_1) * n_1s + (p_2s - c_2) * n_2s, 4))))Try the example
Use the original values or change them to test your understanding.