Public data, kept honest · part 2 of 4
adopted12 September 2026cost: local CPU; runtime ≈ 2.5 minutes a run
Employer identity: one company, one row
5 runs
The question
Did the change make the dataset more accurate without moving the headline numbers for a reason nobody can explain?
adopted
Employer fields: display name prefers longer spelling when top spelling is a truncation; wage P25/P75, prevailing-wage level counts, top SOC codes (last 3 yrs) — no count changes; runtime 281s (watch the 5-min budget)
Runs5
Kept5
Every run
| # | what changed | verdict | KC filings (3 y) | geo resolved % | notes |
|---|---|---|---|---|---|
| 3 | Employer identity: union-find merge of name clusters sharing a FEIN when names overlap (Jaccard>=0.5 on tokens minus stopwords, or prefix) | kept | 5554 | 99.98 | 3610 pair-merges; employer_keys 121087->118312; kc_feins_multi_name 18->7 (remaining are distinct entities under one FEIN or pure spellings); Burns & McDonnell… |
| 4 | Config: employer aliases (IBM, USD 500, Truman/University Health, Cloud Nine Tek...) + KC city spelling fixes (Desoto, Kanas City, Lexena, 10 Overland Park variants) | kept | 5554 | 99.98 | kc_city_labels 76->58; kc_feins_multi_name 7->3 (remaining: KDOT/KU, Colgate/Hill's, Coperion/Schenck = distinct entities sharing FEIN); merge examples exposed… |
| 5 | Employer identity: stricter FEIN merge (typo-tolerant token match, singularize, allow at most 1 differing token, prefix must be word-boundary) | kept | 5554 | 99.98 | merges 3610->2774; bad merges (SUNY campuses, NYC departments, CUNY colleges) gone from examples; kc_feins_multi_name 3->5 (now correctly unmerged distinct… |
| 7 | Spec (user): window Jul 2023-Jun 2026; new-job / extension / transfer-in split from LCA basis fields (NEW_EMPLOYMENT, CONTINUED_EMPLOYMENT, CHANGE_EMPLOYER ...) | kept | 5977 | 99.98 | KC 3-yr: 5977 filings = 2200 new / 1367 extension / 829 transfer / rest other |
| 10 | Employer fields: display name prefers longer spelling when top spelling is a truncation; wage P25/P75, prevailing-wage level counts, top SOC codes (last 3 yrs) | kept | 5977 | 99.98 | no count changes; runtime 281s (watch the 5-min budget) |