Two ways to measure investment performance. Time-weighted strips out contribution timing (used by mutual funds). Money-weighted includes it (XIRR — what you actually earned). When to use each.
TWR = Product of (1 + sub-period return) − 1 | MWR (XIRR) = rate where NPV of all cash flows = 0
Time-weighted return (TWR) measures how well the investment itself performed, ignoring your deposit/withdrawal timing. Money-weighted return (MWR/XIRR) measures YOUR actual return, including the impact of when you added or removed money. Mutual funds report TWR; your personal portfolio's actual return is MWR.
Returns of +20%, −10%, +15% averaged as '8.33% per year' overstates actual compounding. Use TWR or CAGR instead.
Fix: Always compound returns: (1+r1) × (1+r2) × ... − 1. Or use CAGR = (End/Start)^(1/years) − 1.
CAGR assumes a single lump sum. For 401(k)s, brokerages with periodic buys, or any account with cash flows, CAGR gives wrong answers.
Fix: Use XIRR (Excel function) or Google Sheets' XIRR. It accounts for each cash flow's timing. Most modern investment tracking apps (Personal Capital, M1, Fidelity) compute XIRR automatically.
A fund with 10% TWR might give an investor only 7% MWR if they bought high and sold low. TWR measures the fund; MWR measures you.
Fix: Use TWR to evaluate fund selection. Use MWR (XIRR) to evaluate your own timing and decisions.
XIRR calculates the internal rate of return for a series of cash flows that aren't necessarily periodic. Syntax: =XIRR(values, dates, [guess]). Values are your cash flows (negative for money out, positive for money in); dates are when each happened. Returns the annualized rate of return.
MWR (XIRR) for personal portfolios because your actual return depends on when you added/removed money. TWR is better for fund comparison because it removes the impact of cash flow timing.
Export transaction history (CSV) with dates and amounts. In Google Sheets, list each transaction: negative for buys, positive for sells/dividends. Add a final row with current balance (positive). Apply =XIRR(A:A, B:B) where A is amounts and B is dates.
See your exact investment return with our free calculator — handles dividends, taxes, and contributions.