BedrockCalculator
Verified Primary-Source MathematicsVerified by Aapt Dubey, MBA (Marketing & Finance) Last verified August 30, 2026

Monte Carlo Retirement Calculator

Quick Answer: On the default inputs -- a $1,000,000 portfolio, a $40,000 first-year withdrawal inflating at 2.5% a year, a 30-year horizon, 7% mean return and 15% volatility -- 74.66% of the 5,000 simulated paths survive the full thirty years. 1,267 paths ran out of money, the earliest in year 11. The median ending balance is $1,475,566.49, but the 10th percentile ending balance is $0.

Assumptions

Loading
$
$
%
%
%

Preset scenarios

Success Rate
74.66%

Every period in the schedule below reconciles to the exact penny.

Failure Rate
25.34%
Median Ending Balance
$1,475,566.49
10th Percentile Ending Balance
$0.00
90th Percentile Ending Balance
$8,270,520.10
Initial Withdrawal Rate
4.00%
Withdrawal At A 4% Rate
$40,000.00
Success Gain From A 10% Spending Cut
6.56%
Earliest Year Any Path Failed
11
Paths That Failed
1,267
Simulations Run
5,000
Random Seed
2,026

Portfolio Percentile Trajectories

Remaining balanceCumulative principalCumulative interest
31 periods, peak $1,500,643

Portfolio Balance Percentiles By Year

Showing 31 rows.

YearMedian Balance10th Percentile90th Percentile
0$1000000.00$1000000.00$1000000.00
1$1022716.00$829942.00$1240225.00
2$1041651.00$774456.00$1383675.00
3$1061301.00$738176.00$1534485.00
4$1080035.00$700189.00$1650321.00
5$1115365.00$679428.00$1773814.00
6$1136261.00$648639.00$1922918.00
7$1158025.00$614183.00$2075608.00
8$1182110.00$581054.00$2214956.00
9$1191746.00$554370.00$2347657.00
10$1209892.00$516378.00$2499677.00
11$1231235.00$490284.00$2685955.00
12$1245257.00$454104.00$2850238.00
13$1265134.00$408334.00$3083795.00
14$1283205.00$368592.00$3188761.00
Page 1 of 3
Quick Answer: On the default inputs -- a $1,000,000 portfolio, a $40,000 first-year withdrawal inflating at 2.5% a year, a 30-year horizon, 7% mean return and 15% volatility -- 74.66% of the 5,000 simulated paths survive the full thirty years. 1,267 paths ran out of money, the earliest in year 11. The median ending balance is $1,475,566.49, but the 10th percentile ending balance is $0.

Overview

A Monte Carlo retirement projection answers a question a single average-return spreadsheet cannot: not "what happens if returns average 7%", but "across thousands of possible return sequences averaging 7%, how often does the money last?" Those are different questions, and the gap between them is sequence-of-returns risk. A retiree drawing an inflating income is selling assets every year, so a bad decade at the start does damage that a good decade later cannot undo, even when the long-run average is identical.

This simulation is deterministic by design, and that is a deliberate choice worth understanding. The random number generator is seeded explicitly at 2026 and 5,000 paths are run, both pinned in the calculator's configuration and asserted by its test vectors. The seed is not drawn from the clock. The consequence is that identical inputs always produce an identical success rate, to the digit: refreshing this page will never change your answer, and neither will running it tomorrow. A Monte Carlo tool whose headline number wobbles between page loads cannot be checked, cannot be cited, and cannot be trusted by a reader who reloads it.

What is not authoritative is the capital-market assumptions. The 7% mean return, 15% volatility and 2.5% withdrawal inflation are stated assumptions, not published figures, and every one of them is yours to change. The historical bootstrap engines resample a 30-year annual return series carried in the engine; that series is historical data, not a forecast either.

How This Is Calculated

Each path steps forward one year at a time. The return is applied first, then the withdrawal is taken at the end of the year, then the withdrawal is inflated for the next year:

Bt=Bt1×(1+rt)Wt,Wt+1=Wt×(1+i)B_{t} = B_{t-1} \times (1 + r_{t}) - W_{t}, \qquad W_{t+1} = W_{t} \times (1 + i)

