How to use the Monte Carlo simulator
- Starting balance and yearly withdrawal. Enter the withdrawal in today’s dollars; it is taken at the start of each year and raised with inflation.
- Inflation and years in retirement. Thirty years suits someone retiring in their mid-60s; plan longer for an early retirement.
- Portfolio. The share in stocks (the rest is in bonds), the expected return and volatility of each, and the correlation between them. The portfolio is rebalanced to the same mix every year. The defaults are example assumptions, not forecasts.
- Simulations and seed. 1,000 simulations is the default and 5,000 the maximum. The seed makes the run reproducible: the same inputs and seed always give the same result.
- Return distribution. Normal, or fat tails for more frequent extreme years.
The results show the probability of success, the median and 10th and 90th percentile ending balances in today’s dollars, and the earliest year any path ran out. The chart shows how the range of balances spreads over time. Below it, one table shows success at withdrawal rates from 3% to 6%, and another shows when the failed paths ran out.
How the simulation works
Each simulated year draws two standard normal numbers, z1 and z2, and turns them into correlated stock and bond returns:
Rbond = μb + σb × (ρ z1 + √(1 − ρ²) z2)
Rportfolio = w × Rstock + (1 − w) × Rbondμ and σ are the expected return and volatility of each asset, ρ the correlation and w the stock share. Returns below −100% are capped at −100%.
The balance then moves exactly as in a simple withdrawal plan:
Probability of success = paths that last every year ÷ all pathsW is the first-year withdrawal and π inflation. A path fails in the first year its balance cannot cover the withdrawal. Ending balances are divided by (1 + π)N to show them in today's dollars.
The random numbers come from a seeded generator (mulberry32) converted to normal values with the Box–Muller method. With fat tails, both shocks are multiplied by √(3 ÷ χ²), where χ² is a chi-square draw with 5 degrees of freedom: this turns them into Student-t values with unchanged volatility.
A worked example
You retire with $1,000,000 and plan to withdraw $40,000 a year, an initial rate of 4.00%, rising with 2.5% inflation for 30 years. The portfolio holds 60% stocks; the example assumptions give it an expected return of 5.8% and volatility of 10.1% before inflation.
Across 1,000 simulated retirements, 73.6% last the full 30 years. The median path ends with $357,694 in today’s dollars, the 90th percentile with $1,604,555. At the 10th percentile the money has already run out: 264 paths failed, the earliest in year 15, and half of the failures happened by about year 26.
For comparison, if every year earned exactly the expected return, the plan would always succeed and end with $551,696. The gap between that single number and the spread above is what volatility costs a retiree who is withdrawing.
What changes the probability most
| Change from the example | Probability of success | Median ending balance |
|---|---|---|
| The example | 73.6% | $357,694 |
| Withdraw $35,000 a year | 85.9% | $601,389 |
| Withdraw $45,000 a year | 57.7% | $126,180 |
| 40% stocks | 73.8% | $255,860 |
| 80% stocks | 71.8% | $451,691 |
| 40 years instead of 30 | 50.2% | $3,888 |
| Fat-tailed returns | 71.6% | $352,307 |
The withdrawal is the strongest lever by far, which is why the success table under the calculator is worth reading: on the example assumptions, success falls from 93% at a 3% rate to 45% at 5% and 18% at 6%. More stocks raise the expected return and widen the range: the median rises, and so does the spread between good and bad outcomes. Here the two effects roughly cancel, so the probability of success barely moves between 40% and 80% stocks while the typical ending balance changes a lot. A longer retirement gives bad sequences more time to do damage.
How to read the results
The probability is an estimate under your assumptions, not a fact about the future. Change the expected returns by a point and the answer moves by much more than the sampling noise. Treat the assumptions as the main input and the simulation as a way to see their consequences.
Look at the spread, not just the headline. The percentile chart shows that even plans with a high success rate include paths that end near zero and paths that end far above the starting balance. The 10th percentile line is a reasonable picture of a bad but not extreme outcome.
Failure is not all-or-nothing. A path that runs out in year 29 of 30 counts as a failure just like one that runs out in year 12. The table of depletion timing shows how late most failures happen; in practice, a retiree who sees the balance falling would cut spending long before the money ran out.
Sampling noise is small but real. With 1,000 paths, the estimate can move by a few points from one seed to another: seeds 1 and 2 give 70.6% and 73.4% against 73.6% for the default. With 5,000 simulations the example gives 74.5%, and the spread between seeds narrows.
Where the model is simplified
- Returns are independent from year to year. Real markets show some momentum and mean reversion, and long stretches of poor real returns, such as high-inflation periods, can be more persistent than a random draw suggests.
- Inflation is constant. In reality inflation varies and tends to hurt bonds and stocks at the same time; a fixed rate understates that risk.
- Spending never adapts. The withdrawal rises with inflation whatever happens. Flexible spending rules improve the odds considerably; the retirement withdrawal calculator shows how the order of returns drives outcomes.
- No taxes, fees or other income unless you build them into the inputs. Subtract Social Security and pensions from your spending first, as the retirement income calculator does.
- The normal distribution understates extremes. The fat-tails option helps, but no simple distribution captures every crisis.