US state consumer-spending intelligence from BEA PCE (annual)
Annual US state consumer-spending panel, 1997-2025 (51 geos x 29 years = 1,479 rows), from the U.S. Bureau of Economic Analysis' keyless PCE-by-state bulk download (SAPCE1 current-dollar PCE by product, SAPCE2 per-capita PCE). Each row carries nominal PCE levels (total, goods, durables, nondurables, services) in millions of current dollars, per-capita PCE, goods/services shares, year-over-year growth, 3-year CAGR, per-capita YoY, the state's share of the US total, and the growth gap vs the nation, plus a documented 0-100 demand_momentum_score (100 * (0.40*n_yoy + 0.30*n_cagr3 + 0.30*n_gap), min-max normalized across states within each year) with quintile tiers and flags for top-decile growers, contractions, goods-led years, and the new 2025 vintage. Method: the SAPCE ZIP is fetched, the two ALL_AREAS CSVs are parsed with fail-loud gates (51 state geos, contiguous years, state sums reconcile to the US total within 1%, the September 30, 2026 release headline 2025 rates — US 5.3%, FL 7.0%, CA 4.2% — within 0.1pp), GeoFIPS codes are entity-resolved to USPS/ISO-3166-2 plus BEA regions, and features are derived deterministically. Caveats: PCE is nominal (growth mixes price and volume); BEA revises annually; the 2020 dip / 2021 rebound is genuine. BEA data are U.S. federal public domain (17 U.S.C. 105); commercial use allowed with attribution.
- Rows
- 1,479
- Columns
- 29
- Source cadence
- Yearly
- Last refreshed
- Sep 30, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| year | integer | Reference year (YYYY). The join key. (unit: ISO year) |
| country_code | string | ISO alpha-3 country code (always USA). (unit: ISO 3166-1 alpha-3) |
| state_code | string | USPS 2-letter state code. (unit: USPS) |
| state_name | string | Canonical state name. |
| iso_3166_2 | string | ISO 3166-2 subdivision code (US-XX). |
| bea_region | string | BEA region grouping (8 regions). |
| pce_total_musd | float | Personal consumption expenditures, nominal, as published by BEA. (unit: millions of current US dollars) |
| pce_goods_musd | float | PCE on goods (durables + nondurables), nominal. (unit: millions of current US dollars) |
| pce_durable_musd | float | PCE on durable goods, nominal. (unit: millions of current US dollars) |
| pce_nondurable_musd | float | PCE on nondurable goods, nominal. (unit: millions of current US dollars) |
| pce_services_musd | float | PCE on services, nominal. (unit: millions of current US dollars) |
| pce_per_capita_usd | integer | Per-capita PCE (BEA SAPCE2, resident-population denominator). (unit: current US dollars) |
| goods_share_pct | float | Goods share of total PCE. (unit: percent) |
| services_share_pct | float | Services share of total PCE. (unit: percent) |
| pce_yoy_pct | float | Year-over-year percent change of nominal PCE (null for 1997). (unit: percent) |
| pce_cagr3_pct | float | 3-year compound annual growth rate of nominal PCE (null before 2000). (unit: percent) |
| per_capita_yoy_pct | float | Year-over-year percent change of per-capita PCE (null for 1997). (unit: percent) |
| state_share_us_pct | float | State's share of total US PCE that year. (unit: percent) |
| vs_national_gap_pp | float | State YoY growth minus US YoY growth, percentage points. (unit: percentage points) |
| demand_momentum_score | float | Documented 0-100 composite: 100*(0.40*n_yoy + 0.30*n_cagr3 + 0.30*n_gap), each component min-max normalized across states within the year. 50 = mid-pack. Null before 2000 (no 3-year baseline). Descriptive, not a forecast. (unit: 0-100) |
| demand_tier | string | Quintile label of demand_momentum_score: surging (>=80), strong (>=60), steady (>=40), soft (>=20), weak (<20). |
| top_decile_growth | integer | 1 when the state's YoY growth ranks in the top decile of states that year. |
| contraction_flag | integer | 1 when nominal PCE declined year over year. |
| goods_led_growth | integer | 1 when goods YoY exceeded services YoY by >= 2 percentage points. |
| is_new_vintage | integer | 1 for the newest release year (2025). |
| source_url | string | The BEA SAPCE bulk-download ZIP behind the series (provenance). |
| observed_date | string | Date the SAPCE ZIP was read (ISO date). (unit: ISO date) |
| as_of | string | Build date of the panel (ISO date). (unit: ISO date) |
| row_hash | string | Deterministic 16-hex row identity: sha256('BEA-PCE|<state_code>|<year>|<pce_total>|<per_capita>'). |
First 10 sample rows — a preview, not the complete dataset.
| year | country_code | state_code | state_name | iso_3166_2 | bea_region | pce_total_musd | pce_goods_musd | pce_durable_musd | pce_nondurable_musd | pce_services_musd | pce_per_capita_usd | goods_share_pct | services_share_pct | pce_yoy_pct | pce_cagr3_pct | per_capita_yoy_pct | state_share_us_pct | vs_national_gap_pp | demand_momentum_score | demand_tier | top_decile_growth | contraction_flag | goods_led_growth | is_new_vintage | source_url | observed_date | as_of | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1,997 | USA | AL | Alabama | US-AL | Southeast | 76,915.6 | 29,995.6 | 9,990.1 | 20,005.5 | 46,920 | 17,609 | 39 | 61 | — | — | — | 1.389 | — | — | — | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | b8034b1a35dac5b1 |
| 1,998 | USA | AL | Alabama | US-AL | Southeast | 80,320.5 | 30,983.5 | 10,678.2 | 20,305.2 | 49,337 | 18,235 | 38.57 | 61.43 | 4.43 | — | 3.56 | 1.367 | -1.72 | — | — | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 433c056e366bc5e8 |
| 1,999 | USA | AL | Alabama | US-AL | Southeast | 84,866 | 33,160.7 | 11,586 | 21,574.7 | 51,705.4 | 19,157 | 39.07 | 60.93 | 5.66 | — | 5.06 | 1.351 | -1.26 | — | — | 0 | 0 | 1 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 14b02d0fb7de4576 |
| 2,000 | USA | AL | Alabama | US-AL | Southeast | 89,748.7 | 34,957.7 | 11,949.6 | 23,008.1 | 54,790.9 | 20,158 | 38.95 | 61.05 | 5.75 | 5.28 | 5.23 | 1.326 | -1.94 | 12 | weak | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | bbee028cc61d5fd0 |
| 2,001 | USA | AL | Alabama | US-AL | Southeast | 93,232.7 | 36,103.3 | 12,226.2 | 23,877.2 | 57,129.4 | 20,868 | 38.72 | 61.28 | 3.88 | 5.09 | 3.52 | 1.318 | -0.65 | 22.2 | soft | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | eddf62a3880f2012 |
| 2,002 | USA | AL | Alabama | US-AL | Southeast | 97,220.1 | 37,681.1 | 13,059.6 | 24,621.4 | 59,539.1 | 21,700 | 38.76 | 61.24 | 4.28 | 4.63 | 3.99 | 1.323 | 0.39 | 33.7 | soft | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 3e2af07fc24a09eb |
| 2,003 | USA | AL | Alabama | US-AL | Southeast | 102,106.6 | 39,777.5 | 13,427.5 | 26,350.1 | 62,329.1 | 22,673 | 38.96 | 61.04 | 5.03 | 4.39 | 4.48 | 1.319 | -0.31 | 33.2 | soft | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | d431756f0148e60d |
| 2,004 | USA | AL | Alabama | US-AL | Southeast | 108,428.7 | 42,550.4 | 14,203.4 | 28,347 | 65,878.3 | 23,932 | 39.24 | 60.76 | 6.19 | 5.16 | 5.55 | 1.317 | -0.15 | 30.3 | soft | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 5a2822bb65d29119 |
| 2,005 | USA | AL | Alabama | US-AL | Southeast | 115,631.1 | 45,480.9 | 14,885.3 | 30,595.6 | 70,150.2 | 25,303 | 39.33 | 60.67 | 6.64 | 5.95 | 5.73 | 1.319 | 0.12 | 42.1 | steady | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 9348dfb4126a1978 |
| 2,006 | USA | AL | Alabama | US-AL | Southeast | 121,487.4 | 47,934.9 | 15,346.7 | 32,588.2 | 73,552.5 | 26,245 | 39.46 | 60.54 | 5.06 | 5.96 | 3.72 | 1.31 | -0.73 | 36 | soft | 0 | 0 | 0 | 0 | https://apps.bea.gov/regional/zip/SAPCE.zip | 2026-09-30 | 2026-09-30 | 8b43daa38e150be9 |
- Current
20260930T133142Z-cf5af0da39b9 · sha256 cf5af0da39b9…
1,479 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/bea_state_pce_intel/us_state_consumer_spending_annual" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/bea_state_pce_intel/us_state_consumer_spending_annual").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/bea_state_pce_intel/us_state_consumer_spending_annual
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260930T133142Z-cf5af0da39b9 and its content hash, so readers get exactly the data you used.
U.S. Bureau of Economic Analysis, Personal Consumption Expenditures by State. (2026). US state consumer-spending intelligence from BEA PCE (annual) [Data set, snapshot 20260930T133142Z-cf5af0da39b9, sha256 cf5af0da39b9]. Datazimuts. Retrieved 2026-09-30, from https://datazimuts.com/en/datasets/bea_state_pce_intel/us_state_consumer_spending_annual?snapshot=20260930T133142Z-cf5af0da39b9
@misc{dz_bea_state_pce_intel_us_state_consumer_sp_cf5af0da,
title = {{US state consumer-spending intelligence from BEA PCE (annual)}},
author = {{U.S. Bureau of Economic Analysis, Personal Consumption Expenditures by State}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/bea_state_pce_intel/us_state_consumer_spending_annual?snapshot=20260930T133142Z-cf5af0da39b9}},
note = {Snapshot 20260930T133142Z-cf5af0da39b9, sha256 cf5af0da39b99edb180d5dacd5fa93f666e68477cc787a75b58606ccfe90c694; accessed 2026-09-30}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=bea_state_pce_intel%2Fus_state_consumer_spending_annual&lang=en&theme=auto&snapshot=20260930T133142Z-cf5af0da39b9&x=year&y=year&agg=avg" title="US state consumer-spending intelligence from BEA PCE (annual)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.