PlanOptica
Reference

The plan filters

Nine panels narrow millions of retirement filings to the subset that matters. This page is the field reference for every filter on /retirement: what each filter does, how the buckets are cut, and what lands in the URL when you check a box.

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 rule: 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, all matching on the sponsor mailing address from the 5500 face.

  • State. Multi-select all 50 plus DC. URL state=CA,TX.
  • City. Free-text, case-insensitive substring, debounced 300 ms. URL city=Austin.
  • ZIP code. Five-digit exact match. URL zip=78701.
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).

Plan-design booleans

Plan features

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

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.

Booleans + auditor

Plan policy

Five booleans an advisor commonly screens for, plus the Schedule H Part 3 auditor opinion.

ToggleURLWhat it means
Safe harbor 401(k)safe_harbor=1Schedule R safe-harbor design indicator on (ADP test waiver).
SECURE 2.0 mandatedsecure2=1Plan effective date on or after 2022-12-29; subject to SECURE 2.0 mandates.
In an Auto-IRA stateauto_ira=1Sponsor mailing-address state has a live state Auto-IRA program.
Holds employer securitiesholds_employer_securities=1Form 5500 plan-feature code 3I on. ESOPs and stock-fund 401(k)s.
Has top hat statementhas_top_hat=1Sponsor EIN has filed a Top Hat statement under DOL section 2520.104-23. Surfaces deferred-comp depth on the plan page.

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.

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.

Sponsor industry comes from the filed NAICS code first, with PDL enrichment filling the gap when the filing left the field blank.

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.

17 flags total

Prospect flags

Three sub-panels: the 17 flags themselves (six DOL-deterministic, six absolute-cutoff, four peer-cohort percentile, one derived wind-down), and an "any flag tripped" toggle. All flags are stored as flag_* columns on the plan-year row and sourced to the line.

Six DOL-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 nondiscrimination test
Loss from fraud or dishonestyflag_loss_discoveredSponsor reported a discovered loss attributable to fraud or dishonesty

Six absolute-cutoff flags

Each metric has size- and industry-independent meaning, so a single named cutoff is enough to make a result auditable from the column alone.

FlagColumnTrip condition
High retiree share (>=25%)flag_retiree_percentageRetired-with-balance / total participants >= 25%
High admin fee per account holder (>$300)flag_admin_per_pAdmin fee per account holder above $300/year
High cash allocation (>10%)flag_cash_percentageCash share of investments above 10%
Low participation rate (<70%)flag_participation_rateActive / eligible below 70%
Very high average account balance (>$250k)flag_high_assetsAverage account balance above $250,000
Crossed 100 balance-holdersflag_reached_100Balance-holder count crossed 100 in this filing year

Four peer-cohort percentile flags

Each metric depends on plan size and industry, so the ranking sits inside a peer cohort (plan-year x NAICS sector x participant bucket x plan type). Bottom-quintile trips the flag.

FlagColumnTrip condition
Low return (bottom quintile)flag_return_percentageAnnual return percentile <= 20 within peer cohort
Low average account balance (bottom quintile)flag_assets_per_participantAverage account balance in the bottom quintile of the peer cohort
Low employer contribution (bottom quintile)flag_low_employer_contribEmployer contribution per active employee in the bottom quintile
Low participant contribution (bottom quintile)flag_low_participant_contribParticipant contribution per participant in the bottom quintile

One derived wind-down flag

A four-signal OR detecting closed-to-enrollment or frozen plans. Surfaces plans where the participation-rate metric would mislead, and lets the search and benchmark cohorts exclude them.

FlagColumnTrip condition
Wind-down / frozen planflag_wind_downBalance-holders far exceed active employees, or plan reports distributions with no inflows, or plan filed a final return, or lifecycle is frozen/terminating

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 17 is on.

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
Schedule C type-ahead

Providers

Type-ahead any recordkeeper, advisor, TPA, auditor, or legal-services provider that has appeared on a Schedule C. The search returns canonical providers with a count of plans they served; selecting one filters the results to plans where that provider is named on Schedule C.

Provider name canonicalization runs in the warehouse - we collapse spelling variants and parent/subsidiary tags onto a single canonical id, so "Empower Retirement, Inc." and "Empower" resolve to the same row. Multi-select ANDs together: a plan must show all selected providers on its Schedule C.

Browse the full provider directory at /provider; carriers and brokers have their own directories at /welfare/carrier and /welfare/broker.

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:

/retirement?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 covers every retirement plan-year filing the DOL publishes from 2015 through 2026 - Form 5500 plus Schedules H, I, SB, MB, G, R, and C. The filters on this page only narrow retirement results.

Welfare and group-health plans live at /welfare with their own filter rail (funding type, carriers, brokers, premium percentiles, 12 welfare prospect flags). See Reading a welfare plan page for the welfare side.