Portfolio Forecast Calculator
Most retirement calculators ask for three numbers and hand back one. This one doesn't.
It runs your plan thousands of times against randomly drawn market returns, then shows you
the full range of outcomes and the probability that your money lasts — which is the
only honest way to answer a question about a future nobody can predict.
Everything is free, nothing is gated, and no account is required. Your inputs never leave
your browser — we never see them.
What this calculator models
- Monte Carlo simulation — 500 to 2,500 runs using either a normal distribution or a fat-tailed Student-t, which produces crashes at a more realistic frequency.
- Percentile fan — the 5th through 95th percentile band, so you can see the width of the forecast rather than a single misleading line.
- Glide path — shift gradually to a more conservative mix between any two years, with return and volatility both easing down.
- Return schedule — override the base return for specific stretches of years to model a known bear market or a period of higher expected returns.
- Life events — lump-sum withdrawals for a house, tuition, or a sabbatical, plus permanent changes to what you contribute each month.
- Drawdown with guardrails — start living off the portfolio in any year, optionally raising income with inflation, with the guardrail rule cutting spending 10% when the withdrawal rate runs 20% hot and raising it 10% when it runs 20% cold.
- Fees and tax — advisor and fund costs charged monthly on the balance, and capital-gains tax grossed up on withdrawals.
- Sequence-of-returns risk — see how the same average return produces different endings depending on whether the bad years land early or late.
How to read the probability of success
Success means finishing above your floor without hitting zero along the way. Above 85% is
strong — at that point the more useful question is usually whether you are underspending.
Between 70% and 85% is workable but worth tightening, and small changes to spending, timing,
or fees move the number considerably. Below 70% the plan fails in more than three of every
ten runs and deserves attention.
Resist reading the number to the decimal point. A plan at 88% and a plan at 91% are the same
plan. What matters is the width of the 5th-to-95th percentile spread and whether you could
live with the bottom of it.
The fee lever
Of every input on this page, the advisor fee is usually the largest single lever you actually
control. It is charged on the entire balance every year, so it compounds against you exactly
as your returns compound for you. Set it to 1%, look at the ending balance, then set it to 0
and look again. That gap is what advice costs over your horizon — worth paying for if the
advice is good, worth knowing either way.
Frequently asked questions
What is a Monte Carlo portfolio simulation?
Instead of assuming your portfolio earns the same return every year, a Monte Carlo simulation runs your plan thousands of times using randomly drawn yearly returns around your expected average. The result is a range of outcomes and a probability of success, rather than one falsely precise number.
What is a good probability of success?
Most planners treat 85% or higher as strong, 70–85% as workable but worth tightening, and below 70% as needing attention. A very high number can also signal that you are underspending rather than that the plan is optimal.
Why does the calculator use fat-tailed returns?
Real market returns produce extreme years more often than a normal bell curve predicts. The fat-tailed setting uses a Student-t distribution, which makes crashes and booms more likely and gives a more honest picture of downside risk.
How much does a 1% advisor fee actually cost?
Over a 30-year horizon a 1% annual advisor fee typically consumes a fifth to a quarter of the final balance, because the fee is charged on the whole balance every year and compounds against you. Turn the advisor fee on and off in this calculator to see the effect on your own numbers.
What is sequence-of-returns risk?
It is the risk that poor returns arrive early in retirement, while your balance is largest and you are withdrawing from it. The same average return can produce very different outcomes depending on the order the good and bad years arrive in.
Are these projections guaranteed?
No. Every figure is a projection based on the assumptions you enter. Real markets, inflation, tax law, and your own spending will differ. Treat the output as a planning tool, not a promise, and revisit it as your situation changes.
This calculator is free. Here’s how it stays that way.
A Monte Carlo engine like this one usually sits behind a subscription or a
“book a call with an advisor” form. Ours doesn’t: no paywall, no account,
and the numbers you model never leave your browser for us to store or sell.
Hosting, market-data feeds, and the hours spent building and checking each model
do cost real money, and that comes out of one person’s pocket. If this tool gave
you a clearer answer than the paid alternatives, a coffee helps fund the next one.
It’s entirely optional — nothing here is ever locked behind it.
Money and Technology Simply Explained
This calculator grows out of Brett Axler's Substack — breaking down money and
investing with simple technology to help everyday humans reach financial freedom.
Two Minute Tuesday is a short read to start your day, and a longer weekly
piece digs into money, markets, and technology. New calculators get announced there first.
It's free.
Read and subscribe on Substack →
More Money Scale calculators
Important — please read
This is a calculator, not advice. Use at your own risk.
Every number this tool produces is a hypothetical projection generated from
assumptions you entered yourself. It is not a prediction, not a guarantee, and not a
statement about what your portfolio will actually do. Real results will differ, and they may
differ enormously.
Not financial, investment, tax, or legal advice
Money Scale publishes free educational tools. We are not licensed financial
advisors, registered investment advisers, broker-dealers, accountants, or attorneys. Nothing
on this page is personalized advice, a recommendation to buy, sell, or hold any security, or
an offer or solicitation of any kind. Using this calculator does not create an advisory,
fiduciary, or client relationship of any sort. We do not know your age, health, job security,
tax situation, debts, dependents, risk tolerance, or goals — and every one of those
changes the right answer.
Talk to a qualified professional before you act on anything you see here.
A CERTIFIED FINANCIAL PLANNER® professional, a fee-only fiduciary adviser, or a CPA can
look at your whole situation in a way that no calculator can. That is especially true before
you retire, change your contribution rate, move money between accounts, start drawing down a
portfolio, or make any decision that is expensive to reverse.
What the math actually does
So you can judge the output for yourself: returns compound monthly at
(1+r)^(1/12)−1. Contributions land at month end; withdrawals come out at
the start of the year you set, before that year's growth. Fees are charged monthly against
the balance. Today's-dollar figures are discounted at the fixed inflation rate you enter.
The odds panel runs your plan repeatedly with random monthly returns drawn around your
average at your stated volatility, and reports the share of runs finishing above your success
floor without hitting zero on the way. Fat-tailed mode draws from a Student-t distribution
with 4 degrees of freedom, rescaled to your volatility. The Method
tab above documents this in full.
What it does not model
These are real gaps, not fine print. This tool does not account for:
- Historical sequences, crash clustering, or the correlations that random draws miss.
- Regime changes — stock/bond correlation ran negative through the 2000s and flipped positive in 2022. One volatility number cannot see that.
- Inflation that varies or moves with returns. Here it is a single fixed input.
- Individual assets, rebalancing, correlation matrices, or tax-lot accounting. It uses one blended return and a proportional cost-basis estimate.
- Longevity or joint life expectancy — you pick a fixed number of years.
- Social Security, pensions, annuities, real estate, business interests, or any other outside income.
- Income tax, state tax, RMDs, IRMAA, ACA subsidy cliffs, estate tax, or account-type differences (401(k) vs Roth vs taxable). The only tax modelled is an optional flat capital-gains rate on withdrawals.
- Healthcare costs, long-term care, disability, divorce, job loss, or any other life event you have not entered manually.
- Changes to tax law, contribution limits, or retirement rules — all of which will change over a 30-year horizon.
About the preset assumptions
The asset-mix presets are starting points, not forecasts. The 60/40 figure references
J.P. Morgan's published 2026 long-term capital market assumption and the others are scaled
around it; citing a source is not an endorsement by that firm, and no firm has reviewed or
approved this tool. Past performance does not predict future results. Any
long-run return figure is an estimate that reasonable people disagree about.
No warranty, no liability
This calculator is provided "as is," without warranty of any kind, express
or implied, including any warranty of accuracy, merchantability, or fitness for a particular
purpose. Calculations may contain errors. To the fullest extent permitted by law, Money Scale
and its author accept no liability for any loss or damage — financial
or otherwise — arising from your use of, or reliance on, this tool or its output.
You use it entirely at your own risk, and every decision you make with it is
yours.
Your data
Your inputs stay in your browser and are saved only to your own device. Nothing you type
here is ever sent to us. See our
privacy policy and terms.
If any part of this projection is load-bearing for a real decision — when you retire,
how much you can safely spend, whether you have enough — please have a qualified
professional review it with your full financial picture in front of them. A calculator cannot
do that, and this one is not trying to.