Absolute Return vs XIRR: Which Number Actually Tells You the Truth
My statement showed 9 percent in one place and 17 percent in another for the same fund. Here is why absolute return and XIRR disagree, and which one to trust.
The first time I opened my mutual fund statement after two years of SIPs, it showed me two numbers that did not agree, and I assumed one of them was a bug. One panel said my return was about 9 percent. Another said 17 percent. Same money, same fund, same day. Neither was wrong. They were answering two different questions, and I did not yet know enough to tell them apart.
I did what most people do. I refreshed the app twice, screenshotted both figures, and sent them to a friend who invests more seriously than I do, half expecting him to confirm the app was broken. He was not surprised at all. He asked me one question back: "which one is the total, and which one is per year?" I did not know. That is the entire problem in a single sentence. I had been quoting a percentage for two years without knowing whether it described my whole journey or a single year of it.
The confusion runs deeper than a display quirk. In WhatsApp groups people trade lines like "this fund gave 80 percent" with no time attached, and I used to nod along as if that settled anything. It settles nothing. Eighty percent over one year and eighty percent over eight years are wildly different outcomes, and the raw number hides which one you are looking at.
That gap is the whole subject of this post. Absolute return and XIRR are the two numbers you will see most often as an Indian investor, and confusing them is the most common self-inflicted mistake I have made and watched others make.
The one rule that fixes most of the confusion
Absolute return is a total percentage. XIRR is an annual rate. They are different units. Comparing them head to head, or comparing two absolute returns earned over different holding periods, is like arguing about whether a distance is bigger than a speed. You can quote both about the same trip, but ranking one against the other tells you nothing. With that distinction clear, the rest is detail.
Absolute return: simple and time-blind
Absolute return asks one thing: how much more money do I have now than I put in?
Absolute return = (Current or Sale Value - Amount Invested) / Amount Invested × 100
It ignores time completely. If I put in ₹1,00,000 and it is worth ₹1,50,000, my absolute return is 50 percent whether that took eight months or eight years. That time-blindness is exactly why it works as a headline for a single lumpsum and misleads you the moment you compare two investments.
XIRR: the annual rate that respects timing
XIRR is the money-weighted annualised return. Formally, it is the single annual rate r that makes the net present value of all your dated cash flows equal to zero. You mark every investment as a negative amount on the date it went in, every redemption and the current value as a positive amount on its own date, then solve for the rate that balances them, using a 365-day-year convention.
In plain terms: XIRR works out how long each individual rupee was actually invested and gives you the annual growth rate that fits all of it at once. A rupee that sat for three years and a rupee that sat for one month get weighted differently, which is precisely what you want for a SIP.
CAGR is just XIRR with training wheels
CAGR (compound annual growth rate) is the special case of XIRR when there is exactly one investment going in and one value coming out. So for a single lumpsum, XIRR and CAGR are the same number. Add a second cash flow, a top-up, another SIP instalment, or a partial withdrawal, and you need the general tool, which is XIRR.
One boundary worth memorising: absolute return and any annualised rate only coincide when the holding period is exactly one year. At 12 months, a 12 percent absolute return is also 12 percent a year. At any other horizon they split apart.
Example A: a lumpsum, two honest numbers
I invest ₹1,00,000. Three years later it is worth ₹1,50,000.
| Metric | Value |
|---|---|
| Amount invested | ₹1,00,000 |
| Value after 3 years | ₹1,50,000 |
| Absolute return | 50% |
| CAGR = XIRR | about 14.47% per year |
Both describe the same investment. Saying "I made 50 percent" is true but incomplete. Without "over three years" attached, it sounds like a far better result than 14.47 percent a year actually is.
Example B: a SIP, where absolute return lies to you
Now the case that fooled me. I invest ₹10,000 on the 1st of every month for 12 months, so ₹1,20,000 in total. One month after the last instalment the folio is worth ₹1,30,000.
| Metric | Value |
|---|---|
| Total invested | ₹1,20,000 |
| Current value | ₹1,30,000 |
| Absolute return | 8.33% |
| XIRR | about 15.7% per year |
The catch is that 8.33 percent is measured against the full ₹1,20,000 as if all of it had been invested the entire time. It was not. Here is the timing:
| Instalment | Cash flow | Roughly invested for |
|---|---|---|
| 1 Jan | -₹10,000 | about 12 months |
| 1 Feb | -₹10,000 | about 11 months |
| ... | ... | ... |
| 1 Dec | -₹10,000 | about 1 month |
| Valuation date | +₹1,30,000 | end |
The first ₹10,000 worked for roughly a year. The last ₹10,000 had been in the market for about a month. On average my money was invested for well under a year, so an 8.33 percent total actually reflects a much healthier annual pace. XIRR does that weighting correctly and returns about 15.7 percent per year. Quoting the 8.33 percent as "my return" badly understates how the fund performed.
Example C: same absolute return, very different reality
Two funds, each turned my ₹1,00,000 into ₹1,50,000. Both are 50 percent absolute. If I stop there, I would call them equal.
| Fund A | Fund B | |
|---|---|---|
| Invested | ₹1,00,000 | ₹1,00,000 |
| Final value | ₹1,50,000 | ₹1,50,000 |
| Absolute return | 50% | 50% |
| Holding period | 3 years | 5 years |
| XIRR / CAGR | 14.47% per year | 8.45% per year |
Identical absolute return, and nearly a 2x gap in annual performance. Fund A compounded my money almost twice as fast. This is the single clearest reason not to rank investments by their absolute return.
The counterintuitive one: doubling your money is not a huge annual rate
Here is the number that surprises people. Run a SIP for 10 years and end up with double what you put in, a clean 100 percent absolute. Sounds spectacular. The XIRR is only about 13.28 percent per year. A big cumulative number and a moderate annual rate sit together comfortably, because in a SIP most of your money has only been invested through the back half of the period.
Example D: one XIRR for a whole portfolio, where absolute return runs out of road
Every example so far has been a single fund. Real accounts are messier. I hold several funds, I top some up, and occasionally I pull money out of one. Try to describe that with a single absolute return and you get stuck immediately: money went in on many dates, some came back out, and there is no one "amount invested" and one "final value" to divide. XIRR does not have that problem. It does not care how many holdings or how many flows there are, as long as each one is dated.
Here is a stripped-down version of my own account. Investments are negative (money leaving my bank), the withdrawal and the closing value are positive (money available to me), and every line carries its own date.
| Date | Action | Cash flow |
|---|---|---|
| 1 Apr 2022 | Buy Fund A | -₹1,00,000 |
| 1 Apr 2022 | Buy Fund B | -₹50,000 |
| 1 Oct 2022 | Top-up Fund A | -₹50,000 |
| 1 Apr 2023 | Partial withdrawal, Fund B | +₹30,000 |
| 1 Oct 2023 | Buy Fund C | -₹40,000 |
| 1 Apr 2024 | Current value of A + B + C (valuation) | +₹2,60,000 |
Across the whole account I put in ₹2,40,000, took ₹30,000 back out along the way, and finished with ₹2,60,000 on the table. Read down that list and notice what a single absolute return cannot capture. The ₹50,000 top-up on 1 Oct 2022 was exposed to the market for a different length of time than the original buys. The ₹30,000 I withdrew on 1 Apr 2023 stopped compounding on that date. The Fund C purchase only started working in October 2023. One absolute-return fraction has no honest way to weight all of that; there is not even a clean single "amount invested" to divide by once money has flowed both ways.
XIRR solves for the one annual rate that makes every dated flow consistent, and for this set of cash flows it comes out to roughly 13 percent per year (illustrative). That single number is the money-weighted return of the entire account, top-up and withdrawal included. This is the moment XIRR earns its keep: it collapses a genuinely tangled history into one honest figure, and absolute return simply cannot.
Why my XIRR and the fund's headline CAGR are not the same number
This one took me the longest to accept, because it feels like the two numbers should agree and one of them must be lying when they do not. They are both honest. They are just weighted differently.
The CAGR a fund advertises is close to a time-weighted, point-to-point number. It takes the NAV at the start of a period and the NAV at the end and works out the annual growth between them, and it is deliberately built to ignore when investors deposited money. A time-weighted return does this by chaining together each sub-period's return, so a large inflow right before a strong month does not flatter the figure and a large inflow right before a weak month does not drag it down. It answers one question only: how did the fund itself perform over this window?
My XIRR is money-weighted. It weights every stretch of time by how much of my money was actually exposed during it. It answers a different question: how did I do, given the specific dates on which I chose to invest?
Because they weight time differently, they legitimately differ, and the direction of the gap is informative. If most of my money went in just before a strong run, my money-weighted XIRR sits above the fund's time-weighted CAGR, because a lot of my capital caught the good stretch. If I loaded up right before a flat or falling patch, my XIRR trails the fund's CAGR, because a lot of my capital sat through the weak stretch. Same fund, same period, different personal result.
So when my XIRR comes in below the fund's advertised CAGR, my first assumption is no longer that the fund let me down. Almost always it is my buy timing, not the fund, that explains the gap: I added more before periods that turned out flat. To reconcile the two, keep their jobs separate. Use the fund's CAGR, the time-weighted number, to judge the fund. Use your XIRR, the money-weighted number, to judge your own outcome. Neither is the "real" return. They are answers to two different questions, and expecting them to match is the mistake.
Which number should I look at?
Once the units clicked, most of my day-to-day reading came down to a lookup. Here is the table I effectively run in my head now.
| Situation | Number to trust | Why |
|---|---|---|
| Single lumpsum held more than a year | CAGR (equals XIRR here) | One flow in, one value out, so the annual rate is exact and comparable |
| Single lumpsum held under a year | Absolute return | Stretching a few months into a yearly rate exaggerates it; the raw gain is honest |
| Active SIP | XIRR | Absolute return counts every rupee as fully invested and understates the annual pace |
| Staggered buys or multiple top-ups | XIRR | Only a money-weighted rate can weight each dated flow correctly |
| Whole portfolio across many funds | One portfolio XIRR | No single absolute return exists once money flows in and out on different dates |
| Comparing two funds you held | CAGR or XIRR per holding | Never rank by raw absolute return over different periods (see Example C) |
| Judging a fund itself, not your outcome | The fund's CAGR / time-weighted return | It strips out your deposit timing so you see the fund, not your entries |
| Any holding under one year | Absolute return, not an annualised rate | A short annualised number is inflated and misleading |
The mistakes I have actually made or watched others make
- Comparing two absolute returns over different periods. 50 percent in 3 years beats 50 percent in 5 years, but the raw number hides it (see Example C).
- Treating a SIP's absolute return as if it were the annual rate. My 8.33 percent was not "8 percent a year". It was about 15.7 percent a year.
- Assuming a big cumulative SIP gain means a big annual rate. Doubling over a decade is about 13 percent a year, not "100 percent".
- Ignoring the timing of top-ups and withdrawals. A large top-up right before a rally, or a redemption right before one, moves your XIRR a lot even when the fund's own return is unchanged.
- Comparing my personal XIRR to the fund's advertised CAGR and blaming the fund, when the gap is really my buy timing. As the previous section explains, money-weighted and time-weighted numbers answer different questions and routinely differ.
How to compute XIRR yourself in five minutes
You do not need special software. In Excel or Google Sheets:
- In one column, list every cash flow. Each investment is a negative number, and your current portfolio value is a positive number on the valuation date.
- In the next column, put the date of each cash flow.
- In an empty cell type
=XIRR(values, dates).
For Example B, twelve entries of -10,000 on the 1st of each month plus one entry of +1,30,000 on the valuation date returns about 15.7 percent. Microsoft's Excel documentation and Google's Sheets help describe the same function with the same argument order.
A note on what your platform shows: Indian mutual fund apps and brokers typically display CAGR for periods of one year or more and absolute return for periods under one year, and separately your personal XIRR built from your own transaction history. Your XIRR differing from the fund's headline CAGR is normal, for the money-weighted versus time-weighted reason above.
How to sanity-check the XIRR your app or broker shows you
An automated number is only as good as the transactions behind it, so before I trust any XIRR a platform hands me, I run three quick checks.
First, does it use all my real transaction dates? A correct XIRR needs every dated flow: each SIP instalment, every manual top-up, every switch between funds, every redemption, and any payout I took rather than reinvested. If a tool quietly collapses all of that into a single "total invested" on one assumed date, the rate it prints is not my XIRR, it is a guess. The way I now read my statement, the first thing I look for is whether the underlying transaction list is complete.
Second, does total invested and current value tie out to my statement? I cross-check the app's "amount invested" and "current value" against my consolidated account statement or the AMC's own figures. If those two inputs do not match my statement, the XIRR built on them cannot be right no matter how precise it looks. Wrong inputs, wrong rate.
Third, is a sub-one-year number being annualised and therefore inflated? If a holding is only a few months old and the app still shows a big annualised percentage, treat it with suspicion. A 5 percent gain over two months, stretched to a yearly rate, looks like something in the thirties and means very little. For anything under a year I read the absolute return and ignore the annualised figure entirely.
If all three check out, the transaction dates are complete, the totals reconcile, and no short holding is being annualised, then the XIRR on screen is one I am willing to act on.
The tax angle (as of FY 2025-26)
Everything above is a pre-tax view. What actually reaches my account is post-tax, and I can compute either absolute return or XIRR on an after-tax basis by using the net-of-tax redemption amount as the positive cash flow.
For equity funds, as of FY 2025-26 and for sales on or after 23 July 2024:
| Holding period | Tax on gains |
|---|---|
| 12 months or less (STCG) | 20% |
| More than 12 months (LTCG) | 12.5% on gains above ₹1.25 lakh per year |
A quick post-tax pass on the lumpsum
Take Example A again: ₹1,00,000 grew to ₹1,50,000 over three years, a ₹50,000 long-term gain. As of FY 2025-26 the long-term capital gains exemption on equity is ₹1.25 lakh per year, and this ₹50,000 gain sits comfortably under it, so it is untaxed. Nothing is deducted, the positive cash flow stays ₹1,50,000, and the post-tax XIRR is identical to the pre-tax one: about 14.47 percent per year. Here the tax angle changes nothing.
It stops being free the moment the gain clears the exemption. Suppose, illustratively, the same ₹1,00,000 had instead grown to ₹3,00,000 over three years. The ₹2,00,000 gain is long-term, the first ₹1.25 lakh is exempt, and the remaining ₹75,000 is taxed at 12.5 percent, which is ₹9,375. Now I redeem ₹3,00,000, hand over ₹9,375, and keep ₹2,90,625. To get the post-tax XIRR I feed ₹2,90,625, not ₹3,00,000, as the positive cash flow on the redemption date. A smaller amount coming back at the same time can only pull the annual rate down, so the post-tax XIRR lands a little below the pre-tax figure. The larger the taxable slice above the exemption, the wider that gap grows.
The subtle part for SIP investors: every instalment starts its own holding-period clock, and units are sold first in, first out. So one "sell all" can be part short-term and part long-term at the same time. Tracking that by hand across dozens of instalments is exactly the bookkeeping that argues for an automated tracker.
Where StockIQ fits
I maintained the cash-flow spreadsheet by hand for years. StockIQ now computes XIRR across my whole portfolio automatically from imported transactions, so the money-weighted number for every fund and for the account as a whole is simply there, already accounting for each SIP date and every top-up, with no spreadsheet to babysit.
A quick trust note: this is educational and general in nature, not personalized financial or tax advice. Check specifics with a registered adviser or the current rules before you act.
Sources
- SEBI, mutual fund disclosure norms: https://www.sebi.gov.in
- AMFI, fund performance and guidance: https://www.amfiindia.com/otherdata/fund-performance
- Income Tax Department, India, capital gains: https://www.incometaxindia.gov.in/w/capital-gain
- Microsoft, Excel XIRR function: https://support.microsoft.com/en-us/excel/functions/xirr-function
- Google Docs Editors Help, XIRR: https://support.google.com/docs/answer/3093266
Track your portfolio the smart way
StockIQ imports from any Indian broker, computes XIRR across your whole portfolio, and plans your LTCG/STCG capital-gains tax in minutes. Start free.