# How much do I need to invest monthly to accumulate a given amount?

I have a target amount `T` USD (in today's value, before inflation) that I would like to accumulate over `N` years. Every month I invest `X` USD with an expected return of `Y%`. Expected inflation is `Z%` per year. How can I calculate whether I am investing enough? If that time is not enough, how long do I need to invest the money? How much should I invest monthly to meet the required deadline?

• Is T the number of dollars at the end of the period, in which case the inflation figure is irrelevant, or is it a target in today’s dollars, in which case your targeted final balance is T(1+Z)^N? – Lawrence Dec 3 '19 at 12:02
• @Lawrence I don't know where it went (I could have sworn it was in the comments), but T was in today's dollars. I tried to edit that into the question and that got rejected for some reason... – Mars Dec 5 '19 at 6:15
• Found it. OP had originally mentioned that yes, the final balance is T(1+Z)^N. Some overzealous mod must have deleted the original answer, or I'm going crazy ;) – Mars Dec 5 '19 at 6:22
• `T` in today's dollars – Valeriy Dec 5 '19 at 7:24

If you save `x` every month, the future value (FV) is

$FV=\sum_{k=1}^{n}x(1+r)^k=\frac{x(1+r)((1+r)^n-1)}{r}$

where

``````n is the number of months
r is the monthly rate of return
``````

So if `Y%` return is 10% nominal interest compounded monthly

``````r = 0.10/12
``````

For example, over 3 months, saving \$100 per month

``````n  = 3
x  = 100
FV = (x (1 + r) ((1 + r)^n - 1))/r = 305.03
``````

Checking the balance at the end of each month long-hand

``````b1 = 100 (1 + 0.1/12)        = 100.83
b2 = (b1 + 100) (1 + 0.1/12) = 202.51
b3 = (b2 + 100) (1 + 0.1/12) = 305.03
``````

The formula checks out.

So after 10 years, saving \$100 per month

``````n  = 120
x  = 100
FV = (x (1 + r) ((1 + r)^n - 1))/r = 20655.20
``````

Discounting for inflation at, say, 2% per annum

``````FV/(1 + 0.02)^10 = 16944.46
``````

Your future saving of \$20,655 would have the purchasing power of \$16,944 today.

To work it backwards, if you want \$100,000 in today's value in 10 years

``````FV = 100000 (1 + 0.02)^10 = 121899.44

r  = 0.10/12
n  = 120

x  = (FV r)/((1 + r) ((1 + r)^n - 1)) = 590.16
``````

You would need to save \$590.16 each month.

Compensating for inflation

Inflation can be compensated for by increasing the monthly payments at the same rate as inflation. This makes the payments equal in 'value' terms.

Inflation is usually quoted as an effective annual rate, so with 2% (as before) the monthly rate is obtained like so

``````i = (1 + 0.02)^(1/12) - 1 = 0.00165158
``````

and the 3 month long-hand calculation becomes

``````b1 = 100 (1 + 0.1/12)                  = 100.83
b2 = (b1 + 100 (1 + i)) (1 + 0.1/12)   = 202.67
b3 = (b2 + 100 (1 + i)^2) (1 + 0.1/12) = 305.53
``````

This can be expressed as a formula

$FV=\sum_{k=1}^{n}x(1+i)^{n-k}(1+r)^k=\frac{x(1+r)((1+i)^n-(1+r)^n)}{i-r}$

$\therefore x=\frac{FV(1-r)}{(1+r)((1+i)^n-(1+r)^n)}$

Once again, to save \$100,000 in today's value over ten years

``````FV = 100000 (1 + 0.02)^10  = 121899.44
n  = 120
i  = (1 + 0.02)^(1/12) - 1 = 0.00165158
r  = 0.10/12

x  = (FV (i - r))/((1 + r) ((1 + i)^n - (1 + r)^n)) = 542.84
``````

The first payment is \$542.84, and the payments increase like so

``````month 1    x (1 + i)^0   = 542.84
month 2    x (1 + i)^1   = 543.74
month 3    x (1 + i)^2   = 544.63
...
month 120  x (1 + i)^119 = 660.63
``````
• Note that these formulas assume deterministic returns. If returns are uncertain, you can use simulation to estimate your probability of having enough by a date in the future. – Charles Fox Dec 3 '19 at 16:20
• How does this change if you consider inflation in the amount saved? – Mars Dec 4 '19 at 2:32
• I have added a calculation to raise the payment amounts in line with inflation. – Chris Degnen Dec 4 '19 at 10:45
• Awesome! Now I just have to figure out what each term actually means. Should probably go back to high school... :p – Mars Dec 4 '19 at 11:20