Two calculators. The first compounds a lump sum and shows what inflation does to it. The second adds money every year and runs a fat-tailed Monte Carlo over the result — reported as percentiles, because the average outcome of a compounding process is not the typical one.
This tab is deterministic: one rate, every year, no variation. That is what the textbook formula assumes, and it is why the second tab exists.
FV = PV × (1 + r)n — future value, present value, rate, years.
What it hides is inflation. At 3.1% — the long-run US average since 1928 — prices roughly double every 23 years. A projection that reports only the nominal number is answering a question nobody asked. The gold line is the same money measured in today's purchasing power, and the gap between the two lines is the entire reason to care about real returns rather than nominal ones.
The other thing this tab hides is that no asset returns the same number every year. Feeding a single rate into a compounding formula produces a single confident-looking answer whose confidence is an artefact of the assumption. That is the second tab's job.
This page was rewritten in September 2026. The version published here in February 2025 had two defects that changed its answers, not just its appearance.
The page displayed FV = PMT × [((1+r)n − 1) / r], which is an
ordinary annuity — the payment arrives at the end of each period
and the final one earns nothing. The simulation underneath did
value = (value + PMT) × (1 + r), adding the payment before growing it,
which is an annuity-due. Annuity-due is the ordinary result times (1+r), so
at 5% the two panels of the same page were 5% apart by construction. At $1,000/yr for 10
years: $12,577.89 against $13,206.79.
Both conventions are legitimate; using one and printing the other is not. Timing is now an explicit control, and the "textbook answer" figure recomputes to match whichever you pick.
The old model drew each year's return from a normal distribution and reported the average and standard deviation of the final values. Three problems compound there.
If returns vary, the rate you compound at is below the rate you average. The gap is approximately half the variance:
geometric ≈ arithmetic − σ²/2
The S&P 500 over 1928–2026 is the clean demonstration: arithmetic mean 11.9%, standard deviation 18.86%, and 11.9 − 0.1886²/2 = 10.12% — against a realised geometric return of 10.1%. The approximation lands within two basis points of a century of data.
This is why entering "9%" and seeing a median below a 9% compounding curve is not a bug. Losing 50% then gaining 50% averages zero and leaves you down 25%.
Given an arithmetic mean μ and standard deviation σ of simple annual returns, the log-space parameters are moment-matched so the simulated distribution reproduces both:
s² = ln(1 + σ²/(1+μ)²) · m = ln(1+μ) − s²/2
Each year's gross return is exp(m + s·ε). With ε normal this is standard
geometric Brownian motion, giving E[gross] = 1+μ and
Var = σ² exactly.
Fat tails. With the Student-t option, ε is a t-distributed draw with ν=5, rescaled by √((ν−2)/ν) so the variance is unchanged and only the shape moves. Real equity returns have far more 30%-plus drops than a bell curve predicts; ν=5 is a common choice for annual equity data, and lower ν means heavier tails.
One subtlety that is easy to get wrong. The Student-t has no finite
exponential moment, so exp(t) has infinite expectation — an unclipped
fat-tailed log return implies infinite expected wealth, and the sample mean never settles.
Draws are therefore clipped at ±4.5 standard deviations, which at S&P volatility is
about −48% to +135% in a single year. That is slightly wider than the worst and best years
on record (−43% in 1931, +54% in 1933) and binds on roughly 0.2% of draws. With tails on,
the arithmetic mean is preserved only approximately; the percentiles are the robust output.
Retirement calculators advertise fat-tail modelling as though it transforms the answer. Measured against this model, over a contribution plan, it barely moves anything you would act on. Toggle it and watch: the median shifts by a fraction of a percent, and the P10–P90 range actually gets slightly narrower.
That narrowing is not a bug. A Student-t rescaled to the same variance is more peaked in the middle and heavier only in the far tails — the variance is spent on rare extremes instead of the body. Standardised draws, 400,000 samples:
| P10 | P1 | P0.1 | worst | |
|---|---|---|---|---|
| Normal | −1.28 | −2.33 | −3.10 | −4.54 |
| Student-t, ν=5 | −1.14 | −2.60 | −4.53 | −16.89 |
So P10 and P90 are the wrong place to look for tails, which is why P1 and the worst run are reported above.
Then time dilutes even that. Thirty years of returns is a sum of thirty independent log draws, and sums tend toward normal whatever the pieces look like. P1 of terminal wealth at S&P parameters, fat versus normal, three independent repeats of 200,000 paths each:
| Horizon | 3 yr | 5 yr | 10 yr | 20 yr | 30 yr |
|---|---|---|---|---|---|
| P1, fat vs normal | −2.0 to −2.3% | −1.6 to −2.0% | −0.7 to −1.4% | +0.1 to +0.9% | +0.7 to +1.8% |
And a caution about the one number that does move. An earlier draft of this note claimed the worst path runs "20–26% lower" with tails on. That was a single measurement of a statistic too noisy to quote: the minimum of N paths is the most sample-dependent thing in the output. Repeating it five times at 200,000 paths gave −12%, −18%, −20%, −32% and −4%; at the 4,000 paths this page runs by default, individual repeats came out at −17%, −14%, +8%, −20% and +39%. The direction is usually negative — 13 of 15 repeats — but the magnitude is not a number anyone should rely on, and you will sometimes see the "worst run" figure improve when you switch tails on. That is sampling noise, not a model error, and it is why the headline statistic to read is P1.
The honest conclusion: for a long contribution plan the shape of a single year's tail is second-order. What actually moves the answer is μ, σ, how much you put in, and how long. The toggle stays because demonstrating that is worth more than implying the opposite — and because at short horizons, or when drawing down rather than contributing, the tail is exactly what gets you.
Originally published February 2025 at this address; rewritten in
September 2026 — the earlier version printed an ordinary-annuity formula while computing
an annuity-due, drew normally-distributed returns, and reported a mean where the distribution
is right-skewed.
Educational tool. Historical averages are estimates over one particular past, not forecasts,
and nothing here is investment advice.