docs/us_economy/economy_industry_employment_county_year_naics

economy_industry_employment_county_year_naics

QCEW employment by county, year, NAICS, and ownership — long format (E1). Tier A with suppression flags. History 1990-present.

tier —admin_recordeconomyblsqcewemploymentnaicsindustrylong_format
grain
county-naics-year
years
1990 – 2024
cadence
Quarterly; annual averages finalized 9-12 months after year end
overview

overview

100,776 rows aggregated to county-NAICS-year. Long format: NAICS-2 supersectors loaded; NAICS-4/6 detail not.

current vintage — 2024 annual averages

history — QCEW NAICS-based: 2001-present; SIC pre-2001 with crosswalk required

provenance

source & licensing

authority
U.S. Bureau of Labor Statistics
dataset
Quarterly Census of Employment and Wages (QCEW)
license
citation
U.S. Bureau of Labor Statistics. QCEW - county x NAICS, 1990-2024.
schema

fields

nametypedefinition
annual_avg_emplvlint64 · workersAnnual average employment level — the average number of covered workers across all pay periods in the reference year. Higher values indicate a larger workforce in the industry-ownership cell.
annual_avg_estabsint64 · establishmentsAnnual average number of establishments in the industry-ownership cell, computed as the average of quarterly establishment counts across the reference year. Higher values indicate a larger industry presence.
annual_avg_wkly_wageint64 · dollars (nominal)Annual average weekly wage per employee, derived by dividing total annual wages by annual average employment and then by 52. Higher values indicate higher average weekly earnings in the industry-ownership cell.
avg_annual_payint64 · dollars (nominal)Average annual pay per employee, computed as total annual wages divided by annual average employment. Equivalent to 52 times the annual average weekly wage; not adjusted for inflation.
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.
disclosure_codestringBLS data suppression flag indicating whether the record's wage and employment values have been withheld to protect employer confidentiality. A non-blank code (e.g. 'N') means the numeric fields are suppressed and should not be used for analysis.
naics_codekeystringNAICS industry classification code identifying the industry sector for this record. Follows the North American Industry Classification System hierarchy; '10' represents all industries combined.Joins dim.naics_codes on naics_code.
ownership_codestringBLS ownership sector code distinguishing private-sector from government employers (e.g. '5' = private, '1' = federal government, '2' = state government, '3' = local government).
state_idstring2-character FIPS code identifying the state.Joins dim.states on state_id.
total_annual_wagesint64 · dollars (nominal)Total wages paid to covered employees in the industry-ownership cell over the full calendar year. Includes bonuses, tips, and other taxable compensation; not adjusted for inflation.
yearkeyint64Reference year of the observation.
relationships

joins

primary key
county_id, naics_code, year
common joins
dim.geographies on county_id
economy_industry_wages_county_year_naics on (county_id, naics_code, year)
economy_industrial_concentration_county_year on (county_id, year)
usage

how to use this table

method

Direct extract of QCEW county x NAICS x ownership rows. Pipeline currently loads NAICS-2 supersector level. own_code distinguishes private (5), federal (1), state (2), local (3).

do not use for

Sub-county geography (county is finest grain); workers vs jobs (QCEW counts jobs - multi-jobholders are double-counted across employers); self-employment.

known issues

Suppression for confidentiality affects ~10-15% of small county-NAICS cells; suppressed rows are flagged.

last updated · May 5, 2026