Pre-registration
Across a global cross-country panel 1960-2023, the 10-year average rate of broad-money (M2 or equivalent national broad-money aggregate) growth is positively and strongly associated with the contemporaneous 10-year average rate of CPI inflation, with a slope close to unity net of trend real-output growth. Country-level long-run averages cluster on a 45-degree (money-growth minus output-growth = inflation) line. The claim is Friedman's (1963) "inflation is always and everywhere a monetary phenomenon" recast as a long-horizon panel regularity rather than a high-frequency causal claim.
Falsification criterion — what would disprove this
This hypothesis is considered falsified if:
Not supported if (a) the cross-country between-regression slope on (broad-money-growth minus trend-output-growth) is below 0.6 or above 1.4, or (b) the slope is statistically indistinguishable from zero at p<0.05, or (c) country fixed effects in the panel-FE spec absorb the entire money-growth coefficient (i.e. no within-country relationship between decade-averaged money growth and inflation). A Keynesian / cost-push reading wins cleanly if the slope is below 0.3 with R-squared below 0.2 in the cross-country regression.
formal test & threshold
test: long_run_money_growth_inflation_panel_slope threshold: cross-country slope on (M_growth - g_growth) in [0.6, 1.4] AND p<0.05 against zero AND R^2 in cross-country between-regression > 0.4 AND within-country coefficient remains positive at p<0.10 after country and decade FE
Method
- Template
panel_fe- Fixed effects
country, decade- Clustering
country- Sample
- 35 countries · 1960 – 2023
- Evidence type
- associational
Primary spec: between-country regression of 10y inflation average on 10y broad-money growth average minus 10y trend real-output growth. Secondary spec: panel-FE with country and decade effects to absorb common shocks; the long-run-monetary-phenomenon claim is about cross-country variation in averages, so the FE coefficient is diagnostic but not the headline. Local-projection variant traces cumulative inflation response to a one-SD broad-money-growth shock over h=1..10 years.
Data
| Variable | Source | Transform |
|---|---|---|
cpi_inflation_10yr_avg outcome | world_bank_wdi:FP.CPI.TOTL.ZGtier 2 | rolling_10yr_mean |
broad_money_growth_10yr_avg treatment | fred:M2SL (USA)tier 1 ecb:BSI.M.U2 (EU)tier 1 boe:LPMAUYM (GBR)tier 1 boj:M2 (JPN)tier 1 world_bank_wdi:FM.LBL.BMNY.ZGtier 2 | rolling_10yr_mean_log_diff |
trend_real_gdp_growth_10yr_avg treatment | world_bank_wdi:NY.GDP.MKTP.KD.ZGtier 2 | rolling_10yr_mean |
log_gdp_per_capita control | world_bank_wdi:NY.GDP.PCAP.KDtier 2 | log |
trade_openness control | world_bank_wdi:NE.TRD.GNFS.ZStier 2 | level |
exchange_rate_regime control | ilzetzki_reinhart_rogoff:era_classification_monthly_1940_2019tier 3 | categorical_coarse |
● ready · ● pending · ● reconstruct-needed
Detailed result card
Result card — friedman_inflation_always_monetary_long_run_panel
Verdict: SUPPORTED — coef=+148.7 (sign matches claim +), p=0.0253
Pre-registration
- Claim: Across a global cross-country panel 1960-2023, the 10-year average rate of broad-money (M2 or equivalent national broad-money aggregate) growth is positively and strongly associated with the contemporaneous 10-year average rate of CPI inflation, with a slope close to unity net of trend real-output growth. Country-level long-run averages cluster on a 45-degree (money-growth minus output-growth = inflation) line. The claim is Friedman's (1963) "inflation is always and everywhere a monetary phenomenon" recast as a long-horizon panel regularity rather than a high-frequency causal claim.
- Falsification rule: Not supported if (a) the cross-country between-regression slope on (broad-money-growth minus trend-output-growth) is below 0.6 or above 1.4, or (b) the slope is statistically indistinguishable from zero at p<0.05, or (c) country fixed effects in the panel-FE spec absorb the entire money-growth coefficient (i.e. no within-country relationship between decade-averaged money growth and inflation). A Keynesian / cost-push reading wins cleanly if the slope is below 0.3 with R-squared below 0.2 in the cross-country regression.
- Falsification test: long_run_money_growth_inflation_panel_slope
Estimate
- Method: linearmodels.PanelOLS
- Coefficient (treatment): +148.7
- Std error: 66.35
- p-value: 0.0253
- Observations: 870, countries: 18
- Within R²: 0.183
- Fixed effects: entity=True, time=False
- Clustering: country
Variables resolved
world_bank_wdi:FP.CPI.TOTL.ZG→ cpi_inflation_10yr_avg (outcome, publisher=world_bank_wdi, n=7550)fred:M2SL (USA); ecb:BSI.M.U2 (EU); boe:LPMAUYM (GBR); boj:M2 (JPN); world_bank_wdi:FM.LBL.BMNY.ZG (rest)→ broad_money_growth_10yr_avg (treatment, publisher=fred+ecb+boe+boj+world_bank_wdi, n=8229)world_bank_wdi:NY.GDP.MKTP.KD.ZG→ trend_real_gdp_growth_10yr_avg (treatment, publisher=world_bank_wdi, n=13897)world_bank_wdi:NY.GDP.PCAP.KD→ log_gdp_per_capita (controls, publisher=world_bank_wdi, n=12104)world_bank_wdi:NE.TRD.GNFS.ZS→ trade_openness (controls, publisher=world_bank_wdi, n=10714)
Variables missing data
ilzetzki_reinhart_rogoff:era_classification_monthly_1940_2019(controls, name=exchange_rate_regime) — vintage not on disk
Generated by scripts/run_panel_fe.py at 2026-06-29T17:54:16+00:00
Strongest opposing argument
Every hypothesis ships with its charitable opposing argument. The framework earns credibility by handling objections at their strongest, not weakest.
Notes
De Grauwe-Polan (2005) and Teles-Uhlig (2016) report long-run slopes near unity on cross-country averages but flatter slopes within advanced economies post-1990. Spec is structured so that result pattern (cross-section unity, within-advanced-economy flattening) registers as supported with regime-dependence, not as falsified.