Why do it yourself
Your account statement prints an XIRR for every SIP. So do the fund house's app and every portfolio tracker. They do not always agree, and when they don't, the quickest way to find out who is right is to rebuild the number yourself from the raw cash flows. It takes a dozen rows and one function.
This is a worked example on real NAVs, with the mistakes that make the answer go wrong. For what XIRR is and how it differs from CAGR and absolute return, read Absolute return, CAGR and XIRR first. This post covers how to calculate it.
The example SIP
The fund is the UTI Nifty 50 Index Fund, Direct Growth, one of the large index funds from UTI Mutual Fund. It is a plain choice: it tracks the Nifty 50, so the result says something about the market rather than about a manager. It is not a recommendation.
The SIP is ₹10,000 a month on the 5th, twelve instalments from October 2025 to September 2026. When the 5th was a weekend or a market holiday, the units were bought at the next business day's NAV, which is how the fund allots them (see cut-off timings and unit allotment). The holding is valued at the NAV of Friday 9 October 2026, ₹158.5759.
| Date | NAV (₹) | Amount (₹) | Units bought |
|---|---|---|---|
| 6 Oct 2025 | 174.9961 | 10,000 | 57.1441 |
| 6 Nov 2025 | 178.1603 | 10,000 | 56.1292 |
| 5 Dec 2025 | 182.9773 | 10,000 | 54.6516 |
| 5 Jan 2026 | 183.3876 | 10,000 | 54.5293 |
| 5 Feb 2026 | 179.2369 | 10,000 | 55.7921 |
| 5 Mar 2026 | 173.1538 | 10,000 | 57.7521 |
| 6 Apr 2026 | 160.5573 | 10,000 | 62.2831 |
| 5 May 2026 | 168.0127 | 10,000 | 59.5193 |
| 5 Jun 2026 | 163.6713 | 10,000 | 61.0981 |
| 6 Jul 2026 | 171.6185 | 10,000 | 58.2688 |
| 5 Aug 2026 | 173.3618 | 10,000 | 57.6828 |
| 7 Sep 2026 | 167.4764 | 10,000 | 59.7099 |
| Total | 1,20,000 | 694.5604 |
694.5604 units at ₹158.5759 are worth ₹1,10,141. You put in ₹1,20,000, so the position is down ₹9,859, an absolute return of -8.22%.
Build the cash-flow table
Open a blank sheet. Two columns, thirteen rows.
- Column A, dates. Type each instalment date as a real date (
06-10-2025), not as text. If Excel left-aligns it, it is text and the formula will fail. - Column B, amounts. Every instalment goes in as negative:
-10000. Money leaving your bank account is a cash outflow. - Row 14, the closing value. Today's date (or the valuation date), and the current value as a positive number:
110141. This row stands in for selling everything. Without it there is nothing to measure the outflows against. - The formula. In any empty cell:
=XIRR(B2:B14, A2:A14). Format the cell as a percentage.
Excel returns -14.56%. Google Sheets and LibreOffice use the same function and give the same answer. Our XIRR calculator gives -14.57%, because it counts a year as 365.25 days and Excel counts 365. That second-decimal difference is all you should expect between two correct tools.
Why -14.56% and not -8.22%
The two numbers measure different things. The -8.22% is the loss on the money, with no reference to time. XIRR is an annual rate, and it weights every rupee by how long it was actually invested.
Here, the first ₹10,000 was invested for a full year, but the last ₹10,000 for only 32 days. On average, each rupee was in the fund for about 201 days, a little over half a year. Losing 8.2% in about half a year is a much faster rate of loss than losing 8.2% over a whole year, so the annualised figure is larger.
The fund's own one-year return to 9 October 2026 was -9.76%, a point-to-point figure for a single lump sum. A lump sum of ₹1.2 lakh on 6 October 2025 would be worth ₹1,08,740 now, down 9.38%. The SIP lost less in rupees because its later instalments bought cheaper units, and it shows a worse XIRR because its money was exposed for a shorter time. Both are true at once. Why your SIP return differs from the fund's return walks through the same gap in a rising market.
The mistakes that give nonsense answers
| Mistake | What you get |
|---|---|
| Instalments typed as positive, or the closing value left out | #NUM! (no sign change, no solution) |
| Dates stored as text | #VALUE! |
| Closing value dated a year late (2027 instead of 2026) | -5.38%: the loss is spread over an extra year |
| Treating ₹1.2 lakh as invested on day one (CAGR) | -8.15%: understates the rate, because most money went in later |
| Quoting the absolute return as "my annual return" | -8.22%: right number, wrong label |
A few more to watch:
- The first row must be the earliest date. Excel measures every other date from it, and a date before it returns
#NUM!. - Use the allotment date, not the debit date. A SIP debited on a Friday evening may be allotted on Monday. A day or two moves the second decimal place; across a long SIP it hardly matters, but it is the usual reason two trackers differ.
- Count the stamp duty. 0.005% of each purchase is deducted before units are allotted, so ₹10,000 buys ₹9,999.50 worth of units. Here it lowers the value to ₹1,10,135 and moves XIRR from -14.56% to -14.57%. Small, but it is why your statement's units never match a clean calculation.
- Don't annualise a month. XIRR on three instalments will turn a 2% move into a startling annual rate. Under a year, read the absolute return; past a year, the XIRR starts to mean something.
- Add redemptions as positive rows on their own dates, and reduce the closing value by what you sold. Leaving a withdrawal out makes the return look worse than it was.
A habit worth keeping
Download your consolidated account statement once a year and rebuild the table. It takes ten minutes and gives you a number you understand, rather than one you have to trust. If you want to see what the same SIP would have done in a different fund, the MF calculator backtests it on real NAVs and reports the XIRR, and the SIP calculator projects one forward at an assumed rate.
None of this is a view on the fund or on the market. One year of a Nifty 50 SIP that is currently under water says nothing about the next one; it is simply a clean set of cash flows to practise on.
Frequently asked questions
How do I calculate XIRR for a SIP in Excel?
Put each instalment date in column A and each amount in column B as a negative number, then add one last row with today's date and the current value of your units as a positive number. Then type =XIRR(B2:B14, A2:A14). Excel returns a decimal; format it as a percentage.
Why does Excel's XIRR show #NUM! for my SIP?
Usually because every amount has the same sign. XIRR needs at least one negative cash flow (money you paid in) and one positive one (money back, or the current value). Forgetting the current-value row, or typing the instalments as positive, gives #NUM!. Dates stored as text give #VALUE!.
Why is my SIP's XIRR worse than its absolute loss?
Because XIRR is annual and your money was not all invested for the full year. In our example, ₹1.2 lakh invested over 12 months lost 8.22%, but each rupee was invested for about 201 days on average, so the annual rate works out to -14.56%.
This is commentary on published data, not investment advice. WealthTicker is not a SEBI-registered adviser or distributor. Figures are as of the dates stated and can be revised by their source.
Keep reading
Car on EMI now, or invest the EMI and buy later?
Saving ₹2 lakh plus a ₹19,908 EMI at 7% buys a ₹10 lakh car in 42 months as its price rises 5% a year, leaving ₹1.35 lakh by month 48. The cost is the wait.
Interest-free home loan with a SIP: does the maths hold?
On ₹50 lakh at 8.5% for 20 years, a ₹5,419 SIP at 12% grows to the ₹54.1 lakh of interest. Earn 10% and it is ₹12.6 lakh short. What the idea assumes.
What a five-year delay costs a ₹10,000 monthly SIP
At 12% a year, starting a ₹10,000 SIP at 30 instead of 25 leaves ₹3.53 crore instead of ₹6.50 crore at 60. The sums at 8%, 10% and 12%, and the catch-up.
