Investment Calculators

XIRR Explained: Dates, Leap Years and Multiple Returns

Learn how dated cash flows determine XIRR. Verify actual/365 examples, handle contributions and terminal value, and understand multiple roots and solver limits.

Published:
Updated:
Reviewed:

Editorial dates are calendar dates in India Standard Time.

Keywords

  • XIRR
  • dated cash flows
  • irregular investment return
  • actual/365
  • leap year XIRR
  • multiple XIRR

Measure the return of dated money movements

An investment rarely receives every contribution exactly one year apart. XIRR measures a money-weighted annual return using the dates and signed amounts of the flows you actually include. It finds an annual discount rate that makes their combined present value zero. It does not predict a future return, value a business independently or decide whether an investment suits you.

The dates matter as much as the amounts. A receipt after six months and the same receipt after two years have different annualized implications. First define the investment boundary and observation period, then choose the method; do not choose a method because its percentage looks attractive.

Cash-flow signs, terminal value and the date anchor

Use negative amounts for money paid into the measured investment and positive amounts for money received. Additional contributions are negative; withdrawals and sale proceeds are positive. Keep a consistent investor perspective. Reversing every sign preserves the roots while reversing the economic direction.

For a holding still owned at the measurement date, a defensible ending valuation can be entered as a hypothetical receipt on that date. This is a valuation assumption, not an actual withdrawal. Do not include both full sale proceeds and the same terminal value. A starting holding also needs a consistent initial valuation and date. XIRR cannot reconstruct missing history.

This tool anchors at the earliest entered date, sorts dates and combines all amounts on the same date exactly. The normalized table shows the resulting net flows, including zero-net dates. Changing the anchor multiplies XNPV by a positive factor for admissible rates and therefore does not change the root set.

Recurring contributions and dated project receipts

Use dated flows for a series of contributions, distributions, project costs or realized receipts whose intervals are unequal. A systematic investment plan is one possible input pattern, but this is not a special SIP forecasting model. Enter the real dates and amounts, including withdrawals, then a clearly identified ending value if needed.

Keep actual transactions distinct from forecasts in your records. Fees or taxes paid outside the recorded account need an explicit consistent treatment; the calculator does not find them automatically. Do not mix whole-project cash flows with equity-only cash flows, or gross amounts with net amounts, without understanding the changed question.

Actual days divided by 365

For each date, count elapsed Gregorian calendar days from the earliest date. Divide that integer by 365 and use it as the discount exponent. A leap day increases the numerator; it does not change the denominator to 366. The result is already annual, unlike an IRR labelled per month or per unspecified period.

A chronological net-flow sequence with one sign change has exactly one admissible root. The implementation uses an 80-digit log-growth variable and a strictly monotone log-sum-exp balance, with bounded bisection and a normalized residual check. Two nonzero dated terms have a direct logarithmic solution. A numerical convergence failure remains inconclusive, even though uniqueness is known mathematically.

For more than one sign change, integer day offsets are divided by their greatest common divisor g. With x=(1+r)^(-g/365), XNPV becomes a polynomial. Only reduced degree at most 24 is supported for complete exact root counting. The inherited integer/Sturm solver isolates every positive root before annual conversion and flags repeated roots. Higher-degree mixed-sign schedules return inconclusive, not one guessed XIRR.

Formula
XNPV(r) = Σ C_i / (1+r)^((d_i−d_0)/365) = 0; displayed XIRR (%) = 100r
  • C_i is signed money; d_i−d_0 is an integer Gregorian day difference.
  • Only finite real annual rates greater than −100% are mathematically admissible. The tool has a narrower explicit reporting range.
  • The market selector changes formatting only; day counts and the equation remain identical.

Verify a 365-day gain and a leap-year difference

Pay 100 on 2023-01-01 and receive 110 on 2024-01-01. The gap is 365 days. Solve −100+110/(1+r)=0, giving r=0.10 and a 10% annual XIRR. Substituting 1.1 into the equation verifies zero XNPV.

Move the same amounts to 2024-01-01 and 2025-01-01. The gap becomes 366 days. The annual rate is (1.1^(365/366)−1)×100, approximately 9.971359% rather than 10%. This difference comes from the stated actual/365 convention, not a different monetary profit.

