# Subject: Analysis - Internal Rate of Return (IRR)

Last-Revised: 25 June 1999

Contributed-By:
Christopher Yost (cpy at world.std.com),
Rich Carreiro (rlcarr at animato.arlington.ma.us)

If you have an investment that requires and produces a number of cash flows over time, the internal rate of return is defined to be the discount rate that makes the net present value of those cash flows equal to zero. This article discusses computing the internal rate of return on periodic payments, which might be regular payments into a portfolio or other savings program, or payments against a loan. Both scenarios are discussed in some detail.

We'll begin with a savings program. Assume that a sum "P" has been
invested into some mutual fund or like account and that additional
deposits "p" are made to the account each month for "n" months.
Assume further that investments are made at the *beginning* of each
month, implying that interest accrues for a full "n" months on the
first payment and for one month on the last payment. Given all this
data, how can we compute the future value of the account at any
month? Or if we know the value, what was the rate of return?

The relevant formula that will help answer these questions is:

F = -P(1+i)^n - [p(1+i)((1+i)^n - 1)/i]In this formula, "F" is the future value of your investment (i.e., the value after "n" months or "n" weeks or "n" years--whatever the

*per period.*Note that the symbol '^' is used to denote exponentiation (2 ^ 3 = 8).

Very important! The values "P" and "p" should be
*negative*. This formula and the ones below are devised to
accord with the standard practice of representing cash paid out as
negative and cash received (as in the case of a loan) as positive.
This may not be very intuitive, but it is a convention that seems to
be employed by most financial programs and spreadsheet functions.

The formula used to compute loan payments is very similar, but as is
appropriate for a loan, it assumes that all payments "p" are made at
the *end* of each period:

F = -P(1+i)^n - [p((1+i)^n - 1)/i]Note that this formula can also be used for investments if you need to assume that they are made at the end of each period. With respect to loans, the formula isn't very useful in this form, but by setting "F" to zero, the future value (one hopes) of the loan, it can be manipulated to yield some more useful information.

To find what size payments are needed to pay-off a loan of the amount "P" in "n" periods, the formula becomes this:

-Pi(1+i)^n p = ------------ (1+i)^n - 1If you want to find the number of periods that will be required to pay-off a loan use this formula:

log(-p) - log(-Pi - p) n = ---------------------- log(1+i)

Keep in mind that the "i" in all these formula is the interest rate
*per period*. If you have been given an annual rate to work with,
you can find the monthly rate by adding 1 to annual rate, taking the
12th root of that number, and then subtracting 1. The formula is:

i = ( r + 1 ) ^ 1/12 - 1where "r" is the rate.

Conversely, if you are working with a monthly rate--or any periodic rate--you may need to compound it to obtain a number you can compare apples-to-apples with other rates. For example, a 1 year CD paying 12% in simple interest is not as good an investment as an investment paying 1% compounded per month. If you put $1000 into each, you'll have $1120 in the CD at the end of the year but $1000*(1.01)^12 = $1126.82 in the other investment due to compounding. In this way, interest rates of any kind can be converted to a "simple 1-year CD equivalent" for the purposes of comparison. (See the article "Computing Compound Return" for more information.)

You cannot manipulate these formulas to get a formula for "i," but
that rate can be found using any financial calculator, spreadsheet, or
program capable of calculating *Internal Rate of Return* or IRR.

Technically, IRR is a *discount* rate: the rate at which the
*present value* of a series of investments is equal to the
*present value* of the returns on those investments. As such, it
can be found not only for equal, periodic investments such as those
considered here but for any series of investments and returns. For
example, if you have made a number of irregular purchases and sales of
a particular stock, the IRR on your transactions will give you a
picture of your overall rate of return. For the matter at hand,
however, the important thing to remember is that since IRR involves
calculations of present value (and therefore the time-value of money),
the *sequence* of investments and returns is significant.

Here's an example. Let's say you buy some shares of Wild Thing Conservative Growth Fund, then buy some more shares, sell some, have some dividends reinvested, even take a cash distribution. Here's how to compute the IRR.

You first have to define the sign of the cash flows. Pick positive for flows into the portfolio, and negative for flows out of the portfolio (you could pick the opposite convention, but in this article we'll use positive for flows in, and negative for flows out).

Remember that the only thing that counts are flows between your wallet and the portfolio. For example, dividends do NOT result in cash flow unless they are withdrawn from the portfolio. If they remain in the portfolio, be they reinvested or allowed to sit there as free cash, they do NOT represent a flow.

There are also two special flows to define. The first flow is positive and is the value of the portfolio at the start of the period over which IRR is being computed. The last flow is negative and is the value of the portfolio at the end of the period over which IRR is being computed.

The IRR that you compute is the rate of return per whatever time unit you are using. If you use years, you get an annualized rate. If you use (say) months, you get a monthly rate which you'll then have to annualize in the usual way, and so forth.

On to actually calculating it...

We first have the net present value or NPV:

N NPV(C, t, d) = Sum C[i]/(1+d)^t[i] i=0where:

C[i] is the i-th cash flow (C[0] is the first, C[N] is the last).Given that definition, IRR is defined by the equation: NPV(C, t, IRR) = 0.

d is the assumed discount rate.

t[i] is the time between the first cash flow and the i-th. Obviously, t[0]=0 and t[N]=the length of time under consideration. Pick whatever units of time you like, but remember that IRR will end up being rate of return per chosen time unit.

In other words, the IRR is the discount rate which sets the NPV of the given cash flows made at the given times to zero.

In general there is no closed-form solution for IRR. One must find it iteratively. In other words, pick a value for IRR. Plug it into the NPV calculation. See how close to zero the NPV is. Based on that, pick a different IRR value and repeat until the NPV is as close to zero as you care.

Note that in the case of a single initial investment and no further investments made, the calculation collapses into:

(Initial Value) - (Final Value)/(1+IRR)^T = 0 or

(Initial Value)*(1+IRR)^T - (Final Value) = 0

Initial*(1+IRR)^T = Final

(1+IRR)^T = Final/Initial

And finally the quite familiar:

IRR = (Final/Inital)^(1/T) - 1

A program named 'irr' that calculates IRR is available. See the article Software - Archive of Investment-Related Programs in this FAQ for more information.

Previous article is Analysis: Goodwill
Next article is Analysis: Loan Payments and Amortization |
Category is Analysis Index of all articles |