Quant Memo
Advanced

The Brinson-Fachler Model

When a portfolio beats its benchmark, the Brinson-Fachler model splits the reason into two separate skills — did the manager overweight the sectors that went on to outperform (allocation), and did the manager pick the better stocks within each sector (selection).

Prerequisites: Contribution to Return

Beating a benchmark can happen two completely different ways: being in the right places, or picking the right names once there. A manager who overweighted Tech before a rally and simply held the sector's average stocks still beat the benchmark — that's a bet on where to be, not what to pick. A manager who held the benchmark's exact sector weights but consistently found the best stock in each one also beat the benchmark, for the opposite reason. The Brinson-Fachler model exists to tell those two managers apart, sector by sector.

Splitting active return into two effects

For each sector ii, active return splits into:

Allocationi=(wp,iwb,i)(rb,irb),Selectioni=wb,i(rp,irb,i).\text{Allocation}_i = (w_{p,i} - w_{b,i})(r_{b,i} - r_b), \qquad \text{Selection}_i = w_{b,i}(r_{p,i} - r_{b,i}) .

In words: wp,iw_{p,i} and wb,iw_{b,i} are the portfolio's and benchmark's weight in sector ii; rp,ir_{p,i} and rb,ir_{b,i} are the portfolio's and benchmark's return within that sector; rbr_b is the benchmark's total return. Allocation asks: did the manager over- or underweight this sector relative to the benchmark, and did that sector go on to beat or lag the overall benchmark? Selection asks: within this sector specifically, did the manager's chosen stocks beat the sector's own benchmark return, weighted by how much the benchmark (not the portfolio) had in that sector, so a manager can't inflate their selection score just by overweighting a sector they're good at picking in. Summed across every sector, the two effects together reconstruct the total active return exactly.

Worked example — one sector, both effects

In the Technology sector, the benchmark holds a 20% weight and returns 12%12\%; the overall benchmark returns 8%8\%. The portfolio holds a 30% weight in Technology (a 10-point overweight) and its Technology stocks return 15%15\% (3 points ahead of the sector benchmark). Allocation: (0.300.20)(12%8%)=0.10×4%=0.40%(0.30 - 0.20)(12\% - 8\%) = 0.10 \times 4\% = 0.40\% — being overweight a sector that beat the overall benchmark added 40 basis points. Selection: 0.20×(15%12%)=0.20×3%=0.60%0.20 \times (15\% - 12\%) = 0.20 \times 3\% = 0.60\% — picking better stocks within Technology, weighted at the benchmark's 20% sector size, added another 60 basis points. This sector alone contributed 0.40%+0.60%=1.00%0.40\% + 0.60\% = 1.00\% of active return, split roughly 40/60 between being in the right place and picking the right names.

overweight + sector beat benchmark allocation: positive overweight + sector lagged benchmark allocation: negative portfolio stocks beat sector's own benchmark selection: positive
Allocation and selection are graded on independent scales — overweighting a sector helps only if that sector beat the overall benchmark; selection only credits stock-picking within the sector's own return.

What this means in practice

Institutional performance reports break active return into these two effects sector by sector (often with a small interaction term for the part attributable to both effects acting together) precisely so an allocator can separate a top-down asset allocation decision from bottom-up stock-picking skill — a manager might be genuinely excellent at one and mediocre at the other, and blending both into a single "beat the benchmark by 2%" headline hides which one actually happened.

The Brinson-Fachler model splits active return into an allocation effect (was the sector bet right) and a selection effect (were the stocks within it right), letting a manager's top-down and bottom-up skill be judged separately instead of blurred into one number.

Related concepts

Practice in interviews

Further reading

  • Brinson & Fachler, Measuring Non-U.S. Equity Portfolio Performance (1985)
ShareTwitterLinkedIn