Dates 2021-01-01, 2022-01-01 and 2023-01-01 are spaced 365 days apart. Flows −100,+230,−132 have two annual roots, 10% and 20%. Both make XNPV zero. Replacing the amounts by −100,+200,−100 produces a repeated 0% root; −100,+50,−100 has no real root. Mixed signs alone do not guarantee an answer.

For genuinely irregular dates, the independently reproduced Microsoft example uses −10000 on 2008-01-01, +2750 on 2008-03-01, +4250 on 2008-10-30, +3250 on 2009-02-15 and +2750 on 2009-04-01. Its annual XIRR is approximately 37.336253%. The example is not an investment recommendation.

  1. Enter the two ISO dates and signed amounts for the 365-day example.
  2. Confirm the normalized table shows day offsets 0 and 365.
  3. Solve 110/100=1+r and obtain 10%.
  4. Load the leap-year example and confirm the table instead shows 366 days.
  5. For nonconventional schedules, inspect the full result category and root count before interpreting any percentage.

Enter dates without locale ambiguity

The editor begins with empty rows. Enter every date and amount; a blank is not zero. The native date picker may display a local format, but its value is YYYY-MM-DD. Amounts use an ungrouped decimal point, not commas, currency symbols or scientific notation. Add or remove the last row as required, up to 25 rows.

Calculate loads the local worker on first use. Read the normalized sorted schedule and its same-day aggregation warnings. Input order remains visible in the editor. Editing or clearing invalidates active work, and stale responses cannot replace a newer scenario. Cancel stops active solving. Display precision does not increase the accuracy of your financial evidence.

The worker can calculate offline after its code has loaded. Financial dates and amounts stay in browser memory; the application does not submit them, put them in URLs or persist them to storage. Clear values removes the current scenario. Theme preference is separate from financial data.

Distinguish roots, no root and inconclusive

One root is a mathematical result conditional on the supplied amounts, dates and supported method. Several roots mean there is no unique XIRR, and the highest one is not designated the correct answer. Repeated roots describe algebraic multiplicity and may not change the sign of XNPV when crossed.

No root is returned only when the same-sign argument or exact supported polynomial count proves it. Inconclusive means a resource limit, unsupported reduced degree, worker failure, residual check or reporting-boundary uncertainty prevented a safe answer. Outside range means at least one root is beyond the explicit annual reporting limits; the tool withholds the whole list rather than hiding that root.

All same-day net amounts cancelling, or every net amount being zero, makes the problem indeterminate: every admissible rate gives zero XNPV. A single nonzero same-date net amount has no root. A 0% XIRR must therefore be distinguished from all-zero data.

One currency, one perspective, a stated valuation

Choose one currency measurement basis before entering a cross-border investment. The USA/USD, UK/GBP, Canada/CAD, Australia/AUD and India/INR options format money and dates; they do not fetch exchange rates, convert transactions or apply tax law. Historical exchange rates and valuation assumptions can materially change the measured cash flows.

This is a money-weighted return: the timing and size of investor contributions affect it. It is not a time-weighted manager-performance measure. It does not simulate reinvestment, inflation, future distributions or a cost of capital. A mathematically high rate can coexist with small cash profit, high risk or unreliable valuations.

Calendar, numeric and all-root limits

Supported dates are 1900-01-01 through 2100-12-31, using real Gregorian calendar dates. Impossible dates, ambiguous slash formats and date-time strings are rejected. The fictitious spreadsheet date 1900-02-29 is not supported. Integer UTC calendar-day arithmetic makes the result independent of time zone and daylight saving transitions.

Enter 2–25 rows with at most 32 characters and 8 fractional places per amount; each absolute amount is at most 10^10. Same-day aggregation is exact within the declared precision. Extremely short holding periods can produce extreme annualization and should not be mistaken for a forecast.

The open reporting interval is greater than −99.9999999999% and less than 100000000% annually. Rates outside it are not clipped; proximity too close to classify is inconclusive. Conventional refinement has at most 256 iterations and a normalized XNPV residual tolerance of 10^−24. Nonconventional reduced degree must be at most 24; the reused exact solver has 200000 counted operations, monitored 8192-bit integers and 4096 subdivisions. A five-second worker deadline applies to both methods.

