Performance Measurement and Attribution
This domain carries the heaviest weight on CIPM Level I. The exam tests whether you can compute a return correctly, pick the method that matches the decision being made, and then decompose an active return into the decisions that produced it.
Measuring the return
- Time-weighted return (TWR) neutralises external cash flows. It measures how the manager compounded a unit of money and is the standard for judging managerial skill.
- Money-weighted return (IRR) weights each period by the capital actually at risk, so it reflects the client's experience, including the timing of contributions.
- True TWR requires valuation at every large cash flow. Without daily valuation, Modified Dietz approximates the sub-period return: (V_E − V_B − CF) ÷ (V_B + Σw_iCF_i), where w_i = (D − d_i) ÷ D.
- Sub-period returns are linked geometrically: (1+r₁)(1+r₂) … − 1. Never sum them.
Attribution mechanics
- Brinson–Hood–Beebower splits arithmetic active return into allocation, selection and interaction:
- Allocation = (w_p,i − w_b,i)(R_b,i − R_b)
- Selection = w_b,i(R_p,i − R_b,i)
- Interaction = (w_p,i − w_b,i)(R_p,i − R_b,i)
- Brinson–Fachler is a variant that reports two effects by folding interaction away; check which convention a question is using, because the totals must still equal active return.
- Single-period effects add arithmetically. Over multiple periods they do not compound to the cumulative active return, which is why smoothing algorithms exist for multi-period attribution.
- Holdings-based attribution uses actual positions, transaction-based uses trades, and returns-based (Sharpe style analysis) regresses fund returns on style indices and needs no position data at all.
- Fixed-income attribution adds curve, spread and carry effects; currency attribution separates local return, currency and cross-product terms.
Worked example
One sector: portfolio weight 60%, benchmark weight 50%; sector return 12% versus benchmark sector 10%; total benchmark return 8%. Allocation = (0.60 − 0.50)(0.10 − 0.08) = +0.20%. Selection = 0.50(0.12 − 0.10) = +1.00%. Interaction = 0.10 × 0.02 = +0.20%. This sector contributed +1.40% of active return. Note the allocation term uses the benchmark sector return minus the total benchmark return, not the sector's own excess return.
Traps that cost marks
- Subtracting the sector's own return in the allocation term instead of the total benchmark return.
- Presenting Modified Dietz as exact when a large flow sits next to a big market move.
- Mixing geometric single-period effects with arithmetic ones and expecting them to reconcile.
- Judging a manager who cannot control client cash flows with a money-weighted return.