Data & Logic
A reference for the values, assumptions, and calculation methods used by this calculator. All dollar figures are expressed in today’s (real) dollars unless noted otherwise.
How the simulation works
The simulator runs in half-year steps from your current age to the plan horizon you set. Each step applies contributions or withdrawals, then compounds the remaining balance at the appropriate return rate. Every simulation runs in real (inflation-adjusted) dollars, so the spending levels and bracket thresholds you enter stay comparable across time without an inflation adjustment.
Three asset buckets are tracked independently: pre-tax (traditional 401(k)/IRA), Roth (Roth 401(k)/IRA), and taxable brokerage. Each has its own growth, tax treatment on withdrawal, and basis tracking for capital-gains purposes.
The plan passes through up to three phases based on your retirement ages:
- Accumulation — both spouses are working and contributing.
- Bridge — one spouse has retired; the other’s take-home pay offsets household expenses. Withdrawals fund only the remaining shortfall.
- Retired — both spouses are retired. Social Security, pensions, and portfolio withdrawals together fund spending.
Spending model
Retirement spending is modeled in three declining phases (the “go-go / slow-go / no-go” framework), which you can enable or disable. When enabled:
- Go-go years — full monthly spending from retirement until the go-go end age you set.
- Slow-go years — spending declines to the slow-go percentage of the go-go base (default 85%).
- No-go years — spending declines further to the no-go percentage (default 72%).
An optional supplemental income budget adds a fixed annual dollar amount on top of base spending for a configurable number of years after retirement. This can be used for travel, unexpected expenses, or any other early-retirement spending that doesn’t persist indefinitely.
When the spending phase model is disabled, the go-go monthly amount applies for the entire retirement period with no phase-downs.
Withdrawal strategies
Three strategies control how withdrawals are drawn from your buckets:
- Proportional — each half-year withdraws from pre-tax and Roth in proportion to their current balances. This keeps the tax character of withdrawals roughly constant over time.
- Pre-tax first — depletes the pre-tax bucket entirely before touching Roth, which can leave a larger tax-free balance for heirs but front-loads taxable income in early retirement.
- Bracket fill — each year, the pre-tax withdrawal is topped up to fill federal taxable income to the ceiling of a chosen bracket (10%, 12%, 22%, or 24%), even if spending needs are lower. The surplus after-tax dollars — the amount left over after taxes on the filled withdrawal, once spending is covered — flow into the taxable brokerage account.
How the fill is computed: starting from the pre-tax gross needed to fund spending (solved by the same iterative binary search used by all strategies), the model calculates the room remaining in the target bracket:
room = bracket ceiling − (0.85 × SS + pension − standard deduction)
fillGross = max(minGross, room − $1)The $1 margin keeps taxable income just below the bracket ceiling to avoid spilling into the next bracket. If the room is already consumed by Social Security or pension income, or if the pre-tax balance is zero, the strategy behaves exactly like proportional.
When bracket fill helps: best suited to well-funded retirees with large pre-tax balances who anticipate higher tax rates at 75+ (when RMDs force withdrawals regardless of spending needs). By voluntarily drawing more earlier — at lower marginal rates — this strategy can reduce total lifetime taxes and lower future RMD exposure. The surplus is not wasted; it flows into the brokerage account and remains available for spending.
When bracket fill hurts: in underfunded plans, the extra upfront tax cost reduces the portfolio balance available for compounding. The Monte Carlo success rate will typically be equal to or lower than proportional — prepaying taxes never extends how long money lasts, it only changes when it is paid. Use bracket fill for lifetime-tax minimization, not for improving portfolio survival odds.
When RMDs are enforced, the model computes the required minimum distribution each year using the IRS Uniform Lifetime Table and forces pre-tax withdrawals to be at least that amount. Any excess after covering spending flows into the taxable brokerage account.
Social Security benefit factors
The Full Retirement Age (FRA) is 67 for both spouses. Benefits are scaled by a factor that reflects SSA’s actuarial adjustments for early or delayed claiming. Values between integer ages are linearly interpolated (matching SSA’s per-month rule exactly).
| Claiming age | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
|---|---|---|---|---|---|---|---|---|---|
| Factor | 70.0% | 75.0% | 80.0% | 86.7% | 93.3% | 100.0% | 108.0% | 116.0% | 124.0% |
Example: claiming at 62 yields 70% of your PIA; at 70 you receive 124%. FRA (67) is shown in bold.
Pension income
Each spouse can have a fixed monthly pension that starts at their own retirement age and continues for the rest of the plan. Values are entered in today’s (real) dollars. Pension income is treated as ordinary income for both federal and state tax purposes — it increases taxable income alongside pre-tax withdrawals and the Social Security inclusion.
For IRMAA purposes, pension income is included in the estimated MAGI alongside pre-tax withdrawals and 85% of Social Security:
Est. MAGI = pre-tax withdrawals + 85% × Social Security + pension income
Federal income tax
Tax is computed using 2026 brackets in real (inflation-adjusted) dollars. The standard deduction is $32,000 for Married Filing Jointly and $15,000 for Single filers. Taxpayers aged 65 or older receive an additional deduction: $1,650 per person for MFJ, $2,050 for Single.
Up to 85% of Social Security is included in taxable income during retirement (the standard IRS inclusion rate for most retirees).
| Taxable income over | Rate |
|---|---|
| $0 | 10% |
| $24,800 | 12% |
| $100,800 | 22% |
| $211,400 | 24% |
| $403,550 | 32% |
| $512,450 | 35% |
| $768,700 | 37% |
| Taxable income over | Rate |
|---|---|
| $0 | 10% |
| $12,400 | 12% |
| $50,400 | 22% |
| $105,700 | 24% |
| $201,775 | 32% |
| $256,225 | 35% |
| $384,350 | 37% |
The gross pre-tax withdrawal needed to net a target spending amount is solved iteratively (binary search) so that the full marginal tax schedule is respected.
State income tax
State taxes are approximated as a flat rate above an exemption threshold. Progressive states are modeled as effective flat rates typical for retirement income levels. All listed states fully exempt Social Security from state income tax except Montana.
| State | Rate | Exemption | SS exempt |
|---|---|---|---|
| Alabama | 5.00% | $0 | Yes |
| Alaska | 0% | — | Yes |
| Arizona | 2.50% | $14,600 | Yes |
| Arkansas | 3.90% | $6,000 | Yes |
| California | 7.00% | $5,500 | Yes |
| Colorado | 4.40% | $24,000 | Yes |
| Connecticut | 5.50% | $24,000 | Yes |
| Delaware | 5.20% | $12,500 | Yes |
| District of Columbia | 6.00% | $3,000 | Yes |
| Florida | 0% | — | Yes |
| Georgia | 5.39% | $65,000 | Yes |
| Hawaii | 7.00% | $0 | Yes |
| Idaho | 5.80% | $0 | Yes |
| Illinois | 0% | — | Yes |
| Indiana | 3.05% | $0 | Yes |
| Iowa | 3.80% | $0 | Yes |
| Kansas | 5.70% | $0 | Yes |
| Kentucky | 4.00% | $31,110 | Yes |
| Louisiana | 4.25% | $6,000 | Yes |
| Maine | 7.00% | $30,000 | Yes |
| Maryland | 5.50% | $35,100 | Yes |
| Massachusetts | 5.00% | $8,000 | Yes |
| Michigan | 4.25% | $0 | Yes |
| Minnesota | 7.00% | $0 | Yes |
| Mississippi | 0% | — | Yes |
| Missouri | 4.95% | $0 | Yes |
| Montana | 5.80% | $0 | No |
| Nebraska | 5.80% | $0 | Yes |
| Nevada | 0% | — | Yes |
| New Hampshire | 0% | — | Yes |
| New Jersey | 5.50% | $0 | Yes |
| New Mexico | 4.90% | $0 | Yes |
| New York | 6.00% | $20,000 | Yes |
| North Carolina | 4.50% | $25,500 | Yes |
| North Dakota | 2.00% | $0 | Yes |
| Ohio | 2.75% | $26,050 | Yes |
| Oklahoma | 4.75% | $0 | Yes |
| Oregon | 8.50% | $0 | Yes |
| Pennsylvania | 0% | — | Yes |
| Rhode Island | 5.50% | $20,000 | Yes |
| South Carolina | 6.60% | $15,000 | Yes |
| South Dakota | 0% | — | Yes |
| Tennessee | 0% | — | Yes |
| Texas | 0% | — | Yes |
| Utah | 4.55% | $0 | Yes |
| Vermont | 7.00% | $0 | Yes |
| Virginia | 5.75% | $12,000 | Yes |
| Washington | 0% | — | Yes |
| West Virginia | 4.82% | $0 | Yes |
| Wisconsin | 6.25% | $0 | Yes |
| Wyoming | 0% | — | Yes |
IRMAA — Medicare income surcharges
The Income-Related Monthly Adjustment Amount (IRMAA) adds surcharges to Medicare Part B and Part D premiums when Modified Adjusted Gross Income (MAGI) exceeds the thresholds below. The base Part B premium is $185/month per person. Surcharges are per-person per-month amounts on top of that base.
For this calculator, MAGI is estimated as: pre-tax withdrawals + 85% of Social Security + pension income. Medicare uses a two-year lookback (your 2026 premium is based on 2024 MAGI), so the calculator’s figures are a forward-looking approximation, not a precise billing calculation.
2025 IRMAA thresholds (CMS adjusts annually)
| MAGI up to | Part B surcharge/mo | Part D surcharge/mo |
|---|---|---|
| $106,000 | $0 | $0 |
| $133,000 | $74.00 | $13.70 |
| $167,000 | $185.00 | $35.30 |
| $200,000 | $295.90 | $57.00 |
| $500,000 | $407.00 | $78.60 |
| No limit | $443.90 | $85.80 |
| MAGI up to | Part B surcharge/mo | Part D surcharge/mo |
|---|---|---|
| $212,000 | $0 | $0 |
| $266,000 | $74.00 | $13.70 |
| $334,000 | $185.00 | $35.30 |
| $400,000 | $295.90 | $57.00 |
| $750,000 | $407.00 | $78.60 |
| No limit | $443.90 | $85.80 |
Required Minimum Distributions (RMDs)
RMDs are calculated using the IRS Uniform Lifetime Table. Under SECURE 2.0, RMDs begin at age 75 for those born in 1960 or later. The annual RMD equals the prior year-end balance divided by the applicable distribution period (DP).
For married filers, the calculator splits the combined pre-tax balance evenly between spouses and applies each spouse’s own age-based distribution period independently.
| Age | DP | Implied rate | Age | DP | Implied rate |
|---|---|---|---|---|---|
| 75 | 24.6 | 4.07% | 80 | 20.2 | 4.95% |
| 76 | 23.7 | 4.22% | 81 | 19.4 | 5.15% |
| 77 | 22.9 | 4.37% | 82 | 18.5 | 5.41% |
| 78 | 22 | 4.55% | 83 | 17.7 | 5.65% |
| 79 | 21.1 | 4.74% | 84 | 16.8 | 5.95% |
| 85 | 16 | 6.25% | 90 | 12.2 | 8.20% |
| 86 | 15.2 | 6.58% | 91 | 11.5 | 8.70% |
| 87 | 14.4 | 6.94% | 92 | 10.8 | 9.26% |
| 88 | 13.7 | 7.30% | 95 | 8.9 | 11.24% |
| 89 | 12.9 | 7.75% | 100 | 6.4 | 15.63% |
DP = distribution period from the IRS Uniform Lifetime Table. Selected ages shown; the full table extends to age 120.
Contribution limits (2026)
| Account / limit | Amount | Notes |
|---|---|---|
| 401(k) employee deferral (under 50) | $24,500 | Per person |
| 401(k) employee deferral (age 50–59, 64+) | $32,500 | Standard catch-up |
| 401(k) employee deferral (age 60–63) | $35,750 | SECURE 2.0 super catch-up |
| Employer match cap | $47,500 | Per year, always counted as pre-tax |
| IRA / Roth IRA (under 50) | $7,500 | Per person |
| IRA / Roth IRA (age 50+) | $8,600 | With catch-up |
| Roth IRA phase-out — Single | $153,000 – $168,000 MAGI | Contribution scales to zero |
| Roth IRA phase-out — MFJ | $242,000 – $252,000 MAGI | Contribution scales to zero |
| HSA — self-only HDHP | $4,400 | No contributions at age 65+ (Medicare) |
| HSA catch-up (age 55–64) | +$1,000 | Added to self-only limit |
The calculator enforces each limit in real time and warns when your contribution percentage would exceed the annual deferral cap. Salary growth is applied year-over-year in the simulation.
Monte Carlo simulation
The Monte Carlo engine runs 1,000 independent trials. Each trial draws lognormal annual returns parameterized so that the compound (geometric) average matches the return rate you set on the slider — meaning the Monte Carlo median tracks the deterministic projection exactly, and the spread shows volatility and sequence-of-returns risk around it.
Returns are drawn with a seeded pseudo-random number generator (mulberry32)so results are fully reproducible: the same inputs always produce the same chart. Each trial uses an independent seed so that changing your spending plan does not distort the spread.
| Parameter | Default | What it controls |
|---|---|---|
| Accumulation return (rAcc) | 5% real | Compound annual growth while working |
| Retirement return (rRet) | 3.5% real | Compound annual growth while retired |
| Accumulation volatility (volAcc) | 15% | Annualized standard deviation (σ) while working |
| Retirement volatility (volRet) | 10% | Annualized standard deviation (σ) while retired |
The chart bands show the 10th–90th percentile range (light) and the 25th–75th percentile range (dark). The success rate is the percentage of trials in which the portfolio never reaches zero before the plan end date.
Flexible spending strategies
When a strategy is selected in the Spending card, a second Monte Carlo run models dynamic spending alongside the rigid plan. Three strategies are available. Downturn cuts: in any retirement year whose trailing twelve months of simulated returns were negative, baseline monthly spending and the supplemental budget are each cut by their configured percentages, scaled by the drawdown’s severity — the full cut after a 20%+ decline, 75% of it after a 10–20% decline, and half of it after a milder loss; spending returns to normal once returns turn positive. Guyton-Klinger guardrails: each year the current withdrawal rate (portfolio-funded spending over the balance) is compared to its initial value; drifting past the configured guardrail above triggers a cut, drifting below triggers a raise, with cumulative adjustments capped between 50% and 150% of plan and cuts suspended in the final 15 plan years. Yale / Endowment: the portfolio-funded share of spending blends last year’s level with what the current balance supports, using the configured smoothing weight and floor. The guardrails and endowment rules adjust only the portion of spending the portfolio funds — never Social Security or pension income. The card then shows both success rates (rigid vs. flexible) over the same simulated market paths, plus the average number of years each trial spends at reduced spending. The headline bands and the deterministic projection always use the rigid plan.
Taxable brokerage & capital gains
The taxable brokerage bucket tracks a cost basis separately from the total balance. When funds are withdrawn, only the gain portion (balance minus basis) is subject to a 15% long-term capital gains rate. Withdrawals reduce the basis proportionally. Deposits (e.g., RMD overflow, excess Roth distributions) are treated as 100% basis — after-tax cash.
When both tax-advantaged buckets are depleted, the brokerage account is the last resort for funding spending. The gross withdrawal is adjusted upward to cover the capital gains tax so the net amount still meets the spending target.
Windfall
A one-time lump-sum cash event — typically an inheritance, life insurance payout, or gift — deposited into the internal taxable brokerage bucket at the age you specify. The amount is entered as a post-tax figure, because these events are generally income-tax-free to the recipient under US federal law. The full amount is treated as 100% cost basis(after-tax cash), so no capital-gains tax applies until subsequent growth is realized.
From the windfall age forward, the deposited balance grows at the retirement real return and can fund spending as a last resort after tax-advantaged accounts are exhausted. If you’re modeling a taxable windfall (lottery, bonus, non-rollover lump-sum distribution), enter the after-tax amount you would actually keep.
Health Savings Account (HSA)
HSAs offer a triple tax advantage: contributions reduce taxable income now (above-the-line deduction), the balance grows tax-free, and qualified withdrawals are completely tax-free. After age 65, any withdrawal is allowed and taxed as ordinary income (like a traditional IRA), making the HSA a powerful supplemental retirement account.
In the simulation, HSA contributions reduce both federal and state taxable income, which also lowers Modified Adjusted Gross Income for Roth IRA phase-out purposes. Contributions are capped at the annual IRS limit and stop automatically once a person reaches age 65 (Medicare eligibility) or stops working. The HSA balance and contributions are modeled inside the tax-free bucket alongside Roth: growth and withdrawals are assumed tax-free (withdrawals are treated as qualified medical spending, which for most retirees comfortably absorbs the HSA). The HSA is therefore included in the verdict, the balance chart, the Monte Carlo, and the drawdown cards, and appears within the “Roth + HSA” line of the balance breakdowns.
| 2026 HSA limit | Amount |
|---|---|
| Self-only HDHP coverage | $4,400 |
| Age 55–64 catch-up (added to above) | +$1,000 |
| Age 65+ (Medicare-eligible) | $0 — contributions not allowed |
Family HDHP coverage limits are not modeled — the calculator uses the self-only limit per person. Each spouse’s HSA is treated independently with their own age-based limits.
Asset allocation
The Asset Allocation card lets you set a target stock / bond / cash mix for two phases — while working and in retirement. Cash is the remainder (100% − stocks% − bonds%) and is shown automatically.
An implied real return is calculated for each phase using long-run historical real-return assumptions:
| Asset class | Historical real return (annual) |
|---|---|
| Stocks (equities) | 7.0% |
| Bonds | 1.0% |
| Cash | 0.0% |
The implied return is shown for reference only — it is not automatically applied to the plan. To use it, manually set the “Real return while both work” or “Real return in retirement” sliders to match. This two-step design keeps the main simulation under explicit user control while making it easy to sanity-check whether your return assumptions are consistent with your allocation.
The retirement allocation also drives the Sequence of Returns Risk card (see below): the stock percentage determines the equity fraction of the portfolio, the bonds + cash percentage determines the buffer fraction, and together they set the baseline return and the calibrated stress scenario.
Recommended glide path
The Recommended Glide Path card steps the stock/bond/cash mix from your working-years target to your retirement target gradually, rather than shifting all at once the day you retire. The glide runs over the 7 years immediately before your (primary) retirement age — compressed to whatever runway is left if fewer than 7 years remain, and skipped entirely if you’ve already reached retirement age.
Each year’s allocation is linearly interpolated between the working-years and retirement targets set in the Asset Allocation card above, then rounded to the nearest 5%. The expected return shown for each step uses the same historical real-return assumptions as the Asset Allocation card (stocks 7%, bonds 1%, cash 0%).
Apply glide path returns
This toggle is off by default — like the Asset Allocation card’s implied return, the glide table is shown for reference only until you turn it on. When enabled, the simulation and Monte Carlo both substitute each glide-window year’s table return for the flat “Real return while both work” rate. Every accumulation year outside the 7-year window keeps using the flat rate.
A general glide-path guideline based on long-run historical averages, not personalized investment advice.
Sequence of returns risk
Two retirement plans can earn the same average return and still end very differently depending on whether the bad years land early (when a newly-retired, already-smaller balance is being drained) or late (after years of growth have built a cushion). The Sequence of Returns Risk card makes this concrete by running three scenarios from the balance at first retirement:
- Steady returns (baseline) — every year earns the allocation-implied real return.
- Early downturn — the first N years of retirement earn the stressed return; all remaining years earn the normal implied return.
- Late downturn — the last N years earn the stressed return; everything before earns normally.
N is min(5, total retirement years). All three scenarios withdraw the same spending amounts as the Annual Portfolio Withdrawal card and apply RMDs if enforced.
Return calibration
The stressed portfolio return is set to 15 percentage points below the allocation-implied return (e.g. a 4% implied return → −11% stressed). Within a stress year the equity and buffer components are separated:
- The buffer (bonds + cash fraction) earns a blended return based on the bonds-to-cash ratio at the historical 1% (bonds) / 0% (cash) rates.
- The equity return in a stress year is back-solved so that the blended portfolio return exactly equals the stressed return.
Cash-buffer strategy
During a stress year, the bonds-and-cash buffer is spent before equity — so the model avoids being forced to sell depreciated stocks to cover withdrawals. After each normal year the portfolio rebalances back to the target stock / bond / cash split, replenishing the buffer from equity gains as a disciplined annual rebalancing would.
Flexible spending during the downturn
When a flexible spending strategy is selected in the Spending card, the stress scenarios apply it too. With Downturn cuts, the two downturn scenarios apply your configured cuts — one percentage for baseline monthly spending, another for the supplemental budget — during their stress years, scaled by the downturn’s severity (the full cut at a 20%+ stressed loss, 75% of it between 10% and 20%, half below 10%). With Guyton-Klinger guardrails or the Yale / Endowment rule, the adjustment runs in every year of all three scenarios — that is the point of those rules — so the downturn window triggers cuts as the balance falls and the recovery years can restore them. The deterministic projection, Spending card, and Annual Portfolio Withdrawal table are unaffected: they model a steady average return with no down years to react to.
The SORR card uses the retirement allocation set in the Asset Allocation card. If your stocks and bonds sliders both read 0%, the entire portfolio is treated as cash with a 0% return and there is no buffer distinction.
Roth conversion analysis
The Roth Conversion Analysis card estimates the optimal conversion strategy by comparing your current marginal tax rate against projected rates in three future windows:
| Window | Income components used |
|---|---|
| Today (working) | Salary − 401(k) pre-tax − HSA − standard deduction |
| Pre-RMD gap (retired, before SS & RMDs) | Pre-tax withdrawals + pension − standard deduction |
| Pre-RMD + SS (after claiming, before 75) | Pre-tax + pension + 85% × SS − standard deduction |
| Post-RMD (age 75+) | Pre-tax + pension + 85% × SS + RMD excess − standard deduction |
The projected RMD at 75 is approximated as 4% of the current pre-tax balance; the post-RMD IRMAA check uses the simulation’s actual age-75 MAGI (matching the IRMAA Analysis card exactly) so both cards cite identical figures.
Recommendations
- Convert now — pre-RMD window: you are fully retired, before Social Security, and before RMDs (the “golden window” — the lowest-tax period of most retirees’ lives).
- Wait for pre-RMD retirement years: your pre-RMD rate will be lower than today’s working rate.
- Annual conversion (bracket filling): your retirement rate won’t be lower than today’s, so there’s no benefit to waiting.
- Backdoor Roth IRA: your AGI is in or above the Roth IRA direct-contribution phase-out range ($153k–$168k single / $242k–$252k MFJ).
- No conversion recommended: pre-tax balance is small, or you’re in the 32%+ bracket with no clear advantage.
IRMAA-aware limits
The card caps conversion recommendations at the IRMAA Tier 1 threshold when your income is close to that cliff, and surfaces a pitfall if you’re aged 63–64 (conversion income will affect Medicare premiums at 65 via the two-year lookback).
Pitfalls surfaced
- IRMAA two-year lookback at age 63–64
- Post-RMD IRMAA exposure (projected MAGI after 75 crosses a tier)
- Under-59½ penalty: each conversion starts its own 5-year clock
- ACA premium subsidy impact (if income is in the subsidy range)
- Pension already filling retirement brackets (large pensions limit headroom for conversions)
- Pro-rata rule for Backdoor Roth when a pre-tax IRA balance exists
All figures are heuristic estimates from inputs — not tax advice. Confirm with a CPA before converting.
Roth 401(k) vs. Traditional comparison
When Roth 401(k) is enabled for either spouse, this card compares the user’s current pre-tax / Roth split against an all-pre-tax baseline by running two full simulations and computing three figures (all in today’s real dollars):
- Extra tax while working — the additional federal + state tax paid in working years because Roth contributions don’t reduce AGI. Summed across all accumulation and bridge steps.
- Tax saved in retirement — the reduction in total lifetime retirement taxes from tax-free Roth withdrawals vs. the all-pre-tax counterfactual. Derived from the difference in
totalTaxesbetween the two simulations. - Net lifetime benefit — tax saved minus extra working-years cost. Positive means Roth wins; negative means pre-tax wins.
The comparison holds everything else constant (same balances, same spending, same withdrawal strategy). It does not model the time-value difference of paying taxes now vs. later.
FIRE page
The FIRE page is a simplified, tax-free companion to the main simulation. Everything is computed in real (inflation-adjusted) dollars with a constant real return r, so all results read in today’s purchasing power.
Targets
- FIRE number = annual spending ÷ safe withdrawal rate (at 4%, that’s 25× spending).
- Lean / Fat FIRE use 70% / 150% of planned spending respectively.
- Barista FIRE = max(0, spending − part-time income) ÷ SWR.
- Coast FIRE = FIRE number ÷ (1 + r)(T − age), where T is the chosen traditional retirement age — the amount that compounds to the full number with no further saving.
Timelines
- Years to a fixed target solves A(1+r)t + S·((1+r)t − 1)/r = target for t, where A is current assets and S annual savings (contributions assumed end-of-year, constant in real terms).
- The Coast FIRE date treats the requirement as a moving target — it grows by (1+r) each year as compounding time shrinks — and solves for the crossing, which is later than reaching today’s coast number.
- The savings-rate curve normalizes income to 1: saving a fraction s means needing (1 − s)/SWR, starting from zero — the classic result that the savings rate alone sets years to FI.
Bridge to 59½
- Needed at FI is the annuity value of annual spending over (59½ − FI age) years, discounted at r — the bridge money keeps earning while being drawn.
- Accessible at FI grows today’s accessible balance and the accessible share of future savings at r to the FI date. Approximation: Roth growth is treated as accessible even though only contributions are penalty-free before 59½.
- Taxes are ignored throughout the FIRE page; the main calculator models them fully.
Monte Carlo check
1,000 seeded trials (mulberry32, Box–Muller normals) of the retirement phase only, from FI age to 95. Each year withdraws one year of spending, then applies a lognormal return exp(ln(1+r) + σ·Z) — the same geometric-mean convention as the main calculator’s Monte Carlo, so the median trial tracks the deterministic projection. Success means the portfolio never depletes. Because the simulation runs in units of annual spending, results depend only on the withdrawal rate, horizon, return, and volatility σ.
The “Open in full calculator” button copies age, retirement age (clamped to the calculator’s 55–70 slider range), and monthly spending (rounded to $250) into the main calculator’s saved inputs.
Historical modeling page
The historical modeling page is a separate tool from the main calculator: instead of a single steady return, it replays one real ten-year stretch of market history — or a hypothetical scenario — against your plan, then lets you slide that decade to different points in retirement to see how the timing of good and bad years changes the outcome.
Decade replay
Historical figures cover 1970–2025: S&P 500 and 10-year Treasury total returns (nominal) and CPI-U inflation. During the chosen ten-year window, each year’s real return is derived from that year’s actual nominal stock/bond blend for your allocation, deflated by that year’s actual inflation. Every year outside the window uses the flat “real return (outside the decade)” assumption you set.
Where it lands in retirement
The “decade begins” slider replays the identical ten years starting at different points in your plan. This is the page’s own sequence-of-returns demonstration: the same decade, with the same average return, produces a very different ending balance depending on whether it lands at the start of retirement (when withdrawals lock in losses from a smaller, newly-retired balance) or near the end (after years of growth have built a cushion) — see the Sequence of Returns Risk section above for the same effect on the main calculator.
Flexible spending strategies
This page offers the same strategy choices as the calculator, sharing identical rule logic. Downturn cuts is a single-percentage version of the calculator’s severity-scaled cuts: annual spending is trimmed in any year that follows a negative real return, scaled by how deep the loss was — the full cut after a 20%+ decline, 75% of it after a 10–20% decline, half after a milder loss — and reverts once returns turn positive again. Guyton-Klinger guardrails and the Yale / Endowment rule adjust the portfolio-funded share of spending from the balance each replay year, exactly as in the calculator’s Monte Carlo. The “Annual spending through retirement” card charts what each year’s spending actually is under the chosen strategy versus the rigid plan — including the drop to guaranteed income alone if a portfolio runs dry — along with the leanest and richest years and the strategy’s effect on total lifetime spending.
Hypothetical scenarios
Alongside the real historical decades, four synthetic (hypothetical) scenarios each isolate a different retirement risk:
- SORR shock — a three-year front-loaded crash (roughly −25%, −12%, −5% stock years) whose seven recovery years are recalculated every time you change your allocation or return assumption, so the decade’s blended real return for your mix always equals your “real return (outside the decade)” setting exactly. Its average is normal for your plan by construction; only the order of returns is hostile — the cleanest possible isolation of sequence-of-returns risk.
- Deep crash decade — the same crash followed by two stagnant years (five years underwater in real terms) before a late recovery, leaving the decade well below average (stocks roughly 1.5% real annualized) regardless of your settings: a genuinely bad stretch, useful for contrasting a bad average against bad timing.
- Inflation spike — a 2022-style rate shock where stocks and bonds fall together, followed by several years of 6–10% inflation with weak nominal returns. There is no dramatic crash, yet real returns run negative for years; bonds end the decade around −4.5% real annualized, so bond-heavy allocations fare worse here than in the market-crash scenarios.
- Double dip — a W-shaped decade: a crash, a two-year partial recovery, a second crash, then the true recovery (the 2000–2009 pattern). Stocks end roughly flat in real terms, and with a flexible spending strategy selected the adjustments trigger, relax, and trigger again.
When a hypothetical scenario is selected, the year-by-year table shows “Yr 1”–“Yr 10” instead of calendar years, and a footnote flags that the returns are synthetic rather than historical.
Loading a plan from the calculator
The “Load from calculator” button reads your saved calculator inputs (or a named scenario) and converts them: the starting balance is the actual projected balance at retirement (run through the calculator’s own simulation, not just today’s account totals), and the flexible spending strategy carries over: for downturn cuts, the calculator’s separate baseline/supplemental percentages are blended into this page’s single cut percentage, weighted by how much of your total spending each category represents and rounded to the nearest 5%; guardrail and endowment parameters transfer directly.
This page auto-saves to its own local storage, separate from the calculator, and does not have its own named-scenario panel — use the calculator’s Scenarios card for that, then load the scenario here.
Saving, scenarios & import/export
Every input is auto-saved to your browser’s local storage as you type, so reloading the page restores your last session. Saved data never leaves your device.
The Scenarios panel lets you save the current set of inputs under a name, then reload, overwrite, or delete any saved scenario later — useful for comparing alternatives (e.g. retiring at 62 vs. 67) without losing your baseline. Up to 20 named scenarios are stored.
Export / import lets you save your current plan (or a named scenario) as a JSON file for backup or transfer to another device, and load a previously exported file back in. Imported data is validated against the same field whitelist used for local storage, so malformed or unrecognized fields fall back to defaults instead of corrupting the plan.
Default input values
When you first open the calculator (or after resetting), these values are pre-loaded. All inputs are saved to your browser’s local storage so your settings persist across visits.
| Field | Default |
|---|---|
| Filing status | Single |
| State | Alabama |
| Current age (primary / spouse) | 45 / 45 |
| Retirement age (primary / spouse) | 65 / 65 |
| Social Security claim age (primary / spouse) | 67 / 67 (FRA) |
| Plan to age | 95 |
| Primary PIA (monthly benefit at 67) | $2,800 |
| Spouse PIA (monthly benefit at 67) | $2,200 |
| Pension (primary / spouse) | $0 |
| Monthly spending (go-go) | $5,000 |
| Go-go spending phases enabled | No (flat spending throughout) |
| Go-go end age | 80 |
| Slow-go end age | 88 |
| Slow-go / no-go spending | 85% / 72% of go-go |
| Annual supplemental budget | $10,000 |
| Supplemental budget years | 15 |
| Pre-tax (401k/IRA) balance | $250,000 |
| Roth balance | $0 |
| Taxable brokerage balance | $0 |
| HSA balance | $0 |
| Windfall amount | $0 |
| Windfall age | 65 |
| Annual salary (primary / spouse) | $75,000 / $75,000 |
| Bridge-year working spouse salary | $75,000 |
| Employee contribution rate (primary / spouse) | 10% / 10% |
| Employer match rate (primary / spouse) | 4% / 4% |
| Pre-tax share of employee deferral (primary / spouse) | 100% / 100% |
| Roth 401(k) enabled (primary / spouse) | No / No (all pre-tax) |
| Roth IRA contribution (primary / spouse) | $0 / $0 |
| HSA enabled (primary / spouse) | No / No |
| HSA contribution rate (primary / spouse) | 0% / 0% |
| Withdrawal strategy | Bracket fill |
| Fill-to bracket (bracket fill only) | Budget (cover spending only) |
| Enforce RMDs | Yes |
| Nominal annual raise | 3% |
| Assumed inflation | 2.5% |
| Real salary growth (derived) | 0.5%/yr |
| Accumulation return | 5% real |
| Retirement return | 3.5% real |
| Accumulation volatility (σ) | 15% |
| Retirement volatility (σ) | 10% |
| Flexible spending strategy | None |
| Downturn cut — monthly spending | 10% (downturn cuts strategy) |
| Downturn cut — supplemental budget | 50% (downturn cuts strategy) |
| Guardrail width / adjustment (Guyton-Klinger) | ±20% / 10% |
| Smoothing / floor (Yale endowment) | 70% / 60% |
| Asset allocation — stocks (working) | 90% |
| Asset allocation — bonds (working) | 10% |
| Asset allocation — stocks (retirement) | 60% |
| Asset allocation — bonds (retirement) | 35% |
Limitations & assumptions
- All calculations use real (inflation-adjusted) dollars. Nominal portfolio values will appear higher in practice by the accumulated inflation over your retirement.
- Tax brackets are held constant in real terms. Congress may change rates, brackets, or the standard deduction in ways not reflected here.
- State tax is a simplified flat-rate approximation. Actual state tax law is complex and may differ materially for your situation.
- Social Security is modeled at 100% of scheduled benefits. Future benefit cuts from trust-fund shortfalls are not applied.
- IRMAA brackets are the 2025 CMS values. Medicare adjusts them annually; the 2-year MAGI lookback means you may be assessed on income from two years prior.
- The brokerage account uses a single blended 15% LTCG rate. The 0% rate that applies to income in lower brackets, or the 20% rate that applies to very high earners, is not modeled.
- Roth conversions are not modeled. The calculator shows the tax impact of your current pre-tax / Roth split but does not simulate in-retirement Roth conversion ladders.
- HSA balances are projected to first retirement and shown in the balance card, but are not drawn down in the three-bucket simulation. Healthcare costs are not separately projected.
- Bridge-year tax gross-ups use a flat 25% effective rate on pre-tax withdrawals rather than the full iterative solver. This is a minor approximation for the typically short bridge window.
- The Sequence of Returns Risk card uses long-run historical real-return averages (stocks 7%, bonds 1%, cash 0%) to derive implied returns and calibrate the stress scenario. Actual returns may differ materially from these long-run averages in any given period.
- The Roth Conversion Analysis is a heuristic based on projected marginal brackets, not a full optimization. It does not model the time-value difference of paying taxes now vs. later, state Roth conversion differences, or the impact on Medicare Part B or Part D premium subsidy programs other than IRMAA.