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 a-admin_recordeconomybeagdpreal_gdpchained_dollarsoutputproduction
grain
county-year
years
2001 – 2024
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
Real GDP by County and Metropolitan Area (CAGDP9), chained 2017 dollars
license
Public domain (U.S. Federal Government work)
citation
U.S. Bureau of Economic Analysis. Real GDP by County (CAGDP9), chained 2017 dollars, 2001-2023.
schema

fields

nametypedefinition
country_idkeystringISO alpha-2 country code (always 'US' for domestic tables).Part of primary key.
county_idkeystring5-character FIPS code identifying the county.Part of primary key. Joins dim.counties on county_id.
county_namestringHuman-readable county name corresponding to county_id.
note_refstringBEA footnote reference code associated with this data point, if any. Non-null values flag county-year cells with special methodology notes in BEA documentation.
real_gdp_thousands_2017float64 · thousands of dollars (chained 2017)Real gross domestic product for the county in thousands of chained 2017 dollars, as reported by the BEA GDP by county series (B1). Higher values indicate greater economic output.
state_idkeystring2-character FIPS code identifying the state.Part of primary key. Joins dim.states on state_id.
unit_labelstringHuman-readable label for the unit of measure as provided by the BEA source file (e.g., 'Thousands of chained 2017 dollars').
unit_multiplierstringMultiplier code from the BEA source indicating the scale of reported values (e.g., 'thousands'). Use alongside unit_label to interpret raw figures.
yearkeyint64Reference year of the observation.Part of primary key.
relationships

joins

primary key
county_id, state_id, country_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 · Jul 7, 2026