The index rose but my ETF didn't — finding the culprit with contribution
Written and maintained by ETF Scanner · Report a correction
An ETF's daily move is not magic — it's the sum of every holding's contribution.
What contribution is
Contribution is the percentage points (%p) a single holding actually added to the ETF's move. The formula: contribution = (weight ÷ 100) × the stock's return.
A 10% holding that rises +3% contributes 0.10 × 3 = +0.3%p. Sum this over every holding and you get exactly the ETF's daily return.
The biggest weight isn't the culprit
Since contribution is weight × return, you need both. A big weight that didn't move contributes near zero; a small weight that spiked can contribute a lot.
So today's real 'culprit' isn't simply the largest holding — it's the one whose weight times drop produced the biggest negative. That's easy to miss by eye.
Hero, suspect, and What-If
The largest positive contribution is the day's 'hero'; the largest negative is the 'suspect'. An up day can hide a suspect that capped the gain; a down day can hide a lone hero.
Our What-If calculation replaces an excluded holding with cash returning 0%. It subtracts that holding's contribution without renormalizing the remaining weights. If the ETF returned −3.00% and the excluded holding contributed −1.00 percentage point, the result is −2.00%. This compares the holding's effect on the same day; it does not simulate execution or predict future returns.
Why it's useful
Contribution explains at a glance why your ETF moved differently from the index. If a single mega-cap drove the result, that's a sign you were effectively concentrated in that name.
Every ETF page on ETF Scanner computes this automatically and shows the day's hero and suspect. For the underlying concepts, see the glossary.
How a gainers list misleads
Sort holdings by daily change and unfamiliar names sit on top. A 0.3% position up 15% leads the list while adding 0.045 points to your return — effectively nothing.
The same day, an 8% position up 1% contributes 0.08 points, nearly double. It looks quieter on screen and moved you more.
That is why the default sort here is contribution, not change. The question worth answering is what moved your account, not what moved the most.
Why it matters that the numbers add up
Contribution is useful because it sums. Add every holding's contribution and you get the fund's move for the day, which means you can check the screen by hand.
The exclude simulation follows from this. Removing a holding changes the result by exactly its contribution: drop a −1.00 point name and a −3.00% day becomes exactly −2.00%. Remaining weights are not renormalized, so the new number never contradicts the one you just read.
What contribution does not show
It is a snapshot of one day. It tells you what pulled today, not what will pull tomorrow. Treating a single day's largest contributor as 'the leader' is premature.
Where only the top holdings are disclosed, the tail cannot be itemized. Those are folded into one row and flagged as an approximation, because pretending to a precision we do not have is worse.
Leveraged and inverse products build exposure from futures and swaps, so there are no shares and contribution does not apply. Read those against their 1x reference instead.
This article is general information, not investment advice. Investment decisions and responsibility are your own.