Back to Research

How the Model Works

This model is built to be checked, not just believed. This page explains exactly what it compares, the assumptions behind it, and how we test it against outside benchmarks.

What is being compared

The simulator takes the payroll taxes a worker would pay into Social Security — specifically the 10.6% OASI (retirement) portion — and models two paths for those identical dollars:

  • Social Security: the statutory benefit, computed from the SSA's actual formula (wage-indexed top-35 earnings, PIA bend points, and the Full Retirement Age schedule). A guaranteed, inflation-adjusted, zero-variance income stream that ends at death and leaves no balance.
  • Defined contribution: the same dollars invested in a chosen fund tier, drawn down in retirement under a chosen withdrawal rule, with any remaining balance inheritable.

The two are placed side by side under identical inputs, so the comparison is like-for-like.

How we test this model

  • Every assumption is disclosed and editable. Returns, inflation, wage growth, withdrawal rule, life expectancy, and payroll-tax treatment are all visible on the Assumptions tab and can be changed by you. Nothing is hidden in the engine.
  • The Social Security side follows published SSA formulas. We validate the output against the SSA's own published replacement rates: as of the July 2026 build, the model returned roughly 58% for a low earner, 40% for a median earner, and 29% at the taxable maximum — matching the SSA's benchmarks (~55%, ~40%, and 27–33% respectively) across every birth cohort we tested.
  • Return rates are geometric means of each tier's historical series — the correct measure for long-run compounding. Arithmetic averages are higher and overstate compounded growth.
  • Monte Carlo simulation runs a scenario across a thousand resampled market histories, so you can see the range of outcomes rather than a single tidy number. The Monte Carlo tab reports portfolio-income percentiles natively — directly simulating withdrawal amounts at each percentile (P10, P50, P90), rather than scaling them from the balance distribution. This gives you a range of likely retirement incomes, not just ending balances.
  • We audit this model, and we publish what we find. In July 2026 a systematic audit found four defects in the calculation engine. We fixed all four, re-validated against the SSA's benchmarks, and withdrew several of our own earlier findings. The full account is in the Methods Audit and Corrections & Retractions.

What this model is not

It is not a guarantee. These are estimates, not predictions. Real outcomes differ because of fees, taxes, sequence of returns, individual behavior, and events no model captures.

And it does not always favor investing. Under conservative assumptions — payroll contributions held entirely in Treasuries or bonds — Social Security wins in the model, and it is not close. A bond portfolio asked to pay exactly what Social Security pays runs out of money before the end of a long retirement in the model's runs. That result is in our own published headline results, in bold, in the headline table.

The advantage of a defined-contribution alternative was large in the model's July 2026 runs — but it depended entirely on equity exposure. That is a finding, not a disclaimer.

Your actual Social Security benefit is determined by the SSA, using your verified earnings record. This app never sees that record; every figure it produces is computed from values you enter. For your real number, go to ssa.gov/myaccount.


Educational purposes only — not financial, tax, or investment advice. Figures cited reflect the August 2026 model build and are point-in-time model outputs that may change in later versions; see Corrections & Retractions. Past performance does not guarantee future results.