⚠ Educational illustration, not advice. Use made-up numbers. All dollars are inflation-adjusted to today's prices.Full Terms & Disclaimer
Retirement
Scenario Lab.
Learning tool · not advice
Will the money last? Test any what-if across thousands of simulated futures.
Build a fictional what-if in under a minute
Enter round, made-up numbers and watch the results update live, or load an example to see how it works.
🔒 Private: everything stays in your browser and this version does not send it to us, so use made-up numbers, not real ones (where do my numbers go?). Saved scenarios live only on this device, so Print/Export anything worth keeping.
How often the money lasts, what could be left behind, and what moves the number — an educational illustration of the numbers you entered, not advice. Tap any underlined figure for what it means.
Live snapshot
updates as you type
All amounts are shown in today’s buying power (adjusted for inflation).
Flexible guardrail spending is on by default (spending flexes down in bad markets) — you can turn it off under Fine-tune → Spending strategy.
How often money lasts
Nest egg
If the money runs out
Spending actually taken
Per child
What could be left at age · the money left over (estate), incl. home
How retirement spending is covered
What makes up that estate · invested savings vs home equity
What this means ▾
A scenario doesn't need 100%. Even professionals aim for ~80–90%, because real retirements adjust over time. A lower number isn't failure — it simply describes these assumptions. Hover or tap any underlined result above to see what it means, how it is figured, and why it matters; What moves the number most further down ranks the inputs that move the number most. An educational illustration, not a prediction or advice.
📈
The money over time
Savings build up, then get drawn down. The shaded band spans unlucky to lucky futures (middle 80% of simulated outcomes; ~1 in 10 fall beyond each end); the middle line is the typical outcome.
ⓘ What this means
Each imagined future is one path the money could take. The shaded band is the spread from unlucky to lucky; the line in the middle is the typical outcome. The band fanning out over time is the honest truth that the future is uncertain — the goal is to see whether even the unlucky paths hold up.
Hypothetical illustration built from the numbers you entered and run through Monte Carlo simulation — a range of possibilities, not a prediction, not a forecast, and not advice.
Range of outcomes (unlucky → lucky)Typical (middle) portfolioTypical estate incl. home equityRetirement age
Hover or tap the chart to read any age.
Show the year-by-year numbers (unlucky → typical → lucky)
Year-by-year simulated balances in today’s dollars: unlucky (10th percentile), median, and lucky (90th percentile).
Age
Unlucky (10th)
Median
Lucky (90th)
🧠
What moves the number most
The changes that move the success number the most, ranked by impact.
▸
ⓘ What this means
These are the specific changes that would move the success number the most, ranked by impact. A lower score is not failure, it is a map of which assumptions matter. The ranking shows how strongly each input — spending, retirement age, flexible spending — moves the simulated number.
🌩
Crisis timing outcome
The exact crash and timing chosen on the Crisis timing card, applied to this scenario. One illustrative path built from real historical years, not the full range.
📊
Saved scenarios
Every scenario saved in this browser, side by side on the same three measures. The active one is marked. These run on a lighter 400-path sample so the list stays quick, so they sit slightly off the 1,000-path figures at the top of this page — use them to rank scenarios against each other, not as the headline number.
Save, share & export Optional — expand only if you want to keep or share a copy
🖨
Print, Share, Export, & Import
Print a report, share a scenario file, export the data, or import one back in.
▸
Everything in one click, prints the report and downloads both the shareable scenario file and the outcomes CSV together.
Share this scenario as a file that opens in any browser, anyone can build their own free copy from it. Scenarios are saved only in this browser, so keep a copy in a folder.
Import a scenario someone shared or you previously exported, load the saved scenario file to bring it back.
Export to Excel — a full workbook with live formulas: Inputs, a year-by-year projection, the simulation results, a crisis test, the tax tables and a method write-up. Change an input in Excel and the whole workbook recalculates, so an advisor can audit every line and carry on working in their own spreadsheet.
Export the outcomes, every scenario's results (success, nest egg, year-by-year balances) as a CSV.
Backup everything, scenarios live only in this browser, so a cleared cache erases them. Keep a backup file somewhere safe; Restore brings it all back on any device.
Or auto-fill from a spreadsheet, download a blank template, fill it in Excel/Numbers, save as CSV, then import.
For a polished PDF report with charts, use 🖨 Print report.
🔒
Your data & privacy
Where your numbers live, and how to wipe them.
▸
We don't store the scenarios. Your figures stay in your browser on this device (in local storage), not sent to or saved by us. This is a learning sandbox, not a vault: use round, hypothetical numbers, not personal specifics, and you'll get the exact same insight. To keep a scenario, use Export/Print to download a copy; to wipe it, clear your browser or click below. The only things that go off your device are a Pro license key (to verify a purchase) and, if you sign up, your email — not your scenario figures. That’s how the tool works today; if we ever add a feature that sends more, it will be something you choose to turn on. See the Privacy Policy.
Scenario Lab · educational illustration tool · not investment, tax, or legal advice Figures are hypothetical and generated from the numbers you enter.
Outcomes
Hover or tap any number above for what it means, how it is figured, and a link to the input that changes it.
At a glance — income mix & confidence
The money over time
Range (unlucky → lucky)Typical portfolioTypical estate incl. home
Where the estate could land
Median estate at the plan age, with the unlucky-to-lucky spread across market futures.
What makes up the estate
The typical ending estate split into invested savings versus home equity.
How the money compounds
Save, share & export Optional — expand only if you want to keep or share a copy
🖨
Print, Share, Export, & Import
Print a report, share a scenario file, export the data, or import one back in.
▸
Everything in one click, prints the report and downloads both the shareable scenario file and the outcomes CSV together.
Share this scenario as a file that opens in any browser, anyone can build their own free copy from it. Scenarios are saved only in this browser, so keep a copy in a folder.
Import a scenario someone shared or you previously exported, load the saved scenario file to bring it back.
Export to Excel — a full workbook with live formulas: Inputs, a year-by-year projection, the simulation results, a crisis test, the tax tables and a method write-up. Change an input in Excel and the whole workbook recalculates, so an advisor can audit every line and carry on working in their own spreadsheet.
Export the outcomes, every scenario's results (success, nest egg, year-by-year balances) as a CSV.
Backup everything, scenarios live only in this browser, so a cleared cache erases them. Keep a backup file somewhere safe; Restore brings it all back on any device.
Or auto-fill from a spreadsheet, download a blank template, fill it in Excel/Numbers, save as CSV, then import.
For a polished PDF report with charts, use 🖨 Print report.
🔒
Your data & privacy
Where your numbers live, and how to wipe them.
▸
We don't store the scenarios. Your figures stay in your browser on this device (in local storage), not sent to or saved by us. This is a learning sandbox, not a vault: use round, hypothetical numbers, not personal specifics, and you'll get the exact same insight. To keep a scenario, use Export/Print to download a copy; to wipe it, clear your browser or click below. The only things that go off your device are a Pro license key (to verify a purchase) and, if you sign up, your email — not your scenario figures. That’s how the tool works today; if we ever add a feature that sends more, it will be something you choose to turn on. See the Privacy Policy.
How to use this
Move the sliders on the left and watch the outcomes on the right change instantly. The whole idea is to play — try different choices until a future the scenario is comfortable with appears. Everything is calculated right here in the browser, and your figures stay on your device.
What it shows
Whether the money is likely to last, how much might be left to the children, and which inputs move the outcome most — shown as a probability, not a single guess.
1Pick a scenario
The Scenario menu (top-left) holds separate scenarios like "Base case" or "Retire at 62." Use + New or Load example to start. Each one saves on its own.
2Move the sliders
Set the age, savings, mortgage, spending, returns and goals. Every slider updates the results live — drag them around to see what actually moves the needle.
3Read the results
The big Money lasts (of sims) number is the headline. The chart shows the range of futures (unlucky → lucky). Hover the ? on any result for a plain-English explanation.
4Compare with snapshots Pro
Create a scenario, tweak a slider, add another with + New. The Scenario Snapshots tab lines them up side by side, and Backup all data (file) keeps a durable copy. The free tier includes one saved scenario; holding several to compare is part of Pro.
Tips for honest numbers
Assumptions are yours to choose, and cautious ones make a sturdier illustration. Many people find it useful to try a modest after-tax return (around 5–6%, with 10–13% "bumpiness") and a long life (90–95+), then see how much the answer moves. Treat the result as a range, not a promise.
Advanced realism
The Advanced card adds pro touches: flexible spending, market crashes, variable inflation, fees, a bond tent, and lifespan uncertainty. The Method tab explains each.
Your privacy
No login and no account. Your numbers are calculated in this browser and saved on this device — we don’t receive them. The site is hosted online, so loading it creates ordinary web-server logs.
Method — exactly how every number is calculated
Here's what the tool actually does: it plays your scenario out year by year — earning, spending, taxes, and Social Security — across thousands of possible futures, then counts how often the money lasts. This page explains each piece in plain language first, with the exact formulas one tap away under Under the hood for anyone who wants them. Nothing is hidden: every formula, fixed constant, and data source is disclosed and can be re-checked on the Self-check tab.
Monte Carlo simulation
Plays the scenario out thousands of times, each a full year-by-year projection with a different random run of returns. Many runs reveal the full range of outcomes, not one guess.
Under the hood: N independent paths (N = your "Simulation runs", 500–5,000). Each path loops age→horizon, applying that year's return, spending, taxes, income. A path "succeeds" if the portfolio never reaches $0.Lever / weighting: N is the only knob and changes precision, not the answer. No factor weights exist — effects compound structurally, not as a weighted sum.Verify: Self-check "no-spend never runs out", "reckless spend fails".Impact: turns a point estimate into a probability + range.Alternatives: historical "every start year" backtesting (cFIREsim), or static rules (4% rule). MC captures more variability but assumes a return distribution.
Random returns & sequence risk
Each year draws its own return; a crash in your first retirement years hurts far more than the same crash later, because you sell from a shrunken balance.
Under the hood: yearly return r = avg − fees + σ·z, where z is a standard-normal draw (or Student-t if crashes are on). Applied to the start-of-year balance.Lever / weighting: "Average return" sets the mean; "How bumpy" sets σ. Both are the inputs — full control.Verify: inputs are visible; determinism test on Self-check.Impact: the order of returns can swing success by 20+ points at the same average.Alternatives: block-bootstrapping real history (captures clustering better) or regime models. The Storm tab uses real sequences for exactly this reason.
Probability of success (± range)
The share of runs where the money never hits zero, shown with a Monte-Carlo margin showing how much the estimate would wobble from sampling noise alone (not how reliable the assumptions are).
Under the hood:success% = survivors / N; 95% confidence interval = ±1.96·√(p(1−p)/N).Lever / weighting: raise N to shrink the ±. No weighting.Verify: Self-check "confidence interval tightens with more runs".Impact: the headline metric; the ± stops you over-reading small differences.Alternatives: "funded ratio" or magnitude/age-of-failure metrics — success% is binary and doesn't show how badly failures fail.
Detailed account-type taxes + RMDs
Splits savings into pre-tax (401k/IRA), Roth, and taxable, withdraws tax-efficiently, applies real brackets, and forces RMDs at 73+.
Under the hood: buckets grow at the year's return. Withdrawals fund need in order taxable→pre-tax→Roth. Ordinary income = pre-tax withdrawals + RMD + taxable SS; tax = progressive 2026 brackets on (income − standard deduction). RMD = pre-tax ÷ IRS divisor (e.g. 24.6 at 75). Iterates ≤5× so withdrawals cover their own tax. Roth/taxable withdrawals are tax-free at withdrawal.Lever / weighting: % pre-tax, % Roth, married toggle. Brackets, the $16,100/$32,200 standard deduction plus the age-65 and senior additions, and the RMD table are fixed 2026 data (TAXDATA/RMDTAB) — swap yearly. Brackets and the standard deduction are grown with your inflation assumption, as the law requires; the Social Security taxation thresholds are deliberately left unindexed, because they are set in statute and never have been.Verify: Self-check RMD $40,650, tax $11,828 (MFJ $100k), $5,914 (single $50k), Roth>Traditional.Impact: large — in one sample scenario, moving savings from all pre-tax to all Roth raised simulated success from 10% to 30%.Alternatives (more valid, not yet added): capital-gains basis tracking on the taxable bucket (we treat it tax-free at withdrawal), Roth-conversion modeling, state tax, IRMAA Medicare surcharges.
Simple flat tax (default)
When the detailed engine is off, a single rate approximates taxes — better than ignoring them.
Under the hood: each retirement net withdrawal W is grossed up: tax = W·(rate/(1−rate)), so after-tax cash = the spending need.Lever / weighting: "Tax rate on withdrawals" slider.Verify: Self-check "$60k net @20% = $75k gross".Impact: ignoring taxes overstates sustainable spending ~15–25%.Alternatives: the detailed bucket engine above — strictly more accurate.
Social Security & its taxation
Benefits start at the chosen age, grow with inflation, and are partly taxed by the IRS provisional-income rule. Modeled as paid in full and inflation-indexed for the whole plan under current law. Absent Congressional action, the Social Security Trustees project trust-fund reserves deplete in the mid-2030s, which could reduce scheduled benefits (often estimated around 20%). To stress-test that, lower the Social Security amount.
Under the hood:provisional = other taxable + 0.5·SS; below $25k/$32k (single/MFJ) none is taxed, then up to 50%, then up to 85% above $34k/$44k.Lever / weighting: SS amount & start age. Thresholds are fixed in law (not inflation-indexed) — we replicate that.Verify: Self-check "SS taxation caps at 85%".Impact: raises effective retirement tax, especially with large pre-tax withdrawals.Alternatives: none materially better — this mirrors the actual rule.
Mortgage & home equity
Amortizes the loan properly, stops the payment at payoff, and counts the house as illiquid equity.
Under the hood:interest = bal·rate; principal = pay − interest; loan ends when bal ≤ 0 (payoff year shown). Payment hits the portfolio only in retirement. estate = max(portfolio,0) + max(home − mortgage, 0).Lever / weighting: balance, annual payment, rate, downsize age/value/cost.Verify: Self-check "payoff matches closed-form".Impact: fixes the "pay the mortgage forever" error and the gross-vs-net-equity error.Alternatives: reverse mortgage / HELOC to tap equity without selling — not modeled.
Pay off vs. invest
Tells you whether keeping the mortgage (cash invested) or paying it off helps more — for the numbers.
Under the hood: Suggestions runs the scenario two ways — keep loan + invest, vs pay off (assets − principal, no payment) — and compares the share of simulated futures where the money lasts.Lever / weighting: driven by your mortgage rate vs return/volatility; no separate knob.Verify: reproduce by toggling "Already own outright".Impact: payoff has a certain, known effect — it saves exactly your mortgage rate and cuts sequence risk; investing may beat it but isn't guaranteed.Alternatives: partial prepayment / recast schedules — not modeled.
Long-term care shock
A possible multi-year care event — a top cause of plan failure — modeled as a tail risk.
Under the hood: per path, probability p of an event starting at onset age for D years; cost grows at healthcare inflation(1+hcInf)^years (default 5%, separate from general inflation). Insurance covers ~80% for an annual premium.Lever / weighting: cost, onset age, duration, lifetime probability, insurance toggle, premium, healthcare inflation — all inputs.Verify: raise care inflation 5%→8% and watch success fall (≈88%→77% in testing).Impact: the difference between a plan that holds and one that doesn't late in life.Alternatives: age-rising probability curves and policy elimination periods/benefit caps — simplified here.
Flexible "guardrail" spending
Models how real retirees ease off in crashes and loosen up in recoveries (Guyton-Klinger).
Under the hood: track withdrawal rate vs the rate at retirement. If WR > initial·(1+band) → cut spending by cut%; if WR < initial·(1−band) → raise by raise%. Spending multiplier floored at 0.6, capped at 1.25 (disclosed constants).Lever / weighting: band, cut, raise — all exposed inputs. The 0.6/1.25 bounds are fixed.Verify: toggle it and watch success jump on a stressed plan.Impact: usually the single biggest realistic improvement (e.g. 57%→95% on a sample).Alternatives: Vanguard "ceiling/floor", RMD-based, or constant-percentage rules.
Variable, correlated inflation
Inflation varies year to year and tends to spike when markets fall — the dangerous 2022-style case.
Under the hood:inf = avg + infVol·(corr·z_mkt + √(1−corr²)·z), floored at −2%. Spending, SS, care and home values compound along this realized path.Lever / weighting: inflation, "inflation swings" (infVol, default 1.5%), "inflation vs markets" (corr, default −0.35) — all exposed.Verify: 2022 inflation 6.5% on Self-check; correlation makes crashes + inflation co-occur.Impact: surfaces the stocks-down-while-prices-up risk a fixed model misses.Alternatives: explicit inflation regime models; ours is a one-factor correlation.
Fat-tailed returns (crashes)
Makes severe crashes occur about as often as in real life, not the too-gentle bell curve.
Under the hood: Student-t draw z·√(df/χ²_df)·√((df−2)/df) with df = 5 (fixed constant), normalized to unit variance.Lever / weighting: on/off toggle. df=5 is fixed — could be exposed as a "tail fatness" lever if desired.Verify: compare success with the toggle on vs off.Impact: modestly lowers success by making early crashes more frequent.Alternatives: jump-diffusion, or simply the historical Storm sequences, which carry real tails.
Glide path & bond tent
Two optional ways to manage risk over time — gradual de-risking, or extra safety right at retirement.
Under the hood: glide path: rr·(1−0.30·t), vol·(1−0.50·t), t over retirement→plan. Bond tent: rr·(0.7+0.3·t), vol·(0.55+0.45·t), t over the first 12 years (defensive early, re-risk later; Pfau & Kitces). Constants 0.30/0.50, 0.7/0.55, 12-yr are fixed.Lever / weighting: on/off toggles. The de-risking depths are fixed constants — candidates to expose as levers.Verify: toggle each and compare.Impact: small and situational — lower vol helps, lower return hurts; test for the case at hand.Alternatives: explicit stock/bond allocation paths with real asset returns.
Fees & advisory costs
A certain, compounding drag most simple calculators ignore.
Under the hood: fees subtracted from every year's return: r = avg − fees + σ·z.Lever / weighting: "Yearly fees" input (default 0.5%).Verify: raise fees and watch success fall steadily.Impact: 0.5–1%/yr compounds into a meaningful success drop over decades.Alternatives: tiered/asset-based fee schedules — ours is a flat annual rate.
Lifespan uncertainty & couples
Models not knowing how long you'll live — and, for couples, lasting to the second death with the widow's penalty.
Under the hood: death age = round(lifeExp + spread·z), clamped [retire+1, 110]. Couples draw two ages; horizon = the later death, first death = earlier. After the first death: SS = max(the two checks) (smaller is lost), spending × survivor share (default 0.75), tax filing → single (the "widow's penalty").Lever / weighting: life expectancy, spread, couple toggle, partner age/SS/expectancy, survivor share — all inputs.Verify: Self-check "two SS checks help", "second-death horizon longer", "survivor income drops".Impact: couples need money to last longer (to ~second death) and face higher tax after the first death.Alternatives: actuarial mortality tables (we use a normal draw); the tool doesn't yet model age-correlated couple mortality.
Data sources & verification
Where every number comes from, and how you confirm it's right.
Market data: historical returns for a broad US large-company stock index and CPI inflation, 1928–2023, from public records and spot-checked against known values; the 10-year US Treasury total-return series is a close approximation (final sourcing pending). The Self-check tab confirms the bundled series compound to their expected long-run totals — an internal consistency check, not external verification. This tool is independent and not affiliated with, sponsored by, or endorsed by any index provider.Tax data: 2026 IRS brackets, standard deduction, RMD Uniform Lifetime Table — dated, swap each year.Everything else is a value you enter — no hidden assumptions.Verify: open the Self-check tab — the tests re-run on every load and confirm the data and math haven't drifted.
What it still doesn't do
The honest remaining limits — so an analyst knows the boundaries.
Not modeled: capital-gains basis on the taxable bucket (treated tax-free at withdrawal), Roth conversions, state income tax, IRMAA Medicare surcharges, return autocorrelation / mean-reversion (returns are drawn independently each year), age-correlated couple mortality, wage growth (annual savings are a fixed dollar amount, not inflation-indexed — mildly conservative), and Social Security claimed before the retirement age.Framing: outputs illustrate your inputs — this is an educational tool, not personalized fiduciary advice.Use it to find your levers and pressure-test decisions, then confirm anything you act on with a fiduciary advisor and a CPA.
Self-check — validation tests
These run automatically every time the tool loads, and any time you press Re-run. They are how you confirm — after any change or update — that the historical data and the math are still accurate and haven't drifted. All green means the historical dataset and formulas still match their documented sources and the engine is running consistently — not that any projection is accurate or reliable for your decisions.
Each check shows what it expected and what it got. Historical-data checks validate the dataset against published long-run benchmarks — a 1928 stock dollar must compound to the known total, inflation must average ~3%, and famous crash years (1931, 2008, 2022) must match the record. Engine checks confirm the simulation behaves correctly and gives identical results for identical inputs (no drift). If anything turns red after an edit, fix it before relying on the outputs.
Terms of Service & Disclaimer
Educational tool only — not advice. This is a hypothetical illustration of the figures you enter, not financial, tax, or legal advice and not a prediction. It's provided “as is,” you're responsible for your own decisions, and the figures you enter stay on your device. The binding agreement is the full Terms of Service (including indemnification, arbitration, and North Carolina governing law) and Disclaimer.