# IRR Calculation

I have a series of cash flows, a \$1000 deposit, and then 5 annual withdrawals of \$500,\$400,\$200,\$200,and finally, \$100. I understand this is an IRR calculation, and set it up as follows:

-1000+500/(1+r)+400/(1+r)^2+200/(1+r)^3+200/(1+r)^4+100/(1+r)^5=0

The correct answer is 16.82%

But I can't get the answer correctly. Below is my calculation methods.

1400=1000(1+r)^15 1400/1000=(1+r)^15 (15√1.4)-1=r

Can someone clarify how to get the 16.82% answer, and if I was on the right track?

• I've edited to clarify the question. Since you accepted my answer, I trust I understood the question well enough to help with the wording. Welcome to Money.SE – JTP - Apologise to Monica Jul 26 '14 at 18:52

## 3 Answers

Plug your equation into Excel or other spreadsheet.

At r=0%, the result is 400 vs the zero you want.

at r=10%, 134

a few more iterations, 16% results in 14.5, but 17%, -3.2. It wouldn't take long to get as many digits of accuracy as you wish. A more sophisticated spreadsheet user will use the IRR function, but my method is as fast as setting up the more elegant one.

• There's also the Excel Goal Seek operation that can be used to find the internal rate of return... – DJohnM Jul 26 '14 at 17:56

While "internal rate of return" is the most useful measure of worthiness, it is also the most difficult because it cannot be cannot be determined rationally, thus it has to be solved approximately.

There are two primary methods: inspection & iteration.

With inspection, simply use a graph tool to plot the formula instead equal to `0` but now equal to another variable such as `y`. The point where the value of the new variable, `y` in this case, is equal to `0`, or where the graph intersects the x-axis, is the desired value for `r`.

Using iteration, first start with an absurd number such as `1` for `r`. If the result is negative, halve `r`, if positive, double it. After the first round, instead of doubling `r` when positive, increase by 50% while still halving if the result is negative. Iterate this process until the result is as close to `0`, sufficient accuracy, as you desire.

Your method is wrong one. You need to solve this equation of 5th degree. But analytical closed form solution isn't exist. So, you have to solve this one iteratively, using optimization software, wolfram|alpha for instance.