US metro employment momentum intelligence (monthly)
Monthly US metro employment momentum intelligence from the BLS Current Employment Statistics state-and-area program (keyless BLS Public Data API v2): total-nonfarm employment for the 50 largest metropolitan statistical areas, with year-over-year and smoothed momentum growth, a documented 0-100 metro employment-momentum score with per-month metro ranks, expanding / contracting / accelerating / 24-month-record-high flags, and month-level context: the national headline YoY, each metro's divergence from it, and the national spread. Metro CES is published not seasonally adjusted, so every momentum signal is YoY-based (seasonality-safe); month-over-month changes are deliberately excluded. Consistent methodology window 2017-01 onward. Caveats: the latest month is preliminary and routinely revised; estimates are benchmark-revised annually. BLS material is public domain (commercial reuse allowed); source: U.S. Bureau of Labor Statistics.
- Rows
- 5,800
- Columns
- 21
- Source cadence
- Monthly
- Last refreshed
- Oct 1, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| month | string | Reference month: first day of the month, ISO date. The panel covers the consistent methodology window 2017-01 onward (2017 supplies the 12-month lags, so YoY signals start 2018-01). (unit: ISO date) |
| country_code | string | ISO alpha-3 country code (USA for every row). (unit: ISO 3166-1 alpha-3) |
| cbsa_code | string | 5-digit OMB Core-Based Statistical Area code of the metropolitan statistical area (e.g. 35620 = New York-Newark-Jersey City). Primary join key with month. |
| metro_name | string | OMB Bulletin 23-01 CBSA title (display label; multi-state MSAs list every state). |
| primary_state_fips | string | Census FIPS code of the MSA's primary state (the first-named city), used in the BLS metro series id. |
| bls_series_id | string | BLS series id behind the row (SMU{state_fips}{cbsa}00000000001, total nonfarm, not seasonally adjusted). |
| employment_thousands | float | Published total-nonfarm employment, all employees, kept verbatim as published (metro CES is not seasonally adjusted). (unit: thousands of jobs) |
| emp_yoy_pct | float | Year-over-year percent change of unadjusted employment (the seasonality-safe momentum measure). (unit: percent) |
| emp_12mma_yoy_pct | float | Year-over-year percent change of the trailing-12-month moving average (smoothed momentum). (unit: percent) |
| emp_vs_12mma_pct | float | Current level versus its trailing-12-month average, in percent (cyclical position: above 0 = running hot). (unit: percent) |
| metro_employment_momentum_score | float | Documented 0-100 composite: 100 * (0.50 * min-max(winsorized emp_yoy_pct, +/-5) + 0.30 * min-max(winsorized emp_12mma_yoy_pct, +/-5) + 0.20 * min-max(winsorized emp_vs_12mma_pct, +/-2.5)), min-maxed within each month across the 50 metros. Higher = hottest metro job market versus peers this month. (unit: 0-100 score) |
| metro_momentum_rank | integer | Per-month rank of metro_employment_momentum_score across the 50 metros (1 = hottest). (unit: rank) |
| expanding_flag | integer | 1 when emp_yoy_pct is positive. (unit: binary) |
| contracting_flag | integer | 1 when emp_yoy_pct is negative. (unit: binary) |
| accelerating_flag | integer | 1 when emp_yoy_pct exceeds emp_12mma_yoy_pct by more than 0.2pp (momentum picking up). (unit: binary) |
| decelerating_flag | integer | 1 when emp_yoy_pct trails emp_12mma_yoy_pct by more than 0.2pp (momentum cooling). (unit: binary) |
| record_high_24m_flag | integer | 1 when employment equals the trailing-24-month maximum (inclusive, minimum 24 observations). (unit: binary) |
| national_yoy_pct | float | Month-level context: YoY percent change of the national CES headline (series CES0000000001, all employees, thousands, total nonfarm, seasonally adjusted). (unit: percent) |
| yoy_gap_vs_national_pp | float | Month-level context: metro YoY minus national YoY, in percentage points. Positive = the metro outruns the nation. (unit: pp) |
| national_spread_pp | float | Month-level context: max minus min metro emp_yoy_pct that month — the national divergence gauge. (unit: pp) |
| row_hash | string | Deterministic 16-hex row hash of cbsa_code + month (idempotency). |
First 10 sample rows — a preview, not the complete dataset.
| month | country_code | cbsa_code | metro_name | primary_state_fips | bls_series_id | employment_thousands | emp_yoy_pct | emp_12mma_yoy_pct | emp_vs_12mma_pct | metro_employment_momentum_score | metro_momentum_rank | expanding_flag | contracting_flag | accelerating_flag | decelerating_flag | record_high_24m_flag | national_yoy_pct | yoy_gap_vs_national_pp | national_spread_pp | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2017-01-01 | USA | 35620 | New York-Newark-Jersey City, NY-NJ | 36 | SMU36356200000000001 | 9,212.6 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 709ce3f8bea3bf8d |
| 2017-01-01 | USA | 31080 | Los Angeles-Long Beach-Anaheim, CA | 06 | SMU06310800000000001 | 5,962.3 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 222c99ed3e261e03 |
| 2017-01-01 | USA | 16980 | Chicago-Naperville-Schaumburg, IL-IN | 17 | SMU17169800000000001 | 4,514.3 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | a781b50a87e7e636 |
| 2017-01-01 | USA | 19124 | Dallas-Fort Worth-Arlington, TX | 48 | SMU48191240000000001 | 2,512.4 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | d9901ae64b0038ec |
| 2017-01-01 | USA | 26420 | Houston-Pasadena-The Woodlands, TX | 48 | SMU48264200000000001 | 2,967.3 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | c893bad53e62e073 |
| 2017-01-01 | USA | 12060 | Atlanta-Sandy Springs-Roswell, GA | 13 | SMU13120600000000001 | 2,677.7 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 6caa40de40506611 |
| 2017-01-01 | USA | 47900 | Washington-Arlington-Alexandria, DC-VA-MD-WV | 11 | SMU11479000000000001 | 3,176.4 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 4c3c32900c73b21c |
| 2017-01-01 | USA | 37980 | Philadelphia-Camden-Wilmington, PA-NJ-DE-MD | 42 | SMU42379800000000001 | 2,850.1 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 408aa35561d840cd |
| 2017-01-01 | USA | 38060 | Phoenix-Mesa-Chandler, AZ | 04 | SMU04380600000000001 | 1,998.7 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 8ca023a5e1027fd1 |
| 2017-01-01 | USA | 14460 | Boston-Cambridge-Newton, MA-NH | 25 | SMU25144600000000001 | 2,631 | — | — | — | — | — | 0 | 0 | 0 | 0 | 0 | — | — | — | 495b08c96cbf355a |
Profiled Oct 1, 2026 from snapshot 20261001T043102Z-ec6e5be5fd6d
Measured- Completeness
- 95.7%
- Rows
- 5,800
- Columns
- 21
- Columns with gaps
- 8
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| monthvarchar | 0% | 90 | — |
|
| country_codevarchar | 0% | 1 | — |
|
| cbsa_codevarchar | 0% | 57 | — |
|
| metro_namevarchar | 0% | 56 | — |
|
| primary_state_fipsvarchar | 0% | 30 | — |
|
| bls_series_idvarchar | 0% | 48 | — |
|
| employment_thousandsdouble | 0% | 4,811 | 354.5 → 10,169median 1,158 | 115 outside 1st–99th percentile |
| emp_yoy_pctdouble | 10.3% | 4,896 | -25.74 → 25.43median 1.38 | 104 outside 1st–99th percentile |
| emp_12mma_yoy_pctdouble | 19.8% | 4,382 | -15.24 → 15.41median 1.31 | 94 outside 1st–99th percentile |
| emp_vs_12mma_pctdouble | 9.5% | 5,011 | -24.6 → 8.01median 0.7806 | 106 outside 1st–99th percentile |
| metro_employment_momentum_scoredouble | 9.5% | 4,525 | 0 → 100median 50.93 | 53 outside 1st–99th percentile |
| metro_momentum_rankbigint | 9.5% | 45 | 1 → 50median 25 | |
| expanding_flagbigint | 0% | 2 | 0 → 1median 1 | |
| contracting_flagbigint | 0% | 2 | 0 → 1median 0 | |
| accelerating_flagbigint | 0% | 2 | 0 → 1median 0 | |
| decelerating_flagbigint | 0% | 2 | 0 → 1median 0 | |
| record_high_24m_flagbigint | 0% | 2 | 0 → 1median 0 | |
| national_yoy_pctdouble | 10.3% | 93 | -13.39 → 10.86median 1.38 | 100 outside 1st–99th percentile |
| yoy_gap_vs_national_ppdouble | 10.3% | 5,607 | -13.7 → 16.39median 0.0053 | 104 outside 1st–99th percentile |
| national_spread_ppdouble | 10.3% | 95 | 3.18 → 21.04median 4.59 | 150 outside 1st–99th percentile |
| row_hashvarchar | 0% | 5,337 | — |
|
- Current
20261001T043102Z-ec6e5be5fd6d · sha256 ec6e5be5fd6d…
5,800 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/bls_metro_employment_intel/us_metro_employment_momentum_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/bls_metro_employment_intel/us_metro_employment_momentum_monthly").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/bls_metro_employment_intel/us_metro_employment_momentum_monthly
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 20261001T043102Z-ec6e5be5fd6d and its content hash, so readers get exactly the data you used.
U.S. Bureau of Labor Statistics. (2026). US metro employment momentum intelligence (monthly) [Data set, snapshot 20261001T043102Z-ec6e5be5fd6d, sha256 ec6e5be5fd6d]. Datazimuts. Retrieved 2026-10-01, from https://datazimuts.com/en/datasets/bls_metro_employment_intel/us_metro_employment_momentum_monthly?snapshot=20261001T043102Z-ec6e5be5fd6d
@misc{dz_bls_metro_employment_intel_us_metro_empl_ec6e5be5,
title = {{US metro employment momentum intelligence (monthly)}},
author = {{U.S. Bureau of Labor Statistics}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/bls_metro_employment_intel/us_metro_employment_momentum_monthly?snapshot=20261001T043102Z-ec6e5be5fd6d}},
note = {Snapshot 20261001T043102Z-ec6e5be5fd6d, sha256 ec6e5be5fd6d2ec086686030bac8137f75541dfdb3d4aae32b6223ab2ba3eef5; accessed 2026-10-01}
}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=bls_metro_employment_intel%2Fus_metro_employment_momentum_monthly&lang=en&theme=auto&snapshot=20261001T043102Z-ec6e5be5fd6d&x=month&y=employment_thousands&agg=avg" title="US metro employment momentum intelligence (monthly)" 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.