Reference

Plan filters, in focus.

Eight panels turn 552,987 retirement filings into the subset that matters. This page is the field reference for every filter on /plans: what it does, how the buckets are cut, what lands in the URL when you check a box. Built for the advisors who read the filings.

Three rules

How filters compose

Three rules govern the rail. Hold these and the rest reads on its own.

  • Within a panel, OR. Check California and Texas; you get plans in either. Check Manufacturing and Healthcare; you get plans in either.
  • Across panels, AND. Check California and Manufacturing; you get California manufacturers.
  • Empty equals no filter. Nothing checked, nothing narrowed. Range filters follow the same logic: a bucket checked sets a min and max; no bucket checked clears them.
Two ranges

Size

Both ranges are bucketed to industry segmentation, not tidy decimals. Each bucket has a "Detailed range" disclosure that opens a histogram slider when you need finer control.

Assets

Cerulli-standard advisor segmentation, total assets at end of year (Schedule H line 1l(b)).

BucketRangeURL
MicroUnder $5Massets_max=5000000
Small$5M to $50Massets_min=5000000&assets_max=50000000
Mid$50M to $250Massets_min=50000000&assets_max=250000000
Large$250M to $1Bassets_min=250000000&assets_max=1000000000
MegaOver $1Bassets_min=1000000000

Participants

ERISA-100-aware. The 100-participant line is the audit-required threshold; the other cuts match the segments advisors actually pitch into.

BucketRangeURL
SoloUnder 25part_max=24
Small25 to 100part_min=25&part_max=99
Mid100 to 500part_min=100&part_max=499
Large500 to 5,000part_min=500&part_max=4999
MegaOver 5,000part_min=5000
State, city, ZIP

Location

Three controls, paired so you can scope a region without learning GIS. Every match is on the sponsor mailing address.

  • State. Multi-select all 50 plus DC. URL state=CA,TX.
  • City. Free-text, case-insensitive substring, debounced 300 ms. URL city=Austin.
  • ZIP and radius. Five-digit ZIP plus a radius dropdown: Exact, 5, 10, 25, 50, 100, 250, 500 mi. URL zip=78701&zip_radius=25.
Subtype, lifecycle, structure, tax

Plan type

Four sub-panels, each a checkbox list.

Subtype

Grouped by family for orientation. The user picks subtypes directly; family is implicit.

  • DC plans. 401(k), profit-sharing, money purchase, ESOP, SIMPLE 401(k), stock bonus, 403(b)(7), 403(b)(1) annuity, 457(b), other DC.
  • Hybrid. Cash balance.
  • DB plans. Defined benefit.

URL subtype=401k,profit_sharing.

Lifecycle

Active is the default cohort; the others mark plans on the way out. Multi-select.

  • Active
  • Frozen (no new contributions)
  • Terminating
  • Wind-down

URL lifecycle=active,frozen.

Sponsor structure

Who legally sponsors the plan. Six options.

  • Single-employer
  • Multiemployer
  • Multiple-employer
  • Pooled Employer Plan
  • Group of Plans
  • DFE

URL structure=Single-employer.

Tax class

Two options that ride alongside structure: 403(b) and For-profit. Governmental and church carve-outs are deferred (Form 5500 has no first-class field for either). URL tax_class=403(b).

NAICS sector

Industry

Twenty NAICS sectors at two-digit precision, search above the list, "Show all" disclosure for the long tail. Some sectors collapse multiple raw codes (Manufacturing folds 31, 32, 33; Retail folds 44, 45; Transportation folds 48, 49) and expand back when the query runs.

URL naics2=52 (Finance and Insurance), naics2=52,54 for finance plus professional services. A NAICS sub-sector field is wired on the data side and filterable via naics3=541; the rail currently exposes sectors only.

16 flags + policy + auditor

Prospect flags

Three sub-panels: the 16 flags themselves, four plan-policy booleans, and the auditor opinion. All flags are stored as flag_* columns on the plan-year row and sourced to the line.

Six deterministic flags

Reported by the sponsor on the filing. If the box is checked here, the DOL has it on file. Trustworthy enough to screen prospects on directly.

FlagColumnTrip condition
Recently terminated planflag_recently_terminatedPlan year carries a termination indicator
Insufficient fidelity bondflag_fidelity_bondBond coverage below the ERISA Section 412 minimum
Failed to transmit contributionsflag_fail_transmit_contributionsSponsor reported delinquent contributions on the filing
Failed to provide benefitflag_failed_provide_benefitSponsor reported a benefit that should have been paid was not
Corrective distributionsflag_corrective_distributionsRefunds issued to highly compensated employees after a failed test
Loss from fraud or dishonestyflag_loss_discoveredSponsor reported a discovered loss attributable to fraud or dishonesty

Ten threshold-driven flags

Computed in the warehouse against plan-year metrics. Each flag has a single, named cutoff so a result is auditable from the column alone.

