Why is my IRR calculation outputting a different number than expected?
In simple terms, IRR is the average return over a period of time on an investment.
Say the value of our investment increases by exactly 10% each year for 5 years.

In this case, the average return is fairly straightforward. It averages to 10%.
IRR = 10%

The exit value after 10% returns year over year is $161.
But, what happens when the bulk of the returns come closer to the end of the 5 years?
Let’s assume that overall the average return is still 10% over the 5 years. But, let all the returns come from the last 2 years.
In order for returns to average at 10% over the 5 years, returns must be 25% (10% x 5 / 2) over the last 2 years.

But, now, let’s recalculate the exit value of the investment, given that we invest $100 and get 10% average returns each year for 5 years.
In this case, we see that while the average returns are 10% each year over the 5 years, the exit value is not equal when we determine the future value.

Compounding $100 at 10% each year should get us $161 as we saw before. But, this is not what we get. We got $156 at the end of year 5.
Why? Because when we receive the returns matter.
The earlier we receive the returns, we can let compounding do its wonders. The additional returns can generate further returns year over year. The magic of compounding.
So, the more time to compound, the larger the returns by definition.
If we only get really large returns near the end of the period…
(i) sure, the average return will remain the same
(ii) but, the overall absolute return and IRR will fall
because we are receiving the returns a lot later.
So, the answers are different because an IRR calculation does not take a simple arithmetic average of the returns in a time series.
Bottom-line? IRR is a useful tool because it takes into account the effects of when returns are earned in time. The same 10% return earned today is more valuable than the 10% return in 5 years if you can keep compounding those returns at the same rate.