RETIREMENT ROADMAP

A learning tool for exploring retirement scenarios.
💡 An educational scenario-exploration tool, not personal financial, tax, or legal advice. Build fictional what-if retirement scenarios with rounded, made-up numbers, never real names or account numbers. Everything runs in this browser and is stored only here, so clearing the cache erases it. To keep a scenario, use Share & export (near the bottom) to save a copy to a folder on the computer.

Household & assets

💡 In plain terms: This is the starting point, the age, how many children money might be left to, what has been saved so far, and how much is added each year until work stops. Everything the tool predicts is built on these few numbers, so they matter most. More savings, and more years of adding to them, are the strongest levers available to control.
Additional income / lump sums
1
2
3
An inheritance, bonus, or business sale, added to investments in the year received.

Mortgage & home

💡 In plain terms: Your house affects the plan two ways: the mortgage is a bill that eventually ends (freeing up money), and the home itself is wealth that can only be tapped by downsizing. The tool finds when the loan is paid off and counts the home equity in what is left behind, but it will not spend the house on living costs unless a future sale is set.
Downsize / sell home later
At that age the home is sold, any remaining mortgage paid off, a cheaper home bought, and the freed cash (after selling costs) is added to the investments.

Retirement spending

💡 In plain terms: This is what the plan horizon costs each year once retirement begins, the single biggest factor in whether the money lasts. Spending a little less is often the most powerful fix of all. Social Security or a pension is guaranteed income that covers part of it, so investments need not be sold for every dollar spent.

Goals

💡 In plain terms: Two targets: how long the money must last (the scenarioning age), and how much is to be left to each child, if anything. A longer plan is a tougher test, and a legacy goal is money that still has to be there at the end, on top of covering the scenario’s own spending.
Displays current numbers as text, saves nothing.

Test & influence the scenario

These cards describe the world the money must survive, markets, taxes, care costs, and crashes. Adjust them and watch the results update above.

Markets & taxes

"How do market ups-and-downs and taxes affect whether my money lasts?"
💡 In plain terms: This sets the weather the money lives through, the assumed average return, how wildly it swings year to year, how fast prices rise, and the bite taxes take from withdrawals. The swings matter as much as the average: a run of bad years right after retirement begins is far more dangerous than the same years later.
Not sure of the tax rate? A simple guide: pick ~20–25% if most of the savings are in a 401(k)/traditional IRA (taxed when withdrawn), ~10–15% for a mix, or ~0–5% if mostly Roth or already-taxed accounts. When unsure, 18% is a reasonable middle.

Detailed taxes & accounts pro

"Where the money sits, 401(k) vs Roth vs regular, changes the taxes and forces RMDs. How does that affect the scenario?"
💡 In plain terms: Where the money sits changes the taxes. A 401(k)/IRA is taxed at withdrawal and forces minimum withdrawals after 73; a Roth comes out tax-free; a regular account is in between. Turning this on makes the tool withdraw in the smart order and use real tax brackets, so the after-tax income is more realistic.
The remainder is treated as a regular taxable account. Combined pre-tax + Roth shares are capped at 100%. Tax figures use 2025 federal brackets, verify them on the Self-check tab.

Couples & survivors pro

"We're a couple, will the money last for whoever lives longer, and what changes financially when one of us passes?"
💡 In plain terms: Planning as a couple means the money must last until the second person passes, usually the harder test. While both are alive there are two Social Security checks and lower married tax rates; when one passes, the smaller check stops, taxes rise to single rates, and spending drops a bit. That widow's penalty is a real risk worth seeing.
The survivor transition (lost check, single brackets, lower spending) needs lifespan uncertainty on. This overrides the simple Married toggle.

Care costs

"What happens to the scenario if it must absorb years of expensive long-term care?"
💡 In plain terms: Long-term care, an aide, assisted living, or a nursing home, is the big what-if that can drain a plan. The inputs set what a year of care would cost, when it might start, how long it lasts, and the odds of needing it. Even a few years can be expensive, which is why it is worth pressure-testing rather than ignoring.

Make it more realistic optional

"How would a careful planner pressure-test this, and how do real people actually behave?"
💡 In plain terms: Real retirees do not blindly spend the same amount into a crash, they ease off. These options model that flexible spending plus other realism: occasional severe crashes, fees that quietly compound, getting safer with age, and the fact that no one knows exactly how long they will live. Flexible spending is usually the single biggest realistic boost to success.
Each is explained in plain language on the Method tab.

Where it lands

