About
What this site is, where the data comes from, and how the charts are built.
What is this
realrates.ai is a personal inflation monitoring dashboard. It tracks consumer prices, their rate of change, and how current levels compare to pre-pandemic trend lines. The goal is to make these series easy to read without editorial noise — no commentary, no narratives, just clean charts updated from primary sources.
Real interest rates — nominal rates minus expected inflation — are the price signal that governs borrowing, saving, and investment across the economy. Understanding them requires a clear view of the inflation component. That's the problem this site is trying to solve.
Data sources
All data is pulled from FRED, the Federal Reserve Bank of St. Louis's economic data service. Series used:
- CPIAUCNS — CPI All Urban Consumers, All Items (Index 1982–84 = 100, Not Seasonally Adjusted)
- CUUR0000SACL1E — CPI Commodities Less Food and Energy
- CUUR0000SASLE — CPI Services Less Energy Services
- RSAFS — Advance Retail Sales: Retail Trade and Food Services
- CES0500000003 — Average Hourly Earnings of All Employees, Total Private
- CIS1020000000000I — Employment Cost Index: Wages and Salaries, All Civilian Workers
- PCEPILFE — PCE Price Index Excluding Food and Energy (Core PCE)
Methodology
Charts are produced by a Python pipeline using pandas, statsmodels, scikit-learn, and Plotly. The main methods:
-
Year-over-year % change — standard 12-month percent change using pandas
pct_change(12). -
6-month annualized rate — computed as
(value_t / value_{t−6})² − 1, which compounds the 6-month ratio to an annual rate. - Trend regressions — log-linear OLS fitted over 2010–2019 (or 2000–2019 for the long-term baseline) and projected forward. The gap between actual and projected shows how far prices have deviated from trend.
-
Multiplicative seasonal decomposition — statsmodels
seasonal_decomposewithmodel='multiplicative', separating observed CPI into trend, seasonal, and residual components. - Hodrick-Prescott filter — applied to log CPI with smoothing parameter λ = 129,600 (the standard value for monthly data).
- Christiano-Fitzgerald bandpass filter — isolates business-cycle frequencies from log CPI, goods, and services (1975–present).
- ARIMA model — ARIMA(1,1,1) fitted to the CPI level for modeling purposes. Results are printed to the console; no forecast chart is published.
Update frequency
Charts are regenerated manually by running the data pipeline after each BLS CPI release, which occurs monthly. The pipeline fetches fresh data from FRED and rebuilds all charts.
Tools
Python · pandas · numpy · statsmodels · scikit-learn · Plotly · plain HTML and CSS. No JavaScript frameworks. Data is embedded directly in each chart file via the Plotly CDN.
Partial to Austrian thinking and the old Chicago school.
The data does the talking.