How to Calculate Rate of Return (TWR vs MWR)

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.

The Formula

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.

When to Use Rate of Return

  • TWR: comparing fund managers or investment options
  • TWR: benchmarking against an index
  • MWR (XIRR): measuring your personal portfolio performance
  • MWR (XIRR): evaluating whether your investment choices beat a savings account

Worked Examples

Example 1: Fund with mixed annual returns

Given
  • Year 1 return: +20%
  • Year 2 return: −10%
  • Year 3 return: +15%
Calculation
  1. TWR = (1.20 × 0.90 × 1.15) − 1 = 1.242 − 1 = 0.242 = 24.2% total
  2. Or annualized: 1.242^(1/3) − 1 = 7.49% CAGR
  3. Simple average return: (20 − 10 + 15) / 3 = 8.33%
Result
TWR = 24.2% total (7.49% CAGR) — NOT 8.33% average
💡 The simple average (8.33%) is wrong because it doesn't account for compounding. TWR (7.49% CAGR) is the correct annualized figure. The difference grows with volatility.

Example 2: Your 401(k) with monthly contributions (MWR)

Given
  • Started January 2020: $10,000 balance
  • Added $500/month for 5 years: $30,000 contributions
  • Ending balance December 2024: $85,000
Calculation
  1. XIRR: rate r such that 10000 + Σ 500/(1+r)^t − 85000/(1+r)^5 = 0
  2. Iterative solution: r ≈ 11.2% per year
Result
Money-weighted return (XIRR) = 11.2% per year
💡 If you had calculated CAGR ($85K / $40K basis)^(1/5) − 1, you'd get ~16.3% — but that's wrong because CAGR ignores the timing of contributions. XIRR gives your true annualized return.

Common Pitfalls to Avoid

Pitfall 1: Using simple average instead of TWR

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.

Pitfall 2: Using CAGR for accounts with cash flows

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.

Pitfall 3: Comparing TWR to MWR

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.

Frequently Asked Questions

What is XIRR in Excel/Google Sheets?

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.

Is TWR or MWR better for personal portfolios?

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.

How do I get XIRR for my brokerage account?

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.

Apply This to Real Numbers

See your exact investment return with our free calculator — handles dividends, taxes, and contributions.