Monte Carlo Investment Simulator
A thousand possible futures for the same savings plan, showing the range of outcomes rather than a single false-precise number.
Results
What this tool does
A compound interest calculator gives one number, and that number will not happen. Markets do not return seven per cent every year; they return fifteen, then minus eight, then twenty-two, and where you end up depends on the order as much as the average. This page runs the same plan a thousand times with random monthly returns drawn from your assumptions, then sorts the endings. What you get is a range: the middle outcome, the good and bad quarters, and how often the whole thing ends up below what you put in. The model is simple and stated plainly — it is a picture of uncertainty, not a forecast.
Formula
lognormal model: v ← v × e^((μ − σ²÷2)÷12 + σ÷√12 × z) + contribution, with z a standard normal
Variables
| Symbol | Meaning | Unit |
|---|---|---|
initial | Starting amount | — |
monthly | Monthly contribution | — |
years | Years | — |
expected | Return you expect per year | % |
vol | Volatility | % |
runs | How many runs | — |
seed | Seed | — |
MD | Middle outcome | — |
CT | Money you put in | — |
MX | Times what you put in | x |
PA | One run in ten ends below | — |
PB | One in four ends below | — |
PC | One in four ends above | — |
PD | One run in ten ends above | — |
BL | Runs that end below what you put in | % |
MN | Average outcome | — |
WR | Worst run | — |
BR | Best run | — |
SD | Between worst and best | — |
NR | How many runs | — |
Worked example
- Starting amount10,000
- Monthly contribution200
- Years20
- Return you expect per year7 %
- Volatility15 %
- How many runs1000
- Seed1
- Middle outcome124,909.87
- Money you put in58,000.00
- Times what you put in2.154 x
- One run in ten ends below69,528.18
- One in four ends below89,634.63
- One in four ends above177,175.02
- One run in ten ends above235,803.54
- Runs that end below what you put in4.60 %
- Average outcome144,068.75
- Worst run30,100.21
- Best run676,375.25
- Between worst and best646,275.04
- How many runs1000
Limitations
- This is an informational calculator, not personalised financial advice. Rates, fees, taxes and contract conditions vary between institutions and countries.
- The result is an estimate based only on the values you type. Real situations often include factors this calculator does not know about.
- The calculation runs entirely in your browser. The values you type are never sent to a server.
- The tool works with whatever currency you use for the inputs; it does not convert between currencies.
Frequently asked questions
Is this a prediction?
No, and it is worth being blunt about it. This is a model with two numbers you supplied — an expected return and a volatility — run a thousand times. It assumes monthly returns are independent and lognormally distributed, which real markets are not: they have crashes that cluster, long stretches of calm, and fat tails that this model will never produce. What it is good for is showing the shape of uncertainty. A single compound-interest figure suggests a precision that does not exist; this shows that the same assumptions can end in very different places, which is the honest part.
Why does the same seed give the same answer?
Because the randomness here is generated from that number rather than from the clock. Run it twice with the same seed and you get an identical result, which means you can change one input, compare, and know the difference came from the change and not from a new set of dice. Change the seed and you get a different thousand runs from the same assumptions — worth doing once or twice, to see how much the answer itself wobbles.
Why is the median lower than the average?
Because losses and gains are not symmetrical when they compound. A fall of fifty per cent needs a rise of a hundred to undo, so the distribution of outcomes is stretched upwards: a few very good runs pull the average well above the middle one. The median is the more useful figure for planning, because half the runs land below it — the average is dragged up by outcomes you should not count on. This is also why the gap between the tenth and ninetieth percentile is so wide over long periods.