Economic Indicators

Employment Nowcast Methodology

Employment Nowcast Methodology

Authoritative, place-level job counts arrive late. The Census Bureau's LODES file, the only source that reports jobs for individual municipalities and by industry, lags about two years. The timely employment sources, by contrast, only describe whole counties. The employment nowcast bridges that gap: it takes the rich-but-stale local structure from LODES and "grows it forward" with the most recent county employment trend, producing a current-year estimate of jobs for every county and municipality, broken out by industry sector.

The estimate is a nowcast, not a forecast. It does not project the future; it fills in the present for a place-level series that has not caught up yet.

The employment chart on each dashboard offers two views of the same four sectors — local jobs and resident jobs. Everything on this page describes the local-jobs view; the resident-jobs view is measured differently and is not nowcast. See Local jobs and resident jobs below.

The timeliness problem

No single source is current, local, and detailed at the same time:

SourceGeographyBreakdownLagBasis
LEHD LODES (WAC)block to municipality20 industry sectors~2 yearsWorkplace
QCEWcounty onlyindustry sectors~6 monthsWorkplace (UI-covered)
BLS LAUcounty onlytotal employment~2 monthsResidence

LODES carries where the jobs are and what industry they belong to, but it is stale. QCEW and LAU carry how many jobs there are now, but only at the county level. The nowcast combines them: LODES supplies the spatial and industry structure, and QCEW and LAU supply the timely movement.

Overview

The method has three steps:

  1. Anchor. Start from the most recent LODES year as the base. This fixes both the level and the spatial and industry distribution on a single, internally consistent basis.
  2. Grow. Scale each county-sector's LODES jobs by how much employment in that county-sector has grown since the LODES vintage year, measured from QCEW (the industry-aware signal) and LAU (the strongest overall growth signal).
  3. Disaggregate. Because the growth factor is applied at the individual Census block, the rescaled jobs roll up cleanly to any geography, and municipalities sum to their county exactly.

The single most important design choice is in step 2: the nowcast grows the LODES base by the recent QCEW and LAU growth, rather than replacing it with the QCEW level. The reasoning is explained under "Why grow, not rebase" below.

Source Data

ComponentSourceLake tableDetail
Block-level jobs by sectorLEHD LODES WAClodes.wacc000 total plus cns01-cns20 industry counts, one row per block per year
Block-to-geography crosswalkU.S. Census (LEHD)lodes.xwalkLinks 2020 tabulation blocks to county, place, county subdivision, and CBSA
County employment controlBLS QCEW, suppression-imputedapp.qcew_annual_imputedannual_avg_emplvl by county (area_fips) and 2-digit NAICS sector, with every suppressed cell filled and balanced to the published county total
County residence employmentBLS LAUbls_lauAnnual-average employment by county (area type F, measure 05, period M13)

Step 1: The LODES base

For each Census block, LODES reports total jobs (c000) and jobs in each of 20 NAICS-derived industry columns (cns01-cns20). These columns are collapsed into the same four sector groupings used elsewhere in the app:

SectorLODES columns
Knowledge sectorcns09-cns14
Blue collarcns01-cns05, cns08
Service sectorcns06, cns07, cns17-cns19
Eds, meds & publiccns15, cns16, cns20

LODES is not published uniformly. A handful of states release it late: as of the current vintage, Michigan's most recent year is 2021 and Alaska's is 2016, while most states reach 2023. The nowcast therefore selects each state's own latest available LODES year as its base, rather than forcing a single national year. Puerto Rico and the U.S. Virgin Islands publish no LODES at all and are out of scope.

Step 2: The county growth factor

The growth factor blends two timely signals, both measured from the LODES vintage year (the base year, b) to the current nowcast year (n).

Industry-aware growth, from QCEW. For each county c and sector s, the QCEW growth factor is the ratio of current to base-year covered employment:

gqcew(c, s) = QCEW(c, s, n) / QCEW(c, s, b)

Because it is computed per sector, this term carries forward shifts in a county's industry mix, not just its overall size. Where QCEW publishes no base-year level for a sector, the factor is set to 1, so that sector's LODES jobs are carried unchanged rather than dropped. A sector with a base-year level but no published row at all in the nowcast year grows at 0: with suppressed cells imputed upstream (see "Handling QCEW suppression" below), a missing row means the sector genuinely disappeared, not that data was withheld.

