Form 5500 Search
Methodology

Dataset, scoring, and data linkages

This document specifies the data sources, derivation rules, and known limitations of every number presented in the 5500 Analyzer. All scoring criteria below are evaluated from the public DOL EFAST2 release; no proprietary or licensed data enters at the row level.

Back to search

§1Dataset

All data derive from the U.S. Department of Labor EFAST2 public release of Form 5500 and Form 5500-SF for plan years 2022, 2023, and 2024. The corpus is loaded from Parquet files published by the DOL and queried locally with DuckDB.

Plan year coverage
2022, 2023, 2024. Filings with PLAN_YEAR < 2022 are not present in the loaded corpus and are surfaced as “Pre-2022” if encountered.
Filings (form_5500.parquet, form_5500_sf.parquet)
One row per filing. The unique identifier is ACK_ID. The same plan (sponsor EIN + plan number) appears once per plan year.
Service providers (sch_c_item1, sch_c_item2, sch_c_item3, sch_c_part2)
Schedule C disclosure of compensated service providers. Schedule C is required only for Form 5500 filers (not 5500-SF) with at least one provider receiving $5,000 or more in a plan year.
Schedule H (sch_h.parquet)
Audited financial statements for large plans (generally ≥100 participants). Contains assets, liabilities, and the Line 4i schedule-of-assets summary.
Schedule D (sch_d.parquet)
List of Direct Filing Entities (DFEs) — master trusts, common/collective trusts, pooled separate accounts — in which the filer holds an interest.
Schedule of Assets (Line 4i, parsed offline)
Line-item investment holdings. Filed as a free-form PDF attachment on EFAST2; we extract these offline. Coverage is partial and prioritized toward the largest plans and master trusts.

§2Data linkages

A retirement plan is rarely described by a single filing. The information needed to evaluate a plan is distributed across the Form 5500 itself, its attached schedules, and — when assets are pooled — the filings of separate Direct Filing Entities. The diagram below specifies the relationships.

Plan sponsor (SPONSOR_EIN)
  └─ files one Form 5500 or 5500-SF per plan, per plan year
     │   (uniquely identified by ACK_ID)
     │
     ├─ Schedule C ··················· compensated service providers
     │     └─ Part 2 ················· providers who failed to disclose
     │
     ├─ Schedule H ··················· audited financial statements
     │     │      (large plans only, generally ≥100 participants)
     │     │
     │     └─ Line 4i ················ Schedule of Assets (line items)
     │            ↳ filed as a PDF attachment on EFAST2
     │            ↳ parsed offline; coverage is partial
     │
     └─ Schedule D ··················· interests in pooled investment
            │                          vehicles (Direct Filing Entities)
            │
            ▼
     ┌─────────────────────────────────────────────┐
     │  Direct Filing Entity (master trust / CCT)  │
     │  • Has its own EIN + plan number             │
     │  • Files its OWN Form 5500                    │
     │  • Its Schedule H reports the FULL pooled    │
     │    balance, not the per-plan allocation      │
     │  • Its Line 4i lists the underlying          │
     │    securities (CUSIPs, share classes, etc.)  │
     └─────────────────────────────────────────────┘

Practical consequences for what you see on a plan page

  1. Small filers (Form 5500-SF). No Schedule H, no Schedule of Assets, no Schedule C. Holdings cannot be shown for these plans because they were never disclosed in the first place.
  2. Large filers with no DFE interests.Holdings exist as a PDF attachment to the filing. The 5500 Analyzer shows them when our offline parser has unlocked that filing’s template; otherwise the plan page links to the original PDF on EFAST2.
  3. Large filers with Schedule D interests.The plan’s own Schedule H reports each pooled vehicle as a single allocated-interest balance (e.g. “Vanguard Fiduciary Trust Company Master Trust — $X”). The line-item securities sit on the master trust’s own Form 5500. The plan page surfaces this with a Schedule D table and links the participant to the trust’s filing.
  4. The filing is itself a DFE. Its Schedule H reports the full pooled balance for the trust. Participating plans each report their allocated interest separately. The plan page replaces the Plan Health Score with a DFE summary in this case because the health-score formula does not apply to a pooled investment vehicle (no benefit design, no participants in the usual sense, no IQPA requirement).

A filing’s reported “total plan assets” on its own row in the search results is always the value the plan itself reported on Schedule H. No allocation, deduplication, or inference is applied at the row level.

§3DFE double-counting in aggregate totals

When totals are computed across the corpus — for example, the homepage hero numbers — the structure described in §2 produces a known double-count: a master trust’s assets appear once on the trust’s own Form 5500 and again on each participating plan’s Schedule H.

