Updated 30 September 2026
Why does simple return mislead?
Simple return compares what you have with what you put in:
It ignores time. A 20% gain over one year and a 20% gain over ten years look the same. It also ignores when the money went in. If you invested $10,000 five years ago and another $50,000 last month, most of your "invested" money has barely had time to do anything, and a simple return will make your portfolio look worse than it is. The reverse also happens: a big withdrawal can flatter it.
Dividing a simple return by the number of years doesn't fix it either, because returns compound.
What's the difference between CAGR, XIRR and TWR?
CAGR: compound annual growth rate
CAGR is correct only when there are no deposits or withdrawals between the start and the end. It's the right tool for a single lump sum, or for describing how an index or a share price grew.
XIRR: money-weighted return
XIRR (extended internal rate of return) finds the single annual rate that, applied to every deposit and withdrawal on its actual date, would produce your ending value. Because it follows your actual cash flows, it's a money-weighted return: periods when you had more money invested count for more. It answers the question "how did my money do?"
TWR: time-weighted return
Time-weighted return splits the period at every deposit or withdrawal, calculates the growth of each sub-period, and chains them together. Cash-flow timing drops out entirely. It answers "how did the investments do?", which is why fund managers report it: they don't control when clients add money. It needs a valuation on every cash-flow date, so it's hard to compute by hand.
A worked example
An illustrative investor (any currency):
| Date | Event | Cash flow | Portfolio value after |
|---|---|---|---|
| 1 Jan 2023 | Invest | −10,000 | 10,000 |
| 1 Jan 2025 | Value before deposit | 12,100 | |
| 1 Jan 2025 | Invest more | −10,000 | 22,100 |
| 1 Jan 2026 | Value today | +23,000 | 23,000 |
The four measures give four different answers:
| Measure | Calculation | Result |
|---|---|---|
| Simple return | (23,000 − 20,000) ÷ 20,000 | 15% in total |
| Naive "per year" | 15% ÷ 3 years | 5% a year (wrong) |
| Time-weighted, annualised | (1.21 × 23,000 ÷ 22,100)^(1/3) − 1 | about 8.0% a year |
| XIRR (money-weighted) | Rate that solves the cash flows | about 7.1% a year |
The investments earned 10% a year for two years, then about 4% in the third. TWR reports that honestly: about 8% a year. XIRR is lower, 7.1%, because the investor had twice as much money in during the weaker third year. Neither is wrong. They answer different questions. Your own experience, the growth of your actual dollars, is the XIRR figure.
Check your own numbers with the annualised return calculator.
How do you calculate XIRR in a spreadsheet?
Excel, Google Sheets and LibreOffice Calc all have an XIRR function. Put each cash flow in one column and its date in the next:
A B 1 Amount Date 2 -10000 2023-01-01 3 -10000 2025-01-01 4 23000 2026-01-01 =XIRR(A2:A4, B2:B4) → 0.0711 (7.1%)
The rules that trip people up:
- Signs: money you put in is negative; money you take out is positive. The final row is today's value as if you sold everything, positive.
- At least one of each: XIRR needs at least one negative and one positive value, or it returns an error.
- Dividends: if dividends are reinvested, don't list them; they are already in the value. If they are paid out to your bank account, list them as positive flows on the date received.
- Fees: fees paid from inside the account are already reflected in the value. Fees you paid from outside count as money in.
- Real dates: use actual dates, not month numbers. XIRR counts days.
Which return should you use?
- Your own portfolio, with regular contributions: XIRR. It reflects your decisions, including when you added money.
- Comparing with a fund or index: TWR is closer to what funds publish. Comparing your XIRR to a fund's TWR is not apples to apples.
- A single lump sum, no flows: CAGR. All three give the same answer in that case.
What are the common pitfalls?
- Annualising short periods. A 5% gain over one month "annualises" to about 80%. Treat anything under a year with suspicion.
- Leaving out income. Dividends and interest paid out are part of your return. Price-only return understates it.
- Mixing internal transfers with contributions. Moving money between two of your own accounts isn't a deposit into your portfolio as a whole.
- Currency. Calculate in the currency you'll spend. A foreign ETF can be up in its own currency and flat in yours.
Getting XIRR without the spreadsheet
Keeping the cash-flow column accurate for years is the hard part. Worthbase keeps every buy, sell, dividend, fee and transfer from your statements, so you can ask Claude or ChatGPT "what's my annualised return on the brokerage account since 2022?" and get an answer computed by the server, not guessed by the AI. Worthbase reports total return (capital gain plus income, less fees) and XIRR over external cash flows, for one holding, an asset class, a person or the whole household. It does not report time-weighted return. Past returns don't predict future ones, and none of this is financial advice.
Questions
Is XIRR the same as IRR?
XIRR is IRR for cash flows on irregular dates. Spreadsheet IRR assumes equal periods between flows; XIRR uses the actual dates, which is what personal investing needs.
Why is my XIRR different from my broker's return?
Brokers often show time-weighted return, simple return, or price-only return that excludes dividends paid out. Check which measure they use and whether it includes income and fees.
Can XIRR be negative?
Yes. If your ending value plus withdrawals is less than you put in, adjusted for timing, the rate is negative.
What is a good annualised return?
It depends on the asset mix, the currency and the period. Compare with a benchmark that matches your mix over the same dates rather than a single headline number.