Skip to the document
Madhuopen lab

Public data, kept honest · part 1 of 4

adopted13 September 2026cost: local CPU; runtime ≈ 2.5 minutes a run

Geography: where the job actually is

7 runs

The question

Did the change make the dataset more accurate without moving the headline numbers for a reason nobody can explain?

adopted

History fixes: date parsing (mixed date/datetime strings dropped FY2013/14/19), population-weighted ZCTA->county (Census 2010 rel file; fixes Boise/Bartlesville), city fallback share 0.8->0.6 — all 17 FYs now populated (national…

Runs7
Kept7

Every run

Every run
#what changedverdictKC filings (3 y)geo resolved %notes
0Baseline: ZIP->CBSA geo with city/zip3 fallback; suffix-strip employer keys; FY2023-FY2026Q3kept555999.802runtime 150.7s; unresolved geo 4056 rows (mostly CT)
1Geo: Connecticut fallback to 2020 CBSA delineations (legacy counties) in build_geo.pykept555999.981geo_unresolved_rows 4056 -> 397; metros 919 -> 952; KC unchanged
2Geo: ZIP/state conflict resolution (trust typed city+state when it is a known combo and city+ZIP-state is not; else trust ZIP and correct the state)kept555499.98789 states corrected from ZIP, 1431 ZIPs distrusted (e.g. 330 Dallas TX rows with NJ ZIPs); KC last3 5559->5554 (ZIP-typo rows moved out); kc_city_labels 96->76
9Secondary worksites: DOL LCA_Worksites files (all worksites per case) -> kc_metro.json any_worksite block (superset of primary-worksite headline); bug fix: FY rollups now carry…kept597799.98KC 3-yr any-worksite 6817 filings / 1782 employers vs primary 5977 / 1549; worksite files cover 1.95M of 2.04M in-scope cases
12KC-headquartered employers view (EMPLOYER address ZIP/city -> CBSA; all their LCAs nationwide) -> kc_metro.json kc_headquarteredkept597799.98KC-HQ 3-yr: 5202 filings / 556 employers; Black & Veatch 404, Burns & McDonnell 341 nationwide
13Bug fix: pipeline wiped data/out (deleting uscis_petitions.json and crosscheck json) - now only rebuilds states/ and metros/kept597799.98USCIS + cross-check sections restored in README
17History fixes: date parsing (mixed date/datetime strings dropped FY2013/14/19), population-weighted ZCTA->county (Census 2010 rel file; fixes Boise/Bartlesville), city fallback…kept591299.537all 17 FYs now populated (national 342k-622k/yr); 8.65M cases in scope; KC last-3 5912; runtime 1352s
public dataH-1Bgeography