FRM Exam Part II · Portfolio Performance Evaluation
Performance Attribution Analysis: Brinson Allocation and Selection
Updated 11 October 2026 · Fact-checked
Performance attribution splits a portfolio's active return versus its benchmark into allocation, selection and interaction effects by sector. Allocation = (wp − wb) × (Rb_i − Rb_total). Selection = wb × (Rp_i − Rb_i). Interaction = (wp − wb) × (Rp_i − Rb_i). The three effects sum to the total active return.
Understand Performance Attribution Analysis
A portfolio manager beats or lags a benchmark. Attribution tells you why. The answer matters because a manager can be paid for skill that was really luck, or a good decision can be hidden by a bad one.
The Brinson approach splits the portfolio into segments, such as sectors or asset classes. For each segment you know the portfolio weight, the benchmark weight, the portfolio return and the benchmark return. Active return is the portfolio return minus the benchmark return.
There are two decisions. The first is allocation: did the manager overweight segments that did well and underweight those that did poorly? The second is selection: within each segment, did the manager pick securities that beat the segment's benchmark return?
The interaction effect captures the joint effect of the two: the weight difference multiplied by the return difference in the same segment. Some models fold interaction into selection or allocation. Read the question to see which convention it uses.
Allocation is measured against the total benchmark return, not zero. An overweight in a segment helps only if that segment beat the overall benchmark. This is the Brinson-Fachler form. The simpler Brinson-Hood-Beebower form uses (wp − wb) × Rb_i, and the totals still sum to the same active return.
Key formulas to remember
- Active return
- Rp − Rb = Σ wp_i × Rp_i − Σ wb_i × Rb_i
- Rp and Rb are total portfolio and benchmark returns. Sum over segments i.
- Allocation effect (Brinson-Fachler)
- A_i = (wp_i − wb_i) × (Rb_i − Rb)
- Rewards overweighting segments that beat the total benchmark.
- Allocation effect (BHB)
- A_i = (wp_i − wb_i) × Rb_i
- Segment values differ from Fachler, but the sum across segments is the same when weights each sum to 100%.
- Selection effect
- S_i = wb_i × (Rp_i − Rb_i)
- Uses benchmark weight. Measures stock picking within the segment.
- Interaction effect
- I_i = (wp_i − wb_i) × (Rp_i − Rb_i)
- Joint effect of weight and return differences.
- Total check
- Σ (A_i + S_i + I_i) = Rp − Rb
- Use this to verify your answer.
How to solve Performance Attribution Analysis questions
Work segment by segment, then add up. Keep the benchmark as the reference for every effect.
- 1List wp, wb, Rp and Rb for each segment. Check both sets of weights sum to 100%.
- 2Compute total Rp = Σ wp × Rp_i and total Rb = Σ wb × Rb_i.
- 3Compute active return = Rp − Rb. This is your target total.
- 4For each segment compute allocation using the model stated in the question (Fachler subtracts total Rb).
- 5For each segment compute selection = wb × (Rp_i − Rb_i).
- 6For each segment compute interaction = (wp − wb) × (Rp_i − Rb_i), unless the question merges it.
- 7Sum each effect across segments and check they add to active return.
- 8Interpret: say which decision added or lost value and by how much.
Quickest way: Total-first shortcut
When to use it: Use when the question asks for one effect in one segment or for the total effect, and options are far apart.
- Find only the segment asked about. Skip the others.
- Take weight difference (wp − wb) and return difference (Rp_i − Rb_i or Rb_i − Rb).
- Allocation: weight difference × benchmark segment excess return. Selection: wb × return difference.
- Check the sign first: overweight in a winning segment is positive; underweight in a winning segment is negative.
- If asked for the total, compute Rp − Rb directly instead of adding every effect.
Common mistakes in Performance Attribution Analysis
Using portfolio weight in the selection effect
Students assume selection uses the actual holdings.
Fix: Selection uses benchmark weight. The weight change is picked up in interaction.
Forgetting to subtract total benchmark return in allocation
The simple BHB form is learned first.
Fix: If the question says Brinson-Fachler or relative to the benchmark, use Rb_i − Rb. Otherwise follow the stated model.
Calling a positive allocation effect stock-picking skill
Both effects add to active return, so they get blurred.
Fix: Allocation is the sector weighting decision. Selection is security choice within a sector.
Ignoring interaction so the total does not reconcile
Interaction is small and easy to drop.
Fix: Always compute it, or state that it is merged into selection. Then check the sum equals Rp − Rb.
Reading underweight in a falling segment as negative
Sign logic is applied to the weight alone.
Fix: Multiply the signs. Negative weight difference times negative excess return gives a positive effect.
Worked examples
Example 1
A fund and its benchmark hold two sectors. Equity: fund weight 60%, benchmark weight 50%, fund return 10%, benchmark return 8%. Bonds: fund weight 40%, benchmark weight 50%, fund return 3%, benchmark return 4%. Using Brinson-Fachler, find the allocation, selection and interaction effects in total and the active return.
Show the solution
- Fund return = 0.6 × 10% + 0.4 × 3% = 6% + 1.2% = 7.2%.
- Benchmark return = 0.5 × 8% + 0.5 × 4% = 6.0%.
- Active return = 7.2% − 6.0% = 1.2%.
- Allocation equity = (0.60 − 0.50) × (8% − 6%) = 0.1 × 2% = 0.20%.
- Allocation bonds = (0.40 − 0.50) × (4% − 6%) = −0.1 × −2% = 0.20%. Total allocation = 0.40%.
- Selection equity = 0.5 × (10% − 8%) = 1.00%. Selection bonds = 0.5 × (3% − 4%) = −0.50%. Total selection = 0.50%.
- Interaction equity = 0.1 × 2% = 0.20%. Interaction bonds = −0.1 × −1% = 0.10%. Total interaction = 0.30%.
- Check: 0.40% + 0.50% + 0.30% = 1.20%, matching active return.
Answer: Allocation 0.40%, selection 0.50%, interaction 0.30%, total active return 1.20%.
Example 2
A fund holds 30% in technology against a 20% benchmark weight. Technology returns 12% in the fund and 9% in the benchmark segment. The total benchmark return is 7%. Compute the technology allocation effect (Brinson-Fachler) and the technology selection effect.
Show the solution
- Weight difference = 30% − 20% = 10%.
- Allocation = 0.10 × (9% − 7%) = 0.10 × 2% = 0.20%.
- Selection = benchmark weight × return difference = 0.20 × (12% − 9%) = 0.20 × 3% = 0.60%.
Answer: Allocation effect is +0.20% and selection effect is +0.60%.
Exam tips
- Read which model is named. Fachler subtracts total benchmark return; BHB does not. The question usually states it.
- Check whether interaction is shown separately or folded into selection. The total must still equal active return.
- Use the sign test before calculating. It removes wrong options fast.
- Expect interpretation questions: identify whether the result came from sector weighting or security picking.
- Work in percentage points and keep one decimal consistent to avoid rounding traps.
Practice questions from Portfolio Performance Evaluation
- A manager reports an active return of 3% against the benchmark with tracking error of 4%. Which statement about the information ratio is cor…
- A portfolio has an active return of 2.4% versus its benchmark and a tracking error of 4.0%. The manager reports an information ratio, and th…
- Using returns-based style analysis, an analyst regresses a fund's monthly returns on three style indices with weights constrained to be non-…
- A fund returned 11.0% over the year. Its custom style benchmark is 60% Index A and 40% Index B. Index A returned 12.0% and Index B returned …
- A pension fund evaluates an active equity manager by comparing returns with a custom benchmark. Which characteristic is essential for the be…
Performance Attribution Analysis in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Performance Attribution Analysis: frequently asked questions
What is the difference between allocation effect and selection effect?
Allocation measures the value added by over- or underweighting segments relative to the benchmark. Selection measures the value added by choosing securities that beat the segment benchmark. One is a top-down weighting call, the other is stock picking.
What is the interaction effect in Brinson attribution?
It is the combined effect of holding a different weight and earning a different return in the same segment. It equals the weight difference times the return difference. Some models merge it into selection.
Why do the effects sum to active return?
The three effects are an exact algebraic split of the portfolio return minus the benchmark return by segment. If you include all three and both sets of weights sum to 100%, the total reconciles.
Do BHB and Brinson-Fachler give different totals?
No. Individual segment allocation effects differ, but the total allocation effect is the same when both weight sets sum to 100%. Selection and interaction are unchanged.