IRR Calculator – What Annual Return Do Your Cash Flows Really Earn?
The internal rate of return (IRR) is the rate at which the net present value of a set of cash flows is exactly zero. Put another way, it is the annual return that the money tied up in a project earns. This IRR calculator finds that rate for any series of cash flows on a regular grid (years, half-years, quarters or months). It also tells you when IRR is misleading, and reports MIRR, NPV at your hurdle rate, the money multiple and the incremental IRR between competing projects.
IRR explained with a balance
Take an investment of −100,000 that returns 30,000, 40,000, 50,000 and 20,000 over four years. Its IRR is 15.32%. To see why, treat the 100,000 as a balance that grows at 15.32% a year while each cash flow pays it down. In year 1 the balance earns 15,322.14; the 30,000 received covers that and recovers 14,677.86 of capital, leaving 85,322.14. After years 2 and 3 the balance is 58,395.31 and then 17,342.72, and the final 20,000 brings it to exactly zero. That is what makes 15.32% the IRR: it is the only rate at which the cash returned repays the money plus that return, with nothing left over. The balance chart in the tool draws this schedule for your own numbers.
Comparing IRR with a hurdle rate
An IRR on its own means little until you compare it with your hurdle rate: your cost of capital or the return you could earn elsewhere. At a 10% hurdle, the example clears the bar by 5.32 points, and its NPV at 10% is 11,556.59. When money comes in first and goes out later, as with a loan, the IRR is a cost of funds and lower is better. The calculator detects this and turns the verdict round.
Multiple IRRs and no IRR
Each time the cash flows change sign, another IRR becomes possible (Descartes' rule of signs). The classic "pump" project, −1,600, 10,000, −10,000, has two IRRs: 25% and 400%. Its NPV is negative at 10% but positive anywhere between those two rates, so neither IRR is a return you can compare with a hurdle. Other patterns, such as 100, −300, 250, have no IRR at all. Spreadsheets hide this: =IRR() returns whichever root its iteration reaches from the starting guess. This tool lists every IRR it finds, and runs Norström's running-total test and a pure-versus-mixed check to explain the result.
MIRR and the reinvestment assumption
IRR implicitly assumes that every cash flow you take out is reinvested at the IRR itself. The modified internal rate of return replaces that assumption. It discounts outflows at a finance rate, compounds inflows to the final period at a reinvestment rate, and solves MIRR = (FV of inflows ÷ −PV of outflows)^(1/N) − 1. For the example at 10% for both rates, MIRR is 13.05%, lower than the 15.32% IRR because the cash taken out earns only 10%. MIRR always gives one answer, which makes it the practical fallback when a project has several IRRs or none.
IRR vs NPV: the scale problem and incremental IRR
IRR is a percentage, so it ignores how much money is at stake. Project S (−1,000, 1,500) earns 50%, and project L (−10,000, 12,000) earns 20%. At a 10% hurdle, however, L adds 909.09 of value against S's 363.64. The right way to use IRR here is the incremental IRR: the IRR of the difference, −9,000, 10,500, which is 16.67%. Because 16.67% beats 10%, the extra investment in L is worth making. This is also the rate at which the two NPV profiles cross, which the Compare tab marks on its chart.
When to use XIRR, CAGR or ROI instead
IRR assumes equally spaced periods. For deposits and withdrawals on actual calendar dates, such as a SIP with missed or extra instalments, use XIRR, which works with exact day counts. With just one amount in and one amount out, CAGR gives the same answer more simply. A plain ROI figure ignores time entirely. This calculator also leaves out mid-period timing, taxes, leverage and debt schedules, and time-weighted returns. Model those separately, then enter the resulting net cash flows here.