ETF data methodology
How we build the ETF Weekly, which issuers it covers and where the gaps are.
Last updated 31 October 2026
Not investment advice. Figures are estimates from issuers’ published data and cover named issuers only.
What the ETF Weekly is
The Midpoint ETF Weekly estimates flows from each fund’s published shares outstanding and net asset value (NAV), using issuers’ own websites, SEC filings and exchange notices. It covers only the issuers named on this page and in each edition. It is published on Tuesdays at 10:00 London time and covers the Monday-to-Friday trading week just ended.
Every total in the release, the data files and the charts covers covered issuers only. Every flow figure is estimated from shares outstanding × NAV. These are our calculations, not figures reported by the issuers.
Which issuers are covered
| Issuer | Region | Funds | What the issuer publishes |
|---|---|---|---|
| iShares (BlackRock), US-listed ETFs | US | about 480 | Fund list and per-fund files with daily NAV and shares outstanding |
| SPDR (State Street), US-listed ETFs | US | about 190 | Fund list and per-fund NAV history with daily shares outstanding |
| iShares (BlackRock), UCITS ETFs | Europe | about 920 share classes | Fund list and per-fund files with NAV history; shares outstanding for the current day only, so we keep our own daily record |
| Schwab Asset Management, US-listed ETFs | US | about 35 | Fund pages with the current day’s NAV, shares outstanding and expense ratio only, so we keep our own daily record |
Not yet covered. Several large issuers are not in our figures. They include:
- Vanguard (US). It publishes NAVs and expense ratios, but we have not found daily shares outstanding in its public data, so we cannot estimate its flows.
- Amundi and Xtrackers (DWS). We have not yet been able to get shares outstanding reliably from their public data.
- Other issuers, including Invesco, WisdomTree, JPMorgan, First Trust, Dimensional, ProShares, VanEck, UBS, HSBC, L&G, Vanguard UCITS and SPDR UCITS.
Because of these gaps, our totals are not market totals and should not be read as such. We add an issuer only when its own published data has been tested and checked, and we note each addition in the changelog below.
Sources
We use primary sources only:
- issuers’ own fund lists, fund pages and downloadable fund files;
- SEC EDGAR filings, including prospectuses and supplements (Form 497), new-fund filings (485APOS, S-1), deregistrations (N-8F) and the SEC’s fund ticker list;
- exchange symbol files and listing notices, including the Nasdaq Trader symbol directory for US exchanges;
- European Central Bank (ECB) euro reference rates for currency conversion.
We do not use paid data vendors, aggregators, ETF data websites or news outlets as a source of figures, and we do not use them to check our numbers in public copy. We keep a dated copy of every file we download.
Trading days and timing
- We take a snapshot of each covered issuer’s published data every weekday evening after the US close (23:30 London), with a second attempt at 07:00 the next morning for any fund whose data was missing or out of date.
- Each snapshot is filed under the trading day it describes, not the day it was downloaded. NAV dates are recorded as the issuer states them.
- We use a fund’s data for a trading day only if its NAV and its shares outstanding are both dated that day. If the two dates differ, or the NAV is older than the trading day, the fund is flagged and that day is not used for it.
- The weekly figures run from the last trading day of the previous week (the baseline) to the last trading day of the week covered.
- SPDR timing. SPDR’s files can be a trading day behind. We try again before the weekly build. If Friday’s data has still not been published, the SPDR figures for those funds run to the last published day. The release labels these as a partial week, and the missing day is not estimated.
- US NAVs are struck at the US close (16:00 New York). UCITS NAVs follow each fund’s own valuation point.
How we estimate flows
For each fund and each trading day t:
Estimated net flow = (shares outstanding on day t − shares outstanding on the previous trading day) × NAV on day t
The weekly flow for a fund is the sum of its daily flows, in the fund’s own currency.
Where we have only the start and end of the week for a fund (for example, in the first weeks after we start recording an issuer), we use:
(shares outstanding at the end of the week − shares outstanding at the start) × NAV at the end of the week
This is labelled endpoint method wherever it is used.
US issuers often record a creation or redemption in shares outstanding one day after it is agreed, so a flow can appear on the following day. Weekly totals smooth out most of this effect. A change in shares outstanding is not the same as a fund’s reported flows, and our estimates can differ from figures that issuers or others publish.
Assets under management
- AUM is shares outstanding × NAV at the last NAV date of the week. We calculate it ourselves so that all issuers are on the same basis.
- Where the issuer publishes its own net assets figure for the same share class and date, we compare the two and flag any difference of more than 1%. Where an issuer publishes net assets only for a whole fund with several share classes, no comparison is made.
- Market move is the change in AUM over the week minus the estimated net flow.
Counting funds
- UCITS ETFs are counted once per share class (ISIN), not once per listing. One share class can trade on the London Stock Exchange, Xetra, Euronext and SIX, and we count it only once.
- US ETFs are counted once per fund (ticker).
- ETFs that hold other ETFs are not netted out, so some assets can be counted twice. Our figures do not correct for this.
Currencies
- US figures are in US dollars. European figures are in euros. Combined figures are in US dollars.
- Share classes in other currencies (for example sterling or Swiss francs) are converted before summing, at the ECB euro reference rates for the last trading day of the week. The rate used is stated in each edition.
Fees
- The asset-weighted average fee is Σ(fee × AUM) ÷ ΣAUM across the funds in a group, using the AUM described above. We show it beside the simple average (the plain average of fees, with every fund counted equally).
- We use the fee the issuer publishes for each fund. For US funds this is the net expense ratio where the issuer gives it (iShares US). For UCITS funds it is the total expense ratio (TER) or ongoing charges figure (OCF) the issuer publishes. For Schwab it is the expense ratio shown on the fund page.
- SPDR fees are gross. SPDR’s fund list gives the gross expense ratio, before any fee waiver. SPDR figures are labelled gross until we source net figures from each fund’s prospectus or supplement.
- A fee change is a change in the issuer-published fee compared with our previous week’s snapshot. It is reported as confirmed only when we can link to the filing or issuer notice behind it.
Launches and closures
- A launch is a fund that first appears in an issuer’s list, or in an exchange symbol file with an ETF flag, with an inception or first trading date in the week. We report it as confirmed only with a link to the prospectus, a 497 filing or an exchange notice.
- A closure is reported in two parts: the announcement (for example a 497 supplement giving notice of liquidation), and separately the last trading day or delisting. A fund that drops out of an issuer’s list is treated as a possible closure until we find the filing or notice.
- New-fund filings (485APOS and S-1) are listed separately as a filings pipeline. A filing does not mean a fund will launch.
Quality checks
Every snapshot is checked before it is used. The checks look for:
- funds listed twice, or the same ISIN appearing under two issuers;
- NAV dates that differ from the trading day or from the fund’s shares-outstanding date;
- a change of more than 25% in shares outstanding in one day. We check whether the NAV moved the opposite way by the same ratio, which suggests a share split or reverse split rather than a flow;
- missing fields, and a sharp fall in the number of funds an issuer lists;
- changes to the format of an issuer’s files.
Pausing suspect data. If a fund’s NAV moves by more than 20% in one day without a matching split, the fund is paused. It is left out of totals and lists until an editor has reviewed it. A fund with a probable split is paused in the same way until the split is confirmed by the issuer or a filing, so the split is never counted as a flow. If an issuer’s data fails for a day, that issuer is left out of the affected days and the edition says so.
We never fill gaps. A missing figure stays missing. We do not carry forward an earlier value, interpolate, or use another source’s figure in its place. Each edition states how many funds had a flow estimate, how many used the endpoint method or a partial week, and which days were missing.
Some issuers publish NAVs to only two decimal places (Schwab, and the newest iShares UCITS share classes). This slightly limits the precision of those funds’ estimates. Schwab does not publish ISINs on its fund pages, so its funds are identified by ticker.
Sports-themed funds
Funds with a sports theme, such as sports-betting or iGaming ETFs, are kept in our aggregate totals so that AUM figures stay complete. We do not name, rank, chart or otherwise feature them in the release, our charts, our videos or our posts.
Editorial independence
The Midpoint has no commercial relationship with any ETF issuer. If that changes, we will say so on this page and in every edition while the relationship lasts. Any sponsored content would appear only in our clearly labelled Insights section. It would never appear on ETF data pages, in the release, in the weekly video or in posts based on the data. Inclusion, rankings, the order of funds, and coverage of launches and closures are not for sale.
The ETF Weekly is data reporting. It does not recommend any fund, issuer or strategy, and a fund’s place in a table is not a judgement of its merits. See also our editorial standards and disclaimer.
Data files
Each edition comes with CSV and JSON files containing the same figures as the release, plus a history file with the weekly series. Every file carries the disclaimer and the “covered issuers only” and “estimated from shares outstanding × NAV” labels.
Changelog
We fix the methods on this page in advance and log every change here with its date.
| Date | Change |
|---|---|
| 31 October 2026 | First version published. Covered issuers: iShares US, SPDR US, iShares UCITS, Schwab. |
Corrections to published figures are noted in the affected edition with the date of the change. Email [email protected].
Not investment advice. Figures are estimates from issuers’ published data and cover named issuers only.