White Collar Employment Report: replication materials

The code, parameters and derived data behind the NextChapter White Collar Employment Report are public, so anyone can check our numbers. The scripts download Census Current Population Survey microdata directly and rebuild the index, breakdowns and margins of error published in the September 2026 edition.

What you can reproduce

Output in the reportWhere in the repository
White-Collar Long-Search Index (Exhibit 1), monthly 2015–2026code/01_wc_index_monthly.py → data/wc-index.csv
Breakdowns by occupation, industry and age; older workers; graduates; blue-collarcode/02_cps_breakdowns.py, code/03_cps_aggregates.py
90% margins of error (BLS generalized variance method)code/04_margins_of_error.py with data/bls_gvf_parameters.json
Seasonal-adjustment robustness (fixed factors, X-13ARIMA-SEATS, STL, 12-month average)code/05_seasonal_sensitivity.py, code/x13_wcltu.spc
AI in SEC restructuring filings (Form 8-K, Item 2.05)methodology/sec_item205_search.md, data/sec-item205-ai-coding-2026.csv
Hires per job opening, 2001–2026data/hires_per_opening.csv (BLS JOLTS via FRED)
Revenue per employee, 27 large white-collar employersdata/displacement-report-2026-q3-revenue-per-employee.csv
Industry productivity vs long searches (Q3 feature)code/08_industry_productivity.py, data/industry_productivity_vs_long_searches.csv
Nativity breakdown and age-sex standardized 55+ participationcode/09_nativity_and_age_standardization.py
Beyond-unemployment white-collar panelcode/10_hidden_displacement.py, data/cps_hidden_displacement_wc_jan_aug_2019_2025_2026.json
AI exposure vs outcomes by occupation (including the customer service test)code/11_exposure_vs_outcomes.py, data/exposure_test_results.json
Education and experience breakdownscode/12_education_experience.py, data/cps_education_experience_2019_2022_2025_2026.json
Total factor productivity decomposition (Q3 addendum)code/13_tfp_decomposition.md, data/sf_fed_tfp_decomposition.csv (SF Fed quarterly TFP series)
Senior openings tracker (pilot, Appendix A)code/07_openings_tracker_pilot.py (needs the NextChapter jobs database; not reproducible externally)

Code: MIT License. Data files and documentation: CC BY 4.0. Census microdata are not redistributed; the scripts fetch them with a free Census API key.

Open data and methodology

Journalists, workforce boards, colleges and funders can check every number in the report. The code is licensed MIT. The data files and documentation are licensed CC BY 4.0: use them, and credit the “NextChapter White Collar Employment Report” (published through October 12, 2026 as the “NextChapter Displacement Report”).

Scripts

  • code/01_wc_index_monthly.pyWhite-Collar Long-Search Index, monthly 2015 to 2026 (data/wc-index.csv)
  • code/02_cps_breakdowns.py, code/03_cps_aggregates.pyBreakdowns by occupation, industry, age; older workers; graduates; blue-collar
  • code/04_margins_of_error.py90% margins of error by the BLS generalized variance method
  • code/05_seasonal_sensitivity.py, code/x13_wcltu.spcSeasonal-adjustment robustness: fixed factors, X-13ARIMA-SEATS, STL, 12-month average
  • code/08_industry_productivity.pyIndustry productivity versus long searches
  • code/09_nativity_and_age_standardization.pyNativity breakdown; age-sex standardized 55+ participation
  • code/10_hidden_displacement.pyBeyond-unemployment white-collar panel
  • code/11_exposure_vs_outcomes.pyAI exposure versus outcomes by occupation, including the customer service test
  • code/12_education_experience.pyEducation and experience breakdowns
  • code/13_tfp_decomposition.mdTotal factor productivity decomposition from the SF Fed quarterly series

Where the underlying data comes from

  • U.S. Census Bureau Current Population Survey basic monthly public-use microdata (api.census.gov, free key)
  • BLS parameters and factors for CPS standard errors
  • Federal Reserve Bank of San Francisco quarterly TFP series (Fernald)
  • SEC EDGAR full-text search and filing archives

Known limitations

  • Margins of error use BLS generalized variance functions because Census does not publish replicate weights for the public-use monthly files. These can understate variance for small groups.
  • Eight-month average seasonal factors are interpolated between published 3- and 12-month factors.
  • CPS occupation codes changed in 2020, so the index treats January 2020 as a potential break.
  • The SEC restructuring-filing coding was done by one analyst. There is no second-coder reliability check yet.
  • The revenue-per-employee sample is limited to companies whose 10-Ks state comparable total headcount. Figures are nominal and acquisitions are flagged, not adjusted.
  • The senior openings tracker is a pilot and needs the NextChapter jobs database, so it cannot be reproduced externally.

The full methodology, variable dictionary and seasonal factors are in the repository's methodology folder. The report states what its numbers can and cannot show, including that it does not establish a cause for the rise in long searches.

Check our numbers

  • The code and data behind the NextChapter White Collar Employment Report are public.
  • Code is MIT licensed. Data and documentation are CC BY 4.0.
  • Every exhibit lists its source and period, with margins of error on survey estimates. Known limitations are published with the method.
  • Repository: https://github.com/justinkulla81/nextchapter-displacement-report
  • Corrections: jkulla@launchyournextchapter.com

How we record changes between editions

Every change between versions and editions (a new section, a revised figure, a correction or a new data source) is logged with what it was before, what it is now, why it changed and whether earlier numbers are affected. The rules are in methodology/change_record_standard.md, and the record itself is the repository's CHANGELOG.

Found an error?

Send corrections to Justin Kulla at jkulla@launchyournextchapter.com. Corrections are dated and noted in the report's version log and the repository's changelog.