How we handle it

  • Candidate DFE filings are found by joining each filing’s (SPONSOR_EIN, PLAN_NUM) against the (DFE_EIN, DFE_PN) columns of raw_sch_d across the corpus. This citation alone is notsufficient: a real employer plan’s EIN and plan number occasionally collide with a DFE reference. A filing is therefore treated as a pooled vehicle only when it is cited as a DFE andhas the vehicle shape — no pension benefit code, no welfare benefit code, and zero active participants. This keeps real plans (e.g. large 401(k) and defined-benefit plans that happen to be referenced) classified as plans rather than trusts.
  • The “Plans” / “Trusts” filing-type filter uses the same vehicle shape: any filing with no benefit codes and no active participants is excluded from the default Plans view, and shown under Trusts.
  • The homepage total assetsaggregate sums only filings for the latest plan year and excludes the double-counted pooled vehicles defined above. The number reported elsewhere (e.g. on a plan’s detail page) is always the single filing’s own Schedule H value and is not adjusted.
  • The homepage active participants aggregate sums the latest plan year only, with no DFE adjustment. A genuine pooled vehicle reports zero participants by construction. Filtered views sum active participants across whatever filings match, and a caveat notes that the figure counts plan memberships, not unique individuals.

The Investment Company Institute estimates U.S. private retirement assets at approximately $15 trillion (year-end 2024). The Form 5500 universe is a superset because it also covers welfare benefit plans (health, life, severance).

§4Plan Health Score

4.1 Scoring philosophy

The Plan Health Score is a 0–100 directional indicator derived entirely from the public Form 5500. Three principles govern its construction:

  • Affirmative evidence only.A plan is penalized only for a problem the filer affirmatively reported in a structured field — a checked Schedule H red-flag box, a disclosed late contribution, a missing IQPA, a late filing. The score never deducts for data we could not extract or that DOL ships blank.
  • Exact peer percentiles. Relative pillars (cost, plan health) are scored against same-size peers using an exact percentile, not an approximation — see §4.4.
  • Missing data never penalizes; the score reports its own confidence.A pillar we cannot measure for a given filing is dropped and the remaining pillar weights are re-normalized. The card shows what fraction of the scoring inputs were available, and when coverage falls below 50% the plan is shown as “limited data — not graded” rather than a misleading letter grade.

4.2 Grade bands

Score rangeGradeInterpretation
85–100ANo material flags; top-tier cost & health vs peers
70–84BAbove-average; minor flags or single moderate flag
55–69CAverage; moderate flags across one or more pillars
40–54DBelow-average; multiple material flags
0–39FSerious compliance and/or cost flags

4.3 Pillar weights

Weights are nominal; only measured pillars contribute, and their weights are re-normalized to sum to 1.0 for each filing.

PillarWeightBasis
Compliance & integrity35%Penalty-based (affirmative flags)
Total plan cost30%Exact peer percentile
Plan health20%Exact peer percentile
Vendor & structure15%Penalty-based

4.4 How peer percentiles are computed

Each plan is placed in a cohortdefined by its filing year, form type (5500 vs 5500-SF), and asset band (<$1M, $1–10M, $10–50M, $50–100M, $100–500M, $500M–1B, $1B+). Within that cohort, each metric’s percentile is computed with DuckDB’s cume_dist() over the non-null rows of the metric:

  • It is exact — the fraction of cohort peers a plan is at-or-better-than — not a sampled or bucketed approximation.1.0 = best in cohort, 0.5 = median.
  • Direction is baked into the ordering: cost orders so that lower expense is better; participation, contributions and balance order so that higher is better.
  • A metric is used only when its cohort has at least 20 plans with that metric present; otherwise the metric is treated as not measured.

The percentile is then rendered on a 0–100 scale through a mild concave calibration curve (percentile0.7 × 100) so the grade bands line up with percentile intuition: the medianpeer (50th percentile) maps to ~62 — a “C”, i.e. average — rather than to 50, which a raw linear mapping would put in the “D” band. The top quartile maps to ~82 (B) and the top ~15% to ~89 (A). The raw percentile is always shown verbatim in the pillar detail, so nothing is hidden — only the 0–100 rendering is curved.

4.5 Compliance & integrity (pillar starts at 100)