Overall growth, from LAU. LAU measures the number of employed residents in a county each month, with only a two-month lag. Its county-total growth factor is:

glau(c) = LAU(c, n) / LAU(c, b)

In testing (see "Validation" below), LAU growth was the single strongest predictor of how a county's job count actually changed, ahead of QCEW. LAU counts where workers live rather than where they work, so its level differs from LODES in commuter counties, but its growth rate tracks local job growth closely.

The blend. The two signals are combined into a single county growth, with weight w on the LAU term (w = 0.5 by default):

gblend(c) = w × glau(c) + (1 - w) × gqcew(c)

where gqcew(c) is the county-total QCEW growth. The per-sector QCEW factors set the industry mix of the growth; the blend sets its overall magnitude. Concretely, each county-sector factor is rescaled so the county's total grows by gblend:

s(c, s) = gqcew(c, s) × gblend(c) / gqcew(c)

Handling QCEW suppression. QCEW withholds a (county, sector, ownership) cell from publication when too few employers report into it, marking it with a disclosure code and, in the raw file, zero-filling its employment level rather than leaving it blank. Treating that zero as a real employment count would make the growth factor collapse to exactly 0 for a suppressed county-sector, erasing that sector's LODES jobs everywhere in the county. The nowcast therefore reads app.qcew_annual_imputed instead of the raw table: an upstream task that fills every suppressed cell with an estimate (an IMPLAN-style hierarchy of establishment-ratio rungs with empirically calibrated shrinkage) and balances each county's sectors to the county total that QCEW publishes in full. The growth factors then see a complete county-sector grid over everything BLS publishes. A sector with no published row at all (the common encoding of a truly empty sector) grows at 0, a real change rather than a data gap, and partial suppression (some ownership slices withheld, others not) no longer biases the sums because the imputed values fill every slice. Where a county has no usable QCEW base at all, the blend below falls back to pure LAU growth rather than discarding the signal.

Step 3: Grow and disaggregate

The growth factor is applied at the block level. For every block in county c and sector s:

nowcast(block, s) = LODES(block, s) × s(c, s)

These rescaled block jobs are then summed to each supported geography:

LevelCrosswalk columnGeoid length
Statefirst two chars of w_geocode2
Countycty5
Place (incorporated & CDP)stplc7
County subdivision (MCD)ctycsub10
CBSAcbsa5

Because every block carries its county's growth factor, the municipalities within a county sum to the county total by construction, and CBSAs that span state lines sum across their member counties.

Why grow, not rebase

An earlier version of the nowcast set each county-sector directly to its QCEW level, rescaling LODES to match QCEW exactly. That approach has a subtle but serious flaw: LODES and QCEW count slightly different universes. LODES workplace jobs run about 7% above QCEW's UI-covered employment, and the gap is stable over time. Setting the nowcast to the QCEW level therefore introduces a one-time downward step at the nowcast year that looks like a sudden loss of jobs but is really just a change of measuring stick.

Growing the LODES base avoids this. The historical series and the nowcast both stay on the LODES basis, so the nowcast year is a smooth continuation of the trend. The county total no longer equals QCEW; it equals the LODES base moved by the recent QCEW and LAU growth, which is the quantity the series is actually trying to estimate.

A worked example: Rutherford County, NC had 19,241 LODES jobs in 2023, and county employment edged down about 1.5% into 2024. The rebuilt nowcast reports 18,937 for 2024, a gentle continuation of the trend. The old level-rebasing approach reported 17,532, an abrupt 9% drop that reflected the LODES-versus-QCEW basis gap, not a real decline.

Validation

The method was backtested over 37,200 county-years (3,131 counties, 2012 to 2023). For each county and year, every method was asked to predict that year's eventual LODES total using only information available at nowcast time, and scored against the actual LODES value. Median absolute percent error, the typical county's error:

