Contents
01

The calculation: weight-adjusted overlap

Most overlap calculators simply count the number of securities held by both funds. That approach is misleading — a security at 0.01% weight contributes almost nothing to your real exposure, but counts the same as Apple at 7%+ of the S&P 500.

airiya.org uses a weight-adjusted overlap. For each security held by both funds, we take the smaller of its two weights, then sum those minimums across every shared holding. The result is the proportion of your combined portfolio that is genuinely duplicated.

Formula
Overlap % = Σ min(wA,i, wB,i)  for each security i held in both Fund A and Fund B

where wA,i = weight of security i in Fund A (% of fund total)
      wB,i = weight of security i in Fund B (% of fund total)

When you compare more than two ETFs, every pair is calculated independently and shown as a list, sorted from most to least overlap. There is no single "portfolio overlap" number — pair-by-pair is more honest because it shows exactly which combinations are redundant and which complement each other.

02

Worked example: VOO + VTI

To show the calculation in practice, here are the top 5 holdings of VOO (S&P 500) and VTI (Total US Market) using the actual Q1 2026 data we ship:

Top 5 shared holdings — VOO + VTI
Security VOO VTI min(wA, wB)
NVDA7.31%6.16%6.16%
AAPL6.62%5.88%5.88%
MSFT4.95%4.40%4.40%
AMZN3.43%3.04%3.04%
GOOGL3.06%2.73%2.73%
Top-5 contribution to overlap22.2%
The full calculation runs across all 502 shared holdings. Final reported overlap: 87.6%.

VOO holds 504 stocks (the S&P 500 plus a few related listings). VTI holds 3,503 stocks (the total US market). They share 502 securities — almost every S&P 500 component appears in VTI as well. Because VTI is market-cap-weighted, those 502 large-caps dominate its weight too, which is why the overlap is so high despite VTI holding 7× more stocks.

03

Top-5 stock contribution

When you click any pair on the homepage, we show the 5 stocks contributing the most to the overlap. The number shown is each stock's min(weight in A, weight in B) — its contribution to the overlap weight, not its standalone weight in either fund.

This matters because the same stock can have very different weights in different funds. For example, NVIDIA might be 8% of CSPX (S&P 500) but only 4% of VWCE (FTSE All-World). The overlap contribution is the smaller number — 4% — because that is how much of NVIDIA exposure is actually duplicated when you hold both.

To make this explicit, the panel shows three numbers for every stock:

04

Data sources

All holdings data comes directly from each fund provider's official disclosures. We do not use third-party aggregators as a primary source, because aggregators introduce their own normalisation errors and update lag.

Provider Funds covered Format
VanguardVOO, VTI, VXUS, VT, VWCE, VWRL, VGWD, VEUR, VFEM, VGS, VAS, VHYCSV
iShares (BlackRock)IWDA, IUSQ, EMIM, CSPX, SXR8, CSNDX, IEUR, WSMLCSV
BetaSharesA200, DHHF, NDQCSV
SchwabSCHG, SCHDCSV
InvescoQQQ, FWRACSV
SPDR (State Street)SWRDCSV
AmundiWEBN, CEU2CSV

Each file is downloaded, parsed, and normalised into a common schema. Tickers are cleaned (e.g. VTI UPVTI, CBA ATCBA) and used as the primary identifier. For funds that disclose company names but not tickers (Amundi WEBN/CEU2, Invesco FWRA, SPDR SWRD), we match by normalised company name against tickers from other ETFs covering the same securities.

05

Update process

ETF holdings are updated quarterly by most fund providers, though some publish monthly or daily snapshots. Our database is re-verified on the following schedule:

1
Download fresh holdings files
Source files are downloaded directly from each fund provider's website at the start of each quarter (typically February, May, August, November).
2
Parse and normalise
Raw files are parsed into a common schema. Tickers are cleaned of exchange suffixes. Weights are kept as published — we do not rescale to 100% to avoid hiding cash positions or rounding errors.
3
Cross-validate
Total weight sums and top-10 holdings are cross-checked against each fund's factsheet. Outliers (e.g. weights summing to far less than 95%) are flagged and re-processed before publishing.
4
Pre-compute all 435 pairs
Once data is verified, all C(30,2) = 435 pairs are computed offline (overlap %, shared holdings, top-5 drivers) and embedded into the page. This means analysis runs instantly in your browser with no server call.
5
Publish with timestamp
Updated data is published with a "last verified" date on every page. The current dataset reflects fund holdings disclosed in Q1 2026.
06

What is and isn't covered

airiya.org currently covers 30 ETFs across three jurisdictions. The list is curated for breadth (US/UCITS/ASX) rather than completeness — we cover the funds global investors actually ask about most.

In scope:

Not covered:

If you want a fund added, request it via the contact page. We add the most-requested tickers each quarterly update.

07

Known limitations

Transparency about limitations is more useful than hiding them. Here is what to keep in mind:

Holdings have an inherent disclosure lag
Fund providers disclose holdings 1–30 days after the reporting period. Our dataset reflects Q1 2026 holdings. Fund composition shifts daily as new flows come in — overlap percentages are indicative, not real-time.
DHHF is a fund-of-funds — we expand it
DHHF holds 4 underlying ETFs (VTI, A200, SPDW, SPEM) rather than individual stocks. We expand it into the ~8,551 underlying securities by weighting each child fund's holdings. The displayed holdings count shows "via 4 ETFs" to make this explicit.
Same company, different share classes
Some companies trade as multiple share classes (Alphabet GOOGL/GOOG, Berkshire BRK.A/BRK.B). We treat these as separate securities since they have different ticker symbols, which slightly understates the "true" company-level overlap.
Name-only matching for some UCITS funds
A few providers (Amundi WEBN/CEU2, Invesco FWRA, SPDR SWRD) disclose company names but not tickers. We match by normalised company name to tickers seen in other funds — the match rate is 95–99%, but a small number of holdings may be unmatched and excluded from overlap.
This is not financial advice
Overlap is one input — not a recommendation to buy, sell, or hold any fund. High overlap is not inherently bad, low overlap is not inherently good. Context matters. Consult a qualified adviser before making investment decisions.

Ready to check your portfolio?

Free. No sign-up. Up to 5 ETFs per analysis.

Check overlap →