CriterionAdjustmentNote
FAIL_TRANSMIT_CONTRIB_IND = Yes (Schedule H 4a)−4 to −18Delinquent participant contributions — the #1 DOL enforcement flag and a fiduciary breach. Scaled by the late amount as a share of total contributions (floor −4 for any breach, −12 when contributions are unavailable to gauge materiality).
PARTY_IN_INT_NOT_RPTD_IND = Yes (Schedule G)−25Non-exempt prohibited transaction reported.
LOSS_DISCV_DUR_YEAR_IND = Yes−25Loss due to fraud or dishonesty reported.
LOANS_IN_DEFAULT_IND = Yes−10Participant loans in default (deemed distributions).
TOT_CORRECTIVE_DISTRIB_AMT > 0−8Corrective distributions issued — typically a failed ADP/ACP nondiscrimination test.
ASSET_UNDETERM_VAL_IND = Yes−6Holds assets with an undetermined value.
Blackout period without compliant notice−8PLAN_BLACKOUT_PERIOD_IND = Yes and COMPLY_BLACKOUT_NOTICE_IND ≠ Yes.
ACCTNT_OPINION_TYPE_CD ∈ {2,3,4} AND active ≥ 120−15Qualified, disclaimer, or adverse IQPA opinion.
PLAN_INS_FDLTY_BOND_IND = No−10No ERISA §412 fidelity bond reported.
Fidelity bond < min(10%·assets, $500K / $1M)−8Bond below the 10%-of-assets bonding rule ($1M cap when employer securities are held).
Employer securities ≥ 50% / ≥ 20% of assets−20 / −10Structured employer-stock concentration (EMPLR_SEC_EOY_AMT).
active ≥ 120 AND ACCOUNTANT_FIRM_NAME is null−30Audit-required plan named no IQPA.
sch_c_part2 contains ≥1 row for the filing−10 to −35min(35, 10 + 5·count) — providers that failed to disclose compensation.
DATE_RECEIVED > FORM_TAX_PRD + 10.5 monthsup to −254 points per month past the 10.5-month grace window.

4.6 Total plan cost (exact peer percentile)

Cost is the plan’s total administrative expense (TOT_ADMIN_EXPENSES_AMT, Schedule H) divided by end-of-year assets, expressed in basis points, then converted to its exact peer percentile per §4.4 (lower expense ranks higher). The pillar is not scored when the plan has no comparable Schedule H expense data or sits in a cohort below the 20-plan floor.

CriterionAdjustmentNote
Total admin expense in bottom quartile of peers (&lt; 25th pct)flagged as an issue
Total admin expense in top 15% of peers (≥ 85th pct)positivenoted as positive

4.7 Plan health (exact peer percentiles)

The average of whichever of the following metrics are available, each as an exact peer percentile (per §4.4):

Account-holder ratio
PARTCP_ACCOUNT_BAL_CNT ÷ TOT_ACTIVE_PARTCP_CNT — accounts with a balance per active participant. NOT the deferral participation rate (% of eligible employees contributing), which the 5500 does not carry; it is a directional account-coverage / maturity proxy and can exceed 1 when former employees retain balances.
Employer contributions / participant
EMPLR_CONTRIB_INCOME_AMT ÷ active participants.
Participant contributions / participant
PARTICIPANT_CONTRIB_AMT ÷ active participants.
Average account balance
Assets ÷ accounts with a balance.

A bottom-quartile account-holder ratio and bottom-decile employer contributions are flagged as issues; a top-15% balance or account-holder ratio is noted as a positive.

4.8 Vendor & structure (pillar starts at 100)

CriterionAdjustmentNote
TYPE_PENSION_BNFT_CODE contains 1I (frozen plan, no new accrual)−25
≥8 disclosed Schedule C providers across ≥5 service categories−12

“No recordkeeper disclosed” is nota penalty. Because DOL ships the structured service-code field blank for essentially every Schedule C Item 2 row, we identify the recordkeeper from a curated name/EIN dictionary and from any recordkeeping fee on Schedule H; when none is identifiable it is surfaced only as an informational note.

§5What the score does not measure

  • Investment menu quality. Per-fund expense ratio, share class selection, and risk-adjusted performance are not on Form 5500 and are not evaluated.
  • Match generosity and eligibility design. Match formulas (e.g. 100% on first 3%, 50% on next 2%), vesting schedules, and eligibility waiting periods are not reported on Form 5500.
  • True deferral rates. Active-participant salary deferral percentages live in recordkeeper data, not the 5500. The participation pillar uses balance-coverage as a directional proxy only.
  • Fiduciary process. Whether the plan committee meets quarterly, maintains a written investment policy statement, or documents fee benchmarking is not observable from filings.
  • Master trust filings.A pooled DFE filing does not receive a Plan Health Score; it is shown a DFE-specific summary instead because the score’s pillars (compliance, cost, plan health, vendor stack) do not apply to a pooled investment vehicle.

§6Lead report definitions

Each count on the Lead Reports page is the result of a deterministic SQL predicate against the loaded views. The predicates are:

ReportPredicate
Failed Schedule C disclosuresEXISTS (SELECT 1 FROM sch_c_part2 WHERE ACK_ID = plans.ACK_ID)
Large plans missing auditorsource_form = ‘form_5500’ AND TOT_ACTIVE_PARTCP_CNT ≥ 100 AND (ACCOUNTANT_FIRM_NAME IS NULL OR trim(ACCOUNTANT_FIRM_NAME) = ‘’)
≥20% party-in-interest exposureSUM(CURRENT_VALUE) FILTER (WHERE PARTY_IN_INTEREST) / SUM(CURRENT_VALUE) ≥ 0.20
>10% employer-stock exposureIssuer regex matches COMMON STOCK|EMPLOYER STOCK|SPONSOR STOCK|COMPANY STOCK AND value ratio ≥ 0.10.
Total direct comp ≥ $1MSUM(DIRECT_COMP_AMT) ≥ 1,000,000 across Schedule C providers.
8+ disclosed providersCOUNT(*) ≥ 8 on Schedule C providers.
Self-directed brokerage detectedAny holding row matches a brokerage-window regex on IDENTITY_OF_ISSUE.
Late filingsDATE_RECEIVED > date_of_extended_deadline (10.5 months past PYE).
YoY: auditor / recordkeeper change, asset drop, first-time filerSelf-join of plans_canonical on (SPONSOR_EIN, PLAN_NUM) between the latest plan year and the prior plan year.

§7Recordkeeper market-share report

The 401(k) Recordkeeper Market-Share report ranks the recordkeepers serving large U.S. 401(k) plans by plans served and by plan assets, with year-over-year movement. Every figure derives from the public Form 5500 Schedule C disclosures described in §1. The specific derivation rules are:

Universe (large-plan 401(k) scope)
Form 5500 filings that disclose a compensated recordkeeper on Schedule C, Item 2, RESTRICTED to 401(k) plans — the plan's pension-benefit code carries the 401(k) feature (code 2J) and the plan is not a defined-benefit plan (no 1-series code), the same definition used for the site's 401(k) plan-type filter. Defined-benefit pension plans, 403(b)/457 and other non-401(k) defined-contribution plans, and welfare plans are excluded, so the report is directly comparable to other 401(k) market benchmarks. Schedule C is required only of large filers (generally 100+ participants) and is not filed on Form 5500-SF, so this measures the LARGE-PLAN 401(k) recordkeeper market — not the small-plan market. Pooled investment vehicles (master trusts and other Direct Filing Entities, per §3) are also excluded from the universe.
Recordkeeper identification
DOL ships the structured Schedule C service-code field blank on essentially every row, so a recordkeeper is identified from the provider’s reported relation text and a curated name/EIN dictionary of firms that operate defined-contribution recordkeeping platforms. Firms outside that dictionary do not appear; the ranking is therefore a lower bound, never an over-count.
One recordkeeper per plan (no double-counting)
Each plan is attributed to a single PRIMARY recordkeeper — the disclosed recordkeeper receiving the highest direct compensation on that filing. A plan is never counted toward two recordkeepers, so brand shares sum to 100% of the recordkeeper-served universe. Plans are de-duplicated to one canonical filing per (sponsor EIN, plan number, plan year).
Brand-family consolidation
The same recordkeeping business files under many name spellings (e.g. several distinct “Empower …” and “Fidelity …” entities). Spellings are consolidated into brand families using a curated, hand-maintained mapping. The mapping is deliberately conservative — when two spellings cannot be confidently attributed to one operating business they are left separate, so the ranking never silently merges distinct firms. Names not matched to a curated brand are ranked under their own filed name (marked “as filed”).
Excluded false matches
Because recordkeepers are identified partly from free-text, a small curated exclusion list removes names that are plainly not DC recordkeepers but were mis-tagged on a single filing (e.g. a records-storage or moving company). The list is hand-maintained and conservative — only obvious non-recordkeepers are excluded — so it never removes a real platform.
Plans served
The count of distinct plans for which the recordkeeper is the primary recordkeeper, for the stated plan year.
Participants
Sum of TOT_ACTIVE_PARTCP_CNT across the plans served. This counts plan memberships, not unique individuals; a person in two plans is counted twice.
Assets on plans served
Sum of each served plan’s own end-of-year total plan assets (TOT_ASSETS_EOY_AMT, from Schedule H for large plans). This is “assets on plans served,” NOT assets under administration: it attributes the whole plan’s assets to its primary recordkeeper. Pooled vehicle (DFE) filings are excluded so a master trust’s balance is not double-counted through the plans that invest in it.
Year-over-year change
Each brand’s current-period figure compared to the same brand’s figure for the prior plan year, expressed as a percentage. “Largest movers” are restricted to brands with at least 100 plans in either year so that small-base swings do not dominate.
Data period & re-runs
The report is parameterized by plan year and defaults to the latest plan year present in the corpus. Each DOL refresh that adds a new plan year regenerates the report for that period automatically.

This report intentionally uses only public Form 5500 data and our own named, documented metrics. It does not reproduce any third-party proprietary score or “red-flag” rating.