Portfolio Attribution Explained: What Actually Drove Your Investment Returns?
Portfolio attribution explains what actually drove investment returns. It separates the result of being invested in the market from the result of choosing particular asset classes, sectors, market-cap segments, factors and stocks.
A portfolio can outperform because the investor selected better companies, overweighted a winning sector, held more small caps, benefited from currency movement, kept less cash or simply concentrated in one lucky position. Attribution prevents all of these outcomes from being called “stock-picking skill.”
Contribution vs Attribution
| Question | Method | Example Output |
|---|---|---|
| Which holdings produced total return? | Return contribution | Bank A added 2.1 percentage points |
| Why did the portfolio beat the benchmark? | Performance attribution | Financial-sector overweight added 1.0 point |
| Was outperformance repeatable? | Decision attribution | Stock-selection process added value in six of eight quarters |
| Did investors receive the same result? | Investor-return attribution | Cash-flow timing reduced XIRR by 1.5 points |
Contribution explains the parts of the portfolio. Attribution explains the difference from a benchmark.
Do Not Call Every Gain Alpha
A small-cap portfolio may beat the Nifty 50 because small caps rallied. A technology-heavy portfolio may outperform because the sector led the market. The active return is real, but its source may be exposure rather than superior security selection.
Separate what the market gave from what the investor added.
Bull Run's Six-Layer Attribution Map
Market Return
The return available from the strategic benchmark.
Allocation
Asset class, sector and market-cap overweights or underweights.
Selection
Results from choosing securities within each group.
Interaction
The combined effect of allocation and selection choices.
Implementation
Cash, currency, turnover, costs and taxes.
Decision Quality
Repeatable process, concentration and luck.
Step 1: Select the Correct Benchmark
Attribution is only as good as the benchmark. The benchmark should match:
- strategic asset allocation;
- large-, mid- and small-cap exposure;
- geography and reporting currency;
- sector or factor mandate;
- total-return convention.
NSE Indices explains that a Total Return Index incorporates both price changes and dividends. Using a price-only benchmark can overstate active return.
Active return = Portfolio total return − Benchmark total returnStep 2: Reconcile Returns and Cash Flows
Opening value + contributions − withdrawals + investment return = Closing valueUse XIRR to understand the investor's money-weighted experience and time-weighted return for strategy attribution where available. External cash flows should not be mistaken for manager return.
Step 3: Calculate Holding-Level Contribution
Approximate holding contribution = Beginning portfolio weight × Holding returnExample:
- Beginning weight: 8%
- Holding return: 25%
Contribution = 8% × 25% = 2 percentage pointsFor holdings bought or sold during the period, use daily or subperiod weights rather than beginning weight alone.
Contribution Is Not the Same as Holding Return
| Holding | Weight | Return | Approximate Contribution |
|---|---|---|---|
| Stock A | 3% | 80% | 2.4 points |
| Stock B | 12% | 15% | 1.8 points |
| Stock C | 8% | −20% | −1.6 points |
| Cash | 10% | 4% | 0.4 points |
A spectacular return in a tiny position can matter less than a moderate return in a core holding.
Step 4: Group Holdings Consistently
Attribution can be run by:
- asset class;
- sector and sub-sector;
- large, mid and small cap;
- domestic and international;
- quality, value, momentum or other factors;
- core and satellite sleeves;
- direct stocks and funds;
- investment thesis or economic risk cluster.
Use the same group definitions for the portfolio and benchmark.
The Brinson Allocation Effect
A common attribution framework compares portfolio group weights with benchmark group weights.
Allocation effect = (Portfolio group weight − Benchmark group weight) × (Benchmark group return − Total benchmark return)Allocation adds value when the portfolio overweights a benchmark group that outperforms the total benchmark, or underweights one that underperforms.
Worked Allocation Example
Assume financials were 30% of the portfolio and 24% of the benchmark. The financials benchmark returned 18%, while the total benchmark returned 12%.
Allocation effect = (30% − 24%) × (18% − 12%) = 0.36 percentage pointsThe financial-sector overweight added approximately 0.36 points before considering stock selection inside the sector.
The Security-Selection Effect
Selection effect = Benchmark group weight × (Portfolio group return − Benchmark group return)Selection measures whether the portfolio's securities within a group outperformed that group's benchmark return.
Worked Selection Example
Financials were 24% of the benchmark. The portfolio's financial holdings returned 22%, while benchmark financials returned 18%.
Selection effect = 24% × (22% − 18%) = 0.96 percentage pointsThe stocks chosen inside financials added approximately 0.96 points.
The Interaction Effect
Interaction effect = (Portfolio group weight − Benchmark group weight) × (Portfolio group return − Benchmark group return)Interaction captures the combined result of overweighting or underweighting a group in which security selection also differed from the benchmark.
Using the same numbers:
Interaction = (30% − 24%) × (22% − 18%) = 0.24 percentage pointsAllocation + Selection + Interaction
Total group active contribution = Allocation effect + Selection effect + Interaction effectIn the example:
0.36 + 0.96 + 0.24 = 1.56 percentage pointsThe result should reconcile, subject to methodology and rounding, with the group's contribution to portfolio active return.
Attribution Models Differ
Brinson-Hood-Beebower, Brinson-Fachler and other implementations assign effects differently. The important requirement is consistency. Do not compare allocation and selection numbers from different methods without understanding the formula.
Step 5: Attribute Market-Cap Exposure
Market-cap allocation effect = (Portfolio segment weight − Benchmark segment weight) × (Segment benchmark return − Total benchmark return)A mixed-cap portfolio can outperform because it held more mid or small caps than its benchmark. This should be separated from stock selection.
Step 6: Attribute Factor Exposure
Review whether returns came from:
- quality;
- value;
- momentum;
- low volatility;
- size;
- dividend yield;
- state ownership;
- high or low leverage;
- growth and valuation.
A portfolio of unrelated companies can still be one concentrated factor bet.
Factor Attribution Without a Full Model
A practical investor can divide holdings into factor buckets and compare:
- weight in each bucket;
- bucket return;
- benchmark bucket weight and return;
- active contribution;
- valuation and concentration at period end.
This is less precise than regression-based factor attribution but often more interpretable.
Step 7: Attribute Currency and International Return
Rupee return ≈ (1 + foreign local-market return) × (1 + currency return) − 1For international investments, separate:
- underlying market return;
- currency translation;
- fund or product tracking difference;
- fees and taxes.
A foreign portfolio can rise in local currency but fall in rupees, or vice versa.
Step 8: Attribute Cash
Cash can be strategic, temporary or accidental.
Approximate cash allocation effect = Cash weight × (Cash return − Equity benchmark return)Cash detracts during strong equity markets and protects during declines. Judge it against the written policy:
- strategic emergency and goal reserve;
- tactical market timing;
- uninvested contribution;
- transaction settlement balance.
Step 9: Attribute Costs and Turnover
Implementation drag = Brokerage + levies + spread + market impact + product costs + exit loadsNet active return = Gross active return − Implementation drag − Estimated tax dragA strategy producing 4% gross alpha and 3% combined friction created only 1% investor-level net value before considering research time and estimation error.
Step 10: Attribute Fund Overlap
Look through mutual funds and ETFs:
Look-through company exposure = Direct weight + Σ(Fund allocation × Company weight inside fund)A direct stock may appear to be the best contributor while much of the same company is already owned through funds. Attribution should calculate the combined economic position.
Step 11: Attribute Concentration
Calculate how much active return came from the top positions:
Top-five active-return share = Active contribution from top five positions ÷ Total active returnWhen more than all active return comes from one or two holdings, the remaining portfolio may have lagged. The outperformance is real but fragile.
Step 12: Separate Skill from Luck
| Evidence | More Consistent with Skill | More Consistent with Luck |
|---|---|---|
| Persistence | Positive process results across rolling periods | One exceptional quarter |
| Breadth | Several independent decisions add value | One holding explains all alpha |
| Pre-decision record | Thesis and sizing documented before outcome | Explanation created afterward |
| Risk control | Losses remain within written limits | Large unplanned concentration |
| Net result | Value survives costs and tax | Gross alpha disappears after friction |
| Repeatability | Same research process works in different sectors | Returns depend on one market regime |
Bull Run's Decision Attribution
Classify every meaningful active decision:
- stock selection;
- position sizing;
- sector allocation;
- market-cap allocation;
- buy timing;
- sell timing;
- rebalancing;
- cash decision;
- currency or international decision;
- portfolio simplification.
Decision hit rate = Decisions with positive active contribution ÷ Total completed decisionsHit rate must be combined with payoff. A minority of large winners can outweigh frequent small mistakes.
Decision Payoff Ratio
Decision payoff ratio = Average positive active contribution ÷ Absolute average negative active contributionA process with 45% hit rate and 3:1 payoff can be superior to one with 70% hit rate and 0.5:1 payoff.
Worked Example 1: Outperformance Came from Small Caps
A portfolio beats its benchmark by 6%. Market-cap attribution shows 5 points came from a large small-cap overweight and only 1 point from selection.
The investor should not conclude that every chosen stock was superior. Most value came from segment allocation.
Worked Example 2: Good Stocks in the Wrong Sector
The portfolio selected better companies than the benchmark inside chemicals, but the sector underperformed and was heavily overweighted.
Selection effect is positive, allocation effect is negative and total active contribution is weak.
Worked Example 3: One Winner Explains Everything
A 7% holding triples and contributes approximately 14 points. Total portfolio active return is 10 points.
Excluding the winner, the rest of the active portfolio lagged. The investor reviews concentration and whether the result can repeat.
Worked Example 4: Cash Protected the Portfolio
During a market decline, 15% cash reduces drawdown. Cash attribution is positive relative to the equity benchmark.
The result is skill only when the cash level followed the written policy or a documented active decision, not when it was accidental.
Worked Example 5: Currency Created International Return
A foreign market is flat in local currency, but the rupee weakens. The international allocation gains in rupee terms.
Currency attribution separates this from security or market selection.
Worked Example 6: Fund Fees Erase Selection Value
An active fund's holdings beat its index before costs, but the investor's net return only matches a lower-cost alternative.
Gross selection effect exists; investor-level net value does not.
Worked Example 7: Overlap Doubles a Contributor
A major bank is owned directly and through two funds. Look-through analysis shows 12% total exposure.
The bank's contribution is larger than the direct account suggests, and so is future company-specific risk.
Worked Example 8: Rebalancing Added Value
The investor trimmed an oversized sector and added to an underweight defensive allocation. The sector subsequently corrected.
Attribution assigns the benefit to rebalancing rather than security selection.
Worked Example 9: Turnover Reduced Net Alpha
Gross active return is 5%, but turnover, spread, taxes and fees consume 3.5 points.
Decision attribution identifies implementation discipline as the improvement opportunity.
Worked Example 10: Strong Return, Weak Process
The portfolio earns 25%, but trades were undocumented, concentration exceeded policy and results depended on one theme.
Outcome attribution is positive; process attribution is weak. The investor should not scale risk merely because the year was profitable.
The Quarterly Attribution Workflow
Step 1: Reconcile values and cash flows
Ensure portfolio return is correct.
Step 2: Verify the benchmark
Use the correct total return series and policy weights.
Step 3: Calculate holding contributions
Use time-weighted position weights where possible.
Step 4: Run allocation, selection and interaction attribution
Use one consistent model.
Step 5: Add market-cap, factor and currency effects
Identify hidden return drivers.
Step 6: Subtract cash, costs, tax and turnover drag
Move from gross to investor-net value.
Step 7: Review concentration and overlap
Determine whether alpha depended on a few exposures.
Step 8: Classify decision quality
Separate pre-documented process from hindsight.
Step 9: Create next-quarter actions
Preserve repeatable strengths and fix process leakage.
Portfolio Attribution Worksheet
| Field | Calculation or Evidence |
|---|---|
| Portfolio return | TWRR or consistent periodic return |
| Benchmark return | Matched TRI or policy blend |
| Active return | Portfolio minus benchmark |
| Holding contribution | Weight multiplied by return |
| Allocation effect | Weight difference times benchmark group excess return |
| Selection effect | Benchmark group weight times group return difference |
| Interaction effect | Weight difference times group return difference |
| Market-cap effect | Large-, mid- and small-cap active contribution |
| Factor effect | Quality, value, momentum, size and leverage |
| Currency effect | Local return versus rupee return |
| Cash effect | Cash weight and relative return |
| Implementation drag | Fees, spread, market impact and exit loads |
| Tax drag | Estimated tax caused by realised decisions |
| Top-five active-return share | Concentration of active contribution |
| Decision quality | Documented, repeatable or accidental |
Common Attribution Mistakes
1. Using the wrong benchmark
Market-cap or sector exposure can be mistaken for skill.
2. Using a price index instead of TRI
Benchmark dividends are omitted.
3. Confusing return with contribution
A small holding's large return may contribute little.
4. Ignoring changing weights
Beginning-weight approximations can fail when turnover is high.
5. Mixing attribution methodologies
Allocation and selection effects may be defined differently.
6. Ignoring funds and direct-stock overlap
Economic contribution is understated.
7. Ignoring cash and currency
Important return sources disappear.
8. Reporting gross alpha only
Costs and taxes may erase value.
9. Calling one lucky winner a repeatable process
Concentration can dominate the result.
10. Doing attribution without changing decisions
Analysis should improve sizing, selection and implementation.
How Bull Run Features Fit Attribution
Use the Bull Run watchlist to document candidate theses before outcomes are known.
Use Bull Run Compare to evaluate whether selection value came from stronger fundamentals or a temporary valuation move.
The Stock Battle tool can compare decisions competing for one portfolio role. Smart Screeners can test whether successful selections came from a repeatable rule.
Primary Official and Research Sources
- CFA Institute Research Foundation: Performance Attribution literature review
- CFA Institute Research Foundation: currency management and performance attribution
- NSE Indices: Total Return Index concept
- SEBI: Information Ratio disclosure for mutual-fund schemes
- SEBI: performance benchmarking and reporting by portfolio managers
- Bull Run data sources and coverage policy
Disclaimer
This article is for educational and informational purposes only. It is not personalised investment, tax or legal advice, a model portfolio or a recommendation to buy, hold, trim or sell any security. Attribution results depend on benchmark suitability, data quality, grouping rules and methodology. Different accepted models can allocate effects differently. Bull Run is not a SEBI-registered Research Analyst or Investment Adviser.
The Practical Conclusion
Do not stop at the portfolio return. Calculate contribution, then explain active return through allocation, selection, interaction, market-cap, factor, currency, cash and implementation effects. Finally, determine whether the result came from a repeatable decision process or one concentrated outcome. Attribution is valuable only when it changes how the next rupee is allocated.