Put in a starting amount, a monthly top-up and a rate. The chart splits every year into what you paid in and what the money earned on its own. Early on it's almost all you; later, the growth takes over.
Each square is the final pot for your monthly amount, with a different rate and number of years. Read along a row to see the effect of time; down a column for the effect of rate. Hover a square to compare it with your current settings.
Hover a square to compare with your 6% for 25 years.The rule of 72 works in your head and is surprisingly close between about 4% and 12%. It also works backwards: prices rising at 6% a year double in about 12 years. Drag the rate and compare the shortcut with the exact answer.
Using your settings above, each card shows the final pot with that cost taken off, and how much it took. Small percentages compound too.
A nominal rate r compounded n times a year grows money by (1 + r/n)ⁿ. As n grows the result approaches eʳ, which Jacob Bernoulli found in 1683 while studying exactly this. The effective annual rate is what banks must quote as AER in the UK or APY in the US. Each row is computed live two ways, and at very large n the naive formula breaks down in floating point.
The chart above assumes the same return every year. Real returns vary, and compounding follows the geometric mean, which is always below the arithmetic average by roughly half the variance. This runs 1,000 random histories with your starting amount, top-ups and years, drawing yearly returns with the average you chose above and the volatility you set here.
ln(1 + R) ≈ R − R²/2 → E[ln(1 + R)] ≈ μ − (μ² + σ²)/2Growth over many years depends on the average of the logarithm of each year’s growth factor, not on the average return. Taking a second-order Taylor expansion, every unit of variance costs half a unit of compound growth. It’s called volatility drag or variance drain.Three of the four inputs above (start, top-up, rate, years) plus a target fix the fourth. Top-up and years have closed-form answers from the annuity formula. Rate doesn’t: it’s found by bisection, the same way spreadsheets’ RATE() works. Each answer is checked by running it back through the month-by-month simulation.
P = (G − M·((1+i)^m − 1)/i) / (1+i)^mcheck_circlechecked: £250,000Use thisM = (G − P(1+i)^m) · i / ((1+i)^m − 1)check_circlechecked: £250,000Use thisbisection on FV(rate) = G, 60 halvingscheck_circlechecked: £250,000Use thism = ln((G·i + M)/(P·i + M)) / ln(1+i)check_circlereached by year 32Use thisEach closed form uses the inputs from the calculator above, compared with the month-by-month simulation that draws the chart.
FV = P(1 + r/n)^(n·t)£22,325Your starting amount alone, no top-ups.FV = M · ((1+i)^m − 1) / i£138,599Top-ups paid at the end of each month.FV = M · ((1+i)^m − 1) / i · (1+i)£139,292Top-ups at the start of each month earn one extra month.lump sum + ordinary annuity£160,924Matches the month-by-month simulation.FV = P · e^(r·t)£22,408The upper limit for the starting amount.(1 + r/n)^n − 16.168%Effective yearly rate at your frequency.(1 + r/n)^(n/12) − 10.50000%Used to apply your rate to monthly top-ups.(1 + r) / (1 + π) − 13.415%Growth after 2.5% inflation; r − π is only approximate.Neighbouring calculators, with a typical result for each. This page is for illustration, not financial advice.