All are right and wrong!
First, IRR returns the periodic rate. If you have monthly cash flows, IRR
returns a monthly rate.
In contrast, XIRR always returns an annual rate.
That explains why XIRR is so much larger than the (monthly) IRR.
Second, there is no general agreement on how to annualize a periodic rate.
To some degree, it depends on what financial securities you are modelling,
the industry conventions applied to those securities, and even applicable
regional laws. Sometimes it is correct to multiply a monthly IRR by 12;
sometimes it is correct to compound it over 12 periods; sometimes we
multiply by other factors.
In contrast, XIRR always compounds daily.
That partly explains why even when you compound the monthly IRR over 12
periods, it is not exactly the same as daily-compounded XIRR.
Third, by definition, IRR treats each month as the same length when using
monthly cash flows. But XIRR uses the actual number of days.
That further explains why the monthly compounded IRR over 12 periods does
not agree exactly with the XIRR.
Finally, note that neither the IRR nor the XIRR can be computed
algebraically (unless all cash flows are the same, and they occur
regularly). Instead, each function uses some algorithm to "home in on" the
rate that causes the (X)NPV to be close to zero. Microsoft documentation
indicates that starting with Excel 2003, IRR and XIRR use the Newton-Raphson
But each algorithm is implemented differently, which gives rise to
differences in the results due to arithmetic anomalies (due to binary
floating-point) as well as diffences in the tolerances and the underlying
That is another reason why the monthly compounded IRR over 12 period does
not agree with the XIRR.
In actual practice, it is best not to read too much into the detailed
numerical results. They are all only estimates anyway. Choose whichever
function is more appropriate for the data that you have.
PS: I might note that the Excel IRR and XIRR functions are simply two ways
to calculate the "internal rate of return" (IRR). In other words, when I
speak of "IRR", you need to decide by context whether I am speaking of the
Excel function or the financial concept.
Yes, that is the fallacy of annualizing periodic rates, IMHO.
For example, if the value of a security changes 1% in a day, surely you do
not believe we can expect its value has grown (will grow) at a annual rate
of 3678%. That is indeed what (1+1%)^365-1 is. But that is not a realistic
assessment of the change in value.
So even though it is common practice to annualize periodic rates, I try to
avoid it -- although there are applications of the rate of return where we
Instead, I prefer to specify appropriate periodic rates of return. So
instead of annualizing a periodic IRR, I prefer to "de-compound" the
annual(ized) XIRR rate. For example, (1+XIRR(...))^(1/12)-1.
Nevertheless, that monthly XIRR will not be the same as the periodic IRR
based on monthly cash flows for all of the reasons given above.