How FireMe’s Calculators Work
Every number on this site comes from arithmetic you can check. This page lists the data behind the historical simulation, the formula each calculator runs, the value every input starts on, and the things none of the tools model. It exists because a calculator that hides its assumptions is asking for trust it has not earned, and because the assumptions are usually where the interesting disagreements are.
Everything runs in your browser
Your figures never leave your device. There is no server that receives them, because there is no server-side code at all: the calculators are JavaScript that runs in your browser tab, and the pages are static files.
- No accounts, and nothing to sign up for. There is no login, no email capture and no user record, so there is nothing to leak.
- Saved plans stay in your browser. Saving a set of inputs writes them to your browser’s local storage, on your machine. Clearing site data deletes them, and they are not readable from anywhere else.
- Share links encode the plan in the part of the URL servers never see. The share button packs your inputs into the fragment after the
#. Browsers do not transmit that fragment in the request, so it never reaches this site. The link itself still carries your numbers, so whatever you send it through can read them: send it only where you would send the figures themselves. - The site does count page views. Standard third-party web analytics loads in production and records which pages get visited. Nothing you type is wired to it: no input, result or calculator action is sent as an event, and there is no FireMe server for any of it to reach. Pressing the share button writes your encoded plan into the address bar, and the address the site reports is pinned to the page alone: the part carrying your numbers is cut off before it is sent.
Where the data comes from
The historical simulation runs on six annual series derived from Robert J. Shiller’s long-run US dataset, the same data published alongside Irrational Exuberance (Princeton University Press) and maintained at shillerdata.com. The simulation replays them year by year, the retirement probability and die with zero calculators fit their return distributions to the same series, and the coast FIRE page backtests each plan against them. The rest take a return rate from you instead, and use no market data at all.
The monthly source is converted to a calendar year sampled January to January, so a year labelled 1929 covers January 1929 to January 1930. The last complete year in the shipped data is 2024.
| Series | Years | What it is | How it is built |
|---|---|---|---|
| US stocks | 1871–2024 | Nominal total return of the S&P 500, price change plus reinvested dividends. | Compounded from the monthly price and dividend columns of the Shiller dataset, with the annualised dividend paid out in twelfths and reinvested each month, then sampled January to January. |
| US inflation | 1871–2024 | Annual US consumer price inflation. | The Shiller CPI column, measured January to January. |
| US 10-year Treasuries | 1871–2024 | Nominal total return of a constant-maturity 10-year US Treasury. | Derived from the 10-year yield, not taken from a published index. Each year buys a par 10-year bond at January’s yield, collects one annual coupon, then revalues the now 9-year bond at the following January’s yield. It is an approximation, and it will not match any commercial 10-year total-return index exactly. |
| Cash | 1871–2024 | A proxy for holding short-term interest-bearing cash. | Not source data. The Shiller dataset carries no Treasury-bill series, so cash is modelled as that year’s inflation plus a flat 0.8% real premium, floored at zero. It is an assumption about how short rates have historically tracked inflation, not a record of what any savings product actually paid. |
| Gold | 1928–2024 (used from 1971) | Nominal gold return. | Reflated to nominal from an annual real-gold series, and it is the one series on this page whose original source is not documented. Treat it with more suspicion than the rest. Before 1971 gold traded at a fixed official price rather than a market price, so any plan holding gold is backtested only from 1971 onward. |
| CAPE (PE10) | 1881–2024 | Shiller’s cyclically adjusted price-to-earnings ratio. A valuation level, not a return, which is why it starts ten years after the price history does. | Taken from the Shiller dataset and sampled each January. Only the CAPE-based withdrawal strategy reads it, and it is never compounded as though it were a return. |
Cash and gold are the weakest rows. Cash is an assumption rather than a measurement: no Treasury-bill history ships, so cash is inflation plus a flat 0.8% real premium. The gold series is reflated from a real-return series whose original source is not documented, which is why its provenance is stated here as unknown rather than papered over. A cash-heavy or gold-heavy plan is resting on the two series with the least behind them.
Period life tables by country and sex ship alongside the market series, and the die with zero calculator names them as the reference for choosing its plan-to age, a horizon the reader picks rather than one the tool estimates.
| Series | Coverage | What it is | How it is built |
|---|---|---|---|
| Period life tables | 41 countries, by sex, 2010–2024 | The share of a population that died at each age under one span of years’ death rates. A statistic about a population, never a statement about an individual, and period rather than cohort: today’s rates held frozen, which understates how long people alive now will go on living. | Taken from the Human Mortality Database period life tables, last revised 15 Jun 2026, and shipped as death probabilities by single year of age. Each country’s table averages the span of years it names, so the windows differ between countries rather than sharing one start and end. No calculator reads them to set a horizon: they are the reference for choosing one. |
Real cohorts have kept outliving the period tables of their day, so a plan-to age read straight off these tables is on the short side, and the input stays editable upward.
HMD. Human Mortality Database. Max Planck Institute for Demographic Research (Germany), University of California, Berkeley (USA), and French Institute for Demographic Studies (France). Available at www.mortality.org. The tables are published at mortality.org under a Creative Commons Attribution 4.0 licence.
What each calculator actually computes
Each tool is a different trade between simplicity and realism, and each block below states the trade it makes. Most project forward from a return rate you choose. One replays actual market history, and the probability tools compute the full distribution of outcomes rather than a single path.
FIRE Plan
It projects one row per year from your current age to 70 and reports the age at which your withdrawable income first covers your inflated spending requirement. If your income already covers that requirement at your current age, or still does not by 70, the results say so and name the surplus or the shortfall. Open the FIRE Plan calculator.
Net income grows each year at your wage-growth rate. Spending and your monthly financial independence requirement both grow at your inflation rate. Whatever income is left after spending, rent or mortgage payments is added to the invested pot, which compounds at your investment return.
You can also add one-off lump sums, such as an inheritance or a house sale, landing at a chosen age before you reach FIRE. Each is added to the invested pot in the age it lands and compounds like the rest of your savings from then on, so a lump sum can only bring your FIRE age forward, never push it back.
If you own your home, the property grows at the housing-growth rate and the mortgage is amortised as a standard annuity, so equity builds as the loan is paid down. Realizable capital is the invested pot plus that equity. If you rent, rent grows with inflation and no housing capital accrues.
Each year the tool compares the monthly income that capital could support, meaning realizable capital times your withdrawal rate, reduced by the tax rate you set on withdrawals, against the inflated monthly requirement. The FIRE age is where those two lines cross, interpolated between the two years either side of the crossing.
The headline FIRE number is a closed form: twelve times your monthly requirement, divided by your withdrawal rate after the withdrawal tax.
The projection runs in future money, then divides every money figure it reports by inflation compounded to that year, so results read in today’s purchasing power and inflation is counted exactly once. The growth rates you enter are before inflation.
Starting values: Age 34, net income 4,000 a month, 100,000 invested, spending 1,800 a month, a 3,000 a month independence requirement, 4% withdrawal rate, 8% tax on withdrawals, 6% investment return, 3% wage growth, 2.5% inflation, and an owned home worth 400,000 against a 300,000 mortgage at 3% with 25 years left.
Tax: Two tax settings. A flat rate on FIRE-phase withdrawals, and an optional wealth tax with its own rate, threshold and property-valuation multiplier, switched off by default because most jurisdictions do not levy one.
Biggest thing it leaves out: Income tax during the accumulation years is not modelled at all. The income you enter is already net, so a change in your marginal rate is something you apply yourself before typing the number in.
FIRE Simulation
It replays your plan against real market history, once for every start year the data covers, and reports how many of those retirements survived. Open the FIRE Simulation calculator.
This is a rolling-window backtest, not a random simulation. For each start year with a full window of data, the plan is run through that year’s actual returns and the years that followed. Retiring in 1929 and retiring in 1982 are two of the runs, with the real sequences attached.
Within a year, the withdrawal comes out first, then the remaining balance earns the blended return of your target allocation. Applying the target-weighted return to the whole balance is the same as rebalancing once a year, which is what the engine assumes you do.
Everything is computed in nominal money and then deflated by the actual inflation of those same years, so results are shown in today’s purchasing power and inflation is counted exactly once. A 1966 retirement and a 1982 one are directly comparable as a result.
A start year is only used if every asset you hold, plus any series the chosen strategy needs, has data covering the entire window. A longer retirement is therefore tested against fewer historical windows, holding any gold shortens the tested history to 1971 onward, and a valuation-linked strategy needs the valuation series to reach back that far too.
The withdrawal strategies that ship run from the fixed inflation-adjusted amount that most studies benchmark against through to valuation-linked and guardrail rules that change spending as the portfolio moves.
Each one has a page of its own, covering how it sets a withdrawal and where it struggles:
- Constant Amount
- Percent of Portfolio
- 1/N
- Variable Percentage Withdrawal (VPW)
- Dynamic SWR
- Endowment Strategy
- Guyton-Klinger
- 95% Rule
- CAPE-based
- Sensible Withdrawals
- Hebeler Autopilot II
- Vanguard Dynamic Spending
Starting values: A 30-year retirement on a 1,000,000 portfolio held 80% stocks, 15% bonds and 5% cash, withdrawing 40,000 in the first year and raising it with inflation thereafter. That first withdrawal is 4% of the portfolio.
Tax: None. Withdrawals are gross, and no account type or holding period is modelled.
Biggest thing it leaves out: The history is US market history. The currency selector changes the symbol in front of the numbers and nothing else, because no exchange-rate series is applied. A high historical success rate says a plan survived every sequence that has happened, which is not the same as saying it will survive the next one.
Lifestyle Change
It is the drawdown loop with the things a career break actually involves bolted on: side income over a date range, one-off lump sums, and two separate tax rates. Open the Lifestyle Change calculator.
The yearly loop matches the drawdown calculator, with three additions. Side income applies between a start and end year you choose and can optionally be inflated over that span. Lump sums land in a single named year. Both are taxed at your income rate before they reach the balance.
Investment gains carry their own separate rate. Only the after-tax gain compounds, and the monthly passive income the tool reports is after-tax too, so the summary, the table and the chart all read the same numbers.
The loop inflates your expenses as it runs, then divides every reported figure back by the same factor, so the table and chart are in today’s purchasing power and inflation is counted exactly once. The return you enter is before inflation.
Starting values: 5% return, 2.5% inflation, 1,000,000 starting balance, 2,000 a month of spending, over 25 years, with 25% tax on earned income and 15% tax on investment gains.
Tax: The only calculator here that taxes investment gains. Earned income and lump sums use one rate; gains use another. Both are flat rates you set, not a bracket table, because brackets differ by country and go stale every year.
Biggest thing it leaves out: Flat rates mean no allowances, no thresholds and no capital-gains treatment that differs from income. Returns are still a fixed rate every year, as in the drawdown calculator.
Die with Zero
It solves the earliest quit age whose chance of going broke before a chosen plan-to age stays inside a chosen tolerance, using the same exact probability engine as the retirement probability calculator. Open the Die with Zero calculator.
Each candidate quit age defines a full cashflow schedule: a monthly saving amount lands until that age, a monthly spending amount is drawn after it, and any dated one-time amounts or income periods sit at their own years, unmoved by the solve. The engine propagates the exact distribution of the balance through that schedule and reads the cumulative chance it has hit zero by the plan-to age.
A later quit swaps a drawdown year for a saving year, so risk never rises with the quit age; the earliest age whose risk fits under the tolerance is therefore a well-defined boundary, and the calculator searches straight to it. The tolerance presets are plain odds (1 in 50 down to a coin flip), and every computed probability is shown as a whole percent. The plan-to age is the reader’s own input by default, and the period life tables this site ships are read only when the reader opts in.
That opt-in adds a second way to measure the same risk. Given a country and sex, the death distribution for someone of the reader’s age is multiplied through each candidate’s cached ruin curve, giving the chance of running out at some point while still alive: the sum over years of the chance of dying in that year times the chance of being broke by the end of that same year. Pairing them that way charges the year of death as a year the money still had to cover, which is what the model spent it on, and it never reads the risk lower than the alternative. It assumes the two are independent. Because every candidate is already propagated to the fixed horizon, this is a re-reading of curves already computed and costs no further engine runs. Deaths from age 105 onward, past the last year the horizon carries, are counted at the odds for 105, which understates the result slightly.
Each candidate also keeps a ladder of balance quantiles per year, from which the distribution of the balance at one age is rebuilt by differencing. That histogram is the one figure on the page reconstructed rather than read off directly: against a reference ladder forty times finer, every bar lands within about a fifth of a percentage point, and the roughest is always the bar nearest zero, where the distribution is steepest. Outcomes that have run out are reported as their own bar rather than as a small balance, and that bar carries the same ruin figure the rest of the page shows.
Starting values: 500,000 saved at age 40, 2,000 added per month while working, 3,000 spent per month after quitting, planning to age 90 at a 1 in 20 tolerance, 100% stocks, and the normal return fit.
Tax: None. Returns are index returns with no fees or taxes, so the model is optimistic by roughly your total cost drag, and the solved quit age is correspondingly early.
Biggest thing it leaves out: The quit age moves only the monthly saving; every dated entry stays put. Spending is fixed in real terms after quitting, the optional life-table weighting treats lifespan and market returns as independent when they are not quite, and the return distribution inherits every caveat of the probability engine it shares.
Simple FIRE
It divides a year of spending by your withdrawal rate to get a target, then compounds your net worth forward until it clears that target. Open the Simple FIRE calculator.
The target is twelve times your monthly spending divided by your withdrawal rate. At the default 4%, that is the familiar 25 times annual spending.
Net worth then rolls forward one year at a time, until it clears the target or reaches age 70: the balance grows by your expected return, and twelve months of the gap between income and spending is added. The FIRE age is the first year the balance exceeds the target, and the tool says which of the two things stopped it when no year in that span does.
Every figure is real, in today’s money. The return entered is a real return, above inflation, so no separate inflation rate appears anywhere in this calculator. Income and spending are held flat in real terms too, so a raise that only keeps pace with prices does nothing here.
Starting values: Age 30, income 5,000 a month, spending 3,000 a month, 100,000 net worth, 6% return, 4% withdrawal rate. Those inputs give a target of 900,000.
Tax: None. Monthly income goes in after tax and spending is what you actually spend, so no rate is applied anywhere in the calculation. The return you enter is likewise the return you keep, with nothing taken off gains or withdrawals.
Biggest thing it leaves out: The target is a fixed line in today’s money: spending is not inflated as the years pass, and neither is the target. That makes it a back-of-envelope figure rather than a plan, which is the trade the tool is making on purpose.
Retirement Probability
It computes the exact probability distribution of your future balance, year by year, and reports the share of outcomes in which the plan survives the horizon. Open the Retirement Probability calculator.
Each simulated year has two steps: the entire distribution of possible balances is multiplied by the year’s uncertain return (a convolution in logarithmic space), then the year’s real spending is subtracted, and any probability mass reaching zero moves into a permanent depletion state. After the final year, that state’s weight is the exact chance of failure. Nothing is sampled, so there is no run-to-run noise: the same inputs always produce the same number, unlike a Monte Carlo simulation of the same model.
The return distribution is estimated from the same Shiller-derived annual real returns the simulation replays, in the reader’s choice of two forms: a normal fit to them (the default) or the historical distribution with its fat left tail intact. A stock/bond mix is blended within each historical year first, so the assets’ real joint behaviour is preserved rather than assumed away. The measurements behind the model’s independence assumption are in the evidence section below.
Starting values: 1,000,000 invested, 40,000 a year of real spending, a 30-year horizon, 100% stocks, and the normal return fit.
Tax: None. Returns are index returns with no fees or taxes, so the model is optimistic by roughly your total cost drag.
Biggest thing it leaves out: Each year is an independent draw from a distribution fitted to one country’s unusually successful history, and real spending stays fixed no matter what markets do. Both are named on the page itself, next to the number they bend.
Sequence of Returns Risk
It separates the effect of the ORDER of returns from their average, using two different methods, because the probability engine alone cannot show an order effect at all. Open the Sequence of Returns Risk calculator.
The order demonstration involves no model. One real window of annual real returns is replayed twice from the same starting balance, once in the order it happened and once reversed, subtracting the same real spending each year and stopping at zero. With spending switched off the two endpoints are identical, because the ending balance is the starting amount times a product of returns and multiplication commutes. With spending on they separate, and that separation is the whole subject of the page.
The danger-zone curve is a conditional probability, computed exactly. For a chosen opening return, the first few years are walked deterministically, and the remaining years of the horizon are then propagated on the full return distribution, giving the chance of running out given that opening. The engine draws each year independently, so it averages over orderings and cannot generate a sequence effect by itself. Conditioning on the opening years is what makes position matter, and it is exact rather than approximate.
The headline figure alongside it conditions on the worst opening run in the record using that run’s actual year-by-year returns, in the order they occurred, rather than a flat run averaging the same amount. The two differ, which on a page about order is the reason to use the real one.
Starting values: 1,000,000 invested, 40,000 a year of real spending, a 30-year horizon, 100% stocks, normal distribution, conditioning on the first 3 years. The replayed window starts in 1969.
Tax: None. Returns are index returns with no fees or taxes, so the model is optimistic by roughly your total cost drag.
Biggest thing it leaves out: The curve conditions on the OPENING years only, so it says nothing about a poor stretch arriving later in a retirement, which would need a model that varies the return distribution year by year. The replayed window is a single stretch of one country’s history, and real spending stays fixed no matter what markets do.
Coast FIRE
It discounts the retirement target back over the years remaining, reporting the balance that grows into that target on its own with nothing further added. Open the Coast FIRE calculator.
The retirement target is annual spending divided by the withdrawal rate, the same definition the simple FIRE calculator uses. The coast number is that target divided by growth over the years to retirement, which is the same compounding run in reverse.
Every figure is real, in today’s money. The return entered is a real return, above inflation, so no separate inflation rate appears anywhere in this calculator. The requirement rises each year at exactly the return, because each year of waiting is one less year of compounding.
Contributions arrive monthly and compound at the geometric monthly rate, so twelve of them add up to exactly the annual figure entered rather than slightly more. The age you reach coast is found by stepping the balance forward year by year and taking the first year it covers that year’s requirement.
The barista setting adds the present value of the spending part-time income does not cover, because the portfolio funds that gap before retirement. It therefore reports a HIGHER number than plain coasting, not a lower one: the pot is being drawn on years before it has finished growing. Once past coast, the earliest age already funded is solved in closed form, accounting for that same drawdown.
The historical section is a different calculation with a different engine. It runs the same plan through the rolling-window backtest behind the FIRE simulation, expressing the coast years as years whose withdrawal is cancelled by an equal income so the portfolio compounds untouched. It uses real market returns and a fixed 80/20 stock and bond mix, so it ignores the expected return entered above. Windows overlap heavily and a sixty-year window cannot start recently, so the count and the last start year are both reported.
Starting values: 35 years old aiming at 65, with 150,000 invested, 40,000 of annual spending in retirement, a 4% withdrawal rate, a 5% real return and 500 a month still going in. The barista toggle starts off, with 20,000 of part-time income ready behind it.
Tax: None. Every account is treated as one untaxed pot, so money locked in a retirement account until a set age counts the same as money you can reach today. That distinction matters more here than in most of these tools, because the whole premise is a long wait.
Biggest thing it leaves out: A single smooth real return applied for decades with no further contributions, which is the assumption carrying almost all the weight and the reason the historical section exists. No state or workplace pension is counted either, so any later income would reduce what the portfolio has to cover.
Quit My Job
It steps a balance forward one month at a time from the day you quit and reports how many complete months it survives, alongside the month a return to work stops being affordable. Open the Quit My Job calculator.
Each month the balance earns one month of your expected return, that month’s spending comes out, and any side income goes in. Spending grows every month at the inflation rate you set. Side income climbs by a flat amount each month until it reaches a ceiling and then stays there, which is a straight line rather than a forecast.
Annual rates are converted to monthly by compounding rather than by dividing by twelve, so twelve months add up to exactly the annual figure entered. The projection stops after fifty years, and a plan still standing then is reported as outlasting the projection rather than as lasting forever.
Three figures are read off that one projection. The break-even month is the first month side income covers spending. The point of no return is the last month the closing balance still holds the reserve you set aside for a job search, fixed at the first month that reserve is breached so a balance that recovers later does not move it. In sabbatical mode the question is reversed and solved in closed form: the savings that would land on zero in the final month of a break of the length you asked for.
Spending is inflated month by month inside the loop and every reported balance is deflated by the same monthly factor, so the chart is in today’s purchasing power and inflation is counted exactly once. The return entered is before inflation.
Starting values: 45,000 of savings against 3,000 a month of spending, 2.5% inflation on that spending, a 3% return on what is left, and three months of spending held back as a reserve. Business mode starts a side income at zero and climbs it 100 a month to a ceiling of 2,000; sabbatical mode starts on a twelve-month break.
Tax: None. Savings are treated as spendable and side income as money you keep, so the figures you enter should already be net of whatever you would owe.
Biggest thing it leaves out: Side income is a straight line to a ceiling, and real freelance or product income arrives in bursts. A quiet stretch landing while the balance is low can end a plan that the same average carried comfortably, and a straight line cannot show that.
Savings Rate
It solves for the number of years at which a stream of annual savings, compounded at your expected return, first equals the retirement target your spending implies. Open the Savings Rate calculator.
The savings rate is derived rather than entered: take-home pay minus spending, over take-home pay. That keeps the rate on screen consistent with the two figures it came from, and the slider writes spending rather than storing a rate of its own.
The arithmetic is done in units of one year’s take-home pay rather than in currency. With nothing invested at the start, income cancels out entirely, which is why two people on very different salaries who save the same share reach independence in the same number of years. Money already invested enters as a multiple of take-home pay and is the only input that breaks that independence.
Contributions arrive at the end of each year and compound annually, so the balance after n years is the standard ordinary-annuity future value. Setting that equal to the target and solving for n gives the answer in closed form, as a fractional number of years, rather than by stepping a loop until it crosses.
The year-by-year projection behind the chart is a separate forward loop rather than a rendering of that formula, so the two are independent calculations of the same quantity. The reference table on the page, and the rates it lists for each horizon, are generated by the same function the calculator runs, so neither can drift from the tool.
A rate of zero with nothing invested, or spending above take-home pay that outruns the growth, reports no timeline rather than a very large number. The projection itself stops at 80 years for display, which never changes the figure reported.
Starting values: 60,000 take-home pay, 36,000 spending, nothing invested, 5% real return, 4% withdrawal rate. That is a 40% savings rate against a target of 900,000, and it carries no starting balance on purpose so the default scenario is exactly one row of the reference table.
Tax: None. The inputs are net rather than gross: take-home pay and spending both go in after tax, so the rate is measured on money that has already been taxed, and no rate is applied anywhere in the calculation. A savings rate quoted on gross income elsewhere will look lower than the same plan does here.
Biggest thing it leaves out: Income and the savings rate are held flat in real terms for the whole period. Careers rarely work that way, and a rising income only raises the rate if spending stays put, which is the assumption that usually breaks first.
Simple Bag O'Money
It runs a drawdown year by year and shows the balance falling, so you can see how long a pot lasts against rising costs. Open the Simple Bag O'Money calculator.
Each year the balance earns your expected return, then a full year of spending is taken out. Inside the projection spending is inflated by compounding your inflation rate from year zero, so the withdrawal grows every year while the return rate stays fixed.
The balance is floored at zero rather than going negative, so the chart shows the pot running out rather than an implied debt. The projection runs for as many years as you ask for.
Spending is inflated year by year inside the projection and every reported figure is then divided by that same factor, so the balance and spending columns are in today’s purchasing power and inflation is counted exactly once. The return you enter is before inflation.
Starting values: 5% return, 2.5% inflation, 1,000,000 starting balance, 2,000 a month of spending, over 40 years.
Tax: None. Returns compound gross and withdrawals are untaxed.
Biggest thing it leaves out: Returns are a flat rate every single year. A real portfolio delivering the same average through a bad first decade would run out sooner, which is the gap the simulation exists to close.
What FireMe deliberately does not model
Quite a lot, and on purpose. Every extra input is another number a reader has to guess, and a guessed input dressed up as precision is worse than an honest omission.
- Tax brackets and allowances. The two calculators where tax bites do model it: the lifestyle-change tool taxes earned income and investment gains at separate rates, and the FIRE plan taxes withdrawals, with an optional wealth tax on top. What none of them inline is a bracket table, an allowance or a personal threshold. Those change every year and differ by country, so you enter a flat rate that fits your own situation rather than trust a number that is stale by the time you read it. The simpler tools apply no rate at all, so net the inputs down yourself before entering them.
- Account types, fees and platform costs. There is no concept of a tax-sheltered account, a pension wrapper, or a contribution limit, and no fund or platform fee is subtracted. A 6% return entered here is a 6% return after whatever costs you already netted off.
- Pensions, benefits and one-off life events. These are not built in as named concepts, but two calculators cover most of them directly. The FIRE plan takes a pre-FIRE one-off lump sum, such as an inheritance or a house sale, landing at a chosen age before you retire, and the lifestyle-change calculator goes further: its dated income ranges model a pension or a benefit that starts at a given age, including one that starts after retirement, and its own one-off lump sums work the same way at any point in the projection. Neither tool models a pension bridging a gap before a pension starts, which needs a forward-looking sustainability check rather than a dated input.
- Monte Carlo simulation. The simulation deliberately does not draw random returns from a fitted distribution. That choice is explained below. The retirement-probability calculator does model return uncertainty rather than replaying history, but it computes the distribution of outcomes exactly instead of sampling paths from it, so it is not a Monte Carlo either.
Why historical backtests instead of Monte Carlo
Because replaying history keeps the parts that move together, together. The stock return, the bond return and the inflation of 1974 all actually happened at once, and a backtest carries that joint behaviour for free where a sampling model has to get it right by construction. Inflation in particular runs in streaks (its year-to-year persistence measures strongly in this data; the evidence section below has the numbers), and a bad real decade is usually a stretch of high inflation eating otherwise ordinary returns.
Replaying history also keeps every result checkable: a run is labelled with the year it started, so any claim made here can be traced back to a specific stretch of market history rather than to a random seed. What replaying does NOT establish is that annual stock returns themselves remember the previous year; measured directly, they do not (the correlation between consecutive annual real returns is indistinguishable from zero, also below). The honest case for the backtest is joint behaviour and checkability, not market memory.
The cost is the sample. The data covers 154 years, so a 30-year retirement has exactly 125 distinct start years to be tested against, and neighbouring windows share all but one year of their data with each other. That is a small, heavily overlapping sample, and it is entirely US. A high success rate means the plan survived every sequence that has happened so far. It does not mean the next sequence has to resemble one of them.
The probability engine: the evidence behind the model
The retirement-probability calculator (described with the other calculators above) rests on one load-bearing statistical assumption: that each year's real return is an independent draw from a fixed distribution. That page explains how the computation works; this section holds the measurements a skeptical reader would want to check, all taken on the 154 annual real returns (1871–2024) described in the data section above.
Serial correlation, the well-powered test. Whether this year's return predicts next year's is measured on every consecutive pair, so each estimate below rests on roughly 150 observations. At lag 1 the correlation is 0.0092 over 153 pairs, essentially exactly zero. The joint test across the first five lags (Ljung-Box Q(5) = 10.75, p = 0.057) does not reject independence.
| Lag (years) | Correlation | p-value | Pairs |
|---|---|---|---|
| 1 | +0.0092 | 0.910 | 153 |
| 2 | -0.1950 | 0.016 | 152 |
| 3 | +0.0999 | 0.222 | 151 |
| 4 | -0.0544 | 0.508 | 150 |
| 5 | -0.1284 | 0.119 | 149 |
The shuffle test. Randomly reordering the 154 observed years keeps the distribution exactly and destroys only the sequence, so shuffled histories are precisely the independence hypothesis with the real returns. Across 20,000 shuffles, the actual historical ordering's 1.6% rolling-cohort failure rate at the 4% rule is unremarkable: 21% of shuffles did as well or better (p = 0.207). History's good result does not require market memory to explain; sampling luck is sufficient.
The one number pointing the other way, and why it is quoted with a warning. A 30-year variance ratio of 0.242 (p = 0.032) hints that long horizons might vary less than independence implies. But every 30-year statistic in this dataset rests on about five non-overlapping windows, it is one of 30 horizons tested with no multiple-comparison correction, and the literature that first reported long-horizon mean reversion (Fama and French, 1988; Poterba and Summers, 1988) was later shown to be statistically fragile for exactly this small-sample reason. The short-lag tests above answer the same question with roughly thirty times the effective sample, which is why they are the ones the model leans on.
Where independence genuinely bends: inflation, and through it, bonds. Real bond returns show lag-1 autocorrelation of +0.165, while nominal bond returns are clean (+0.023). The difference is the deflator: inflation itself is strongly persistent (lag-1 +0.332, Ljung-Box p ≈ 0), and deflating a small, smooth return by a persistent series injects that persistence. Equity returns are volatile enough to swamp the effect (stocks measure +0.009), and a 60/40 mix measures clean (+0.022, Ljung-Box p = 0.421) because stock variance washes the signal out. Positive autocorrelation means true long-run variation is WIDER than independent draws imply, so for bond-heavy mixes the calculator's bands are likely somewhat too narrow (an AR(1) approximation at the measured persistence puts the long-run variance ratio near 1.4). The calculator states this on its own page rather than hiding it here.
How normal the returns are, and are not. The Q-Q plot below compares the observed annual returns against what a normal fit predicts; points on the dashed line mean agreement. The middle of the distribution tracks the line well (Kolmogorov-Smirnov p = 0.34, which tests the bulk), while the moment-sensitive tests reject normality (Shapiro-Wilk p = 0.0027, Jarque-Bera p = 0.0019): the observed skewness is -0.65 and the excess kurtosis +0.53, against zero for a normal distribution. In plain terms, ordinary years look normal and catastrophic years happen more often than the bell curve says. The two probability calculators start from the normal fit, which is estimated from every year in the record rather than from the handful that sit in the tail, and offer the historical shape as the alternative to test a plan against. The part of the distribution the two fits disagree about is the part the record has fewest observations of.
Both figures on this site that show these returns (the histogram on the calculator page and the Q-Q plot above) are generated at build time from the same committed data file the engines read, so they cannot drift from the numbers.
Who builds this, and how to report an error
I'm Travel-Lars, a Norwegian who left a corporate job for long-term travel and built these tools while working out my own numbers. The lifestyle-change calculator is the one I reach for most, flexible enough to run all sorts of scenarios through. More about me.
Nobody here is a financial adviser, and none of these tools give advice. They report what a set of assumptions implies. Choosing the assumptions, and deciding what to do about the result, stays with you. The disclaimer page states that in full, alongside what happens to the figures you type in.
If you find a formula that is wrong, a default that cannot be justified, or a claim on this page that does not match what a calculator does, please say so: [email protected]. Corrections to the math are the most useful mail this site gets.