Historical FIRE Backtest Calculator
This page asks a hard but useful question: if the same retirement plan had started in very different market environments, how often would it actually have held up?
How To Read This
This model holds 100% US large-cap stocks with dividends included. Each calendar year begins with a withdrawal, then applies the inflation-adjusted stock return. The data cover 1928β2025. Amounts are in starting-year purchasing power. Changing the currency label does not substitute local returns or exchange-rate history.
Backtest Windows
| Start year | End year | Outcome | Failure year | Ending value |
|---|
Historical Backtest FAQ
What does this historical FIRE backtest show?
It shows how the same withdrawal plan would have behaved if retirement had started in many different historical US stock windows. That exposes whether the plan only works in kind markets or still survives tougher start dates.
Is this the same as a Monte Carlo simulation?
No. This page replays rolling historical real return windows, while the Monte Carlo FIRE Simulator generates many random future paths from your assumptions.
What should I compare this with?
If you want to isolate early bad years versus late bad years, use the Sequence Risk Calculator. If you want a rough spending-based target first, start with the 4% Rule Calculator.
This is not financial advice. Historical backtests can reveal how little margin a plan really had, but they still cannot guarantee future outcomes.
Explore More
Data you can inspect
Source: Aswath Damodaran, NYU Stern, βNominal vs Real Dataβ sheet. The 98 annual observations cover 1928β2025, including dividends and the sourceβs US inflation series. Before 1957, the source uses predecessor indices.
Download the returns (CSV) Β· Source details Β· Backtest method
At a 30-year horizon there are 69 complete, overlapping windows. No window extends beyond 2025. Annual withdrawals occur before returns; taxes and fees are excluded. Survival means every withdrawal was funded, including when the final balance is exactly zero.