How it’s calculated
The internal rate of return is the discount rate at which an investment's net present value is exactly zero. There is no closed-form formula, so the calculator scans rates from −99% to 10,000% for every sign change in NPV and then narrows each one down by bisection, which always converges.
The investment is at year 0 (today, not discounted) and each later cash flow arrives at the end of its year.
Example (OpenStax Principles of Finance 16.3): a $16,000 embroidery machine returning $2,000, $4,000 and then $5,000 a year for four years has an IRR of 14.09%. If the business can raise money for less than 14%, the machine should be bought.
If cash flows switch between positive and negative more than once there can be several IRRs (at most one per sign change). OpenStax's Olympic facility example (−$350M, +$950M, −$620M) has two, about 9.18% and 62.25%. The calculator then lists them all and bases its accept/reject guide on NPV at your hurdle rate instead.
Frequently asked questions
How is IRR related to NPV?
NPV at a discount rate equal to the IRR is zero. For a normal project (cost first, inflows later), NPV is positive at any rate below the IRR and negative above it.
Why does it say there is no IRR?
If total inflows never catch up with the cost, or all flows have the same sign, NPV never reaches zero and IRR does not exist.
Should I pick the project with the highest IRR?
Not always. IRR ignores project size and assumes reinvestment at the IRR. When ranking mutually exclusive projects, prefer the one with the higher NPV.
Embed this calculator
Add this free calculator to your own website. Copy the code below into your page’s HTML:
Sources
- Principles of Finance, 16.3 Internal Rate of Return (IRR) Method — OpenStax
- Principles of Managerial Accounting, 11.4 Use Discounted Cash Flow Models to Make Capital Investment Decisions — OpenStax
Formulas are taken from the free public references above. Results are provided “as is” for informational and educational purposes only. See our disclaimer.
Spotted a mistake or missing option? Report a problem · GitHub issue· Suggest a calculator