💡 In plain terms: These are the headline results. “Money lasts (of sims)” is the share of thousands of simulated futures, good markets and bad, where the money never runs out; treat it like a weather forecast, not a guarantee. A scenario does not need 100%; even professionals aim for about 80–90% and adjust as they go. The rest show the nest egg at retirement, how long the money lasts in a typical future, and what is left per child.
Money lasts (of sims)
of simulated futures
Median nest egg
Money lasts to
Per child
Status
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's a to-do list. Hover or tap any underlined result above to see what it means, how it is figured, and why it matters; the Suggestions below rank the changes that help most.

At a glance ⦿

💡 In plain terms: The ring shows how much of yearly spending is covered by guaranteed income (Social Security/pension) versus what the portfolio must provide, more blue means more dependence on markets. The bar is the success number probability on a red-to-green scale.

Portfolio range across possible futures

💡 In plain terms: 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 not to predict one number, it is to see whether even the unlucky paths hold up.
Range of outcomes (unlucky → lucky)Typical (middle) portfolioTypical estate incl. home equityRetire

How the money compounds, year by year ⦿

💡 In plain terms: This traces the unlucky (10th), middle (median), and lucky (90th) portfolio balances across every year. Switch between future (nominal) and today’s dollars with the selector. Early on the three are close; over time they fan apart, that gap is compounding plus market luck. Watch the median climb during the saving years, then how withdrawals and markets shape it through retirement.
AgeUnlucky (10th)MedianLucky (90th)

Crisis timing, when a crash hits matters most verified history ✓

"The same crash early in retirement versus later can be the difference between running dry and being fine. When does it hurt most?"
Pick a real historical crash and slide when it lands in retirement. A crash early, while withdrawals are happening, is the most dangerous, because assets are sold at low prices to fund spending (sequence-of-returns risk). Baseline years use the scenario's average return; the crash years use that era's real market & inflation history.
No crashstrikes later in retirement →
, without the crash, with the crash▒ crash years
Stocks (S&P 500), bonds (10-yr US Treasury) and inflation (CPI) are the verified 1928–2023 record. The GDP & unemployment columns are public BEA / BLS context to explain each era, they don't feed the math (the simulation uses returns + inflation). Confirmed on the Self-check tab. Not advice.

Suggestions, the biggest levers

💡 In plain terms: These are the specific changes that would move the success number number the most, ranked by impact. A lower score is not failure, it is a to-do list. Usually a mix of spending a little less, working a bit longer, or turning on flexible spending closes the gap.

Share & export

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.
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.
For a polished, printable summary, use Print Report.
Or auto-fill from a spreadsheet, download a blank template, fill it in Excel/Numbers, save as CSV, then import.

Your data & privacy

We don’t store the scenarios. Your figures stay in your browser on this device (in local storage), never sent to or saved by us. They aren’t password-protected, and we don’t manage your device’s security, so 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. On a shared computer, keep inputs hypothetical or use a private/incognito window.

Scenario Snapshot

A clear, illustrated summary of the active scenario, the bottom line, what drives it, and how it compares. An educational illustration of fictional numbers, not advice. Every outcome is clickable for what it means, how it is figured, and the inputs that move it.

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

Compare scenarios

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 runs privately in the browser; nothing is sent anywhere.

What it shows

Whether the money is likely to last, how much might be left to the children, and which changes help 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

Save a snapshot, change a slider, save another. The Overview tab lines them up side by side. Backup all (JSON) is a durable copy.

Tips for honest numbers

Use a realistic after-tax return (≈5–6%, with 10–13% "bumpiness"), plan to a long life (90–95+), and 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, no accounts, nothing stored on a server. Your numbers live only in this browser, it can run with wifi off.

Method, exactly how every number is calculated

This page is for both the curious beginner (read the plain description) and the financial analyst (read the Under the hood details). Nothing here is obscure: every formula, every fixed constant, and every data source is disclosed and can be re-verified on the Self-check tab. One framing note on "weighting": this is a structural year-by-year cash-flow simulation, not a weighted-factor score, each effect enters through its own formula, controlled by its own input (the "lever") plus a few fixed constants (all stated below). Where a constant could reasonably be a user lever, it's marked.

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 confidence range so you know how solid the number is.

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 2025 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, $15k/$30k standard deduction, and the RMD table are fixed 2025 data (TAXDATA/RMDTAB), swap yearly.Verify: Self-check RMD $40,650, tax $11,828 (MFJ $100k), $5,914 (single $50k), Roth>Traditional.Impact: large, all-Roth vs all-pre-tax moved a sample from 30%→10%.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.

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: S&P 500 total return, 10-yr US Treasury total return, and CPI inflation, 1928–2023, derived from the public Federal Reserve / Treasury / BLS record. Verified by the compounding test (a 1928 stock $1 → ~$9,500, ~10%/yr; bonds ~4.6%; inflation ~3%) and famous-year spot checks.Tax data: 2025 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, 24 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), and age-correlated couple mortality.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 = the numbers can be trusted.

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 trusting the outputs.