XIRR vs CAGR vs absolute return
Three numbers, three different questions. Using the wrong one can make a mediocre investment look brilliant, or the other way round.
Absolute return: "how much did I make in total?"
Absolute return = (current value - amount invested) ÷ amount invested.
Invest ₹1,00,000 and see it grow to ₹1,50,000, and your absolute return is 50%. It is simple and honest about the total, but it ignores time. 50% in two years is excellent; 50% over ten years is about 4% a year, less than a fixed deposit.
Use it for: short holding periods (under a year), or a quick sense of total profit.
CAGR: "what yearly rate would produce this?"
CAGR = (ending value ÷ starting value)1 / years - 1.
For the same ₹1,00,000 becoming ₹1,50,000 over 5 years, CAGR = 1.50.2 - 1 ≈ 8.4% a year. CAGR smooths the ride into a single yearly rate, which makes it perfect for comparing a lump-sum investment with an index or another fund.
The catch: CAGR assumes one investment at the start and nothing added or withdrawn after. The moment you run a SIP, top up, or partly sell, CAGR stops describing your experience.
XIRR: "what did my money actually earn?"
XIRR (extended internal rate of return) finds the single yearly rate that, applied to every cash flow on its own date, makes all those flows add up to your current value. Each rupee is credited only for the time it was actually invested.
Example: a ₹10,000 monthly SIP for 3 years. You put in ₹3,60,000 and the portfolio is now worth ₹4,40,000.
- Absolute return: 22.2%. It looks modest.
- "CAGR" over 3 years using total invested: about 6.9%. This is wrong, because most of the money was invested for far less than 3 years.
- XIRR: roughly 13% a year. The first instalment worked for 3 years; the last one for a month. XIRR accounts for that.
Use it for: SIPs, portfolios with top-ups and partial sales, and anything held across many years with irregular cash flows. It is also the number mutual fund statements now show.
Which one when?
| Situation | Best measure |
|---|---|
| Held less than a year | Absolute return |
| Single lump sum, no additions | CAGR (equals XIRR here) |
| SIP, top-ups or partial sells | XIRR |
| Comparing a fund with its benchmark | CAGR for the same period, or rolling returns |
| Your whole portfolio | XIRR |
Traps to watch for
- Annualising short periods. A 5% gain in one month annualises to about 80% a year. XIRR on very short periods is noise; look at absolute return instead.
- Counting new money as return. If your portfolio grew from ₹10 lakh to ₹12 lakh because you added ₹2 lakh, your return is zero. Any good tracker, including Vitta-Kosh, subtracts new money before reporting day-to-day change.
- Missing cash flows. XIRR is only as good as the dates and amounts you record. If you import holdings without purchase dates, the calculation has to assume a date, and the result is an estimate.
- Ignoring dividends. Dividends paid out are cash flows back to you. Leaving them out understates your return.
Calculating XIRR yourself in a spreadsheet
Excel, Google Sheets and LibreOffice all have an XIRR function. Put the dates in one column and the amounts in the next:
- Enter every investment as a negative amount on the date it was made (money leaving your pocket).
- Enter every withdrawal, sale or dividend received as a positive amount on its date.
- On the last row, enter today's date and the current value of the investment as a positive amount.
- Use
=XIRR(amounts, dates). Format the result as a percentage.
If the function returns an error, check that there is at least one negative and one positive value and that every date is a real date, not text.
The bottom line
For your overall portfolio, look at XIRR. For comparing a single fund against its index, look at CAGR over the same period. Use absolute return only for short holdings or to see total profit in rupees.
Across stocks and funds from every broker, compared with NIFTY 50.