How this works ×
A plan is only as good as its assumptions, so here are ours, along with what the model has been checked against and what it leaves out. Last reviewed 29 September 2026.
What the model does
Your plan is run through 2,000 possible futures, one year at a time, from today to your plan age. Each year it grows your savings, pays your spending, works out the tax on whatever had to be withdrawn to cover it, and moves on. A future succeeds if the money outlasts you, and the headline figure is the share of futures that do.
The randomness is seeded, so the same inputs always give the same answer. The seed travels in your scenario code and your CSV export, which means a number you saw last week is still reproducible this week.
Three ways of asking the same question
Statistical projections , the default. Stock and bond returns are drawn from lognormal distributions with a correlation of 0.10, and inflation from a normal distribution around the average you set. Two thousand draws leaves a sampling error of about one point: rerunning the sampling 25 times on the default plan gave a spread of 55.1% to 59.8%, with a standard deviation of 1.2 points, close to the 1.1 points the arithmetic predicts. Treat any difference smaller than a couple of points as noise.
Historical backtests. No randomness at all. Your plan is replayed against every real start year in the data, using that year’s actual stock return, bond return and inflation. With 155 years of history and a 30-year retirement that is 126 separate rehearsals, each one a thing that genuinely happened to somebody.
Stress tests. Ordinary markets until the day you retire, then one of history’s worst stretches beginning that very year: 1929, 1937, 1966, 1973, 2000, 2008, or a straight 30% fall. This isolates sequence-of-returns risk, which is the thing that actually ruins retirements.
Where the market history comes from
Annual US data from January 1871 to January 2026. Stocks are the S&P composite index with dividends reinvested. Bonds are a 10-year US Treasury bought each January at the prevailing yield and repriced a year later. Inflation is the consumer price index. Measured over the whole period that is 9.18% a year for stocks, 4.44% for bonds and 2.13% inflation, with a 17.5-point spread on stocks.
Everything to 2022 is built from Robert Shiller’s public dataset, which is where almost every study of this kind starts. His file stops in 2023 and its dividend column stops the June before, so the last three years are built from other public series: the S&P 500 total return index in place of price-plus-dividends, the 10-year Treasury from the Federal Reserve’s own data, and the consumer price index. That is a seam, and it is worth knowing where it is. Rebuilding the 23 years either side of 2000 both ways gives identical bond and inflation figures and stock returns within a quarter of a point, so the join is small, but the last three years are not Shiller’s.
What the projections assume, and why
Stocks compound at 7.5% a year before inflation by default, and the number you pick is the compound rate itself — what the money actually grows at over decades, not the average of the yearly returns, which is about a point and a half higher. Level 2 offers 5.5%, 7.5% or 9.2%. The first is roughly what forecasters expect of the coming decade, the last is what US markets delivered between 1871 and 2025, and the middle is worse than about three quarters of the thirty-year stretches in that record. Bonds compound at 4%, cash at 3%, and inflation carries a 1.2-point spread around your average.
The spread is 17 points, measured on the logarithm of the return, which is about 18.6 points on the returns themselves. Tested against the 155 years of history: the shape holds well through the body of the distribution — seven years fall beyond two standard deviations where the arithmetic predicts 7.1 — but the far tail is thinner than reality. Two years lie beyond three standard deviations where 0.42 are predicted, and 1931 was a 3.7-sigma event that a run of 155 independent draws produces only 2% of the time. Real returns are also skewed, at −0.73 against zero for this distribution: the worst year on record is further from the middle than the best one is. What the model does not get wrong, contrary to the usual criticism, is clustering: losing years in the record do not bunch together more than independent draws would produce. The projections therefore understate the single catastrophic year, but not the bad run, and the backtests cover both directly.
Volatility is deliberately not adjustable. Nobody has an intuition for a standard deviation, there is little real disagreement about it, and turning it down quietly assumes away crashes. If you want to know what wilder markets do to a plan, the backtests and stress tests answer that honestly, because there the bad years arrive in sequence rather than sprinkled evenly.
Tax
Federal tax uses the 2026 brackets and standard deduction, indexed to each future’s own inflation, with the extra deduction from 65 and the $6,000 senior deduction that expires after 2028. Social Security is taxed by the provisional-income formula, whose $25,000 and $32,000 thresholds are not indexed, because Congress never indexed them. Long-term capital gains are taxed at 0/15/20% stacked on top of ordinary income. State tax is one flat rate on federally taxable income.
Because a withdrawal has to cover its own tax, and that extra withdrawal is itself taxed, each year is solved by iteration rather than a single pass. Spending draws from cash, then the brokerage, then pre-tax accounts, then Roth. Level 5 offers two other orders, and the buttons on the chart of who ends up with the money show what each does.
Spending is entered after tax
You tell the model what you want to spend, not what you want to earn. The earlier version asked for a before-tax income and converted it as though it were a salary, which is not how a retiree is taxed at all: somebody living on Roth money pays nothing like salary tax. Worse, the figure you typed never reached the simulation, which computed real tax on the actual withdrawals, so two different tax rules were in play at once. Now the number you enter is the number that gets spent, and the salary equivalent is shown underneath as a comparison.
What this has been checked against
Three outside benchmarks, all run with tax switched off at our end, since none of them models tax. Two check the backtests against real history; the third checks the statistical projections.
The Trinity study (Cooley, Hubbard and Walz, 1998) replayed 30-year retirements over 1926–1995 with inflation-adjusted withdrawals. Restricting our data to the same years gives 41 overlapping windows, exactly as many as theirs. At a 4% withdrawal we differ by precisely one window at every allocation they and we both report:
Portfolio This model Trinity
100% stocks 38 of 41 (92.7%) 39 of 41 (95%)
75% stocks 39 of 41 (95.1%) 40 of 41 (98%)
50% stocks 38 of 41 (92.7%) 39 of 41 (95%)
The one systematic difference is the bond: Trinity used long-term high-grade corporate bonds, we use 10-year Treasuries, which earn less. The effect is invisible where stocks dominate and grows as bonds take over, which is exactly the pattern in our numbers — at very bond-heavy mixes we come out meaningfully more pessimistic than they did.
FI Calc , a backtesting tool many people in this field already use, was asked the same question in September 2026: $1,000,000, 30 years, constant inflation-adjusted spending, history from 1871. Three of the four answers agree to a tenth of a point.
Yearly spending This model FI Calc
$35,000 100% 100%
$40,000 96.8% 96.8%
$45,000 91.3% 91.2%
$50,000 77.8% 79.2%
Those answers were measured when our history ended in 2022 and theirs did not; carrying ours to 2025 moved $40,000 onto their figure exactly and halved the gap at $50,000, which is a pleasing sort of confirmation that the difference really was the data. What is left at $50,000 is their default 5% cash sleeve against our 80/20. This comparison used FI Calc's backtests, so it checks the historical half of the model and says nothing about the projections.
Portfolio Visualizer checks the other half. Its Monte Carlo tool can be given the same assumptions as ours: stocks and bonds drawn at random around a stated average and spread (ours converted to the yearly averages it asks for, 9.06% and 18.7% for stocks, 4.19% and 6.26% for bonds), inflation around 2.5%, $1,000,000, 30 years, spending that rises with inflation, no tax. Each figure is the share of futures in which the money lasted; theirs from 5,000 futures, ours from 20,000, measured 29 September 2026.
Spending 100% stocks: this model Portfolio Visualizer 60/40: this model Portfolio Visualizer
$35,000 87.3% 88.0% 92.6% 92.1%
$40,000 80.6% 79.9% 84.8% 85.5%
$45,000 72.8% 74.0% 73.4% 75.4%
$50,000 64.4% 67.6% 60.5% 65.0%
At modest spending the two agree within sampling noise. The gap that opens at higher spending is a convention, not a disagreement: Portfolio Visualizer takes each year's spending out at the end of the year, after that year's growth, and this model takes it out at the start, before. A run with the randomness switched off matched their ending balance to the dollar under their convention. Rerun our own model with their timing and all eight figures land within about a point of theirs. Taking the money out first is the more cautious reading, and it is how a retiree actually lives: the year's spending leaves the account before the year's returns arrive.
For reference, here is the whole grid on the full 1871–2025 data: the share of 30-year retirements that survived, by starting withdrawal rate and stock allocation, with no tax and no fees.
Rate 100% 75% 50% 25% 0%
3% 100 100 100 100 91
4% 96 97 95 83 50
5% 81 75 69 48 37
6% 68 62 48 33 19
7% 53 46 30 16 9
What it does not model
Fees beyond one blended yearly percentage: per-account and tiered adviser fees are not separated. Borrowing against your home: from Level 3 its equity is counted and passed to heirs, and from Level 4 it can be sold as a life event, but a reverse mortgage or home equity line is not modelled. Healthcare inflation running ahead of general inflation. Long-term care. A glide path that shifts towards bonds as you age; your mix is rebalanced to the same target every year. State-specific rules, exemptions and credits: one flat state rate applies at every level. Substantially equal payments under 72(t). ACA premium subsidies before 65. And anything at all about your actual investments: the model knows a stock share and a bond share, not what you hold.
The market history ends in 2025, because a year is measured January to January and January 2027 has not happened yet.
Every formula, if you want them
This page is the summary. There is a companion page that writes out every calculation the engine performs — the return draws, the bond pricing, the tax arithmetic including the fixed point that solves for withdrawing enough to cover its own tax, the withdrawal orders, conversions, surcharges, and how paths become percentages — in enough detail to check it or rebuild it. It marks the places the implementation departs from the textbook, and there are several. The arithmetic, in full
No sales pitch, and nothing to buy
The goal from the start was a retirement tool with no sales pitch. It is free to use, all of it, with nothing to buy and nothing to upgrade to: every level is open, there is no login to make and no email to hand over. There is no adviser waiting at the end, no fund or product recommended, and no commission earned on anything you decide.
Your data stays on your device. Every calculation runs in your own browser, and nothing you enter is sent anywhere or stored anywhere but there; there is no account for it to sit in. Nothing on this page is tracking you or being sold to anybody.
It is a side project rather than a business, and the honest reason everything is free is that charging for it would mean building a payment system instead of improving the model.
Sources
Robert Shiller, online data, Yale University, for everything to 2022. The Federal Reserve Bank of St Louis (FRED) series GS10 and CPIAUCNS, and the S&P 500 total return index, for 2023 onwards. IRS Revenue Procedure 2025-32 and Publication 590-B. Social Security Administration, retirement benefits and the provisional-income rules. Medicare.gov, Medicare costs. Cooley, Hubbard and Walz, “Retirement Savings: Choosing a Withdrawal Rate That Is Sustainable”, AAII Journal, 1998. FI Calc, ficalc.app, consulted September 2026. Portfolio Visualizer, portfoliovisualizer.com, Monte Carlo simulation, consulted September 2026. Named rather than linked, so that reading the method does not mean leaving the page.