US shelter inflation signals (rent/OER momentum, affordability wedge, anomalies)
Monthly signals derived from BLS shelter CPI series (redistributed by FRED): 30-month annualized change volatility, 3-month momentum, year-over-year change, 3-sigma anomaly flags vs a trailing 12-month baseline, naive-drift 1-month forecasts, a per-month cross-series volatility rank, the shelter premium (shelter YoY minus headline CPI YoY — the affordability wedge) and the OER-minus-rent divergence gauge. Covers rent of primary residence from 1915 and owners' equivalent rent from 1983. All rows are normalized to country_code USA so they join cleanly with US macro data. Raw series: Federal Reserve Bank of St. Louis (FRED); underlying data: U.S. Bureau of Labor Statistics.
Quality
Attribution
Federal Reserve Bank of St. Louis (FRED; underlying data: U.S. Bureau of Labor Statistics; derived signals by Frontier Data Hub)
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Observation date (FRED API field date; YYYY-MM-DD). |
| country | string | |
| country_code | string | |
| series_id | string | FRED series ID (CUUR0000SEHA for CPI rent of primary residence, CUSR0000SEHC for CPI owners' equivalent rent of residences); IDs resolve to the series page at https://fred.stlouisfed.org/series/<id>. |
| series_label | string | Official FRED series title as published for the series (U.S. Bureau of Labor Statistics Consumer Price Index shelter components). |
| value | float | Index value, monthly, not seasonally adjusted; see the series notes for index base periods and methodology. |
| volatility_30d | float | |
| momentum_3m | float | |
| yoy_change_pct | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| shelter_premium | float | |
| oer_rent_gap | float |
Sample rows
| date | country | country_code | series_id | series_label | value | volatility_30d | momentum_3m | yoy_change_pct | anomaly_flag | forecast_1m | rank | shelter_premium | oer_rent_gap |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1914-12-01 | United States | USA | CUUR0000SEHA | Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average | 21 | — | — | — | 0 | — | — | — | — |
| 1915-12-01 | United States | USA | CUUR0000SEHA | Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average | 21.2 | — | — | — | 0 | — | — | — | — |
| 1916-12-01 | United States | USA | CUUR0000SEHA | Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average | 21.4 | — | — | — | 0 | — | — | — | — |
| 1917-12-01 | United States | USA | CUUR0000SEHA | Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average | 21 | — | 0 | — | 0 | — | — | — | — |
| 1918-12-01 | United States | USA | CUUR0000SEHA | Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average | 22 | — | 3.7735849056603765 | — | 0 | — | — | — | — |
Download sample data
Download the full sample snapshot for this dataset (sample rows, not the complete dataset).
Use with an LLM
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
cURL
curl "https://datazimuts.com/v1/datasets/shelter_inflation_signals/us_shelter_inflation_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/shelter_inflation_signals/us_shelter_inflation_signals").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/shelter_inflation_signals/us_shelter_inflation_signals
Tip: fetch /llms.txt for the full machine-readable catalog.