Under the lognormal engine each year's return is drawn from a seeded standard normal by Box-Muller and transformed:

rt=e(μσ22)+σzt1r_{t} = e^{\left(\mu - \frac{\sigma^{2}}{2}\right) + \sigma z_{t}} - 1

Step 1 -- Compute the drift term once, since the median of a lognormal sits below its mean. 0.07 - (0.5 x 0.15 x 0.15) = 0.07 - 0.01125 = 0.05875

Step 2 -- Start each path at the portfolio value. $1,000,000, with a first-year withdrawal of $40,000

Step 3 -- Draw one year's return, apply it, then take the withdrawal. For a path drawing a median return in year one, the return is e^0.05875 - 1 = 6.05%. $1,000,000 x 1.0605 - $40,000 = $1,020,500

Step 4 -- Inflate the withdrawal for the following year. $40,000 x 1.025 = $41,000

Step 5 -- Mark a path failed the moment the balance reaches zero or below. A failed path is held at zero for every remaining year and is never resurrected by a later good return.

Step 6 -- Repeat for 30 years, then repeat the whole path 5,000 times from the same seeded stream.

Step 7 -- Count the survivors and divide. This is the headline. (5,000 - 1,267) / 5,000 = 3,733 / 5,000 = 74.66%

Step 8 -- The complement is the failure rate. 100% - 74.66% = 25.34%

Step 9 -- Sort the 5,000 ending balances and read off the percentiles. 10th percentile: $0 50th percentile: $1,475,566.49 90th percentile: $8,270,520.10

Step 10 -- Note when failures start. The earliest year in which any path exhausted the portfolio was year 11.

Step 11 -- Compute the initial withdrawal rate. $40,000 / $1,000,000 = 4%

Step 12 -- Re-run the entire simulation with the withdrawal cut 10%, against the identical market paths. $40,000 x 0.9 = $36,000 a year, giving a success rate of 81.22%

Step 13 -- Difference the two success rates. 81.22% - 74.66% = 6.56 percentage points bought by a 10% spending cut

That last step is the most useful number on the page, because it holds the market draws fixed and isolates the one lever you actually control.

Worked Example

A retiree with exactly $1,000,000 wants to spend $40,000 in her first year, rising with 2.5% inflation, for thirty years. She assumes a 7% mean nominal return and 15% volatility, which is roughly a global equity portfolio.

Step 1 -- Her withdrawal rate. $40,000 / $1,000,000 = 4%, the canonical rule-of-thumb figure.

Step 2 -- Her success rate. 74.66%. Roughly one path in four fails.

Step 3 -- How many failed and when. 1,267 of 5,000 paths ran out, the earliest in year 11, which is early enough to matter to a 65-year-old.

Step 4 -- What the middle outcome looks like. A median ending balance of $1,475,566.49, or nearly half as much again as she started with.

Step 5 -- What the downside looks like. A 10th percentile ending balance of $0. The distribution is heavily right-skewed, so the median tells you almost nothing about the risk. The 90th percentile of $8,270,520.10 is a reminder that the average outcome is dragged upward by paths she cannot count on.

Step 6 -- What spending less buys her. Cutting the withdrawal to $36,000 against the identical market paths raises success to 81.22%, a gain of 6.56 percentage points. A 10% spending cut usually does more work than any plausible change in asset allocation, and unlike returns it is entirely within her control.

Step 7 -- What the number does not say. A 74.66% success rate is not a 74.66% chance of running out being fine. It is a count of paths that survived a rigid, inflation-adjusted withdrawal with no adjustment ever made, no matter how badly the portfolio performed. Real retirees adjust.

