**Swiss Micros DM42 and HP71B: Present Value of a Growing Annuity**

**Introduction**

Today we are going to calculate the present value of a growing annuity. Unlike most annuities where the payment is constant, in a growing annuity, the payment increases each period. For this particular blog, we are working with annuities that payments increase by a growth percent (g%) each period. The annuity has an different interest rate (r%) in which payments are discounted.

Since the payments are not constant, the time value of money (TVM) keys on a financial calculator are not going to be used. If your calculator has the the net present value (NPV) function, this can assist you in these calculations.

I am going to use a different approach.

**Derivation**

Variables:

P = base payment (the first payment)

g = growth rate per period

r = interest rate per period

n = number of periods

PV = present value

**Ordinary Growing Annuity**

In an ordinary growing annuity, the first payment will be received after one period (typically a year or a month) has passed. Discounting all the payments to calculate present value:

PV

= P/(1+r) + P * (1+g)/(1+r)^2 + P * (1+g)^2/(1+r)^3 + ... + P * (1+g)^(n-1)/(1+r)^n

= P/(1+r) * [ 1 + (1+g)/(1+r) + (1+g)^2/(1+r)^2 + ... + (1+g)^(n-1)/(1+r)^(n-1)

Let w = (1+g)/(1+r), then:

PV

= P/(1+r) * [ 1 + w + w^2 + ... + w^(n-1) ]

The result is a geometric series. In a general geometric series:

a + a*r + a*r^2 + ... + a*r^(n-1) = Σ(a*r^k, k=0 to n-1) = a * (1 - r^n)/(1 - r)

Then:

PV

= P/(1+r) * [ 1 + w + w^2 + ... + w^(n-1) ]

= P/(1+r) * Σ(w^k, k=0 to n-1)

= P/(1+r) * (1 - w^n)/(1 - w)

Alternatively, change w back to (1+g)/(1+r):

PV

= P/(1+r) * (1 - (1+g)^n/(1+r)^n) / (1 - (1+g)/(1+r))

= [ P/(1+r) * (1 - (1+g)^n/(1+r)^n) ] / [ 1 - (1+g)/(1+r) ]

= [ P/(1+r) * P/(1+r) * (1+g)^n/(1+r)^n ] / [ 1 - (1+g)/(1+r) ]

The article from finaceformulas.net (see source) suggests multiplying by (1+r) / (1+r):

= [ P/(1+r) - P/(1+r) * (1+g)^n/(1+r)^n ] / [ 1 - (1+g)/(1+r) ] * (1 + r) / (1 + r)

= [ P - P * (1+g)^n/(1+r)^n ] / [ 1 + r - (1 + g) ]

= [ P - P * (1+g)^n/(1+r)^n ] / [ r - g ]

= P / (r - g) * (1 - (1+g)^n/(1+r)^n )

**Growing Annuity Due**

On an annuity due, the first payment takes place immediately. The present value is calculated as:

PV

= P + P * (1+ g)/(1+r) + P * (1+g)^2/(1+r)^2 + P * (1+g)^3/(1+r)^3 + ... + P * (1+g)^n/(1+r)^n

= P * [ 1 + (1+ g)/(1+r) + (1+g)^2/(1+r)^2 + (1+g)^3/(1+r)^3 + ... + (1+g)^n/(1+r)^n ]

Let w = (1+g)/(1+r), then:

PV

= P * [1 + w + w^2 + w^3 + ... + w^n ]

We have another geometric progression:

PV

= P * (1 - w^(n+1))/(1 - w)

**Summary**:

Present Value of a Growing Annuity - Ordinary

PV = P/(1+r) * (1 - w^n)/(1 - w)

Present Value of a Growing Annuity - Due

PV = P * (1 - w^(n+1))/(1 - w)

**HP 42S/DM42 Program: PVGROW**

Both PVGROW and PVGDUE use only one register, R01.

00 {79-Byte Prgm}

01 LBL "PVGROW"

02 "BASE PMT?"

03 PROMPT

04 "INTEREST?"

05 PROMPT

06 1

07 X<>Y

08 %

09 +

10 STO 01

11 ÷

12 1

13 "GROWTH?"

14 PROMPT

15 %

16 +

17 RCL÷ 01

18 STO 01

19 "N?"

20 PROMPT

21 Y↑X

22 1

23 X<>Y

24 -

25 1

26 RCL- 01

27 ÷

28 ×

29 "PV="

30 ARCL ST X

31 AVIEW

32 END

**HP 42S/DM42 Program: PVGDUE**

00 {79-Byte Prgm}

01 LBL "PVGDUE"

02 "BASE PMT?"

03 PROMPT

04 "INTEREST?"

05 PROMPT

06 1

07 X<>Y

08 %

09 +

10 1

11 "GROWTH?"

12 PROMPT

13 %

14 +

15 ÷

16 1/X

17 STO 01

18 "N?"

19 PROMPT

20 1

21 +

22 Y↑X

23 1

24 X<>Y

25 -

26 1

27 RCL- 01

28 ÷

29 ×

30 "PV="

31 ARCL ST X

32 AVIEW

33 END

**HP 71B Program: PVGROW**

Note: This is for *both *ordinary and growing annuities due.

100 DESTROY P,G,R,W,A,C

105 INPUT "PAYMENT? "; P

110 INPUT "INTEREST? "; R

115 R=.01*R

120 INPUT "GROWTH? "; G

125 G=.01*G

130 W=(1+G)/(1+R)

135 INPUT "N? "; N

140 INPUT "DUE?(Y=1,N=0) ";C

145 IF C=1 THEN 200

150 IF C=0 THEN 300 ELSE 140

200 A=P*(1-W^(N+1))/(1-W) @ ! DUE

205 GOTO 400

300 A=P*(1-W^N)/((1+R)*(1-W)) @ ! ORD

305 GOTO 400

400 PRINT "PV ="; A

**Examples**:

Base Payment: P = 20.00

Interest Rate: r = 4%

Growth Rate: g = 5%

n = 5

Ordinary Growing Annuity

Result: PV = 98.02

Timeline of Payments:

Period 0: 0.00

Period 1: 20.00

Period 2: 21.00

Period 3: 22.05

Period 4: 23.15

Period 5: 24.31

Growing Annuity Due

Result: PV = 122.92

Period 0: 20.00

Period 1: 21.00

Period 2: 22.05

Period 3: 23.15

Period 4: 24.31

Period 5: 25.53

Source:

"Present Value of a Growing Annuity" financeformulas.net https://financeformulas.net/Present_Value_of_Growing_Annuity.html Retrieved December 13, 2020.

Eddie

All original content copyright, © 2011-2021. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.