What the internal rate of return actually tells you
The internal rate of return is the one rate at which a project breaks even: discount every pound that goes out and every pound that comes back at that rate, and the two sides cancel. It is quoted as a rate a year because that is the only way to compare a project that pays back over three years with one that pays back over ten.
Its usefulness comes from what it does not need. You do not have to agree with anyone about the right discount rate to work it out, because the rate is the answer rather than an input. That is also its weakness: a rate on its own says nothing about size. A tiny project can have a spectacular rate and still not be worth the effort, which is why the net present value sits beside it on this page.
Net present value is the figure that decides
Net present value asks a different question: at the return you could get elsewhere, is this stream worth more than it costs? A positive answer means yes by that much, in today's money, and the amount is the amount. Where the two measures disagree, and they do disagree on projects of different sizes and different lengths, the present value is the one that answers whether to go ahead.
The discount rate is yours to set and the page does not guess it. For a business it is usually the cost of capital; for a private investor it is what the same money would earn in the alternative actually available, which is a real number rather than a market average.
When there is no single rate, and why the page says so
A stream that goes out, comes back, and goes out again can have more than one rate at which it breaks even. That is not a quirk of the arithmetic; it is a property of the equation, which can cross zero more than once when the cash flows change direction more than once. Plenty of calculators print whichever root their search happened to land on first.
This one refuses. When the money changes direction more than once, the rate is left blank with a sentence saying why, and the present value, the payback period and the table are all still shown, because all of them are still true. A project with a late outlay, a decommissioning cost, or a second round of investment is exactly the case where a single confident percentage would mislead most.
Common questions
Should the first row be positive or negative?
Type what you invest as a positive number in its own field; the page treats it as money leaving. In the table of returns, a positive number is money arriving and a negative one is money going out again, so a year with a repair bill or a second injection of capital is typed with a minus sign.
Why does the payback period ignore the discount rate?
Because the payback column adds up the cash as it arrives, which is what makes it a simple, checkable number. A discounted payback would need a present value for each row on its own, rounded on its own, and that column would no longer add up to the present value shown above. One definition of present value per page is a rule worth keeping.
Is the rate here the same as an annual percentage rate?
It is the same kind of calculation. The actuarial method that United States regulation sets out for the annual percentage rate on a loan, and the equation the European consumer credit directive uses for the annual percentage rate of charge, are both this: the rate that makes the present value of everything paid equal the present value of everything received. The difference is what goes into the stream. A regulated rate must include specified fees and charges; this page discounts whatever you type and nothing else.
Why does the answer differ from my spreadsheet by a fraction of a per cent?
A spreadsheet works in floating point and stops when its own tolerance is met, so two spreadsheets can differ in the last digits too. This page works in whole cents, rounds once per period, and searches a fixed grid to a ten-thousandth of a per cent, so the same inputs always give the same answer. On small amounts the rounding to cents is visible in the last digit of the rate, and that is the honest consequence of counting in real money.
Is anything I type stored?
No. The calculation happens on the server as part of rendering the page, nothing is written down, and the access log for this site drops the query string precisely so that the numbers you enter are never recorded.
Sources
No figure on this page is read from a table, so there is nothing to source. What these documents define is the convention behind the arithmetic, and the regulated measures this calculator deliberately does not compute:
How this is worked out
The figures are arithmetic on the numbers you type, and nothing here is a forecast of what an investment will actually do.
Money is held in whole cents and every step is integer arithmetic, so the same inputs always give the same answer. A period is discounted in one division, with the annual rate divided by the number of periods in a year inside the same expression, and the result rounded to the nearest cent. That means the answer is a cent or two away from the textbook formula, which lets interest run to fractions of a cent forever. The table on the page is the calculation itself rather than a second pass over it, so the rows and the headline can never disagree.
The rate of return is found by halving a bracket from minus ninety per cent to a thousand per cent a year on a grid of a ten-thousandth of a per cent, until two neighbouring rates are left; the answer is whichever of them puts the present value nearer zero, and the lower one if they tie. That takes at most twenty-four halvings and has no tolerance to tune, so the same stream always gives the same figure.