Monte Carlo Retirement Simulator — 10,000-Path Calculator

Run 10,000 simulated market paths against your retirement plan. Returns your success probability, plus P10/P50/P90 final balance outcomes. Models sequence-of-returns risk, RMDs, and trad-vs-Roth tax drag honestly.

The 4% rule comes from one Monte Carlo run on US market data 1926–1995. It worked. That doesn't mean it'll work for YOUR portfolio, YOUR allocation, or the NEXT 30 years. A real Monte Carlo simulation runs 10,000 random market paths drawn from a return distribution and tells you how many of those paths leave you with money at the end.

This simulator is the real thing: 10,000 paths, with mean return + volatility you set explicitly. It models:

Output is a success probability (e.g. "78% of 10,000 paths supported the modeled spending"), plus the P10 (10th percentile = challenging outcome), P50 (median), and P90 (strong outcome) final balance distributions. Because each run draws fresh random paths, the headline number varies slightly from run to run — 10,000 paths keep that sampling noise small, but they do not make the underlying assumptions more accurate.

How the Monte Carlo retirement simulator works

Step 1 — Enter your portfolio. Today's starting balance, the split between trad (pre-tax) and "other" (Roth + taxable + cash), and your current asset allocation. The trad share drives the ordinary-income tax drag on withdrawals.

Step 2 — Set your withdrawal. Annual amount in today's dollars (the simulator inflates internally). The 4% rule defaults to 4% × starting balance; you can set it higher or lower.

Step 3 — Set time horizon. Years to retirement + years in retirement. For a 65-year-old expecting to live to 95, that's 0 + 30 years. For a 50-year-old planning to retire at 65 and live to 95, that's 15 + 30 years.

Click "Run Simulation". The simulator runs 10,000 paths in your browser (it's all JavaScript, no server) and reports back in under a second. Each run draws fresh random paths, so the number varies slightly between runs; the built-in sensitivity table changes one input at a time on identical paths so you can see exactly what each assumption does to your success probability.

Ready to run the numbers?

Enter your portfolio, annual withdrawal, and time horizon. The simulator runs 10,000 random market paths and returns the percentage that survive, plus the distribution of final balances.

Run the simulation →

Frequently asked questions

What does the success probability actually mean?

It's the percentage of 10,000 simulated retirements where your portfolio survives until the end. 78% success means 7,800 of 10,000 simulated paths fully funded the modeled spending; the other 2,200 experienced a modeled shortfall. There is no universal success-percentage threshold that determines whether a plan is safe or whether someone should retire. The estimate depends on the assumptions entered and the modeled paths. Review the downside scenarios, input sensitivity, income sources, and available flexibility rather than treating one percentage as a decision rule.

What's sequence-of-returns risk?

The risk that bad market years happen EARLY in your retirement, before your portfolio has had time to grow. Two retirements with identical 30-year average returns can have wildly different outcomes if one starts with the bad years and the other starts with the good ones. Monte Carlo captures this by simulating actual return sequences — some trials happen to draw bad years early, others late.

Why does the simulator distinguish traditional vs Roth balances?

Because the tax treatment of withdrawals differs and that affects how much you really have to take to spend a given amount. A $50k spend from traditional needs $50k / (1 - 0.22) = ~$64k of gross withdrawal at the 22% bracket. From Roth, it's just $50k. The simulator runs the right tax rate per bucket so the success number reflects real cash-flow needs, not pre-tax.

How does the simulator handle RMDs?

Starting at your applicable RMD age—generally 73 or 75 under current law (SECURE 2.0), depending on birth year—the simulator computes your RMD each year as traditional balance divided by the IRS Uniform Lifetime Table divisor. The RMD is forced (you must take it whether you want to or not), taxed at the ordinary-income rate, and any excess over your annual need is moved to the 'other' bucket (taxable). This often makes RMDs feel like a problem in low-spend retirements — they force taxable income beyond what you need.

Why are my Monte Carlo results different from other calculators?

Mean return + standard deviation assumptions vary. This simulator defaults to 7% mean / 15% stdev (long-run US equity-heavy assumptions). Other calculators may default to 8/18, 6/12, or use historical-sample-of-real-data instead of distribution sampling (this simulator draws lognormal annual returns, which can never fall below −100%). Sequence assumptions and tax rates also vary. Results also vary slightly between runs because each run draws fresh random paths — the built-in sensitivity table changes one input at a time on identical paths so you can see exactly what's driving the difference.

Related tools