FlagColumnTrip condition
High retiree share (>=25%)flag_retiree_percentageRetired-with-balance / total participants >= 25%
Low return (bottom quintile)flag_return_percentageAnnual return percentile <= 20 within peer cohort
High admin fee per account holderflag_admin_per_pAdmin fee per account holder (line 6g) above the peer threshold
High cash allocation (>10%)flag_cash_percentageCash share of investments above 10%
Low participation rate (<70%)flag_participation_rateActive / eligible below 70%
Low average account balanceflag_assets_per_participantAverage account balance (line 6g) in the bottom quintile
Very high average account balanceflag_high_assetsAverage account balance (line 6g) in the top quintile
Low employer contributionflag_low_employer_contribEmployer contribution per active employee in the bottom quintile
Low participant contributionflag_low_participant_contribParticipant contribution per participant in the bottom quintile
Crossed 100 balance-holdersflag_reached_100Balance-holder count crossed 100 in this filing year

URL flags=flag_fidelity_bond,flag_recently_terminated. Check the "Any prospect flag tripped" box to set flag_any=1; matches when at least one of the 16 is on.

Plan policy

Four booleans an advisor commonly screens for.

ToggleURLWhat it means
Safe harbor 401(k)safe_harbor=1Schedule R safe-harbor design indicator on (ADP test waiver).
Automatic enrollmentauto_enroll=1Plan feature code 2S on.
SECURE 2.0 mandatedsecure2=1Plan effective date on or after 2022-12-29; subject to SECURE 2.0 mandates.
In a state Auto-IRA stateauto_ira=1Sponsor mailing-address state has a live state Auto-IRA program (17 states today).

Auditor opinion

Schedule H Part 3 opinion type, four values: Unqualified, Qualified, Disclaimer, Adverse. Anything other than Unqualified is worth a look. URL auditor_opinion=Qualified,Adverse.

Plan-design booleans

Features

Plan-design booleans that AND-compose. Every checked feature must be present on the plan.

CodeFeature
2SAutomatic enrollment
2TQDIA (default investment)
2FERISA 404(c) plan
2HPartial participant-directed
2RParticipant-directed brokerage
3HControlled group member
3IEmployer securities required
1GCovered by PBGC (DB only)

URL features=2F,2H. Codes are uppercased server-side; case-insensitive on input.

Three bucketed ranges

Performance

Three ranges, every cutoff anchored to an advisor-meaningful line.

Admin fees as a percent of assets

The 1.00% line is the conventional high-fee call-out for fee-competitive advisors.

BucketRangeURL
Very lowUnder 0.25%exp_pct_max=0.25
Low0.25% to 0.50%exp_pct_min=0.25&exp_pct_max=0.5
Moderate0.50% to 1.00%exp_pct_min=0.5&exp_pct_max=1.0
HighOver 1.00%exp_pct_min=1.0

Year-over-year asset growth

Signed percent change in total assets vs the prior filing.

BucketRangeURL
ShrinkingUnder 0%growth_max=0
Flat0% to 5%growth_min=0&growth_max=5
Growing5% to 15%growth_min=5&growth_max=15
BoomingOver 15%growth_min=15

Participation rate

Active divided by eligible. Below 70% is the auto-flag threshold for flag_participation_rate.

BucketRangeURL
LowUnder 50%part_rate_max=50
Moderate50% to 70%part_rate_min=50&part_rate_max=70
Good70% to 85%part_rate_min=70&part_rate_max=85
ExcellentOver 85%part_rate_min=85
On the roadmap

Providers

The Providers panel renders the field set so the layout is honest, but the inputs are disabled and no rows are filtered. Production will join the sibling provider mart and filter by service role: recordkeeper, recordkeeper plus admin, plan investment advisor, participant investment advisor, plan administrator, contract administrator.

Shareable

URL grammar

A few rules keep saved searches predictable.

  • Snake case. All param names are lower snake case, no camel.
  • Range suffixes. Numeric ranges use _min and _max. Drop one to open-end the range on that side.
  • Comma-separated multi-select. state=CA,TX,NY. Order is preserved; duplicates dropped.
  • Booleans. A truthy value enables (safe_harbor=1); the param's absence disables. 0 and empty string are dropped.
  • Defaults dropped. sort=total_assets_eoy and dir=desc are the defaults and stay out of the URL.
  • Sort and pagination. sort, dir, limit, offset. Limit defaults to 25.

A worked example:

/plans?state=NH,VT,ME
  &assets_min=10000000&assets_max=50000000
  &naics2=52&features=2F,2H
  &flags=flag_fidelity_bond

Reads as: small-to-mid plans in northern New England finance, with ERISA 404(c) and participant-directed investments, where the fidelity bond flag tripped.

Worked examples

Recipes worth keeping

What is and is not in scope

Scope honesty

PlanOptica ingests retirement plan filings (Form 5500 plus Schedule H and I) for plan years 2021 through 2025. Group health and welfare coverage (Schedule A) is on the roadmap; nothing on this page filters on it today. Where a filter is wired but the data is parked, the section calls it out.