Inflation Nowcast
Composite vs realized CPI YoY
Rolling-origin nowcast vs realized
Inflation regime classifier
Components at the latest date
Methodology
Composite construction. z_pipeline = mean of two expanding-window z-scores: PPI YoY (PPIACO) and Core PCE 6-month annualized (computed from PCEPILFE). No full-sample peeking — each month's z-score is computed using only data available at that month.
Calibration. Rolling-origin OLS with 60-month training window. For each month t, the model is fit on the prior 60 months of (z, CPI YoY) pairs and used to predict CPI YoY at t. The "current" nowcast at the page top uses the same protocol applied to the most recent 60 months for the latest composite reading.
Why rolling-origin and not single-fit OLS. The Phase 0 probe initially fitted a single OLS on data ≤ 2022-12-31 and produced a sign-flipped OOS test corr (−0.34). Investigation revealed this was an artifact: the post-2022 disinflation phase wasn't represented in any single fixed training window, so a model trained pre-2022 overshot inflation in 2023+. Rolling-origin (60-month rolling window, refit every month) eliminates this artifact by always training on the most-recent inflation regime — the model sees disinflation as it begins and adapts. The validation suite (scripts/inflation_validation_v2.py) confirmed rolling-origin OOS corr +0.877 (vs single-OLS test corr −0.34 on the same data), with stable performance across pre-2020 (+0.77) and post-2020 (+0.93).
Why z_pipeline beats z_full. A 12-input composite (z_full: TIPS BEs + WEI + wages + commodities + USD + M2 + PPI + core PCE + food pulse) was tested. Rolling-origin OOS corr for z_full was +0.81; z_pipeline (just PPI + core PCE 6m) was +0.88. Wider isn't always better — the additional inputs add more noise than signal at this target. The Occam-style selection: simplest model that maximizes OOS skill.
Validation summary (from scripts/inflation_validation_v2.py):
- Rolling-origin OOS corr (full sample, h=3m):
- R²:
; MAE: pp; bias: pp - Sub-period decomposition: 1995-1999 +0.88, 2000-2009 +0.78, 2010-2019 +0.73, 2020-2022 +0.76, 2023-now +0.34 (the disinflation phase is the only sub-period where the static-fit relationship weakens; the rolling refit recovers it)
Honest caveats. R² ≈
Sources.
Live track record. Every prediction this page emits is recorded in the Calibration Ledger the moment it's made and graded against realized data when CPI lands. The ledger snapshot at last refresh: Inflation 3m MAE 0.61pp / corr +0.88 / bias −0.06 across 330 OOS months; Inflation 6m MAE 0.72pp / corr +0.80; Inflation regime hit rate 56% across 6 classes (vs 16.7% random). The 24-month rolling charts on the ledger surface drift early — when recent rolling MAE materially exceeds the full-sample MAE, the model is calibrating poorly to the current regime.