Level III Core · Portfolio Performance Evaluation
Macro and Micro Attribution Analysis for CFA Level III
Updated 8 October 2026 · Fact-checked
Attribution explains why a portfolio beat or lagged its benchmark. Micro attribution splits a manager's active return into allocation, selection and interaction effects, and factor models split it into factor and security-specific parts. Macro attribution does the same for a sponsor's whole fund, by asset class and by manager. Compute each effect, then check they sum to the active return.
Understand Macro and Micro Attribution Analysis
Attribution answers one question: where did the active return come from? Active return is portfolio return minus benchmark return. Attribution breaks it into pieces tied to decisions someone made, so you can judge whether those decisions added value.
There are two levels. Micro attribution looks at the individual portfolio manager. It asks whether the manager added value by overweighting good sectors (allocation) or by picking better securities inside each sector (selection). Macro attribution looks at the whole plan sponsor's fund. It asks whether value came from the sponsor's policy decisions, such as the policy benchmark, or from the managers it hired, and how each manager's result compares with that manager's own benchmark.
The classic micro tool is the Brinson-style approach. For each sector you compare the portfolio weight with the benchmark weight, and the portfolio sector return with the benchmark sector return. Allocation rewards being overweight in sectors that beat the total benchmark, or underweight in those that lagged it. Selection rewards a sector return above the benchmark's return for that sector. Interaction is the cross term: the weight difference times the return difference. Some versions fold interaction into selection.
A second micro approach uses fundamental factor models. Here return is explained by exposures to factors such as value, size, momentum or industry. Active return is the sum of active exposure times factor return for each factor, plus a residual from security-specific choices. This suits managers who choose stocks on characteristics rather than by sector.
Attribution is a description, not a forecast. It depends on the benchmark chosen and on how sectors are defined. A good result needs a benchmark that matches the manager's mandate, and effects that add up exactly to the active return.
Key rules to remember
- Active return
- Active return = Rp − Rb
- Rp is total portfolio return, Rb is total benchmark return. Attribution effects must sum to this.
- Allocation effect (sector i)
- Allocation_i = (wp,i − wb,i) × (Rb,i − Rb)
- Subtract the total benchmark return, not zero. This is the common Brinson-Fachler form. Some texts use (wp,i − wb,i) × Rb,i, so follow the form given in the question.
- Selection effect (sector i)
- Selection_i = wb,i × (Rp,i − Rb,i)
- Uses the benchmark weight, so it isolates stock picking from weight differences.
- Interaction effect (sector i)
- Interaction_i = (wp,i − wb,i) × (Rp,i − Rb,i)
- Joint effect of weight and return differences. Sometimes combined with selection.
- Total sector contribution
- Allocation_i + Selection_i + Interaction_i = wp,i × Rp,i − wb,i × Rb,i − (wp,i − wb,i) × Rb
- Summing over all sectors gives Rp − Rb.
- Factor model active return
- Active return = Σ (active exposure_k × factor return_k) + security selection (residual)
- Active exposure is portfolio factor exposure minus benchmark exposure.
- Macro attribution manager effect
- Manager value added = Manager return − Manager's benchmark return
- Sponsor-level results also compare the actual fund with the policy benchmark, with differences traced to allocation away from policy and to manager returns.
How to solve Macro and Micro Attribution Analysis questions
Use this order for any attribution question, whether it asks for one effect or all of them.
- 1Read the command word and what is asked: one effect, all effects, or an interpretation. Note whether interaction is separate or combined.
- 2Write weights and returns for portfolio and benchmark in a small grid, by sector.
- 3Compute total portfolio return and total benchmark return as weight × return summed across sectors. You need the benchmark total for the allocation formula.
- 4Compute allocation for each sector using (wp − wb) × (Rb,i − Rb).
- 5Compute selection for each sector using wb × (Rp,i − Rb,i), and interaction using (wp − wb) × (Rp,i − Rb,i).
- 6Add the effects across sectors and check the sum equals Rp − Rb. A mismatch means an arithmetic or formula error.
- 7Interpret: name the largest source of value added or lost, and say what it implies about the manager's skill or the sponsor's decisions.
- 8For factor or macro questions, use active exposure × factor return, or manager return minus its benchmark, and tie the result to the stated mandate.
Quickest way: Grid and sign check
When to use it: Use when the vignette gives sector weights and returns and you have a few minutes for four questions.
- Build the grid first: wp, wb, Rp,i, Rb,i for each sector.
- Get Rb total once. Reuse it for every allocation calculation.
- Check signs before calculating. Overweight in a sector that beat the benchmark gives positive allocation. Underweight in a sector that lagged also gives positive allocation.
- Selection sign follows the sector return gap alone. A better sector return than the benchmark gives positive selection.
- Round at the end. Work in percentages to avoid decimal slips.
- Confirm that the sum of effects equals Rp − Rb before choosing an answer.
Common mistakes in Macro and Micro Attribution Analysis
Using the benchmark sector return alone in the allocation formula without subtracting the total benchmark return.
Two versions of the formula exist and students mix them.
Fix: Use (wp − wb) × (Rb,i − Rb) unless the question states otherwise. Weight differences sum to zero, so subtracting the total return makes allocation measure sector bets against the benchmark average.
Using portfolio weight instead of benchmark weight in the selection effect.
It feels natural to weight the return gap by what the manager actually held.
Fix: Selection uses wb. The portfolio-weight part of the gap belongs to interaction.
Forgetting the interaction term, so the effects do not sum to active return.
Students learn allocation and selection first and treat interaction as minor.
Fix: Always compute it, or confirm the question combines it with selection. Verify the sum against Rp − Rb.
Mixing up macro and micro attribution.
Both split return into sources, and the names do not say the level.
Fix: Micro is about a single manager's decisions. Macro is about the sponsor's total fund: policy, asset class allocation and manager returns against each manager's benchmark.
Reading a negative allocation effect as a bad sector or bad stocks.
Effects are read as sector quality rather than as decisions.
Fix: Allocation judges the weight decision only. A strong sector held underweight gives a negative effect even though the sector did well.
In factor attribution, using total factor exposure instead of active exposure.
Students multiply portfolio beta by factor return and stop.
Fix: Subtract the benchmark's exposure first. Only the difference explains active return.
Worked examples
Example 1
A benchmark has two sectors. Equity: weight 60%, return 10%. Bonds: weight 40%, return 4%. The portfolio holds equity 70% returning 12% and bonds 30% returning 3%. Calculate the allocation, selection and interaction effects in total, and confirm they equal the active return.
Show the solution
- Benchmark return = 0.60 × 10% + 0.40 × 4% = 6.0% + 1.6% = 7.6%.
- Portfolio return = 0.70 × 12% + 0.30 × 3% = 8.4% + 0.9% = 9.3%. Active return = 9.3% − 7.6% = 1.7%.
- Allocation, equity = (0.70 − 0.60) × (10% − 7.6%) = 0.10 × 2.4% = 0.24%.
- Allocation, bonds = (0.30 − 0.40) × (4% − 7.6%) = (−0.10) × (−3.6%) = 0.36%. Total allocation = 0.60%.
- Selection, equity = 0.60 × (12% − 10%) = 1.20%. Selection, bonds = 0.40 × (3% − 4%) = −0.40%. Total selection = 0.80%.
- Interaction, equity = 0.10 × (12% − 10%) = 0.20%. Interaction, bonds = (−0.10) × (3% − 4%) = 0.10%. Total interaction = 0.30%.
- Sum = 0.60% + 0.80% + 0.30% = 1.70%, which equals the active return.
Answer: Allocation 0.60%, selection 0.80%, interaction 0.30%. Total 1.70%, matching the active return.
Example 2
A manager's value-factor exposure is 0.50 and the benchmark's is 0.20. The size-factor exposure is −0.10 for the portfolio and 0.10 for the benchmark. Over the period the value factor returned 3.0% and the size factor returned 2.0%. The portfolio returned 9.0% and the benchmark 7.5%. Calculate the active return explained by the factors and the security selection (residual) component.
Show the solution
- Active return = 9.0% − 7.5% = 1.5%.
- Active value exposure = 0.50 − 0.20 = 0.30. Contribution = 0.30 × 3.0% = 0.90%.
- Active size exposure = −0.10 − 0.10 = −0.20. Contribution = −0.20 × 2.0% = −0.40%.
- Factor total = 0.90% + (−0.40%) = 0.50%.
- Residual = 1.5% − 0.50% = 1.00%.
Answer: Factor tilts explain 0.50% of active return (value +0.90%, size −0.40%). Security selection explains the remaining 1.00%.
Exam tips
- Read the command word. 'Calculate' needs a number on its own line. 'Explain' or 'justify' needs a short reason tied to the vignette, such as which decision added value.
- Show the grid and each formula even if the answer is a single number, so a slip in one step does not cost the whole item.
- Always run the sum check against Rp − Rb. It catches most errors in seconds.
- Interpretation items often ask which effect shows skill. Link selection to security picking and allocation to sector or asset class weighting, and remember a factor model's residual is the security-specific part.
- For macro questions, state the level clearly: manager versus its own benchmark, and fund versus policy benchmark.
Macro and Micro 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.
Macro and Micro Attribution Analysis: frequently asked questions
What is the difference between macro and micro attribution?
Micro attribution analyses one manager's active return, split into allocation, selection and interaction or into factor effects. Macro attribution analyses the sponsor's whole fund, tracing results to policy decisions and to each manager's return versus that manager's benchmark.
How do you calculate the allocation effect?
For each sector, multiply the difference between portfolio weight and benchmark weight by the difference between the benchmark sector return and the total benchmark return. Add across sectors. Check the question for the exact form it uses.
Why does the selection effect use the benchmark weight?
Using the benchmark weight isolates the return gap from the weight decision. The portion caused by holding a different weight is placed in the interaction effect.
How does factor model attribution differ from the Brinson approach?
Brinson attribution works by sector weights and sector returns. Factor model attribution multiplies the portfolio's active exposure to each factor by that factor's return and treats what remains as security selection. It suits strategies built on characteristics such as value or momentum.