The formula
How to calculate portfolio growth
This projects a portfolio forward from what you hold now plus what you add each month. The split between contributions and growth is the part worth watching: it shows when the market starts doing more work than you do.
Returns are applied monthly, and contributions are assumed to arrive at the end of each month. Real portfolios do neither exactly, but over a twenty-year horizon those assumptions move the answer by less than the error in the return estimate.
The calculator asks for:
- Starting balance
- Monthly contribution
- Annual return (%)
- Years (years)
Results appear immediately — there is nothing to submit. Changing a field rewrites the link, so you can share the exact scenario you are looking at.
Worked example
A concrete run-through, using the values already in the fields:
- Starting balance: 50,000
- Monthly contribution: 750
- Annual return: 7 %
- Years: 20 years
That gives:
- Portfolio value: 592,631.94
- Total you put in: 230,000
- Growth on top: 362,631.94
Reading the result
Find the crossover point — the year when accumulated growth passes total contributions. At 7% with these figures it lands around year fifteen, and it is the clearest illustration of why the last decade of investing does more than the first.
Where this goes wrong. A single average return implies a smooth line, which no portfolio delivers. Sequence risk is not visible here: the same average return with bad years early produces a different outcome once withdrawals start.
For a globally diversified equity portfolio, 5% after inflation or around 7% before it is a defensible planning assumption. Bond-heavy portfolios should assume less. Running the projection again at two points lower is a useful sanity check.
Real, if you want the answer to mean something. A nominal £1.2 million in twenty years sounds transformative; at 2.5% inflation it buys what about £730,000 buys today.
The answer it gives you is portfolio value. With 50,000 starting balance, 750 monthly contribution and 7 % annual return, that comes to 592,631.94. Change any field and the figure moves with it.