US Sahm-rule labor-recession signals
Monthly US Sahm-rule recession signals from the BLS unemployment rate (FRED UNRATE, 1948 ->): the 3-month average unemployment rate minus its 12-month low (pp), with the 0.50pp recession trigger flag, a 0.30pp warning flag, a fast-rise flag, 3-month momentum, 30-month change volatility, 3-sigma anomaly flags, drift forecasts, a 5-year z-score, and the 12-month unemployment-rate change. The rule-based, transparent companion to us-recession-probability-signals (model probability) and the deterioration lens on us-labor-market-signals (raw levels). All rows normalized to country_code USA. Raw series: U.S. Bureau of Labor Statistics via FRED.
Quality
Attribution
U.S. Bureau of Labor Statistics via FRED; Sahm-rule derivation and signals by Frontier Data Hub
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Observation date (FRED API field date; YYYY-MM-DD, monthly). |
| country | string | |
| country_code | string | |
| series_id | string | SAHM: the Sahm Rule recession indicator, derived from FRED series UNRATE (Unemployment Rate, U.S. Bureau of Labor Statistics, Current Population Survey). |
| series_label | string | Sahm Rule recession indicator: the 3-month moving average of the unemployment rate minus its 12-month low, in percentage points. |
| value | float | Sahm Rule indicator value in percentage points: 3-month average unemployment rate minus the 12-month low. Readings at or above 0.50 have coincided with the start of every US recession since 1970 (Claudia Sahm). |
| momentum_3m | float | |
| volatility_30d | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| recession_flag | integer | |
| warning_flag | integer | |
| rising_fast_flag | integer | |
| sahm_z_5y | float | |
| unemp_12m_change_pp | float |
Sample rows
| date | country | country_code | series_id | series_label | value | momentum_3m | volatility_30d | anomaly_flag | forecast_1m | recession_flag | warning_flag | rising_fast_flag | sahm_z_5y | unemp_12m_change_pp |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1948-01-01 | United States | USA | SAHM | Sahm Rule recession indicator: 3-month average unemployment rate minus its 12-month low (pp) | — | — | — | 0 | — | 0 | 0 | 0 | — | — |
| 1948-02-01 | United States | USA | SAHM | Sahm Rule recession indicator: 3-month average unemployment rate minus its 12-month low (pp) | — | — | — | 0 | — | 0 | 0 | 0 | — | — |
| 1948-03-01 | United States | USA | SAHM | Sahm Rule recession indicator: 3-month average unemployment rate minus its 12-month low (pp) | — | — | — | 0 | — | 0 | 0 | 0 | — | — |
| 1948-04-01 | United States | USA | SAHM | Sahm Rule recession indicator: 3-month average unemployment rate minus its 12-month low (pp) | — | — | — | 0 | — | 0 | 0 | 0 | — | — |
| 1948-05-01 | United States | USA | SAHM | Sahm Rule recession indicator: 3-month average unemployment rate minus its 12-month low (pp) | — | — | — | 0 | — | 0 | 0 | 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/sahm_labor_signals/us_sahm_labor_recession_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/sahm_labor_signals/us_sahm_labor_recession_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/sahm_labor_signals/us_sahm_labor_recession_signals
Tip: fetch /llms.txt for the full machine-readable catalog.