Progressive 7-bracket system (10% to 37%) for Single and Married Filing Jointly. Bracket thresholds and the standard deduction (including age-65+ additional amounts) are inflation-adjusted each year of the simulation. Based on 2025 IRS Rev. Proc. 2024-40.
Three-tier rate structure (0%, 15%, 20%) with gains stacked on top of ordinary income to determine the applicable rate. Separate thresholds for Single and MFJ, inflation-adjusted annually. Cost basis tracked per taxable account.
Calculated per IRA using the IRS Uniform Lifetime Table (Pub. 590-B) starting at age 73 per SECURE 2.0. Distribution amounts are added to taxable income.
Uses the IRS provisional income formula (Publication 915), not a flat 85% assumption. Two-tier thresholds determine whether 0%, up to 50%, or up to 85% of benefits are taxable. Thresholds are $32K/$44K for MFJ and $25K/$34K for Single — fixed since 1993 and not inflation-adjusted, per IRS rules.
SSA-accurate early claiming reduction using the two-tiered formula (5/9 of 1% per month for the first 36 months, 5/12 of 1% beyond). Spousal benefits (up to 50% of higher earner's PIA), delayed retirement credits (8%/year to age 70), and survivor benefits (28.5% max reduction from age 60 to FRA). Automatically selects the highest of own, spousal, or survivor benefit.
IRA-to-Roth conversions added to taxable income with IRS pro-rata rule applied across all traditional IRA balances. Set a fixed conversion amount, a growing amount, or fill to a target gross income level to model bracket-filling strategies. Transfer amounts can be specified as fixed, growing at a percentage rate, or as a year-by-year schedule.
3.8% surtax on the lesser of net investment income or MAGI exceeding the threshold ($200K Single, $250K MFJ). Thresholds are fixed by statute (IRC §1411, unchanged since 2013). NIIT is computed on capital gains only; dividends and interest are not modeled as separate income, so NIIT may be understated.
When a spouse dies, the survivor files MFJ for the death year, then switches to Single the following year. This affects income tax brackets, standard deduction, capital gains thresholds, and SS provisional income thresholds — often pushing the survivor into significantly higher brackets (the "widow's tax torpedo").
10% penalty on IRA distributions before age 59½. For Roth accounts, penalty applies only to earnings (not contributions or conversion basis). Assessed based on account owner's age; after spousal rollover, survivor's age applies. Penalty exceptions (Rule of 55, 72(t), etc.) are not modeled.
Taxable account cost basis resets to fair market value on the owner's death, eliminating unrealized capital gains accumulated during their lifetime (IRC §1014).
Samples annual market returns from a configurable distribution based on post-WWII S&P 500 total returns (1950–2024, ~75 data points). Returns are grouped into 5% buckets with uniform sampling within each bucket. Each iteration runs the full simulation with a different sequence of returns, using a delta approach that preserves per-account growth rate spreads. Cryptographically secure randomness via crypto.getRandomValues(). Results shown as year-by-year box-and-whisker plots (P10/Q1/median/Q3/P90). Inflation is held fixed across iterations (only market returns vary). Success rate measures the fraction of iterations where the portfolio balance never reached zero in any year.
Replays actual S&P 500 total returns and CPI-U inflation year-by-year from a chosen starting year (1950–2024). Uses the same delta approach as Monte Carlo to preserve per-account growth rate spreads. Growing income, spending, and transfer amounts are rebuilt with historical CPI instead of the user’s constant inflation assumption, while fixed and schedule amounts pass through unchanged. Bracket thresholds and standard deduction are inflated using a geometric-mean effective rate computed from the historical CPI sequence.
Backtest Starts At (Assumptions) sets the calendar year when historical returns begin. Before that year, the simulation uses your configured growth rates and inflation — modeling the accumulation phase with your own assumptions before the historical sequence hits. Default is the simulation start year (historical returns from year one). Values entered in the compare field support mixed formats: 1960,1964-1974,1980 expands dashed ranges inline.
These areas are modeled but use approximations — actual amounts will differ.
No one can predict the future, but you can make some assumptions and see where the math takes you.
This tool is for informational and educational purposes only and does not constitute financial, tax, or investment advice. Results are based on simplified models and assumptions that may not reflect your actual situation. This tool does not account for all tax rules, fees, penalties, or market conditions. Consult a qualified financial advisor or tax professional before making retirement planning decisions. All calculations run in your browser. No data is collected, stored, or sent to any server.
This tool is provided “as is” without warranty of any kind, express or implied. The developer assumes no liability for any decisions made or actions taken based on the output of this tool. By using this tool, you agree to these terms.