No simulation results yet
Go to Settings and run a simulation.
See how your plan holds up across 1,000 market scenarios
Monte Carlo simulation tests your retirement plan against thousands of possible futures — including the bad ones — so you know your real odds of success.
What This Tool Does
This tool answers a simple question: will my money last through retirement?
You tell it about your savings, spending, and goals. It plays out thousands of possible futures — good markets, bad markets, everything in between — and tells you how often your money lasts. That percentage is your success rate.
How It Works
Most retirement calculators assume your investments earn the same return every year. Real markets don’t work that way — the order of good and bad years matters enormously. Someone who retires into a downturn faces a very different outcome than someone who retires into a bull market, even if their long-run average returns are identical.
To account for this, the simulator uses a technique called Monte Carlo simulation. Think of it like a weather forecast: instead of predicting one future, it generates thousands of plausible futures with different sequences of returns, inflation, and lifespan, then tells you what fraction of those futures turned out OK.
For each simulation, it first projects your balances from now to retirement using your contributions, then walks through retirement year by year: spending withdrawals, tax payments, Social Security income, required minimum distributions, Roth conversions, healthcare costs, and investment growth. At the end, it reports what percentage of simulations ended with money remaining and shows the full range of outcomes.
What It Models
- Savings — taxable, pre-tax (401k/IRA), and Roth accounts. Projects balances from your current age to retirement using inflation-indexed annual contributions.
- Spending — 13 strategies including fixed inflation-adjusted, guardrails, variable percentage, CAPE-based, Vanguard dynamic, and more. Spending adjusts by age phase (active “go-go” years, slower “slow-go” years, quieter “no-go” years). Fixed nominal mortgage payments with a payoff age.
- Income — Social Security with claiming age adjustments (62–70), survivor benefits, and COLA. Pensions, part-time work, rental income, and windfalls with configurable age ranges and tax treatment. Spouse modeling with independent benefits, joint mortality, and filing status transitions.
- Taxes — federal progressive brackets, capital gains rates, NIIT, AMT, standard or itemized deductions, SALT cap, QBI deduction, Child Tax Credit, capital loss carryforward. All 50 states plus DC with mid-retirement relocation. All filing statuses: single, MFJ, MFS, HOH, qualifying widow(er).
- Healthcare — ACA marketplace subsidies before 65 (based on your income), Medicare Part B/D premiums after 65, IRMAA surcharges for higher earners. Manages withdrawals to avoid crossing income thresholds that trigger higher premiums.
- Withdrawal ordering — pulls from taxable, pre-tax, and Roth accounts in a tax-efficient sequence. Before 65, prioritizes keeping income low enough to qualify for ACA subsidies. Roth withdrawals follow IRS ordering rules (contributions first, then conversions subject to the 5-year rule).
- Life planning — milestones (college funding, home purchase, one-time goals). Annuities (SPIA immediate, DIA deferred) with joint-survivor payout options. Long-term care and life insurance with claim probability modeling. Debts (mortgage, auto, student, personal) with avalanche/snowball/target-date payoff. Estate bequest goals.
- Tax optimization — Roth conversions (“fill up the bracket” strategy with pro-rata rule). Required minimum distributions by birth cohort using IRS Uniform Lifetime Table. Qualified charitable distributions (QCD), donor-advised funds (DAF), mega backdoor Roth, RMD smoothing. MAGI targeting to manage ACA/IRMAA thresholds.
- Return models — regime-tail (Markov regime-switching with heavy-tailed draws, recommended), Student-t (fat-tailed parametric), and historical rolling backtest from 150+ years of Shiller market data. Six stress tests (1970s stagflation, 2000s lost decade, GFC replay, Japan lost decades, −40% crash, +200 bps rate spike). Correlated equity and bond returns.
- Portfolio — age-based glide path for equity allocation. Tax-lot tracking with specific identification (FIFO, highest-cost, or tax-minimizing). Tax-gain harvesting (0% bracket) and tax-loss harvesting. Optional put protection (rolling OTM equity puts as a portfolio hedge).
- Other — HSA modeling, SEPP/72(t) penalty-free early withdrawals, Rule of 55. SSA actuarial life tables (each simulation has a different lifespan). Scenario save, compare, and export to JSON/CSV. Sensitivity analysis across key variables.
What the Optimizer Does
Instead of tweaking settings by hand, the optimizer finds the best combination of decisions for your situation. It balances five goals at once: maximizing your success rate, maximizing real spending, minimizing lifetime taxes, protecting against worst-case scenarios, and avoiding ACA/IRMAA income cliffs.
Under the hood, it tunes 13 knobs — Social Security claiming ages, Roth conversion brackets and timing, asset allocation glide path, gain/loss harvesting, spending floor percentage, and pre-Medicare MAGI targeting. It uses CMA-ES, an evolutionary search algorithm, running in three stages: a broad global search, a local refinement around the best solution, and a brute-force grid search over key policy choices like claiming age and Roth bracket. The entire process takes about 30 seconds.
Limitations
- Policy uncertainty is modeled as bounded variation around current law; this is not a forecast of future legislation.
- Returns are generated randomly, not predicted. A high success rate does not guarantee a good outcome.
- Pre-retirement salary is currently informational/contextual in the UI and does not run a full pre-retirement income-minus-expenses cashflow model.
- Social Security taxation uses provisional income computed before withdrawals, so capital gains realized during portfolio withdrawals are not reflected in the provisional income calculation. This can slightly underestimate the taxable portion of SS benefits in years with large taxable-account withdrawals.
- This is an educational tool, not financial advice. Use it to build intuition about how different decisions interact, then consult a qualified advisor.
Assumptions & Confidence
- Tax model confidence: Federal tax logic is modeled at high detail; state treatment is broad coverage with varying rule depth by state.
- Policy-year handling: uses year-specific tables where available and CPI-based projection beyond covered years.
- Use in practice: educational planning support, not filing-grade tax preparation.
Advanced Field Guidance
- Healthcare spending input: enter annual out-of-pocket costs only; premiums are modeled separately (ACA pre-65, Medicare post-65).
- Put protection: models buying OTM puts at the configured strike distance, rolled monthly. Annual drag is the total rolling premium cost. The payoff curve is convex below the strike — small market dips produce small gains, with accelerating payoff as losses approach the threshold (capturing vol expansion + delta increase). Past the strike, the put is in-the-money and payoff grows linearly. The “payoff” field sets the return boost at exactly the strike level. Example with 2% drag, 20% threshold, 10% payoff: market −10% → 2.5% hedge gain, net −9.5%. Market −20% → 10% gain, net −12%. Market −30% → 20% gain, net −12%.
- Returns mode: regime-tail (recommended) uses a Markov regime-switching model with heavy-tailed draws that captures bull/bear market clustering. Student-t provides fat-tailed parametric returns. Historical rolling backtest replays actual 30-year windows from 150+ years of Shiller data. Six named stress tests let you see how your plan holds up under specific historical or hypothetical crises.
Data Sources
Loading data version…
Validation & References
The simulation engine is validated against institutional-grade correctness criteria. Validation suites include:
- Independent benchmark cohorts: 12 Monte Carlo cohorts spanning single/married, multiple spending regimes, and 30–40 year horizons.
- Historical rolling cohorts: 12 cohorts across 20/30/40-year horizons and 30/70 through 75/25 stock/bond allocations.
- Realized-outcome calibration: 25 non-synthetic cohorts scored with Brier score, expected calibration error, and calibration shape checks.
- Stress overlays: explicit −40% equity-crash and +200 bps rate-spike scenarios based on EIOPA quantitative benchmarks.
Public references used to construct and calibrate methodology: