docs/us_economy/economy_gdp_county_year

economy_gdp_county_year

BEA real GDP by county and year, chained 2017 dollars (B1). Tier A-.

tier —admin_recordeconomybeagdpreal_gdpchained_dollarsoutputproduction
grain
county-year
years
2001 – 2023
cadence
Annual (typically December release for prior year)
overview

overview

3,144 counties x 23 years = 74,184 rows. BEA produces a complete county-level GDP series.

current vintage — 2023 (released December 2024)

history — BEA county GDP: 2001 to present (chained 2017 dollars; rebased periodically)

provenance

source & licensing

authority
U.S. Bureau of Economic Analysis
dataset
GDP by County, Metro, and Other Areas (CAGDP9)
license
citation
U.S. Bureau of Economic Analysis. Real GDP by County (CAGDP9), chained 2017 dollars, 2001-2023.
schema

fields

nametypedefinition
country_idstringISO alpha-2 country code (always 'US' for domestic tables).
county_idkeystring5-character FIPS code identifying the county.Joins dim.counties on county_id.
county_namestringHuman-readable county name corresponding to county_id.
note_refstringReference code linking to a footnote or methodological note published by the source agency, explaining data caveats or estimation methods for this row.
real_gdp_thousands_2017float64 · thousands of dollars (chained 2017)Real gross domestic product for the county in thousands of inflation-adjusted chained 2017 dollars. Higher values indicate greater economic output.
state_idstring2-character FIPS code identifying the state.Joins dim.states on state_id.
unit_labelstringHuman-readable label describing the unit of measurement for the GDP value (e.g., 'Thousands of chained 2017 dollars').
unit_multiplierstringString code indicating the numeric multiplier applied to the reported value (e.g., 'thousands'), as published by the source agency.
yearkeyint64Reference year of the observation.
relationships

joins

primary key
county_id, year
common joins
dim.geographies on county_id
economy_personal_income_county_year on (county_id, year)
economy_employment_levels_county_year on (county_id, year)
usage

how to use this table

method

BEA distributes national GDP to counties using QCEW wages and salaries, BEA personal income, and Census of Manufactures data. Chained-dollar series uses Fisher index method to remove inflation.

do not use for

Sub-county geography; high-frequency tracking (annual only); industry-specific contributions (use CAGDP2, not loaded here); welfare/income comparisons (GDP measures production not residents' incomes).

known issues

BEA periodically revises and rebases the chained-dollar series; pre/post revision GDP levels are not directly comparable. County GDP for natural-resource-dominant counties is volatile.

last updated · May 5, 2026