XIRR — the Extended Internal Rate of Return — is the number your mutual fund statement quotes when it wants to tell you the real annual return on a folio you’ve been adding to for years. It looks like magic: a single percentage that somehow accounts for every instalment landing on a different date. It isn’t magic, it’s one clean equation solved numerically. This guide opens it up so you can see exactly how the figure is produced and trust it.
The idea: every rupee is discounted by its own time
XIRR is built on present value. A rupee you receive in the future is worth less than a rupee today, because today’s rupee could be invested and grow. If the annual rate is r, then a cash flow C arriving t years from now is worth C ÷ (1 + r)^t in today’s money.
XIRR asks one question: at what rate r does the present value of everything you put in exactly equal the present value of everything you took out? At that rate, the investment “breaks even” in present-value terms, and r is your true annualised return.
The formula
Written out, XIRR is the rate r that solves:
NPV(r) = Σ Cᵢ ÷ (1 + r)^(dᵢ ÷ 365) = 0
where:
- Cᵢ is each cash flow — negative when you invest (money leaves you), positive when you receive money back.
- dᵢ is the number of days between cash flow i and the first cash flow.
- Dividing days by 365 converts the gap into years — this is the actual/365 day-count convention, the same one spreadsheets use.
Because the unknown r sits inside a power for every term, there’s no way to rearrange the equation and “solve for r” directly. It has to be found by iteration.
How the rate is actually found
A solver starts with a guess (say 10%), computes the NPV, and checks how far it is from zero. If the NPV is positive, the rate is too low; if negative, too high. It then refines the guess and repeats until the NPV is effectively zero.
Our XIRR calculator uses Newton-Raphson — a fast method that uses the slope of the NPV curve to leap toward the answer — and falls back to bisection (methodically halving a bracket known to contain the root) when the fast method would overshoot. The fallback matters for extreme cases such as a near-total loss, where Newton-Raphson can become unstable. If no rate can balance the flows at all, the calculator says so rather than printing a misleading number.
A full worked example
Take a simple staggered investment: ₹50,000 on 1 April for three years, then a full redemption of ₹2,00,000:
| Date | Days from first flow | dᵢ ÷ 365 (years) | Cash flow Cᵢ |
|---|---|---|---|
| 1 Apr 2022 | 0 | 0.000 | −₹50,000 |
| 1 Apr 2023 | 365 | 1.000 | −₹50,000 |
| 1 Apr 2024 | 731 | 2.003 | −₹50,000 |
| 1 Apr 2025 | 1,096 | 3.003 | +₹2,00,000 |
(The 731 and 1,096 day gaps include the 2024 leap day, which is exactly why XIRR counts actual days rather than assuming a tidy 365 each year.)
Plugging these into the NPV equation and solving gives XIRR ≈ 15.08%. You can verify the logic: at 15.08%, discount each inflow and outflow back to 1 April 2022 and the positives and negatives cancel to zero. You invested ₹1,50,000 and received ₹2,00,000 — a ₹50,000 gain — but because the later instalments were invested for only two and one years, the annualised rate that makes the maths balance is about 15%, well above the naïve “33% over three years.”
A second reference point
The textbook example, used in spreadsheet documentation, mixes inflows and outflows on irregular dates within a single year:
| Date | Cash flow |
|---|---|
| 1 Jan 2008 | −₹10,000 |
| 1 Mar 2008 | +₹2,750 |
| 30 Oct 2008 | +₹4,250 |
| 15 Feb 2009 | +₹3,250 |
| 1 Apr 2009 | +₹2,750 |
This solves to ≈ 37.34%, and our calculator reproduces it exactly — a good sanity check that the implementation matches the standard.
Practical use cases
- Your real SIP return. Feed in each monthly instalment as a negative flow and today’s folio value as one final positive flow to get the true annualised return.
- Lumpy, real-life investing. Top-ups after bonuses, a pause during a tight year, a partial withdrawal — XIRR handles all of it in one figure.
- Comparing dissimilar investments. Because XIRR normalises everything to an annual rate, you can line up a SIP against a one-time deposit on equal terms.
Common mistakes
- Missing the current value. A list of only investments has no XIRR. You must include what the holding is worth today (or the redemption amount) as a positive final flow.
- Wrong signs. Investments are negative, money received is positive. Flip them and the rate is meaningless.
- Treating it as guaranteed. XIRR is a historical measure of what happened. It does not predict future returns.
- Over-reading short periods. A redemption soon after investing can annualise to an absurdly high or low XIRR. The shorter the period, the noisier the number.
- Confusing it with CAGR. If your situation is genuinely one-in, one-out, CAGR is simpler and identical — see XIRR vs CAGR.
Key takeaways
- XIRR is the rate that sets the present value of all dated cash flows to zero.
- It discounts every flow by its own time gap, using actual days ÷ 365.
- There’s no closed form; it’s solved by iteration (Newton-Raphson with a bisection fallback).
- It needs at least one investment and one inflow to have a solution.
- It’s the right measure for SIPs and any staggered, real-world cash flow.
Frequently asked questions
What does XIRR stand for? Extended Internal Rate of Return. “Internal rate of return” is the break-even rate of a series of cash flows; “extended” means it works for flows on irregular dates rather than neat annual periods.
Why divide days by 365? To convert a gap measured in days into years, so the rate is expressed per annum. Using actual days (including leap days) is the actual/365 convention that spreadsheet XIRR functions use, which is why our results match Excel and Google Sheets.
Why can’t XIRR be solved with a formula? The unknown rate appears inside a different power for each cash flow, so the equation can’t be algebraically rearranged to isolate it. Iterative methods close in on the answer instead.
What if there’s no answer? If every cash flow has the same sign, or the flows simply can’t balance at any rate, no XIRR exists. A good calculator reports this clearly instead of showing a broken or infinite number.
How is this different from absolute return? Absolute return is the total percentage gain ignoring time. XIRR annualises it and accounts for when each rupee was invested, so two folios with the same absolute return can have very different XIRRs.
The figures above are illustrative and assume the cash flows shown. Market-linked returns are not guaranteed and past performance does not predict future results. This article is for education only and is not financial advice.