What This Does Not Account For

  • Spending flexibility of any kind. Withdrawals inflate every year regardless of portfolio performance. There are no guardrails, no spending cuts in bad years, and no discretionary versus essential split. Real retirees cut back, and doing so raises success substantially, as step 13 shows.
  • Taxes. Withdrawals are gross. No account is made for the tax character of the assets, required minimum distributions, or the difference between a taxable account, a traditional IRA and a Roth.
  • Social Security, pensions and annuities. Any guaranteed income floor would reduce the portfolio withdrawal and change the answer substantially.
  • Fees. The return you enter is treated as net. Fund expenses and advisory fees are not deducted separately.
  • Changing asset allocation over time. A single mean and volatility apply for the whole horizon. Glide paths are not modelled.
  • Fat tails and correlation. The lognormal engine draws each year independently, which never produces the multi-year crash runs that history contains. That is exactly why the block bootstrap engine exists: it resamples consecutive historical years and preserves those runs.
  • Longevity uncertainty. The horizon is a fixed number of years you choose, not a mortality distribution.

Common Pitfalls

  • Reading the success rate as a probability of a good retirement. It is the share of rigid, never-adjusted paths that survived. Treat it as a stress-test score, not a forecast.
  • Planning against the median. The median ending balance is $1,475,566.49 and the 10th percentile is $0. The distribution is so skewed that the median is a poor guide to anything. Plan against the 10th percentile.
  • Reading a large 90th percentile as success. Very large surpluses usually mean you underspent for thirty years, not that the plan was well designed.
  • Assuming more simulations means more accuracy. Beyond a few thousand paths the sampling noise is small compared with the error in the return and volatility assumptions themselves. Changing the mean return by half a point moves the answer far more than changing the path count.
  • Trusting the lognormal engine on crash risk. Independent annual draws systematically understate multi-year drawdowns. Run the block bootstrap engine as a cross-check.
  • Being surprised that the number never changes. That is the design. The seed is pinned at 2026 so the result is reproducible; the stability is a feature, not a sign that the simulation is not running.

Frequently Asked Questions

What is a good Monte Carlo success rate for retirement?
There is no statutory or agreed answer, and the number is only as good as the assumptions behind it. What is more useful than a target is a comparison: this calculator shows what a 10% spending cut buys against the identical market paths, which at the defaults is 6.56 percentage points. Levers you control are worth more than a threshold you pick.
Why does the answer never change when I reload the page?
Because the random number generator is seeded at a fixed value of 2026 and 5,000 paths are always run. Both are pinned in the calculator's configuration and asserted by its test vectors. Identical inputs give an identical answer every time, which is what makes the result checkable.
Does the 4% rule work?
On these assumptions, a 4% initial withdrawal inflating with prices survives 74.66% of thirty-year paths, with the earliest failure in year 11. That is a considerably less comfortable figure than the rule's reputation suggests, mostly because this model never allows any spending adjustment in a bad year.
What is the difference between the three return engines?
The lognormal engine draws each year independently from a normal distribution defined by your mean and volatility. The historical bootstrap resamples individual years from a 30-year historical return series. The block bootstrap resamples consecutive runs of years from that series, which preserves the serial correlation of real markets -- the multi-year recessions that independent draws never generate.
Where do the 7% return and 15% volatility come from?
They are stated assumptions, not published or statutory figures, and both are user-editable. Roughly 15% volatility is typical of a global equity portfolio and 9 to 10% of a 60/40 blend. Change them and re-run; the sensitivity of the answer to these two inputs is far larger than most people expect.
Why is the 10th percentile ending balance zero?
Because more than 10% of paths failed. When over a quarter of the simulations end at zero, the 10th percentile of ending balances is zero by construction. That is the number a plan should actually be built against, not the median.

Sources

  • No statutory or published data source underlies this page. The mean return, volatility, withdrawal inflation, portfolio value, withdrawal amount and horizon are all user-supplied assumptions with no authority behind their defaults.
  • The simulation engine is documented in engine/primitives/montecarlo.ts: a Mulberry32 seeded pseudo-random generator, standard normals by Box-Muller, geometric Brownian motion with drift mu minus one half sigma squared, returns applied before an end-of-year withdrawal, and failed paths held at zero. The seed of 2026 and the 5,000-path count are pinned in the calculator's own configuration.
  • The historical bootstrap engines resample a 30-year annual return series carried in the same primitive.

Add This Website as Preferred Source on Google

See Bedrock Calculator first in your Search results & AI Overviews

Related calculators in this suite

Complementary financial planning tools