choose categories…
Last 22 ISM prints
Top drivers
What am I looking at?
For each of ~130 disaggregated PCE categories we fit a rolling AR(p) benchmark for monthly inflation and keep the latest residual. A category has positive momentum when its last k residuals are all positive, negative when all negative. The ISM index is the expenditure-weighted positive share (S⁺) minus the negative share (S⁻).
Everything is computed client-side: the site ships the raw category panels, and a Web Worker re-runs the rolling-regression pipeline (a parity-tested port of the Python engine) whenever you move a control.
choose categories…
Last 22 periods (supply vs demand)
Top category drivers
What am I looking at?
For each PCE category we estimate a rolling reduced-form VAR of its log price and log quantity on J lags of both (Eqs. 12-13), and keep the one-step residuals. A category-month is demand-driven when the price and quantity surprises move the same way (both up or both down), and supply-driven when they move opposite ways. The supply/demand contributions to inflation are the expenditure-weighted (Laspeyres) sums of those categories' inflation (Eq. 15); the year-over-year version is the running 12-month product. Raising the precision cut moves near-zero residuals into an ambiguous bucket — the variant FRBSF publishes.
The decomposition needs category quantity as well as price. For the US, only the BEA PCE underlying detail provides this monthly (headline and core). Other countries publish it in their quarterly national accounts, so the same estimator (4 lags, 40-quarter window) runs on those via the Scope selector: Canada (Bank of Canada variant, Kang–Sekkel–Taskin–Yang SAP 2026-33; total / goods / services), UK (ONS Consumer Trends), France (INSEE), Germany (Eurostat, by durability) and Japan (Cabinet Office SNA, by type). Everything is recomputed client-side by a parity-tested port of the Python engine; drag J, the window, the precision cut or the category set and watch it update.