XIRR & TWR: your real returns explained
Two lenses on the same portfolio: what you earned, and how good your strategy is.
Money-Weighted Return (XIRR)
XIRR (Extended Internal Rate of Return) is your annualised return accounting for when you invested. It uses the algorithm XIRR() (Newton-Raphson iteration on your actual cash flows) to find the single discount rate that makes the net present value of all flows equal to zero.
In plain terms: if you deposited £10,000 at a market peak and £10,000 at a trough, XIRR reflects the timing of both. Your return is a function of your money and your timing.
Worked example
| Date | Event | Amount |
|---|---|---|
| Jan 2023 | Deposit | −£10,000 |
| Jul 2023 | Deposit | −£5,000 |
| Dec 2023 | Portfolio value | +£17,200 |
XIRR solves for the rate r such that: −10,000 / (1+r)^0 − 5,000 / (1+r)^0.5 + 17,200 / (1+r)^1 = 0. Result: approximately 17.8% annualised.
Time-Weighted Return (TWR)
TWR strips out the effect of your deposit and withdrawal timing. It chains sub-period returns together (each period ending when a cash flow occurs) and compounds them. The result answers: "How well did the strategy perform, regardless of when I put money in?"
TWR is the standard metric fund managers report. It lets you compare your strategy's performance against a benchmark index on equal terms.
Use XIRR when asking…
- "What did I actually earn?"
- "Did I make money overall?"
- "What's my actual return on the cash I invested?"
Use TWR when asking…
- "Is my strategy beating the index?"
- "How good a stock picker am I?"
- "Should I just buy an index fund instead?"
Gap charts & benchmarks
Omnicogi plots your portfolio return alongside benchmark indices over the same period, for example:
- FTSE 100: large-cap UK equities
- S&P 500: large-cap US equities (in GBP)
- MSCI World: global developed-market equities
The "gap" is the difference between your return and the benchmark. A positive gap means you outperformed. A negative gap means an index fund would have done better: useful information for deciding whether active stock picking is worth the effort.
When metrics show as unreliable
XIRR and TWR require complete transaction data. If your ledger is missing a deposit, a dividend, or a corporate action, the calculation is based on incomplete inputs. Omnicogi surfaces this with a reliability badge on each metric:
- Reliable: at least one reconciled snapshot and no known data gaps.
- Caveated: minor gaps (e.g. a single unresolved ticker) that may affect the result slightly.
- Unreliable: significant missing data (no snapshot, large unmatched cash flows).
Adding a reconciled snapshot (see the Snapshots guide) is the fastest way to move from Unreliable to Reliable.
On this page
- Money-Weighted Return (XIRR)
- Time-Weighted Return (TWR)
- Gap charts & benchmarks
- When metrics are unreliable
Related guides
Related tools