Internal Rate of Return





Kerry Back

Break-even rate of return

  • When calculating an NPV, we usually also calculate a break-even rate of return, called the internal rate of return (IRR).
  • For projects with negative cash flows early and positive cash flows late:
    • If IRR > required return, then NPV>0.
    • If IRR < required return, then NPV<0.

Interpretation for usual projects

  • Usual = “negative early and positive late”
  • Suppose we invested the negative cash flows in stocks or other assets rather than the project.
  • We want to pull out the positive cash flows later from the stock account.
  • What rate of return would we have to earn on the stocks for this to be feasible?
  • Answer is IRR.

Usefulness of the IRR

  • If IRR is very high or very low, then the required return doesn’t matter much.
    • For usual projects, very high \(\Rightarrow\) “take.”
    • For usual projects, very low \(\Rightarrow\) “reject”.
  • When there is limited capital, we can sometimes calculate the best portfolio of projects by starting with the highest IRR projects and working down the list.

Example

  • Cash flows = [-100, 30, 30, 30, 30]
IRR is 7.71%

Calculating IRR

\[\text{NPV} = c_0 + \frac{c_1}{1+r} + \frac{c_2}{(1+r)^2}+ \cdots + \frac{c_n}{(1+r)^n}\]

  • So, NPV = 0 is a polynomial equation in the variable \(1/(1+r)\).

  • For usual projects (negative early and positive late):

    • If sum of positive cash flows \(\le\) sum of negative cash flows, no positive IRR.
    • Otherwise, unique positive IRR.

numpy financial or excel


import numpy_financial as npf

cash_flows = [-100, 30, 30, 30, 30]
irr = npf.irr(cash_flows)


  • Or, in Excel, =IRR(range) computes the IRR.
  • First element of the range is date-0 cash flow, next element is date-1 cash flow, etc.