US state personal-income signals (regional income growth)
Quarterly US state personal-income signals from BEA total personal income (FRED <USPS>OTOT series, 49 states + DC — North Carolina excluded, FRED's NCOTOT is corrupted — 1948-Q1 ->): year-on-year growth, quarter-on-quarter change, 4-quarter volatility, 3-sigma anomaly flags, naive-drift forecasts, 5-year growth z-scores, per-quarter growth ranks, each state's share of US personal income, outperform-vs-US and contraction flags. The income lens on US regions — what households actually receive — complementing state-gdp-signals (output), state-labor-signals (unemployment), and state-cycle-signals (coincident index). The US benchmark is the sum of the 50 included state series each quarter (North Carolina excluded — FRED's NCOTOT is corrupted). All rows normalized to country_code USA. Raw series: U.S. Bureau of Economic Analysis via FRED.
Quality
Attribution
U.S. Bureau of Economic Analysis via FRED; signals by Frontier Data Hub
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Observation date (FRED API field date; YYYY-MM-DD, quarterly). |
| country | string | |
| country_code | string | |
| series_id | string | FRED series code of the form <USPS>OTOT (e.g. CAOTOT): Total Personal Income in the state, Bureau of Economic Analysis, seasonally adjusted annual rate, millions of dollars. |
| series_label | string | Personal income is the income received by, or on behalf of, all persons from all sources: wages and salaries, supplements to wages and salaries, proprietors' income, rental income, personal dividend income, personal interest income, and personal current transfer receipts, less contributions for government social insurance (BEA definition). |
| value | float | Total personal income in millions of dollars (seasonally adjusted annual rate). The broadest measure of what households in the state actually receive — wages plus business, capital, and transfer income. |
| yoy_growth_pct | float | |
| qoq_change_pct | float | |
| volatility_4q | float | |
| anomaly_flag | integer | |
| forecast_1q | float | |
| growth_z_5y | float | |
| growth_rank | float | |
| us_share_pct | float | |
| outperform_flag | integer | |
| contraction_flag | integer |
Sample rows
| date | country | country_code | series_id | series_label | value | yoy_growth_pct | qoq_change_pct | volatility_4q | anomaly_flag | forecast_1q | growth_z_5y | growth_rank | us_share_pct | outperform_flag | contraction_flag |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1950-01-01 | United States | USA | AKOTOT | Total Personal Income in Alaska (millions of dollars, SAAR, BEA via FRED) | 343.4 | — | — | — | 0 | — | — | — | 0.15563292384138677 | 0 | 0 |
| 1950-04-01 | United States | USA | AKOTOT | Total Personal Income in Alaska (millions of dollars, SAAR, BEA via FRED) | 373.8 | — | 8.852649970879444 | — | 0 | — | — | — | 0.16783714139852612 | 0 | 0 |
| 1950-07-01 | United States | USA | AKOTOT | Total Personal Income in Alaska (millions of dollars, SAAR, BEA via FRED) | 408.5 | — | 9.283039058319954 | — | 0 | — | — | — | 0.17695956181606862 | 0 | 0 |
| 1950-10-01 | United States | USA | AKOTOT | Total Personal Income in Alaska (millions of dollars, SAAR, BEA via FRED) | 439.8 | — | 7.662178702570377 | — | 0 | — | — | — | 0.18376791925242641 | 0 | 0 |
| 1951-01-01 | United States | USA | AKOTOT | Total Personal Income in Alaska (millions of dollars, SAAR, BEA via FRED) | 470.5 | 37.01223063482819 | 6.980445657116863 | 1.0607187111064713 | 0 | — | — | 1 | 0.1897598257678114 | 1 | 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/state_income_signals/us_state_personal_income_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/state_income_signals/us_state_personal_income_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/state_income_signals/us_state_personal_income_signals
Tip: fetch /llms.txt for the full machine-readable catalog.