Method & gates
Every signal is fitted on plan years up to 2018 and scored on 2019–2022, which the fit never sees. The gates below were fixed before anything was measured, and a signal appears on this site carrying whichever result it earned.
The four gates
Top-decile lift ≥ 3.0x
Whether the ranking is commercially useful. Multiply it by the base rate to get the hit rate a user would actually experience working down the list.
Absence lift ≥ 2.0x
The one that matters most, and the hardest to pass. It scores only plan-years where nothing visible was happening — no provider change, no auditor change, a quiet asset mix. Anyone with the same public filings can rank plans that just moved; ranking the quiet ones is the part that cannot be copied by reading the news.
AUC ≥ 0.70
Ranking quality across the whole validation set.
Shuffled null ≈ 1.0x
The leak detector. The outcome is randomly permuted twenty times and re-scored; if the lift does not collapse to roughly 1.0, information from the outcome has reached the features and every other number is meaningless. One signal on this site was withdrawn precisely because a related check caught exactly that.
Why the numbers are conservative
Plan lineage is resolved before anything is modelled
About a tenth of plans vanish from the large-plan file each year. Roughly 40% of those have simply dropped below 100 participants and moved to the short form — they are alive. Counting them as terminations inflated an earlier version of the termination signal until the lineage resolver classified 94% of disappearances.
Provider mergers are excluded, not zeroed
A single-year flow of 50 or more plans between one specific pair of providers is an acquisition or an entity rename, never organic switching. In one year, 2,241 plans “changed recordkeeper” because a single firm changed its own tax ID. Those plan-years are dropped from the outcome rather than recorded as non-events, because an acquired plan may also have switched on its own.
The newest year is labelled, not hidden
Filings arrive nine to eleven months after each plan’s year end, so the most recent year is always partial. Each ranked list states what share of a full year has been filed rather than presenting a half-filed year as a shrinking market.
Standing checks on this build
These run on every refresh. A failure stops the pipeline before anything reaches this site.
| WARN | outcome_not_circular | withheld: provider-radar: top_dest_share separates acquired_next_yr perfectly |
| PASS | views_populated | all required views populated |
| PASS | dc_filter | 2,121,815 panel rows from 2,121,815/4,299,671 DC (49%) of all filers; 71% of Schedule H filers |
| PASS | panel_key_unique | keys unique in bt2, bt3, bt4, bt5 |
| PASS | disappearance_explained | 248,667 disappearances, 5.7% unresolved |
| PASS | ma_contamination | 12 pair-years excluded (leaked=0) |
| PASS | y1_base_rate | 0.0302-0.0388 over 13 years |
| PASS | y3_base_rate | 0.0046-0.0056 over 13 years |
| PASS | fit_oot_drift | y1_rk_change 0.0350->0.0301 (+14%); y3_clean 0.0045->0.0047 (+3%); y4_fee_cut 0.1469->0.1146 (+22%) |
| PASS | outcome_coverage | y1_rk_change 88%; y3_clean 95%; y4_fee_cut 84% |
Source
U.S. Department of Labor, EBSA Form 5500 structured datasets — 2.66 GB across 8 datasets, form years 2009–2024. Attachments, including the Schedule of Assets, are not used: they sit behind a separate request and nothing here depends on them. Snapshot generated 2026-08-24.