Methodology
FIRE Lab uses Monte Carlo simulation with Block Bootstrap resampling of historical market data. This page explains the core methods, data sources, and assumptions behind the simulator.
Block Bootstrap Resampling
Instead of assuming returns follow a specific distribution (e.g. normal), we draw directly from historical data. The Block Bootstrap preserves the autocorrelation and cross-asset correlations observed in real markets by sampling contiguous blocks of historical returns.
For each simulation path, the algorithm repeatedly draws a random block size (from a configurable range), picks a random starting year from the historical dataset, and copies that many consecutive years of returns. Indices wrap around circularly to avoid boundary bias. This process repeats until the full retirement horizon is filled.
In pooled multi-country mode, each block also randomly selects a country with equal probability (1/N), mixing return regimes across 16 developed economies within a single path.
Monte Carlo Simulation
The simulator runs thousands of independent retirement paths (default varies by server capacity). Each path represents one possible sequence of market returns over your retirement horizon.
For each year of each path: (1) portfolio grows by the sampled real return, (2) annual withdrawal is deducted, (3) custom cash flows (expenses, then income) are applied, (4) if the portfolio reaches zero, the path is marked as depleted. Results are aggregated into percentile bands (P5 through P95) to show the range of possible outcomes.
Success Rate
The percentage of simulation paths where the portfolio survives the entire retirement period. A path that depletes in the final year is counted as successful (it funded the full horizon). This metric answers: "What is the probability my money lasts?"
Funded Ratio
The average fraction of the retirement horizon that is funded across all paths. A path depleting at year 15 of a 30-year retirement contributes 0.5. Unlike success rate, funded ratio captures partial outcomes — a plan with 80% success rate but early depletion in failed paths scores lower than one where failures occur late.
Mortality Overlay & Lifetime Failure Metric
The Rich / Broke / Dead chart and the "chance of going broke while alive" metric weight the simulated solvency curve by survival probabilities. The mortality model is a Gompertz law fitted to the SSA 2021 period life table (modal age 85.0 / dispersion 10.4 for men, 88.8 / 9.7 for women; accurate to ~1pp over ages 65–100), with a cohort adjustment that scales the hazard down by 0.7% per future calendar year — the SSA Trustees' intermediate long-run mortality-improvement assumption. This shifts blended life expectancy at 45 from ~81.8 to ~84.2 and the chance of reaching 100 from ~3% to ~8%, making the lifetime failure metric appropriately more conservative.
The metric itself uses the identity that depletion and death are both absorbing states: the probability of ever being alive-and-broke equals the survival probability at the moment of first depletion, summed over the depletion-time distribution implied by the per-year solvency curve. It is only shown when the simulation horizon reaches age 100, because a shorter horizon truncates late depletions and understates the metric (measured: ≤0.15pp bias at age 100, but up to ~2pp at 90 and ~4pp at 85).
Caveats: the table is US population data — early retirees tend to be healthier and wealthier than average, so true survival (and hence the failure metric) is likely somewhat higher; the couple mode assumes a same-age male/female pair with independent mortality. Treat the metric as a lifetime-expectation complement to the fixed-horizon success rate, not a replacement.
Guardrail Withdrawal Strategy
FIRE Lab implements risk-based guardrails (as described by Kitces and Hatchet), which dynamically adjust withdrawals based on the current probability of portfolio survival. Unlike withdrawal-rate guardrails such as Guyton-Klinger, risk-based guardrails use Monte Carlo probability-of-success as the trigger, making them more robust to changing income needs and the retirement distribution hatchet.
Before simulation, a lookup table maps (withdrawal rate, remaining years) to survival probability. During simulation, the current success rate is checked each year. If it drops below the lower guardrail, spending is cut. If it rises above the upper guardrail, spending is increased. Between the bounds, no change is made.
This approach allows real-time spending adjustments that respond to market conditions while maintaining a target success probability throughout retirement.
Data Sources
Jordà-Schularick-Taylor (JST) Macrohistory Database — stock returns, bond returns, and inflation for 16 developed countries from 1871 to 2020. Years 2021-2025 are extended using IMF World Economic Outlook, OECD Main Economic Indicators, and Yahoo Finance data.
Bogleheads community Simba's Backtesting Spreadsheet — long-term US market data including S&P 500 (and predecessors), MSCI EAFE (post-1970), and 10-Year US Treasury returns.
All returns used in simulation are real (inflation-adjusted). The simulator supports both single-country analysis and pooled multi-country sampling.
The cash asset class uses each country's historical short-term money-market rate (JST bill rate, the same series that anchors leverage borrowing costs) minus a configurable cash fee. Cash is sampled per path like every other asset, so it reflects real historical cash regimes — including deeply negative real returns in inflationary decades — rather than a constant assumed yield.
Covered Countries
Australia, Belgium, Denmark, Finland, France, Germany, Italy, Japan, Netherlands, Norway, Portugal, Spain, Sweden, Switzerland, United Kingdom, and United States.
Limitations
Historical data is not a guarantee of future performance. The Block Bootstrap preserves historical return distributions but cannot predict structural changes in markets.
The simulator assumes a constant asset allocation (or a predetermined glide path) and does not model behavioral responses to market conditions beyond the guardrail rules.
Tax effects, currency risk for international investors, and transaction costs beyond expense ratios are not modeled. Results should be used for planning purposes, not as financial advice.