MethodMedian APEMean abs. error (jobs)
Grow LODES base by QCEW + LAU blend3.8%1,174
Carry forward the stale LODES level4.2%2,110
Grow LODES base by QCEW only4.9%1,505
Extend the LODES trend (linear)5.7%2,556

Two results stand out. Growing the LODES base beats both a naive trend extension and carrying the stale value forward. And adding the LAU blend produces the lowest error of any method tested, lowering the typical error from 4.9% to 3.8% and roughly halving the mean error of the trend-extension baseline. The advantage is largest in mid-size and large counties; in the smallest counties, year-to-year job change is mostly idiosyncratic and every method performs similarly.

Local jobs and resident jobs

LODES publishes the same jobs twice, counted from opposite ends of the commute. Workplace Area Characteristics (WAC) counts a job at the place it is located. Residence Area Characteristics (RAC) counts the same job at the place the worker lives. Both use identical industry columns, so both collapse into the same four sectors.

ViewLODES fileA job is counted inAnswers
Local jobsWACthe municipality where the workplace sitsWhat kind of employment base does this place have?
Resident jobsRACthe municipality where the worker livesWhat kind of work do the people who live here do?

The two differ by commuting, and the gap is the point. A town with a regional hospital shows a large eds/meds share in local jobs but a mix that looks like its residents in resident jobs. A bedroom community shows the reverse: few local jobs, and a resident profile weighted toward whatever the surrounding metro employs. Reading them together says more about a community than either does alone — local jobs describe the place as an employment center, resident jobs describe the people who live there.

Only the local-jobs view is nowcast. The growth factors this page describes come from QCEW and LAU, which are county-level workplace and residence totals; the method rescales workplace jobs at the block level, and there is no equivalent block-level residence control. The resident-jobs series therefore ends at the latest published LODES year, which is why the chart leaves a gap at the right-hand edge on that view — the axis is held to the same range in both so the two are directly comparable.

Resident jobs also cover slightly more ground. Roughly 150 small municipalities have residents who work but no workplaces LODES can locate; those dashboards show the resident view only.

Output Tables

jobs_nowcast

ColumnDescription
geoidGeography identifier
yearNowcast year
total_jobsNowcast total jobs for the geography

jobs_nowcast_by_sector

ColumnDescription
geoidGeography identifier
yearNowcast year
sectorOne of the four sector labels
jobsNowcast jobs in that sector

The chart reads these alongside the two published LODES histories — jobs_by_sector (WAC, the local-jobs view) and jobs_by_sector_rac (RAC, the resident-jobs view), both carrying the same geoid / year / sector / jobs columns.

Caveats and assumptions

  • The nowcast assumes a county's recent employment growth (from QCEW and LAU) applies to its LODES base. It does not assume the two sources agree on levels; the growth-not-rebase design is exactly what lets them differ.
  • Industry mix within a county is carried from QCEW; spatial detail within a county (which blocks and municipalities the jobs sit in) is carried unchanged from the LODES vintage. Both are reasonable over a two- to three-year horizon but can miss a single large new or closed establishment.
  • LAU is residence-based. Its growth rate is a strong proxy for local job growth, but in heavy commuter counties its level differs from workplace jobs; only its growth is used.
  • A county-sector with zero LODES jobs in the base year cannot be grown and stays at zero; this affects only very small sectors.
  • The nowcast no longer reconciles exactly to the QCEW county total. This is intentional: it is anchored to the LODES basis, not the QCEW basis.
  • Coverage spans the 50 states and the District of Columbia. Puerto Rico and the U.S. Virgin Islands are excluded because LODES is not published for them.
  • The resident-jobs view carries no nowcast, so its most recent point is roughly two years older than the local-jobs view. Comparing the two at their respective end points compares different years; compare them at a common year instead.

Data Sources

  • LEHD LODES 8, Workplace Area Characteristics (WAC): block-level jobs by industry, latest year per state.
  • LEHD LODES 8, Residence Area Characteristics (RAC): the same jobs counted at the worker's home block, used for the resident-jobs view.
  • BLS Quarterly Census of Employment and Wages (QCEW): annual-average county employment by 2-digit NAICS sector.
  • BLS Local Area Unemployment Statistics (LAU): annual-average county employment by residence.
Previous
Job growth