Time Value of Money Concepts

This page covers the following topics regarding the calculation of the present value of an annuity:

  1. Formula and Definition
  2. PV of Annuity Illustrated
  3. Solving for Other Variables in the PV Equation
  4. Compounding Frequency
  5. Payment and Compounding Periods Do Not Coincide
  6. Excel
  7. HP-12C
  8. Programming Languages

1. Formula and Definition

The formula below calculates the current value of a stream of equal payments made at regular intervals over a specified period of time. This value is referred to as the present value (PV) of an annuity.

The PV of an annuity formula is used to calculate how much a stream of payments is worth currently where "currently" does not necessarily mean right now but at some time prior to a specified future date.

In practice the PV calculation is used as a valuation mechanism. It evaluates a series of payments over a period of time and reduces or consolidates them into a single representative value as of a certain date. The PV calculation is useful in a variety of situations including:

  • valuing a series of retirement payments;
  • calculating the lump sum value of lottery winnings;
  • establishing the purchase price of property sold for installment payments;
  • determining the value of periodic payments under an insurance contract or a structured settlement;
  • pricing a coupon bearing bond (this is actually a composite calculation involving the present value of the periodic interest payments (an annuity) and the return of principal at maturity (a single sum).

Note however that the PV of an annuity formula does not inherently take into account the effect of inflation. So when we talk about the current value of a stream of future payments, the valuation mechanism is the time value of money as represented by prevailing market interest rates, not the inflation rate.

The PV of an annuity equation above can be rearranged algebraically to solve for the payment amount (PMT) that will amortize (pay off) a loan or equate to a current sales price.

The formula above assumes an ordinary annuity, one in which the payments are made at the end of each compounding period. An annuity-due is one in which the payments are made at the beginning of the compounding period. See Annuity-Due for more information on the distinction between an annuity-due and an ordinary annuity. This distinction is also illustrated in example problems #7 and #32.

Note the distinction between the PV of an annuity and the FV of an annuity. The FV of an annuity equation answers the question "What will the payments be worth then?" while the PV of an annuity equation answers the question "What are the payments worth now (or some time prior to then)?". The FV of an annuity is discussed separately here.


2. Present Value of an Annuity Illustrated

The following simplified example illustrates the basic operation of the PV of an annuity formula.

You have a coin you wish to sell. A potential buyer offers to purchase the coin from you in exchange for a series of three annual payments of $50 starting one year from today. What is the current value of the offer if the prevailing rate of interest is 7% compounded annually?

This problem is represented graphically in the diagram below...

Note that the cash flow diagram is drawn from the perspective of the seller. In a financial transaction there is always some combination of inflows and outflows. In the drawing above the seller experiences an outflow at the start of the transaction (the delivery of the coin to the buyer), followed by a series of inflows spread over three years (the $50 payments received from the buyer). It is the initial outflow that we wish to value by setting it equal to the three annual payments at 7% interest. The horizontal arrow pointing to the intial outflow indicates we are discounting the annual payments back to their present value (PV).

In this situation the inputs to the PV of an annuity equation are as follows...

PMT = 50
i = 0.07
n = 3

...and plugging these values into the equation...

...tells us that the buyer's offer is worth $131.22 today (rounded).

According to our calculation, the PV of all three payments ($131.22) is less than the sum of the their nominal or face values ($150.00).

Why is this?

The answer has to do with the timing of the payments. We do not receive $150 currently, instead it is spread out over 3 years.

Because the payments are not received today - we have to wait to receive them - they are worth less than their face value. To quantify how much less we must "discount" the value of each $50 payment back to its current value. The sum of the discounted values of all of these payments is the PV of the annuity.

The concept underlying discounting is one of financial equivalence. Using the first payment as an example, we can say that $46.73 today is equivalent at 7% to $50.00 in one year.

We can say they are equivalent because at 7% $46.73 will grow to $50.00 in one year's time...

46.73(1.07) = 50.00

...and $43.67 will grow to $50.00 in two year's time as will $40.82 in three year's time.

It is the sum of these three individual PVs that constitutes the PV of the annuity.

The mechanics of the PV calculation are illustrated below...

We should be careful how we interpret our calculated PV of $131.22. We are not saying that $131.22 will grow to $150.00 in three year's time. Such a statement might be made in the case of a single sum but here we are dealing with a series of three payments made at different time intervals. Each one of these payments is discounted back to its PV at 7% based on its timing and it is the sum of these PVs that constitute the current value of the annuity.

Also note that we are talking pure TVOM theory here. In practice there are a whole host of other issues to consider when evaluating financial transactions. Some of these considerations include taxes, credit risk, inflation, cash flow constraints, and general economic conditions. Still, from a purely financial perspective, the TVOM calculations provide a powerful tool for making rational decisions.

See Assumptions and Definitions for a discussion of certain limitations and restrictions inherent in TVOM calculations.

Additional problems illustrating the calculation of the PV of an annuity can be viewed here under Application #4 "Find PV Annuity."


3. Solving for Other Variables

While the basic PV of an annuity formula presented above allows us to calculate PV, we often need to calculate one of the other variables in the equation such as the number of compounding periods (n), the payment amount (PMT), or the interest rate (i). These calculations are illustrated below. Calculating the FV of an annuity (the amount to which a series of periodic payments will grow), is discussed separately here.

a. Number of compounding periods (n)

Solving for n is a simple matter of algebraic rearrangement of the basic PV of an annuity formula for which the following algebraic identity is helpful...

...rearranging for n, the PV of an annuity equation looks like this...

...and using the values for the other variables from our earlier example, we calculate the number of compounding periods (n) as...

b. Payment amount (PMT)

Rearranging the basic PV of an annuity formula to solve for PMT is a little easier than it was for n. What we end up with looks like this..

...and again using the values for the other variables from our original example, we calculate PMT as...

c. Interest rate (i)

This is the tough one.

Unfortunately there is no easy way to isolate the interest rate (i) variable in the basic PV of an annuity equation.

What you end up with is a value referred to as kPV defined below...

...and since we know that PV is 131.22 and PMT is 50.00, then kPV must be equal to 2.62.

We know that n = 3 so we keep substituting different values for i into the right hand side of the equation until we get close to the value of 2.62.

This process of iteration (getting successively closer to the desired value for kPV) continues until an acceptably accurate value for i is found.

Alternatively, we can find two reasonably accurate values that bracket our desired kPV and then calculate an i based on interpolation.

This entire process is illustrated more clearly in example problem #38.

For practical purposes, i is normally computed using a calculator or computer program rather than through manual iteration. In Excel the RATE function is used for this purpose. The built-in TVOM functions of the HP-12C make it easy to calculate i for an annuity. However, if we have to code the calculation of i in a financial application then we're basically left with iteration.


4. Compounding Frequency

The equation for the PV of an annuity presented at the top of this page assumes annual compounding.

But what if instead of payments of $50 annually, we were dealing with semiannual payments of $25. In total the annual amount of the payment is the same (25 x 2 = 50). However, the PV is not.

The reason the PV changes is that the compounding frequency (n) has changed; it has increased from once a year to twice a year. The net effect of this changes is to increase the value of PV; payments are now being made earlier (front-loaded) and since more cash is being made available sooner, the PV will be larger.

Q. How do we account for the non-annual payments in our calculation?

A. By a process referred to as synchronization.

Synchronization involves modifying the values for i and n to take into account non-annual compounding.

In order to understand the process, we start by defining n (the number of compounding periods in the term of the annuity) as...

...where m is the number of compounding periods in a year and Y is the number of years in the term of the annuity. So when semiannual compounding is used in our example, n is calculated as...

Now that we have adjusted n, we need to take care of i.

The 7% interest rate we were given in the original example was an annual nominal rate. It is also referred to as the "applied" rate because it is the rate at which interest is applied to principal.

Although we increased our compounding frequency from annual to semiannual, the nominal interest rate remains unchanged. On an annual basis we are still charging 7%. We simply need to adjust the rate used in the equation to make it proportional to the new compounding frequency.

So, since we doubled the compounding frequency, we must halve the interest rate.

More formally, we divide i by the number of compounding periods in the year (m). In other words, our applied interest rate becomes...

... and this makes sense; we were applying 7% annually and now we are applying 3.5% semiannually.

We can now modify the basic PV of an annuity equation to incorporate the synchronization process as follows...

...and we calculate the PV under semiannual compounding as...

...and under quarterly compounding as...

...and so we summarize the effect of increasing the compounding frequency as...

PVannual = 131.22
PVsemiannual = 133.21
PVquarterly = 134.24

As we can see, increasing n has the effect of increasing the PV of an annuity.


5. Payment and Compounding Periods Do Not Conincide

One of the basic assumptions under TVOM theory is that of a "simple" annuity (see Assumptions and Definitions). A simple annuity is one where the payments and compounding periods coincide.

In other words, when we are compounding monthly we are also making payments monthly.

However, in real life it is not uncommon to find a situation where compounding is occurring more or less frequently than the payments.

If the problem specifies different compounding and payment intervals then we must consider two alternative approaches for handling the situation: deconstruction and rate equivalence.

a. Deconstruction Approach

Using deconstruction we break the annuity down into a series of present values of single sums.

In other words, we compute the PV for each individual payment and the summation of all of these individual values is the PV of the annuity.

Using our original example, the PV of a series of three annual payments of $50 discounted at 7% under monthly compounding is computed as the sum of the present values of three single sum amounts of $50 each with terms of 3, 2 and 1 years. Graphically this approach looks like this...

..and crunching the numbers...

...we calculate a PV of $130.67 under monthly compounding/annual payments.

The amount above is less than the $131.22 calculated earlier under annual compounding/annual payments. Note that this is the opposite effect from what we observed in Paragraph 4 above when we increased the compounding frequency from annual to semiannual and finally to quarterly. There the PV increased as the compounding frequency increased.

What's the difference?

The difference is that in Paragraph 4 we were increasing both the payment frequency and the compounding frequency. Here we are increasing only the compounding frequency. We aren't getting our payments any sooner but we are compounding more frequently so less front money (i.e., a smaller PV) is required in order to grow to the specified future value.

b. Rate Equivalence Approach

In the original example we were charging 7% monthly but making payments annually.

Using the equivalence approach we convert the monthly interest rate into an equivalent annual interest rate in order to calculate the PV of the annuity with annual payments.

In other words, we want an annual rate that is equivalent to a 7% compounded monthly rate...

..and so we compute the equivalent annual rate as...

..and using this value for i in the PV of an annuity equation...

...we calculate the same PV we did using the deconstruction approach.


6. Excel Spreadsheet

Excel provides us with two approaches to solve for the PV of an annuity.

a. The PV Function.

If all we want to know is the PV of an annuity, then we can use Excel's built-in PV Function as shown here...

..where the cell contents look like this...

The PV Function takes the following parameters..

This function can be used for both single sum and annuity calculations depending on the parameters supplied. Although an ordinary annuity is assumed by default, the PV Function can also calculate the PV of an annuity due by specifying a "Type" value of 1.

b. The Discount Schedule.

A discount schedule can be constructed in Excel to compute the PV of the annuity without having to use any sepcial functions. Such a s schedule looks like this...

...and the cell contents look like this...

Note that the schedule above relies entirely upon basic math operators; no special PV Function was used.

This approach is typical of how a programmer might solve the problem. Absent knowledge of a specific mathematical equation, a common operation (discounting an individual payment in this case) is simply repeated over and over again to arrive at the solution.

One benefit of the discount schedule that we do not have with a direct PV calculation is that we can see the PV of the annuity for all of the payment frequencies. For example, we know that the value of an annuity of only two payments is $90.40.

The construction of a discount schedule for an annuity is discussed in more detail in example problem #35.


7. HP-12C


8. Programming Languages

Practical application of TVOM concepts often involves using a programming language to code the calculations.

Listed below are some very simple illustrations of how the standard TVOM equation for the present value of an annuity can be coded in four different programming languages:

C#:

JavaScript:

VB Script:

T-SQL:

Note on SQL. Be careful about performing this type of math calculation using SQL because the code executes on the database server. As a general rule, the processing power of the database server is best reserved for performing large scale data modification and retrieval operations rather than arithmetic calculations. In a production environment such calculations are typically performed in a COM object on a middle tier server or perhaps by a VB Script in an Active Server Page on the web server or even by JavaScript on the client's browser. I included this example only to show that such TVOM calculations are possible using Microsoft's implementation of the SQL language (called T-SQL or Transact-SQL). The reader should be aware that doing so can make for a very expensive query. Be sure to consider all of the options before including such functionality in your production SQL code.