Sovereign Debt & Public Macroeconomics
Debt-Stabilizing Primary Balance & (r - g) Formula
Project public debt-to-GDP dynamics d_t = ((1 + r)/(1 + g))*d_{t-1} - pb_t and calculate Olivier Blanchard’s (2019) debt-stabilizing primary balance pb* = ((r - g)/(1 + g))*d_{t-1}.
Understand why (r - g) < 0 lets debt/GDP shrink even with small primary deficits — and flips violently when r > g!
Sovereign debt sustainability hinges on the exact Law of Motion of the Debt-to-GDP Ratio d_t = D_t / Y_t! Given Nominal Effective Interest Rate r (or Real Rate r_real) and Nominal GDP Growth Rate g (or Real Growth g_real, provided BOTH use the same nominal or real basis because inflation (1 + pi) cancels identically in (1 + i) / (1 + g_nom)!), Prior Debt Ratio d_{t-1}, and Primary Budget Balance Ratio pb_t = (Revenues - NonInterest_Spending) / GDP: Next-Year Debt-to-GDP is d_t = ((1 + r) / (1 + g)) * d_{t-1} - pb_t! Subtracting d_{t-1} isolates the Automatic Interest-Growth Snowball Term ((r - g) / (1 + g)) * d_{t-1} and Debt-Stabilizing Primary Balance pb* = ((r - g) / (1 + g)) * d_{t-1}!
Verify on Prior_Debt_GDP d_0 = 0.9000 (90.0% of GDP, B2), Nominal_Effective_Interest_Rate r = 0.0450 (4.50%, B3), Nominal_GDP_Growth g = 0.0250 (2.50%, B4), and Actual_Primary_Balance pb_t = -0.0100 (-1.00% primary deficit, B5): Automatic Snowball / Required Debt-Stabilizing Primary Surplus is ((0.045 - 0.025) / 1.025) * 0.90 = (0.02 / 1.025) * 0.90 = +0.0176 (+1.76% of GDP surplus needed just to hold debt flat at 90%!), and Actual End-of-Year Debt-to-GDP climbs to (1.045 / 1.025) * 0.90 - (-0.0100) = 0.9176 + 0.0100 = 0.9276 (92.76% of GDP, +2.76 percentage points jump)! Flip growth above interest (g = 0.0550 > r = 0.0450): pb* turns negative (-0.0085), stabilizing debt even at a 0.85% primary deficit!
| IMF Debt Sustainability Metric (d_0=90%, r=4.5%, g=2.5%, pb=-1.0%) | Formula | Verified Output |
|---|---|---|
| Interest-Growth Differential (r - g) | r - g = 4.50% - 2.50% | +0.0200 (+200 bps Snowball) |
| Debt-Stabilizing Primary Balance (pb*) | ((r - g) / (1 + g)) * d_0 | +0.0176 (+1.76% Surplus Needed) |
| Projected Next-Year Debt/GDP (d_1) | ((1 + r) / (1 + g)) * d_0 - pb_t | 0.9276 (92.76% of GDP) |
| Annual Debt/GDP Change (d_1 - d_0) | pb* - pb_t | +0.0276 (+2.76% of GDP) |
Exact IMF Debt-Stabilizing Primary Balance pb* Formula
Never drop denominator (1 + g): during high nominal growth or inflation spikes, linearized (r - g) * d_0 overstates the snowball by factor (1 + g)!
=LET(d_pr, B2, r_ef, B3, g_ym, B4, IF(OR(d_pr < 0, r_ef <= -1, g_ym <= -1), "Invalid Debt-Dynamics Input", ROUND(((r_ef - g_ym) / (1 + g_ym)) * d_pr, 4)))Next-Period Public Debt-to-GDP Ratio d_t Formula
Remember sign convention: pb_t > 0 is a primary surplus (reduces debt); pb_t < 0 is a primary deficit (adds to debt).
=LET(d_pr, B2, r_ef, B3, g_ym, B4, pb_t, B5, IF(OR(d_pr < 0, r_ef <= -1, g_ym <= -1), "Invalid Debt-Dynamics Input", ROUND(((1 + r_ef) / (1 + g_ym)) * d_pr - pb_t, 4)))Try the example
Use the original values or change them to test your understanding.