A five-segment Brinson attribution worked line by line, reconciled to the active return, with the allocation formula that misleads at segment level.
In Brinson attribution, the allocation effect for each segment is (portfolio weight − benchmark weight) × (segment benchmark return − total benchmark return), the selection effect is benchmark weight × (portfolio segment return − segment benchmark return), and the interaction is the weight difference times the return difference. On the Marchwood mandate's first year the three come to 0.6400, 0.2950 and 0.0150 points, which sum exactly to the 0.95 points by which the portfolio's 10.84 per cent beat the benchmark's 9.89.
Worked in full in Asset Management by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →
The decomposition answers the question every investment committee asks of an active manager: did the outperformance come from the asset mix or from the securities chosen within each asset class? The answer is only worth having if it reconciles to the active return to the last decimal, so the check is part of the method.
Marchwood is the illustrative multi-asset pension mandate in the book's companion workbooks. The benchmark is a fixed-weight composite of five segments, rebalanced annually. Year 1:
| Segment | Benchmark weight | Portfolio weight | Benchmark return | Portfolio return |
|---|---|---|---|---|
| Global equities | 45 | 48 | 18.4 | 18.9 |
| Government bonds | 25 | 22 | −1.2 | −1.0 |
| Credit | 15 | 16 | 6.3 | 6.9 |
| Property | 10 | 10 | 9.1 | 8.4 |
| Cash | 5 | 4 | 1.1 | 1.1 |
| Total | 100 | 100 | 9.89 | 10.84 |
Each total is the weighted sum of its column: 0.45 × 18.4 + 0.25 × (−1.2) + 0.15 × 6.3 + 0.10 × 9.1 + 0.05 × 1.1 = 9.89 for the benchmark, and 10.84 on the portfolio weights and returns. The active return is 0.95 points.
Allocationi = (wp,i − wb,i) × (rb,i − Rb)
Selectioni = wb,i × (rp,i − rb,i)
Interactioni = (wp,i − wb,i) × (rp,i − rb,i)
Equities, allocation: (0.48 − 0.45) × (18.4 − 9.89) = 0.03 × 8.51 = 0.2553. Selection: 0.45 × (18.9 − 18.4) = 0.2250. Interaction: 0.03 × 0.5 = 0.0150.
In Excel, with weights in B and C, returns in D and E and the total benchmark return in $D$7: allocation =(C2-B2)*(D2-$D$7), selection =B2*(E2-D2), interaction =(C2-B2)*(E2-D2).
| Segment | Weight difference | rb − Rb | Allocation | Selection | Interaction |
|---|---|---|---|---|---|
| Global equities | +3 | 8.51 | 0.2553 | 0.2250 | 0.0150 |
| Government bonds | −3 | −11.09 | 0.3327 | 0.0500 | −0.0060 |
| Credit | +1 | −3.59 | −0.0359 | 0.0900 | 0.0060 |
| Property | 0 | −0.79 | 0.0000 | −0.0700 | 0.0000 |
| Cash | −1 | −8.79 | 0.0879 | 0.0000 | 0.0000 |
| Total | 0.6400 | 0.2950 | 0.0150 |
0.6400 + 0.2950 + 0.0150 = 0.9500, the active return exactly. That reconciliation row is the test of the whole exercise: an attribution that does not sum to the active return in every period is a set of opinions with a table around it.
In Year 1, 67.4 per cent of the outperformance came from allocation and 31.1 per cent from selection. The largest single contribution is not the equity overweight but the bond underweight: bonds returned −1.2 against a benchmark of 9.89, so being three points light in them was worth 0.3327. Selection was positive in three segments and lost 0.0700 in property, where the manager returned 8.4 against 9.1.
Across five years allocation still leads on average, though not in every year: in Year 2 it lost 0.209 and in Year 4 selection lost 0.235. Year 3, the best year, splits 0.7970 allocation, 0.3550 selection and 0.0570 interaction, summing to the 1.209 active return.
| Year | Active return | Allocation | Selection | Interaction |
|---|---|---|---|---|
| Year 1 | 0.950 | 0.640 | 0.295 | 0.015 |
| Year 2 | −0.177 | −0.209 | 0.030 | 0.002 |
| Year 3 | 1.209 | 0.797 | 0.355 | 0.057 |
| Year 4 | −0.182 | 0.075 | −0.235 | −0.022 |
| Year 5 | 0.056 | −0.012 | 0.070 | −0.002 |
| Average | 0.3712 | 0.2582 | 0.1030 | 0.0100 |
Over five years 69.6 per cent of the skill was in the asset mix and 27.7 per cent in security selection. The arithmetic average active return of 0.3712 is not the annualised outperformance: the portfolio compounded at 5.0887 per cent gross against 4.7455 for the benchmark, a gap of 0.3432. The 0.0280 between them is compounding, not error, and a report should say which of the two it is quoting.
The original Brinson, Hood and Beebower version measures allocation as (wp − wb) × rb,i, without subtracting the total benchmark return. Because the weight differences sum to zero, the total allocation is the same, 0.6400 in Year 1. The segment figures are not.
| Segment | Against total benchmark (Brinson-Fachler) | Against zero (Brinson-Hood-Beebower) |
|---|---|---|
| Global equities | 0.2553 | 0.5520 |
| Government bonds | 0.3327 | 0.0360 |
| Credit | −0.0359 | 0.0630 |
| Cash | 0.0879 | −0.0110 |
| Total | 0.6400 | 0.6400 |
The second column credits the equity overweight with 0.5520 merely because equities had a positive return, and charges the cash underweight −0.0110 although cash lagged the benchmark by 8.79 points and holding less of it helped. Overweighting a segment adds value only if that segment beats the benchmark as a whole, which is what subtracting Rb captures. For segment-level commentary, use the first column.
A second mistake is folding interaction into selection by weighting selection on portfolio weights. That is a legitimate convention, giving 0.3100 of selection in Year 1, but it must be stated, and it must not be mixed with the three-way split from one year to the next.
Compute the three effects per segment, sum them, and check the sum against the active return before reading anything else. Measure allocation against the total benchmark return, not against zero. Then report the average split alongside the geometric outperformance, so the compounding gap is visible. The free attribution workbook for this case builds every cell above from its own formula, with the reconciliation row reading zero in all five years. For why the client's own return on the same mandate differs again, see why money-weighted trails time-weighted.
Brinson-Fachler measures each segment's allocation against the total benchmark return; Brinson-Hood-Beebower measures it against zero. Totals are identical because weight differences sum to zero: 0.6400 in this example. Segment figures differ: a one-point cash underweight shows 0.0879 under Fachler and -0.0110 under Hood-Beebower, though holding less of a lagging segment helped.
Because annual effects add arithmetically and returns compound. On this mandate the five-year averages sum to 0.3712 points, while the annualised gap between 5.0887 per cent for the portfolio and 4.7455 for the benchmark is 0.3432. The 0.0280 difference is compounding, which linking methods distribute across the years.
It is the joint effect of overweighting a segment and also outperforming within it: the weight difference times the return difference. Usually small, 0.0150 points of 0.95 in this Year 1, it can be folded into selection by weighting selection on portfolio weights, which gives 0.3100 of selection here. Either convention works if it is stated and kept.
This article is one calculation from Asset Management. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.
Get the book on Amazon →Free companion files
Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada
Reading guide: corporate finance, valuation and markets → · All 453 articles →
If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.