US labor-turnover intelligence: JOLTS + Beveridge ratio (monthly)
Monthly US labor-turnover intelligence from the BLS Job Openings and Labor Turnover Survey (keyless BLS Public Data API v2): national total-nonfarm seasonally adjusted job openings, hires, total separations, quits, and layoffs & discharges — levels in thousands and rates in percent — joined to the CPS national unemployed level for the Beveridge ratio (openings per unemployed person). Includes MoM/YoY momentum, trailing-12-month z-scores of the three key rates, a documented 0-100 turnover-tightness score with ranks and tightness tiers, and worker-confidence / layoff-stress / record-openings flags. Methodology window 2017-01 onward. Caveats: the latest JOLTS month lags ~2 months and is routinely revised; BLS material is public domain (commercial reuse allowed); source: U.S. Bureau of Labor Statistics.
- Rows
- 115
- Columns
- 34
- Source cadence
- Monthly
- Last refreshed
- Sep 27, 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; the latest JOLTS month normally lags ~2 months behind the CPS headline. (unit: ISO date) |
| country_code | string | ISO alpha-3 country code (USA for every row). (unit: ISO 3166-1 alpha-3) |
| job_openings_k | float | Published seasonally adjusted job openings, total nonfarm, kept verbatim as published. (unit: thousands of persons) |
| openings_rate_pct | float | Published seasonally adjusted job openings rate (openings as a percent of employment plus openings). (unit: percent) |
| openings_mom_k | float | Month-over-month change of the openings level. (unit: thousands of persons) |
| openings_yoy_k | float | Year-over-year change of the openings level. (unit: thousands of persons) |
| openings_rate_mom_pp | float | Month-over-month change of the openings rate. (unit: percentage points) |
| openings_rate_yoy_pp | float | Year-over-year change of the openings rate. (unit: percentage points) |
| hires_k | float | Published seasonally adjusted hires, total nonfarm. (unit: thousands of persons) |
| hires_rate_pct | float | Published seasonally adjusted hires rate. (unit: percent) |
| separations_k | float | Published seasonally adjusted total separations. (unit: thousands of persons) |
| separations_rate_pct | float | Published seasonally adjusted total separations rate. (unit: percent) |
| quits_k | float | Published seasonally adjusted quits (voluntary separations). (unit: thousands of persons) |
| quits_rate_pct | float | Published seasonally adjusted quits rate. (unit: percent) |
| quits_rate_yoy_pp | float | Year-over-year change of the quits rate. (unit: percentage points) |
| layoffs_k | float | Published seasonally adjusted layoffs & discharges. (unit: thousands of persons) |
| layoffs_rate_pct | float | Published seasonally adjusted layoffs & discharges rate. (unit: percent) |
| layoffs_rate_yoy_pp | float | Year-over-year change of the layoffs rate. (unit: percentage points) |
| unemployed_k | float | CPS national unemployed level (series LNS13000000), thousands; month-level context for the Beveridge ratio. The CPS headline runs about one month ahead of JOLTS. (unit: thousands of persons) |
| beveridge_ratio | float | job_openings_k / unemployed_k — openings per unemployed person, the textbook labor-market tightness gauge. Caveat: JOLTS is an establishment survey, CPS a household survey, so this is the standard approximation, not an exact identity. (unit: ratio) |
| beveridge_mom | float | Month-over-month change of the Beveridge ratio. (unit: ratio points) |
| beveridge_yoy | float | Year-over-year change of the Beveridge ratio. (unit: ratio points) |
| z12_openings_rate | float | Trailing-12-month z-score of the openings rate (minimum 12 observations). (unit: z-score) |
| z12_quits_rate | float | Trailing-12-month z-score of the quits rate. (unit: z-score) |
| z12_layoffs_rate | float | Trailing-12-month z-score of the layoffs rate. (unit: z-score) |
| turnover_tightness_score | float | Documented 0-100 composite: 100 * (0.50 * linmap(winsorized z12_openings_rate, -3..3) + 0.30 * linmap(winsorized z12_quits_rate) + 0.20 * linmap(-winsorized z12_layoffs_rate)), linmap mapping [-3, 3] -> [0, 1]. High = tight labor market. (unit: 0-100 score) |
| tightness_rank | integer | Rank of turnover_tightness_score across the panel (1 = tightest month). (unit: rank) |
| tightness_tier | string | Panel-quartile bucket of the score: t1 (loosest) .. t4 (tightest). (unit: tier) |
| quits_high_flag | integer | 1 when the quits rate is at or above its trailing-12-month 75th percentile (worker confidence). (unit: binary) |
| layoff_stress_flag | integer | 1 when the layoffs rate is at or above its trailing-12-month 90th percentile (stress). (unit: binary) |
| openings_record_12m_flag | integer | 1 when the openings rate equals its trailing-12-month maximum. (unit: binary) |
| source_url | string | BLS JOLTS program homepage (provenance). (unit: URL) |
| bls_series_ids | string | Semicolon-joined BLS series ids behind the row (the 11 curated JOLTS + CPS ids). |
| row_hash | string | Deterministic 16-hex row hash of the month (idempotency). |
First 10 sample rows — a preview, not the complete dataset.
| month | country_code | job_openings_k | openings_rate_pct | openings_mom_k | openings_yoy_k | openings_rate_mom_pp | openings_rate_yoy_pp | hires_k | hires_rate_pct | separations_k | separations_rate_pct | quits_k | quits_rate_pct | quits_rate_yoy_pp | layoffs_k | layoffs_rate_pct | layoffs_rate_yoy_pp | unemployed_k | beveridge_ratio | beveridge_mom | beveridge_yoy | z12_openings_rate | z12_quits_rate | z12_layoffs_rate | turnover_tightness_score | tightness_rank | tightness_tier | quits_high_flag | layoff_stress_flag | openings_record_12m_flag | source_url | bls_series_ids | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2017-01-01 | USA | 5,617 | 3.7 | — | — | — | — | 5,499 | 3.8 | 5,320 | 3.7 | 3,188 | 2.2 | — | 1,745 | 1.2 | — | 7,468 | 0.752 | — | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | ce908ef3ae92367e |
| 2017-02-01 | USA | 5,923 | 3.9 | 306 | — | 0.2 | — | 5,350 | 3.7 | 5,176 | 3.5 | 3,089 | 2.1 | — | 1,711 | 1.2 | — | 7,379 | 0.803 | 0.051 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | 5c2aa54cbac58255 |
| 2017-03-01 | USA | 5,811 | 3.8 | -112 | — | -0.1 | — | 5,395 | 3.7 | 5,280 | 3.6 | 3,150 | 2.2 | — | 1,762 | 1.2 | — | 7,073 | 0.822 | 0.019 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | bcf2de0da86a9662 |
| 2017-04-01 | USA | 6,091 | 4 | 280 | — | 0.2 | — | 5,272 | 3.6 | 5,091 | 3.5 | 3,028 | 2.1 | — | 1,710 | 1.2 | — | 7,089 | 0.859 | 0.038 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | 4a4e32124c511f45 |
| 2017-05-01 | USA | 5,826 | 3.8 | -265 | — | -0.2 | — | 5,477 | 3.7 | 5,270 | 3.6 | 3,111 | 2.1 | — | 1,794 | 1.2 | — | 7,000 | 0.832 | -0.027 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | c01c01f92e62bd97 |
| 2017-06-01 | USA | 6,305 | 4.1 | 479 | — | 0.3 | — | 5,635 | 3.8 | 5,463 | 3.7 | 3,154 | 2.2 | — | 1,970 | 1.3 | — | 6,873 | 0.917 | 0.085 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | ec952c986f900a78 |
| 2017-07-01 | USA | 6,238 | 4.1 | -67 | — | 0 | — | 5,497 | 3.7 | 5,338 | 3.6 | 3,097 | 2.1 | — | 1,910 | 1.3 | — | 6,892 | 0.905 | -0.012 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | e49b8c9d36b62dff |
| 2017-08-01 | USA | 6,276 | 4.1 | 38 | — | 0 | — | 5,519 | 3.8 | 5,334 | 3.6 | 3,103 | 2.1 | — | 1,868 | 1.3 | — | 7,082 | 0.886 | -0.019 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | 3eb5829980e91a31 |
| 2017-09-01 | USA | 6,320 | 4.1 | 44 | — | 0 | — | 5,450 | 3.7 | 5,289 | 3.6 | 3,190 | 2.2 | — | 1,787 | 1.2 | — | 6,854 | 0.922 | 0.036 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | e795cf8051db8b5c |
| 2017-10-01 | USA | 6,408 | 4.2 | 88 | — | 0.1 | — | 5,581 | 3.8 | 5,397 | 3.7 | 3,219 | 2.2 | — | 1,837 | 1.2 | — | 6,700 | 0.956 | 0.034 | — | — | — | — | — | — | — | 0 | 0 | 0 | https://www.bls.gov/jlt/ | JTS000000000000000HIL;JTS000000000000000HIR;JTS000000000000000JOL;JTS000000000000000JOR;JTS000000000000000LDL;JTS000000000000000LDR;JTS000000000000000QUL;JTS000000000000000QUR;JTS000000000000000TSL;JTS000000000000000TSR;LNS13000000 | e45f69b598e5ca6e |
Profiled Sep 27, 2026 from snapshot
Measured- Completeness
- 96.6%
- Rows
- 115
- Columns
- 34
- Columns with gaps
- 16
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| monthvarchar | 0% | 89 | — |
|
| country_codevarchar | 0% | 1 | — |
|
| job_openings_kdouble | 0% | 117 | 4,606 → 12,301median 7,275 | 4 outside 1st–99th percentile |
| openings_rate_pctdouble | 0% | 33 | 3.4 → 7.5median 4.6 | 4 outside 1st–99th percentile |
| openings_mom_kdouble | 0.87% | 108 | -1,484 → 1,006median 7.5 | 4 outside 1st–99th percentile |
| openings_yoy_kdouble | 10.4% | 119 | -2,919 → 4,747median -209 | 4 outside 1st–99th percentile |
| openings_rate_mom_ppdouble | 0.87% | 26 | -0.8 → 0.6median 0 | 4 outside 1st–99th percentile |
| openings_rate_yoy_ppdouble | 10.4% | 52 | -1.7 → 2.7median -0.1 | 4 outside 1st–99th percentile |
| hires_kdouble | 0% | 102 | 4,029 → 8,133median 5,689 | 4 outside 1st–99th percentile |
| hires_rate_pctdouble | 0% | 17 | 3.1 → 6.1median 3.8 | 4 outside 1st–99th percentile |
| separations_kdouble | 0% | 106 | 4,718 → 16,275median 5,494 | 4 outside 1st–99th percentile |
| separations_rate_pctdouble | 0% | 13 | 3.2 → 10.8median 3.7 | 2 outside 1st–99th percentile |
| quits_kdouble | 0% | 121 | 1,991 → 4,499median 3,386 | 4 outside 1st–99th percentile |
| quits_rate_pctdouble | 0% | 16 | 1.5 → 3median 2.3 | 4 outside 1st–99th percentile |
| quits_rate_yoy_ppdouble | 10.4% | 26 | -0.8 → 1.2median -0.1 | 4 outside 1st–99th percentile |
| layoffs_kdouble | 0% | 120 | 1,312 → 12,985median 1,714 | 4 outside 1st–99th percentile |
| layoffs_rate_pctdouble | 0% | 10 | 0.9 → 8.6median 1.1 | 2 outside 1st–99th percentile |
| layoffs_rate_yoy_ppdouble | 10.4% | 24 | -7.6 → 7.5median 0 | 4 outside 1st–99th percentile |
| unemployed_kdouble | 0.87% | 98 | 5,747 → 23,084median 6,666 | 4 outside 1st–99th percentile |
| beveridge_ratiodouble | 0.87% | 128 | 0.1995 → 2.04median 1.1 | 4 outside 1st–99th percentile |
| beveridge_momdouble | 2.6% | 135 | -0.6184 → 0.1889median 0.0129 | 4 outside 1st–99th percentile |
| beveridge_yoydouble | 11.3% | 108 | -1.02 → 1.17median -0.0161 | 4 outside 1st–99th percentile |
| z12_openings_ratedouble | 9.6% | 107 | -2.67 → 2.26median -0.4282 | 4 outside 1st–99th percentile |
| z12_quits_ratedouble | 9.6% | 100 | -3.09 → 2.35median -0.2887 | 4 outside 1st–99th percentile |
| z12_layoffs_ratedouble | 9.6% | 90 | -2.35 → 3.17median -0.2887 | 4 outside 1st–99th percentile |
| turnover_tightness_scoredouble | 9.6% | 97 | 2.75 → 81.16median 43.31 | 4 outside 1st–99th percentile |
| tightness_rankbigint | 9.6% | 100 | 1 → 104median 52.5 | 4 outside 1st–99th percentile |
| tightness_tiervarchar | 9.6% | 4 | — |
|
| quits_high_flagbigint | 0% | 2 | 0 → 1median 0 | |
| layoff_stress_flagbigint | 0% | 2 | 0 → 1median 0 | |
| openings_record_12m_flagbigint | 0% | 2 | 0 → 1median 0 | |
| source_urlvarchar | 0% | 1 | — |
|
| bls_series_idsvarchar | 0% | 1 | — |
|
| row_hashvarchar | 0% | 122 | — |
|
- Current
20260927T205230Z-60665f674fff · sha256 60665f674fff…
115 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_jolts_turnover_intel/us_jolts_labor_turnover_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/bls_jolts_turnover_intel/us_jolts_labor_turnover_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_jolts_turnover_intel/us_jolts_labor_turnover_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 20260927T205230Z-60665f674fff and its content hash, so readers get exactly the data you used.
U.S. Bureau of Labor Statistics. (2026). US labor-turnover intelligence: JOLTS + Beveridge ratio (monthly) [Data set, snapshot 20260927T205230Z-60665f674fff, sha256 60665f674fff]. Datazimuts. Retrieved 2026-09-27, from https://datazimuts.com/en/datasets/bls_jolts_turnover_intel/us_jolts_labor_turnover_monthly?snapshot=20260927T205230Z-60665f674fff
@misc{dz_bls_jolts_turnover_intel_us_jolts_labor__60665f67,
title = {{US labor-turnover intelligence: JOLTS + Beveridge ratio (monthly)}},
author = {{U.S. Bureau of Labor Statistics}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/bls_jolts_turnover_intel/us_jolts_labor_turnover_monthly?snapshot=20260927T205230Z-60665f674fff}},
note = {Snapshot 20260927T205230Z-60665f674fff, sha256 60665f674fff557b7e5876b0a73176b6999f4301cff4d854aa0654a96b98d0b5; accessed 2026-09-27}
}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_jolts_turnover_intel%2Fus_jolts_labor_turnover_monthly&lang=en&theme=auto&snapshot=20260927T205230Z-60665f674fff&x=month&y=job_openings_k&agg=avg" title="US labor-turnover intelligence: JOLTS + Beveridge ratio (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.