US wage & productivity signals (real earnings momentum, productivity-pay gap, anomalies)
Monthly/quarterly signals derived from FRED's US earnings and productivity data: 30-period annualized change volatility, ~3-month momentum, 3-sigma anomaly flags vs a trailing 12-month baseline, naive-drift 1-month forecasts, a per-date cross-series volatility rank, the real-wage year-over-year gauge (worker purchasing power) and the productivity-minus-pay gap (the decoupling gauge). Covers nominal average hourly earnings, a connector-derived real-earnings series (CPI-deflated) and nonfarm business labor productivity. 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 (AHETPI, OPHNFB) or REAL_EARNINGS for the connector-derived real average hourly earnings series; FRED 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 data). |
| value | float | Observation value as published by FRED for this series: average hourly earnings in dollars per hour (AHETPI); nonfarm business labor productivity index (OPHNFB); see the series notes for methodology and revisions. |
| volatility_30d | float | |
| momentum_3m | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| real_wage_yoy | float | |
| prod_wage_gap | float |
Sample rows
| date | country | country_code | series_id | series_label | value | volatility_30d | momentum_3m | anomaly_flag | forecast_1m | rank | real_wage_yoy | prod_wage_gap |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1947-01-01 | United States | USA | OPHNFB | Nonfarm Business Sector: Labor Productivity (Output per Hour) for All Workers | 22.256 | — | — | 0 | — | — | — | — |
| 1947-04-01 | United States | USA | OPHNFB | Nonfarm Business Sector: Labor Productivity (Output per Hour) for All Workers | 22.762 | — | 0.5060000000000002 | 0 | — | — | — | — |
| 1947-07-01 | United States | USA | OPHNFB | Nonfarm Business Sector: Labor Productivity (Output per Hour) for All Workers | 22.065 | — | -0.6969999999999992 | 0 | — | — | — | — |
| 1947-10-01 | United States | USA | OPHNFB | Nonfarm Business Sector: Labor Productivity (Output per Hour) for All Workers | 22.993 | — | 0.9279999999999973 | 0 | — | — | — | — |
| 1948-01-01 | United States | USA | OPHNFB | Nonfarm Business Sector: Labor Productivity (Output per Hour) for All Workers | 23.097 | — | 0.10400000000000276 | 0 | 23.167083333333334 | — | — | — |
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/wage_signals/us_wage_productivity_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/wage_signals/us_wage_productivity_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/wage_signals/us_wage_productivity_signals
Tip: fetch /llms.txt for the full machine-readable catalog.