DecompositionStatistical1 min read
◆ The PatternBrinson decomposition — allocation, selection, interaction
Return attribution answers: "Where did excess return come from?" The Brinson-Fachler model splits active return into three effects:
Active Return = Allocation + Selection + Interaction
Allocation: over/underweighting sectors that outperform. Selection: picking better stocks within sectors. Interaction: the cross-term. Multi-period attribution chains single-period results.
// Return attribution — Brinson decomposition
Daily practice. Institutional managers report monthly attribution to explain why they beat (or missed) the benchmark.
Pattern bridge: Decomposing variance is explored in The Toolkit — Statistical Tests.
Worked example
Three sectors. The portfolio overweights tech (50% against 40%), which beat the benchmark, and picks better stocks in tech and energy. Brinson–Fachler splits the 1.2% active return into allocation 0.3%, selection 0.6% and interaction 0.3% — and the three add up exactly.
Where it misleads
- Interaction has no natural owner; many reports fold it into selection, which changes the story.
- Over several periods the effects do not add up without a linking method, and different methods give different splits (Bacon 2008).
- Sectors are not the only way to slice; a factor tilt can show up as “selection” in a sector model.
In code
t = pd.DataFrame({'wp': [0.50, 0.30, 0.20], 'wb': [0.40, 0.40, 0.20], # portfolio and benchmark weights
'rp': [0.10, 0.04, 0.02], 'rb': [0.08, 0.05, 0.01]}, # sector returns
index=['tech', 'finance', 'energy'])
Rb = (t.wb * t.rb).sum()
allocation = ((t.wp - t.wb) * (t.rb - Rb)).sum() # Brinson-Fachler
selection = (t.wb * (t.rp - t.rb)).sum()
interaction = ((t.wp - t.wb) * (t.rp - t.rb)).sum()
active = (t.wp * t.rp).sum() - RbAssumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.
Sources
- G. P. Brinson & N. Fachler, “Measuring Non-U.S. Equity Portfolio Performance”, Journal of Portfolio Management 11(3), 1985
- G. P. Brinson, L. R. Hood & G. L. Beebower, “Determinants of Portfolio Performance”, Financial Analysts Journal 42(4), 1986
- Practical Portfolio Performance Measurement and Attribution, C. R. Bacon, Wiley, 2nd ed. 2008
Last reviewed October 2026 · How this site checks its content · Report a mistake
Linked from 2