Extended polynomial refinement uses 10^−22 percentage-point width, 10^−28 relative discount-factor width and 10^−24 near-zero rate resolution before 80-digit annual conversion. These are numerical safeguards, not a formal proof of floating-point error bounds or independent professional financial review. A failed limit returns no partial rate list. Very close rates can display alike at two decimal places; the root count remains visible. Annual conversion checks the entire isolating interval, not only its midpoint. The nonconventional method requires log-interval width at most 10^−24 and uses a conservative 10^−24 log-growth guard near reporting boundaries; uncertainty withholds the whole list.

Avoid misleading annualization and missing flows

Do not substitute an ending account balance for profit while also counting it as sale proceeds. Include contributions with negative signs and withdrawals with positive signs, and choose a consistent observation window. Combining duplicate dates is legitimate; silently moving a receipt to an earlier date changes the equation.

A 10% gain in a very short interval is not a promise that the same gain can be repeated throughout a year. XIRR annualizes a historical or hypothetical dated stream. Missing dates, rounded valuations and omitted expenses can dominate the numerical solver precision.

Do not interpret a spreadsheet error as proof of no solution, or one converged guess as proof of uniqueness. Also do not assume that a leap-year anniversary must produce the same annual XIRR as a 365-day anniversary under actual/365.

XIRR versus IRR, CAGR and ROI

IRR uses equal periods. XIRR uses actual dates and an explicit annual day-count convention. Even annually labelled dates can be separated by 366 rather than 365 days, so equal-period IRR is not always identical to actual/365 XIRR. See the dedicated IRR guide for period labels and exact root-counting examples.

CAGR is useful for suitable beginning and ending valuations with no intervening external flows under its assumptions. Additional contributions require care: an endpoint growth ratio can confuse invested capital with performance. ROI compares aggregate profit with a defined cost denominator and ignores timing; Absolute Return measures an endpoint percentage change.

XNPV at a chosen discount rate asks a different question from solving for XIRR. This tool does not choose a required return or rank mutually exclusive projects. Assess scale, timing, risk, available capital and alternatives alongside the result.

Local presentation without invented tax rules

The same English tool and guide serve the USA, UK, Canada, Australia and India. Dates in results follow the chosen market display while retaining ISO date attributes and integer day offsets. INR uses Indian currency grouping. Input values remain ungrouped decimals, regardless of display locale.

The equation does not determine capital-gains tax, pension treatment, local reporting obligations or legal classifications. Consult applicable official guidance or a qualified adviser for those questions. No country-specific tax claim or duplicate regional landing page is created merely to target a keyword.

Sources and review boundaries

Microsoft documents XIRR with actual/365 dates and a guess-based solver; MathWorks documents dated-return conventions and options. This tool deliberately normalizes unordered and duplicate dates and does not promise identical spreadsheet parsing, first-date restrictions, guess selection or convergence. The university source supports the sign-change rule used in the uniqueness argument.

Independent Python datetime, exact fractions, 100-digit mpmath and SymPy reference calculations cross-check selected cases without importing application mathematics. They are evidence, not formal verification or professional certification. The Capital Intelligence provides educational tools and does not provide personalized investment advice. Editorial responsibility and AI assistance are disclosed below.

Companion calculator

Put the method into practice.

Open XIRR Calculator

Frequently asked questions

Why can Excel XIRR and this calculator differ?
Compare dates, actual/365 basis, cash-flow signs, normalization, admissible range and solver behavior. This tool sorts and aggregates dates and refuses unsupported all-root cases; it does not reproduce every spreadsheet guess or parsing convention.
Is XIRR the same as a time-weighted return?
No. XIRR is money-weighted, so contribution and withdrawal timing affects it. It does not remove the influence of external flows to isolate manager performance.
Can a same-day investment and repayment have an annual XIRR?
If they cancel exactly and there are no other nonzero net flows, every admissible rate satisfies the equation and the result is indeterminate. If the same-day net amount is nonzero, no rate can discount it to zero.
Does changing the anchor date change the rates?
For admissible rates, changing the anchor multiplies XNPV by a positive common factor and preserves its zeros. This editor consistently uses the earliest entered date and shows it.
Does a high XIRR mean I should invest?
No. Annualization, forecast quality, scale, costs, risk and alternatives matter. Multiple roots may make a single-rate comparison ambiguous. The calculator supplies no personalized investment recommendation.

Sources and review

Sources reviewed . Consult current local rules before relying on time-sensitive information.

Continue learning

Find a financial tool