My example is saving for college:

  • assume a start of 0 balance
  • deposits of 200 made monthly, every year they increase by (g) 2% to account for salary increases, first deposit made at the end of the first month
  • Interest Rate (r) is constant at 8% (effective rate)
  • Goes for (n=15) years

What is the future value?

Even though I can convert the yearly rate into a compounded monthly rate to match the yearly rate, I can't use the "future value of a growing annuity" formula, that assumes timing of growth and payment are the same.

It is acceptable to make it a two or three steps (like use equation 1 to solve for a new value for payment to plug that into equation 2), I am just trying to avoid making calculations for each and every year as I'm doing now.

n(1) = 2486
n(2) = 5222.23
n(15)= 75693

I found my own answer as well below that combines well known formulas to get to the same answer (and I presume, with substitution, would be equivalent to the accepted answer)


You can calculate it with the formula below, which is produced from a double sum.

P. S. The initial examples are for an annuity due (savings type annuity).

Future value = (r*(-1 + r^y)*(-b^(1 + a) + r^((1 + a)*y))*z)/((-1 + r)*(-b + r^y)) 


r = 1 + monthly rate = 1.08^(1/12) = 1.00643
y = months per year = 12
a = years - 1 = 14
b = deposit increase rate + 1 = 1.02
z = initial deposit amount = 200

(r*(-1 + r^y)*(-b^(1 + a) + r^((1 + a)*y))*z)/((-1 + r)*(-b + r^y)) = 76180.4

Mathematica was used to produce the formula from the double sum:

enter image description here

The double sum is produced from the workings below.

enter image description here


To illustrate the robustness of the formula here is another example with different period parameters: a twice-yearly deposit of 200 for three years, again incrementing annually by 2%, with 8% interest rate.

Running the calculation in four forms produces the same result. This proves the formula's robustness.

r = 1 + six-monthly rate = 1.08^(1/2) = 1.03923
y = periods per year = 2
a = years - 1 = 2
b = deposit increase rate + 1 = 1.02
z = initial deposit amount = 200

enter image description here

(r*(-1 + r^y)*(-b^(1 + a) + r^((1 + a)*y))*z)/((-1 + r)*(-b + r^y)) = 1402.25

2nd Edit

Recalculation for ordinary annuity (loan type), rather than annuity due (savings). - ref. Calculating The Present And Future Value Of Annuities

enter image description here

((-1 + r^y)*(-b^(1 + a) + r^((1 + a)*y))*z)/((-1 + r)*(-b + r^y)) = 1349.32
| improve this answer | |
  • $\begingroup$ I think that only solves for when a=14, if you try different values for a (changing the number of years), you get numbers all over the place $\endgroup$ – plockc May 10 '14 at 18:25
  • $\begingroup$ I also have a different result for 15 years of 75963, not sure yet where the difference lies. $\endgroup$ – plockc May 10 '14 at 18:36
  • $\begingroup$ So the first term has 1.02^0 which is 1 making it the last year of interest being applied, but it shouldn't be r^k, should be r^180-k so that first payment of the last year gets r^11 interest compounding? $\endgroup$ – plockc May 10 '14 at 18:59
  • $\begingroup$ @plockc - Hi, the first term has 1.02^0 = 1 being the first year of deposits (at 200 * 1), which year's 12 deposits each accumulate 180 to 169 months of interest by the end of 15 years. Hope that clarifies things. I have added another, simpler example too. $\endgroup$ – Chris Degnen May 10 '14 at 22:05
  • $\begingroup$ Hi @ChrisDegnen, maybe we're applying stuff at different times? I am stepping through fv = oldfv*r+200*1.02^year, with rate at 1.03923, year being 0 twice, then 1 twice, then 2 twice, I get 200, 408, 628, 856, 1098, then 1349 as my answer. From the summation, I think I'm not sure why there is an interest applied at both the first (k=1) and last (k=180) month (so interest applied 180 times where I think it should be 179 times), is what you have an annuity due solution (first $200 deposit immediately)? $\endgroup$ – plockc May 10 '14 at 22:56

I later figured out you can calculate a special payment and fit it into the normal future value of a growing annuity function that is set up in terms of years.

First, solve for the get the monthly rate, this compounded by 12 will bring us back to r

$monthlyRate=(1+r)^{1/n}-1 = .006434$

Then figure out the effective annual payment (basically accounts for the different lengths of time of interest for each payment) by using the monthly payment in an ordinary annuity for a single year (n=12 months)

$annualPayment= \frac{pmt}{monthlyRate}((1+monthlyRate)^n-1)=2486.77$

Now since growth and rate are already defined in terms of a year, we get to use a standard growing annuity formula for annual periods:

$futureValue=\frac{annualPayment}{r-g}((1+r)^n-(1+g)^n) = 75693$

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.