How FundScore works
FundScore helps you understand what you actually get for a fund's fee versus its closest passive alternative. This page explains every score and label we show, the data behind it, how fresh that data is, and — just as importantly — where the limits are. Each section here is a permanent link, so any number in the product can point you straight to its explanation.
Methodology last updated 2026-09-28.
We work for you, not the funds
We charge users, not fund companies. No paid placements. No affiliate-incentive ranking. The scores you see are not for sale.
What FundScore is — and is not
FundScore is a transparency and analysis tool. We calculate and compare; we do not recommend. Nothing here is personalized investment advice, and nothing here predicts how a fund will perform. Past evidence and current holdings describe what is true today — they do not guarantee future returns. When data is missing, stale, or unsupported, we say so and suppress the affected claim rather than fill the hole.
What we explain
- Value ScoreHow much genuine active value a fund delivered, net of its fee, versus its passive alternative — a backward-looking, relative read.
- Value OfferingWhether a fund is a reasonable way to get its exposure and manager, read against its passive alternative.
- Fee FairnessHow a fund's fee compares with what similar funds charge for similar work.
- Skill EvidenceThe statistical evidence that a fund's manager has added value through selection.
- Exposure X-RayWhat a fund actually holds — by theme, sector, stock, region and style — versus its passive alternative.
- Return AttributionWhich holdings, sectors and themes drove a fund's return versus its passive alternative.
- Risk & AttributionWhat drives a fund in return space — its active factor and theme bets beyond a cheap index, how much of a theme it holds versus actively bets on, and how those bets played out.
- Fund Family ValueHow a fund's family — its adviser — ranks on after-fee value across its scored funds, and where this fund sits inside it.
- The Neighbourhood (Your Passive Alternative's Full Life)What the fund's passive alternative would have done over its whole available history, next to US stocks, world stocks and US bonds — a hypothetical backcast of today's mix, never a track record.
- Growth & After-Fee Returns (Matched Windows)Growth of $1,000 for the fund and its passive alternative on one matched monthly window, with after-fee period returns raw and at matched market risk.
- Index-Fund Growth & ReturnsGrowth of $10,000 for an index fund from its own month-end prices, beside broad US stocks (VTI), global stocks (VT) or US bonds (BND), with the return table from the same prices.
- Index-Fund Risk Against the Chosen LineBeta, tracking error and up- and down-market capture of an index fund against the comparison line chosen on its chart, over three and five years.
- Fund SizeThe fund's net assets across all its share classes, from its latest monthly portfolio report to the SEC.
- Positioning Context (Cohort Percentiles)Where a fund's beta and tracking error sit among funds benchmarked to the same passive alternative.
- 3-Year Risk DetailThe fund's trailing risk profile — volatility, Sharpe, drawdown, and how it behaved versus its stated prospectus benchmark.
- Tracking-Error DecompositionWhere a fund's benchmark-relative risk (tracking error) comes from — split into its factor tilts and its stock selection, ranked bet by bet.
- The Receipts (Every Priced Position vs the Twin)What each of a fund's own filed positions was worth against the same position inside its passive twin, in dollars a year per $10,000 — plus the position-by-position comparison of the two books as filed.
- Manager MovesWhether the trades a fund made between filings have, so far, helped or hurt versus holding still.
- Portfolio ShiftsHow a fund's exposures moved between its filed holdings and its own filings a year earlier.
- Alternatives to InspectOther funds and passive options worth comparing against this one.
- TakeawaysThe handful of plain-language points a profile is trying to make.
- The TakeA one-paragraph summary of the profile, built only when the evidence is complete.
- Data sources & freshnessWhere our data comes from and how we represent its age.
- Limits & no-advice boundaryThe honest gaps and what FundScore is not.
Value Score
How much genuine active value a fund delivered, net of its fee, versus its passive alternative — a backward-looking, relative read.
What it measures
The Value Score answers one question: of the active options here, did this fund genuinely add value after its fee, versus simply buying its passive alternative (a low-cost index ETF blend that tracks the same style)? It is shown as net value over the passive alternative, per year, and as a 0–100 score anchored so that 50 = breakeven (the fund exactly earned back what it charges above its passive alternative).
Above breakeven means the fund's beta-adjusted edge more than covered its extra fee in the past; below means the extra fee exceeded the edge — for most active funds, the honest default is that the passive alternative wins. It is a relative, diagnostic read, not a prediction.
How we calculate it
We strip out broad market and style exposure (the fund's return minus β times its passive alternative), so generic market beta earns no credit — only the manager's beta-clean excess counts. Both sides are measured before their fees, so the fund and its alternative are compared like for like.
That beta-clean edge is deliberately shrunk toward zero because it is mostly noise. We take the fund's information ratio (its beta-clean excess per unit of tracking risk), weighting recent years more heavily with an exponential decay whose time constant is 3 years and clipping weeks outside the 1st–99th percentile band; multiply it by the fund's tracking error over the last 3 years; and keep a fixed 0.3 of the result.
From that we subtract the fee premium — what the fund charges above its passive alternative, which charges a fee too: the fund's expense ratio minus β times the alternative's blended ETF fee. What remains is net value over the passive alternative, in basis points per year — the headline number. The 0–100 score is a fixed rescaling, not a percentile: 50 is breakeven, each basis point a year moves it by 0.18 of a point, and it is clipped to 0–100 and rounded to the nearest 5.
A fund is only scored when a low-cost passive alternative can fairly stand in for it: at least 200 weeks (about four years) of returns alongside that alternative, and an alternative that explains at least 0.75 of the fund's return variance (R²). Otherwise the page shows the reason — for example Too new, Not comparable or Fee unavailable — rather than a number. Target-date funds are never scored: one fixed passive mix cannot follow a glide path, so its drift would read as the manager's loss. Figures are deliberately coarsened (net value to the nearest 10 basis points) because the signal is mostly noise.
Every share class of a fund owns the same portfolio, so the edge is measured once, on one class's returns — the page names which. Each class then gets its own score: that measured value with the fee premium recomputed from the class's own net expense ratio. Sales charges (front-end and deferred loads) are shown beside a class's score, never inside it — whether you pay one depends on how and how much you buy.
Data sources
- Weekly fund and passive-alternative (L2 blend) returns from passive_alt_daily_nav
- Net expense ratio (named share class) and the passive alternative's blended ETF fee from expense history
- Replica quality (l2_replica_quality) gating which funds can be scored
What it does not mean
- It is not a forecast or an expected return — historically even the highest-scoring funds tended to trail their passive alternative, net of fees, going forward.
- It is not a buy / sell / hold recommendation, and a high score is not a probability of beating the market.
- It is not a universal quality rating — breakeven is a high bar, and most active funds score below it.
Limitations
- The underlying signal is roughly 98% noise and regime-dependent (it can reverse in down markets), so we lead with the breakeven sign and treat the exact magnitude as soft.
- A single beta adjustment removes broad style but not concentrated theme bets — a growth fund's AI tilt, for example, can still show as positive value.
- Coverage is equity and allocation funds. Target-date funds, and funds whose strategy has no fair passive stand-in, are shown as not comparable rather than scored.
Method value_score_v0.3.4 · Computed as of 2026-08-01, from each fund's weekly returns through that date.
Value Offering
Whether a fund is a reasonable way to get its exposure and manager, read against its passive alternative.
What it measures
Value Offering reads a fund along two questions, not one rating. First: is there evidence the manager's stock selection has added value (judged selection)? Second: what kind of bet are you actually buying — a stock-picker's book, or mostly a sector or theme tilt you could get more cheaply (bet profile)?
It is shown as a small set of plain badges (for example, Stock-picking edge, Mostly a sector or theme bet, Selection unproven, Costs more, Index, Building track record) — always next to the named passive alternative the fund is being read against.
How we calculate it
Axis A (judged selection) uses a hierarchical Bayesian skill posterior — the probability the fund's manager has added value through selection, measured before fees (gross-of-fee, so the signal isn't conflated with cost) and after removing what passive exposures explain.
Axis B (bet profile) reads the same tracking-error decomposition as the Tracking-Error Decomposition section: the share of the fund's active risk versus its passive alternative that no factor in a fixed global basis (style, geography, sector, macro and commodity factors) explains — stock picking — against the share those factor tilts do. A fund whose active risk is mostly such tilts is labelled a sector or theme bet, even when its returns look strong. Funds that decomposition cannot cover carry no bet profile rather than a stand-in value.
A theme-ride override softens a selection badge to a bet badge when nearly all of a fund's edge is explained by one concentrated theme — so a strong number doesn't read as proven skill when it's really one bet.
Data sources
- Hierarchical skill posteriors (returns-based, net and gross of fees)
- The tracking-error decomposition — the fund's active returns regressed on a fixed global factor basis
- SEC N-PORT holdings and the matched passive ETF blend
What it does not mean
- It is not an expected return or a forecast of how the fund will do.
- It is not a probability of beating the market, and not a buy / sell / hold recommendation.
- It is not a universal quality rating — a fund can be a reasonable way to make a bet that turns out poorly.
Limitations
- Judged selection requires enough return history; funds with too short a track record are labelled Building track record rather than scored.
- The skill posterior is returns-based — it can detect selection that shows up in performance, but cannot see a manager's reasoning or intent.
- Bet profile depends on holdings, which carry the usual SEC filing lag (see Exposure X-Ray limitations).
Method vo_reframe_v0.5 · Evaluated as of 2025-10-31 holdings; skill read from the panel built 2026-10-22.
Fee Fairness
How a fund's fee compares with what similar funds charge for similar work.
What it measures
Fee Fairness places a fund's expense ratio in the distribution of fees charged by comparable funds, so you can see whether you are paying near the middle, the cheap end, or the expensive end for the kind of fund it is.
How we calculate it
We compare the fund's filed net expense ratio against peers in the same category, and against the fee of its closest passive alternative, to produce a fairness band.
The active fee — what you pay above the passive alternative — is computed from the fund's fee minus the blended fee of the matched passive ETFs.
Fees are per share class. A fund's page shows its default class; opened at another class's ticker it shows that class's own filed net expense ratio, and its fee over the passive alternative is that class's fee minus the same blended passive fee (never below zero). Sales charges and 12b-1 fees are listed beside the expense ratio, not added to it.
Data sources
- SEC-filed net expense ratios (MFRR / prospectus filings)
- Matched passive ETF blend and ETF expense ratios
What it does not mean
- A fair fee is not a low fee, and an unfair fee is not a prediction the fund will underperform.
- We never say a fee is "worth it" or "overpriced" — only how it compares.
Limitations
- Fee comparisons depend on a usable peer category and a passive match; where neither is available we suppress the comparison rather than guess.
- Only filed expense ratios are used — funds with no recent filed fee show no fairness band.
Method fee_rd_v0.1 · fee_peer_percentile_v0.1 · Each fund's fee band is evaluated at its own latest filed expense ratio (the latest 2026-07-17); peer percentiles as of 2026-08-01.
Skill Evidence
The statistical evidence that a fund's manager has added value through selection.
What it measures
Skill Evidence is the probability — read from the fund's own track record — that the manager has added value beyond what its passive exposures explain, net of what it can be attributed to chance.
How we calculate it
A hierarchical Bayesian model pools each fund toward its peer group, so a short or noisy record is shrunk toward the typical fund in its category rather than over-read.
We report it as bands and a probability of positive (and of negative) skill, measured on gross-of-fee selection so the signal isn't conflated with fee economics.
The return it reads is the same beta-adjusted basis as the Value Score — the fund's return minus β times its passive alternative — so the skill read and the value verdict never measure against different yardsticks.
Data sources
- Fund and passive-alternative return series
- Peer-group structure from the fund taxonomy
What it does not mean
- Evidence of past selection is not a guarantee of future returns.
- A low probability is not proof of no skill — it can simply mean not enough evidence yet.
Limitations
- Funds with insufficient return history get no skill read (surfaced as a missing-evidence state, never a fabricated number).
- The model sees returns, not holdings reasoning — it measures whether selection showed up, not why.
Method hierarchical_skill_v2 · Skill panel built 2026-10-22.
Exposure X-Ray
What a fund actually holds — by theme, sector, stock, region and style — versus its passive alternative.
This explanation was written for method exposure_xray_v0.6; the data now served uses exposure_xray_v0.7. We are updating this section.
What it measures
Exposure X-Ray breaks a fund's portfolio into theme, sector, stock, country / region, style, concentration and asset-class rows, and shows the fund's exposure, the passive alternative's exposure, and the difference side by side.
Style labels translate factor names into plain language; the raw factor names are kept for the methodology and professional views.
How we calculate it
We start from SEC N-PORT holdings, look through fund-of-funds to the underlying securities, and classify each position into the exposure rows using a curated theme library and reference classifications.
Passive-relative rows subtract the matched passive blend's exposure from the fund's, so you see the active difference, not just the absolute weight.
Data sources
- SEC N-PORT holdings (with fund-of-funds look-through)
- Curated v0 theme library (stock-basket themes)
- Reference sector / region / style classifications and the matched passive blend
What it does not mean
- Exposure differences describe what the fund holds today, not what it will return.
- A larger difference is not automatically "better" — it is simply a more distinctive bet.
Limitations
- Holdings-derived rows are considered stale after 180 days; past that threshold the affected claims are suppressed.
- SEC holdings are filed with a lag, so the most recent portfolio may differ from the filed snapshot.
- Where classification coverage of a portfolio is partial, we show the covered weight and suppress claims about the uncovered part rather than fill it in.
- Foreign-listed positions are classified where reference data exists; a foreign sector vendor gap means some non-US sector rows are not yet available.
Documented method exposure_xray_v0.6
Return Attribution
Which holdings, sectors and themes drove a fund's return versus its passive alternative.
What it measures
Return Attribution decomposes a fund's excess return over its passive alternative into contributions from individual stocks, sectors and themes, over 1-, 3- and 5-year windows.
How we calculate it
We use a Brinson-style allocation that holds the period-start portfolio and attributes the return difference to where the fund was positioned differently from its passive baseline.
Per-member contributions are exact; the unattributed remainder reflects trading within the period (positions changed between filings), which quarterly holdings cannot resolve.
Data sources
- SEC N-PORT period-start holdings
- Sharadar SEP daily stock prices
- The matched passive blend
What it does not mean
- Attribution explains the past period only; it is not a forecast of which holdings will drive future returns.
Limitations
- Because holdings are quarterly, contributions do not sum exactly to the total excess return — the gap is real trading the snapshots can't see, reported as a residual, not clamped or imputed.
- Coverage gate: the pre-2025 holdings store is keyed to US stock tickers and drops foreign holdings, so funds whose portfolios were heavily international or emerging-market cannot be attributed with US-only prices — those fund-periods are suppressed rather than shown with distorted numbers.
- A small foreign-ADR residual can survive on otherwise-US funds; these are real, unclamped values reflecting the same documented foreign-attribution gap.
Method return_attr_v0.2 · Return windows end 2026-07-31; built from the filed holdings snapshots inside each window (period-start holdings as early as the prior filing).
Risk & Attribution
What drives a fund in return space — its active factor and theme bets beyond a cheap index, how much of a theme it holds versus actively bets on, and how those bets played out.
What it measures
The factor lens regresses a fund's returns on the market, the Fama-French style factors, and a library of curated theme baskets to estimate its exposures. The active β is the bet beyond the fund's passive baseline — its closest passive alternative (the L2 index blend) when one exists, otherwise the broad market. A near-zero active β on a theme means the fund holds it only as much as that baseline does.
The divergence headline juxtaposes two different measurements of the same exposure: how much of a theme the fund holds (% of assets) and how much of an active bet it runs on that theme (active β). These are never added together.
The bias / timing / idiosyncratic decomposition splits a fund's realised active return over the holdings path into the persistent tilt (bias), the part from carrying more of a factor in the quarters it paid (timing), and the residual left after the factor bets (idiosyncratic).
How we calculate it
Exposures come from trailing return regressions under several control models — raw, passive-alternative-stripped (vs the fund's L2 index blend), market-stripped, and incremental-to-FF6. The headline active β for any active claim is stripped of the fund's passive alternative when one exists, and falls back to the market otherwise — the page names which baseline applies. The regression needs only returns, not the filing-lagged portfolio, so it usually runs to a fresher date than the holdings; both as-of dates are shown.
The realised attribution multiplies each factor's average active tilt by the cumulative factor return over the path (bias) and adds the covariance of tilt and return (timing). Only the idiosyncratic residual is read as stock-selection evidence — and even then it is cross-referenced with the fund's skill evidence, never asserted alone.
Data sources
- Fund and factor daily returns (Fama-French factors, market, curated theme baskets)
- SEC N-PORT holdings (for the divergence headline's holdings side)
- The matched passive blend
What it does not mean
- Bias and timing are the realised contribution of the fund's exposure path, NOT a claim that the manager can time factors — three research probes found no evidence of timing skill. Only the idiosyncratic residual reads as selection skill.
- This returns-based factor attribution is a separate family from the holdings-based Return Attribution; the two answer the same question two ways and are never summed.
- How much of a theme a fund holds is not the same as how much it actively bets on it — a large holding can be pure market exposure.
- Exposures and realised attribution describe the past, not the future; we do not forecast factor or theme returns.
Limitations
- Estimated for funds with enough usable return history and a matched passive blend; the rest are shown as unavailable rather than estimated.
- Where a factor or theme β isn't statistically distinguishable from zero (|t| < 2), we say so rather than present it as a real bet.
- The divergence holdings side inherits the 180-day holdings staleness and filing-lag limits; where the passive blend has no theme look-through we lean on the absolute weight and active β rather than a misleading self-overweight.
- The attribution waterfall lists the top factor rows; the remaining small factors are collected into an explicit “smaller factor bets” line (exact by the decomposition's own identity) so the chain always sums — nothing is silently dropped.
- The realised attribution (v0.2) runs on the standardized factor model — the same bet universe as Current Positioning and the tracking-error table — over the holdings era only; earlier history is covered by the returns-based Growth section.
Method factor_exp_v0.1 · exposure_divergence_v0.1 · exposure_path_v0.2 · Return-based exposures through 2026-08-21; the realised attribution covers the holdings era, through 2026-08-31; holdings side as of the displayed filing date (the latest 2026-07-31). Both dates are always shown.
Fund Family Value
How a fund's family — its adviser — ranks on after-fee value across its scored funds, and where this fund sits inside it.
What it measures
The family is the fund's ADVISER (from N-CEN filings) — the firm actually running the money — not the SEC trust name, which splits one brand across dozens of registrants. For each family we show the average and the AUM-weighted net value per year across its scored funds (each fund read against its OWN passive alternative), and a rank among families with at least five scored funds.
Showing both averages is deliberate: the AUM-weighted figure counts every invested dollar equally, the simple average counts every fund equally — the gap between them says whether the family's biggest funds do better or worse than its typical fund.
How we calculate it
Scored funds are grouped by cleaned adviser name (a small alias map merges spelling variants; sub-advised funds group under the adviser). Each fund's net value is its Value Score read — after fees, versus its own closest passive alternative — so the family aggregate is an average of per-fund comparisons, never a single-benchmark claim.
The family rank uses the AUM-weighted since-inception figure (the payload names the rank basis); families with fewer than five scored funds are shown but never ranked. The member table lists the family's largest scored funds by AUM, always including the fund you are viewing.
The 3-year column is a different, realized basis: each fund's beta-adjusted after-fee excess over its passive alternative across the last three years of the matched monthly window — commensurately beta-adjusted like the Value Score, but a raw realized read, not a shrunk score. Funds without a 3-year matched window are excluded from the 3-year aggregates, never imputed.
Data sources
- Value Score panel (per-fund net value vs its own passive alternative)
- Fund metadata (N-CEN adviser name, monthly average net assets)
- The matched-window period table behind the Growth & After-Fee Returns section (the 3-year column)
What it does not mean
- A family's rank describes its scored funds' past after-fee value — it is not a prediction for any fund, and not a claim about funds we don't score.
- The since-inception and 3-year columns are different statistics on different bases (shrunk score vs realized excess) — they are shown side by side, never added or averaged together.
Limitations
- Coverage is scored funds only, and only families that reach the 5-fund ranking bar are ranked — the page says 'scored funds', never 'all funds'.
- Member AUM stamps come from filings and span a date range rather than one day; the page discloses the range.
- Adviser-name grouping can fragment a family whose filings spell the adviser differently; known variants are merged and the top families were eyeballed, but a residual split is possible.
Method fund_family_panel_v0.1 · Value as of 2026-08-01; member AUM stamps come from filings and span 2023-09-30 to 2026-07-31 across families (each page discloses its own family's range).
The Neighbourhood (Your Passive Alternative's Full Life)
What the fund's passive alternative would have done over its whole available history, next to US stocks, world stocks and US bonds — a hypothetical backcast of today's mix, never a track record.
What it measures
Growth of $10,000 in the fund's passive alternative — the twin — over the longest window where the twin and all three comparators are genuinely priced, shown against IVV (US stocks, the S&P 500), VT (world stocks) and BND (US investment-grade bonds). All four legs come from adjusted closes, so each is already net of its own ETF fee.
Alongside the chart: up- and down-capture against world stocks, the twin's three deepest drawdowns, and calendar-year bars. This section describes the NEIGHBOURHOOD the fund lives in — how its passive alternative behaves — not the fund's own record, which is the Growth & After-Fee Returns section.
How we calculate it
The twin leg holds TODAY'S matched weights fixed and backcasts them across the window. That is hypothetical by construction — the mix was fit at the refit date shown on the chip and did not exist historically — so every payload carries the hypothetical flag and its mix-as-of date, and the page labels it.
The window starts at the LATEST first-price date across the twin's own holdings plus IVV, VT and BND (world stocks, first priced 2008-06-26, bind most twins; a younger holding binds later and the page names what bound it), and ends at the earliest last-price date across those legs. No proxy is ever spliced in to reach further back and nothing is backfilled — a twin holding a young ETF honestly gets a shorter window.
Capture is computed on monthly returns with world stocks as the reference: down-capture is the twin's average return across the months world stocks fell, divided by their average return in those same months (up-capture is the mirror). Drawdowns are measured on the twin's DAILY closes — peak is the last day at the running high, recovery is the first day that high is regained, depth is never clamped — and an unrecovered episode is marked ongoing rather than closed early.
On the handful of days where a leg has no price, that day is skipped for every leg rather than filled: compounding across the gap yields the true multi-day return. The effect is bounded: the build fails outright if any twin skips more than 5 days. (The per-twin count is measured in the panel but is not currently carried into the served payload, so the page cannot disclose it per-fund; tracked upstream.)
Data sources
- Canonical daily adjusted closes (fund_daily_adj_close) for every leg
- The L2 passive-blend weights — the same twin shown in the Passive Alternative section
- The L2 candidate-fit panel (the refit date behind the mix-as-of chip)
What it does not mean
- The twin line is NOT a track record and nobody earned it: it applies today's mix to the past. It shows what that combination of index funds would have done, which is a different claim.
- This is not the fund's own history. Nothing here says whether the manager beat the alternative — that comparison lives in the Value Score and the Growth & After-Fee Returns section.
- “US bonds” means exactly that: BND is Vanguard Total Bond Market, a US investment-grade fund, not a global bond fund. The honest global vehicle only begins in 2018 and reaching 2008 with it would require splicing, which this panel forbids.
Limitations
- Coverage is funds that display a twin mix you could act on. A fund can carry a passive-alternative record and still display no twin, because its match fell below our fit floor; such a fund gets no neighbourhood either.
- The funds without a neighbourhood are honestly without one: they have no twin to speak of (passive vehicles among them, where a twin is meaningless), or a twin below our fit floor — we will not present a match we don't trust as “the neighbourhood” — or no fit row, in which case they fail closed.
- The history belongs to the twin, not the fund. Two funds matched to the same alternative see the same neighbourhood, and a twin can be far older than the fund holding it.
Method neighbourhood_v1_2026-08-09 · Monthly growth from each twin's own window start through 2026-09 (the final calendar year is marked partial); twin mix as of 2026-06-30. The window is per-twin, not shared: it starts where every leg is genuinely priced.
Index-Fund Growth & Returns
Growth of $10,000 for an index fund from its own month-end prices, beside broad US stocks (VTI), global stocks (VT) or US bonds (BND), with the return table from the same prices.
What it measures
The chart shows what $10,000 became in the index fund, after its fees, with distributions reinvested. One comparison line at a time can sit beside it: broad US stocks (VTI) or global stocks (VT), and for funds that hold both stocks and bonds, global stocks or US bonds (BND). The return table gives the fund's year-to-date, 1-, 3-, 5- and 10-year returns and its full record, from the same prices as the chart.
How we calculate it
Each month's point is the fund's last adjusted closing price of that month (market price for an ETF, NAV for a mutual fund), used only when it falls within the last few days of the month. The chart is one unbroken run of months ending at the latest month we measure: it starts at the share class's launch, or where our price record begins, or after a break in the record, and the page says which. Prices that belong to another fund, flat stretches where a price was carried forward, and months before a filed launch date never enter the run.
A comparison line starts in the first month both the fund and the line's ETF have prices, at $10,000 in that month. A line is never joined to another before its ETF existed, and a fund is never compared with its own share classes. US-stock funds open on broad US stocks, non-US stock funds on global stocks, and stock-and-bond funds on global stocks; leveraged and inverse funds open with no line chosen.
Returns of three years and longer, and the full record when it spans a year or more, are per year (compound); year-to-date is cumulative. A window longer than the run, or than a line's history, is not shown.
Data sources
- Daily adjusted closing prices for the fund and for VTI, VT and BND, from our canonical price panel and its quality checks
- The share-class launch date from the fund's SEC filings
- Whether a fund is leveraged or inverse, read from its name and its filed objective and strategy
What it does not mean
- A comparison line is a broad market yardstick, not the index the fund tracks: a sector fund behind VTI is not underperforming its own index.
- Past growth is not a forecast.
- A chart that starts after launch does not mean the fund is new; it means our unbroken price record starts there.
Limitations
- Coverage is index funds with at least 13 months of unbroken month-end prices ending at the latest month we measure; funds with no prices, prices that stopped, or a shorter record show the reason instead of a chart.
- Market price for an ETF can differ slightly from its NAV.
Method index_performance_v4_2026-10-04 · Monthly series through 2026-07; each fund's chart starts where its own unbroken month-end price record starts.
Index-Fund Risk Against the Chosen Line
Beta, tracking error and up- and down-market capture of an index fund against the comparison line chosen on its chart, over three and five years.
What it measures
How the index fund has moved with the comparison line chosen on its chart (broad US stocks, global stocks or US bonds): its beta (1.00 moves one-for-one with the line), its tracking error (how much its monthly return differs from the line's, as a yearly figure), and how much of the line's up and down months it captured.
How we calculate it
The window is the 36 or 60 consecutive months ending at the latest month we measure in which both the fund and the line have monthly returns from their own unbroken records. Beta is the slope of the fund's monthly return above a short-Treasury rate (SHY) against the line's; tracking error is the standard deviation of the monthly difference, scaled to a year; up-market capture is the fund's average return in the line's rising months divided by the line's, and down-market capture the same for falling months.
With fewer shared months than the window needs, the figure is not shown and the page says how many months there are.
Data sources
- The fund's and the lines' month-end adjusted prices, from the same run as the growth chart
- SHY (short-Treasury ETF) as the risk-free rate
What it does not mean
- These are not how closely the fund follows its own index: a broad market line is a different yardstick from the index in the prospectus.
- A high beta or tracking error is a description of the ride, not a verdict on the fund.
Limitations
- Three and five years of monthly returns are short, noisy windows; treat the levels as descriptive.
- Funds whose record is shorter than three years show no figures, with the number of months they have.
Method index_performance_v4_2026-10-04 · Measured over the 36 and 60 months ending 2026-07.
Fund Size
The fund's net assets across all its share classes, from its latest monthly portfolio report to the SEC.
What it measures
How much money the fund manages: the net assets of the whole fund, all share classes together, on the date of its latest monthly portfolio report.
How we calculate it
We take the net assets the fund reports on Form N-PORT for its latest report period. Where the fund filed more than one report for that period (an amendment), the latest accepted filing is used.
Data sources
- SEC Form N-PORT monthly portfolio reports
What it does not mean
- Size is not quality: a large fund is not better for being large.
- It is the whole fund, not one share class.
Limitations
- A fund that has not filed a recent N-PORT report shows an older date, or no size when we hold no report.
Method unversioned · From each fund's latest Form N-PORT report; report dates range from 2024-09-30 to 2026-07-31, and each page states its own.
Positioning Context (Cohort Percentiles)
Where a fund's beta and tracking error sit among funds benchmarked to the same passive alternative.
What it measures
A beta of 0.90 or a tracking error of 4.8%/yr means little on its own. This context places each next to funds sharing the same passive alternative: the percentile says what fraction of that named cohort sits strictly below the fund on that measure.
The cohort is always named with its size — a percentile is never shown against an unnamed population. When the same-passive-alternative cohort is too small, the fund's peer group stands in (and the copy says so).
How we calculate it
Percentile = the share of cohort members strictly below the fund's value (the fund itself counts in the denominator; ties share the same percentile, never ranked above one another). This is the one percentile convention used page-wide — the fee ruler's peer percentile uses the same rule.
Cohorts need at least 20 members to produce a percentile; smaller cohorts show nothing rather than a percentile over a handful of funds. Funds whose passive alternative is a blend of ETFs get a blend-weighted percentile: the fund is read within each constituent ETF's cohort and the percentiles combine by the blend weights, renormalized over the constituents whose cohorts qualify.
Beta and tracking error are consumed exactly as the Value Score computed them (weekly returns, beta-adjusted, trailing three years, versus the fund's own passive alternative) — no recomputation, no mixing of bases.
Data sources
- Value Score panel (beta, current tracking error, passive-alternative label)
- L2 passive-blend membership (which ETFs, and their weights, form each fund's alternative)
- Fund taxonomy peer groups (the small-cohort fallback)
What it does not mean
- A percentile is position, not quality — a low beta is not better or worse, it is just less market sensitivity than most of the cohort.
- A high tracking-error percentile does not mean more (or less) skill — it means the fund takes more benchmark-relative risk than most funds read against the same alternative.
- These are descriptions of current positioning, not forecasts.
Limitations
- Only scored funds get percentiles; funds whose cohort stays under 20 members even after the peer-group fallback show no percentile at all.
- At the minimum cohort size percentiles quantise to roughly 5-point steps — displayed values are rounded so the precision isn't over-read.
- For blend-baseline funds whose constituent cohorts don't all qualify, the percentile reads against the qualifying part of the blend (the copy names the constituents and weights actually used).
Method positioning_context_v0.1 · Computed as of 2026-08-01, from the same beta and tracking-error reads as the Value Score; blend membership as of 2026-06-30.
3-Year Risk Detail
The fund's trailing risk profile — volatility, Sharpe, drawdown, and how it behaved versus its stated prospectus benchmark.
What it measures
The risk detail shows how bumpy the ride has been: the fund's own trailing 3-year volatility (standard deviation), risk-adjusted return (Sharpe and Sortino), and its worst peak-to-trough loss (maximum drawdown, dated, over the fund's full priced history).
Where the fund's stated prospectus benchmark has a matching index ETF, it also shows benchmark-relative behavior over the same 3 years: beta, alpha, R², tracking error, information ratio, and upside / downside capture — how much of the benchmark's up and down months the fund participated in.
How we calculate it
All figures come from the fund's daily adjusted NAV (dividends and splits reinvested), downsampled to month-ends. The 3-year window is the trailing 36 months (at least 30 required, or the figure is not shown). Volatility is the annualized standard deviation of monthly returns; Sharpe and Sortino use monthly returns in excess of a short-Treasury ETF (SHY) as the risk-free proxy.
Maximum drawdown is measured on the full daily price history — the largest fall from any prior peak — and is shown with its date.
Benchmark-relative rows regress the fund's monthly excess returns on those of an index ETF tracking the fund's stated prospectus benchmark (a monthly OLS over the same 3-year window, at least 12 shared months). This is the fund's own filed benchmark — a deliberately different reference from the passive alternative the rest of the page compares against, and the page labels which benchmark applies.
Data sources
- Tiingo daily adjusted closes (fund NAV and benchmark ETF prices)
- The fund's stated prospectus benchmark (SEC filings), mapped to a tracking ETF
- SHY (short-Treasury ETF) as the risk-free proxy
What it does not mean
- Past volatility and drawdown describe the historical ride, not a forecast of future risk.
- The tracking error here (monthly, vs the stated benchmark) is NOT the page's headline tracking error (weekly, beta-adjusted, vs the fund's closest passive alternative) — they answer different questions against different references.
- Upside / downside capture describe past co-movement with the stated benchmark, not manager skill.
Limitations
- Benchmark-relative rows exist only where the stated benchmark's ETF proxy has priced history in our store. The dominant gap today is missing proxy prices — notably the S&P 500's (SPY) — not unmappable benchmarks; those funds honestly omit the group rather than substitute a different index, and the proxy ingest is tracked as a fix.
- The served risk fields are computed at a fixed evaluation cutoff (dated below), not refreshed with each day's prices. The section stamps each fund's date and flags staleness rather than hiding it.
- Three years of monthly returns is a short, noisy window — treat the levels as descriptive, not precise; the maximum drawdown spans the fund's full priced history, which can include a different manager or mandate era.
Method unversioned · Computed from daily adjusted NAV priced before 2026-08-01 — the same evaluation cutoff as the Value Score; the page stamps each fund's own date and flags it when stale.
Tracking-Error Decomposition
Where a fund's benchmark-relative risk (tracking error) comes from — split into its factor tilts and its stock selection, ranked bet by bet.
What it measures
Tracking error is how much a fund's returns swing away from its passive alternative. This decomposition answers where that risk comes from: how much is the fund's factor tilts (sector, geography, macro and commodity), and how much is its stock selection — the part no factor explains.
It leads with a grouped rollup (for example, about half of a fund's tracking error is stock-specific and its biggest factor source is a sector tilt), then lists the individual bets ranked by how much each contributes to tracking error. A bet with a negative contribution is diversifying: it moves against the rest of the book and reduces tracking error.
How we calculate it
We measure tracking error on the same series as the fund's headline tracking error: its beta-adjusted weekly return versus its own closest passive blend, over a trailing three-year window, with Fama-French style controls — so the page shows a single tracking-error number.
That variance is split into a factor sleeve and a stock-selection sleeve. Every fund is read against the same fixed global basis of factors, so funds are comparable and no factor family can crowd out another; the stock-selection share is what a joint fit on that basis leaves unexplained, adjusted for the number of factors so a larger basis cannot shrink it mechanically. The factor sleeve is allocated across the fund's active factor bets by each bet's share of factor variance; the stock-selection sleeve is the residual left after the factor bets. The two sleeves combine in quadrature back to the total, and the per-bet allocations sum to the factor sleeve.
Each bet's beta is a single-factor read that carries a confidence state from its t-statistic. Only the variance shares scaled into the sleeve split are meaningful — the raw beta levels double-count on overlapping bets, so we never present them as standalone risk contributions.
Data sources
- Beta-adjusted weekly fund and passive-blend active returns (the tracking-error basis)
- A fixed global factor basis shared by every fund: Fama-French style controls plus geography, macro, sector and commodity factors (no theme baskets)
- The fund's matched passive ETF blend (its passive alternative)
What it does not mean
- A bet's tracking-error contribution is a risk reading, not a return — it does not say the bet made or lost money.
- The per-bet betas are single-factor reads on a collinear factor set; only the sleeve-scaled variance shares are meaningful, so we lead with the grouped rollup rather than the individual beta levels.
- There is no per-stock tracking-error number — individual stock bets are listed by their active weight, not given a fabricated risk contribution.
Limitations
- Estimated for funds with enough aligned weekly return history; funds with too short a shared window are shown as unavailable rather than estimated.
- On collinear factor sets the individual per-bet betas are not individually robust — the method honors this by serving only the sleeve-scaled shares and flagging each bet's confidence rather than presenting fragile beta levels.
- Negative (diversifying) contributions are real and served as-is, never clamped to zero; the sleeves always anchor to the fund's headline tracking error.
Method te_decomp_v0.2_global · Tracking error as of 2026-08-01, from each fund's trailing three-year weekly returns; the split into individual bets is fit through 2026-05-22, because the factor data is published with a lag.
The Receipts (Every Priced Position vs the Twin)
What each of a fund's own filed positions was worth against the same position inside its passive twin, in dollars a year per $10,000 — plus the position-by-position comparison of the two books as filed.
What it measures
The receipts take the fund's own SEC-filed holdings, quarter by quarter across its window, and put each position next to the weight the fund's passive twin held in that same security. Where both a weight and a real price history exist, the ledger shows what that weight difference was worth: a per-position impact in dollars a year per $10,000 invested, plus the position's own annualized return over the window.
The position diff is a different question at a single moment: of the lines this fund files today, which does the twin also hold, at what weight, and which does neither side hold? It is a snapshot of what the manager holds differently, not a record of what it earned.
Both are past-tense evidence about filed positions. Neither is a forecast, and neither says anything about what the fund will hold next.
How we calculate it
Weights on both sides are the SEC-filed percent of net assets — the fund's own filed pctVal and the twin's look-through weight on the same quarter — and neither is ever renormalized over the part we can price. The impact of a position is the standard Brinson term summed over the window's quarters: the weight difference against the twin, multiplied by how that security did against the twin's own return, expressed per year. One basis point a year is one dollar a year per $10,000.
A position is priced from the ordinary share's own local price history where we have it, otherwise from its US listing; the basis is carried on every row. A holding we cannot price is not estimated, not proxied and not dropped quietly — it is absent from the ledger and disclosed beside it.
Coverage is reported on TWO different bases, deliberately kept apart. The share of the fund's filed net assets we could price is measured on the WEAKEST quarter of the window — a floor, so every other quarter was at least that well covered. What we could NOT price is described from the LATEST FILED BOOK, with its own filing date. They measure different things over different periods; they do not sum to one another and the page never presents them as two halves of one split.
The position diff matches lines by security identifier (ISIN, ticker, or an ISIN/CUSIP crosswalk) rather than by name. Where a line cannot be resolved on one side, or where more than one claimant ties for the same security, the comparison for that line is WITHHELD — shown as a dash — rather than published as a zero we cannot prove. A printed 0.00% is reserved for lines where the twin's book demonstrably holds none of the name.
The twin's long tail below a 0.25% look-through weight is aggregated into a single disclosed line carrying its count and total weight, rather than being listed name by name or silently discarded.
Data sources
- The fund's own filed N-PORT holdings (quarterly across the window, and the latest filed book for the diff)
- The twin's look-through: the matched L2 passive blend's weights applied to each constituent ETF's filed holdings, reconstructed at each quarter with no lookahead
- Daily prices for the constituents — the ordinary share's own listing where available, otherwise its US listing
- The twin's own daily NAV, as the baseline each position is measured against
What it does not mean
- The impact figure is allocation AND stock-picking combined. It is a different cut from the selection-only picking figure in the skill read, and the two are not expected to agree — one reads filed holdings, the other reads returns.
- The totals row is what the PRICED long book did, not the fund's actual active return. The difference between them belongs to the part we could not price, to fees and to trading — this ledger makes no claim to add up to the fund's result.
- A dash in the twin column does not mean the twin holds none of that position. It means we could not prove what it holds, which is a different statement — and the reason we refuse to print a zero there.
- A line marked as a derivative is a mark-to-market exposure, not a shareholding. It is not on the same basis as the twin's physical weight, so no comparison is published for it.
- None of this is a skill test. A manager can have picked well over this window and still not have earned the fee — that is the verdict at the top of the page, and it is a different question.
Limitations
- Funds without a ledger or a position diff are honestly absent, not hidden: each carries a served suppression reason — no matched passive twin at all, too little of the book priced, no common-stock book filed, too little holdings history, or a single position dominating the priced book — or sits outside the panel's scope, or has no receipts record at all.
- A fund serves exactly ONE window — five years, three or one — and it is stated everywhere the money appears. On a one-year window, "a year" is that single year, and a concentrated fund's biggest line can honestly read in the thousands of dollars per $10,000 — real, and not a rate to expect again.
- We serve the ledger only where at least 80% of the fund's filed net assets could be priced in the window's weakest quarter (the served floor). That threshold protects the reader from a ledger describing a corner of a portfolio, and it is why foreign-heavy funds are the most common casualty.
- The receipts cover the long common-stock book. Short positions, derivatives and non-equity lines are outside it, and the position diff marks derivative lines rather than comparing them.
- The twin's weights are adjudicated to the SOLE claimant of a security. Where two lines tie for the same claim, the comparison is excluded rather than bound to a stable-but-arbitrary winner.
- The position diff needs the fund's book and the twin's look-through to be close enough in time. Funds whose books are more than a filing cycle apart serve zero rows and a stated reason rather than a comparison dated to one side.
- A fund whose receipts ledger or position diff is read against a twin below our fit floor — a twin the same page's verdict refuses to score it against — keeps both ledgers, carrying a visible loose-fit disclosure that names the mix and states its measured correlation with the fund and how much of the fund's week-to-week movement it reproduces. The asymmetry is deliberate: the arithmetic on filed weights is exact whatever the twin's quality, so the comparison is still evidence — but a verdict, and the cheapest-alternative card that follows from it, are claims about whether the fund earned its fee, and those stay withheld when the yardstick is not trustworthy. Funds that carry a ledger with no fit measurement served at all say that, rather than being shown as though the match were fine.
- Where the filed book contains lines we could not identify at all, they are labelled as exactly that ("unidentified filed lines") with an "unknown" country, rather than being folded into a sector or a country they might not belong to.
Method stock_receipts_v0.1 · twin_holdings_diff_v0.3 · Receipts are evaluated at the 2026-07-31 holdings-and-price frontier; each fund serves ONE window ending there. The position diff compares each fund's latest filed book (filings dated 2026-03-31 to 2026-08-31) against its twin's look-through at the nearest aligned date (2026-05-29 to 2026-07-31); every served fund's two books are close enough in time to line up, because the ones that are not serve a reason instead of rows.
Manager Moves
Whether the trades a fund made between filings have, so far, helped or hurt versus holding still.
What it measures
Manager Moves looks at the changes a fund made to its portfolio between filings and estimates whether those specific trades have added or subtracted value relative to having left the portfolio unchanged.
How we calculate it
We diff consecutive holdings snapshots to recover what was bought and sold, then mark those changes against subsequent prices to estimate the trade-impact contribution.
Data sources
- SEC N-PORT consecutive holdings snapshots
- Sharadar SEP daily stock prices
What it does not mean
- A positive trade impact so far is not a prediction that future trades will help.
Limitations
- We can only price changes whose securities are in our pricing universe; when coverage of the changed names is too low the row is suppressed, and in a degraded band the numeric impact is kept but the label is suppressed.
- Stale vendor security references (for example a ticker rename) can briefly misattribute a small, bounded set of names; known cases are documented and tracked.
Method manager_moves_v1 · Evaluated at the 2026-07-31 holdings frontier.
Portfolio Shifts
How a fund's exposures moved between its filed holdings and its own filings a year earlier.
What it measures
Portfolio Shifts compares a fund against its own recent history — how its sector, theme, concentration, cash and top-position exposures changed between two of its own filings a year apart — so you can see where a manager is leaning in or out.
How we calculate it
We reconstruct both filing endpoints from the fund's own filed holdings and difference them across five exposure families, surfacing the largest moves. A position is followed across the two filings by its ISIN or ticker, linked within the fund's own filings, so an identifier the filer omits at one end does not split one holding into a sale and a purchase. When a fund holds an ETF or another fund, we report the trade in that holding itself rather than looking inside it — buying a semiconductor ETF is described as buying the ETF, not as buying each chipmaker in it.
Changes are ranked by their ESTIMATED effect on the fund's tracking error — roughly the size of the weight change multiplied by how volatile the thing being changed is — rather than by the size of the change alone. The two orderings disagree for most funds: a small move in something volatile can matter more than a large move in something that barely moves. This is an estimate, and it is never presented with the authority of a measured tracking error.
Data sources
- SEC N-PORT holdings at two filing endpoints
- Sector and theme classifications applied to the fund's own filed holdings
What it does not mean
- A shift describes what changed, not whether it will pay off.
- Because we do not look inside a held fund or ETF, a shift in this section is not a statement about the individual companies underneath it.
Limitations
- A fund needs a qualifying prior filing within the lookback window; without one, no shift is shown.
- Concentration and cash moves carry no tracking-error estimate — there is no defensible way to put them on the same risk scale as a weight change, and we would rather leave them unranked than invent one. A fund whose only changes are of those kinds gets no ranked headline move.
- Where classified-weight coverage is too low to anchor a diff, the affected family is suppressed.
- A fund that expresses a bet through a held ETF shows that ETF trade rather than an underlying sector or theme shift, so some exposure moves are not surfaced here.
- Where a holding's identifiers disagree about which security it is, the row is withheld rather than shown under a name we cannot stand behind.
Method positioning_changes_v0.4_isinkey_no_expansion · Year over year: a fund's most recent qualifying filing against its own filing about a year earlier. Panel evaluated 2026-07-31. Across served funds the later filing dates run 2026-05-29 to 2026-07-31 and the earlier ones 2025-04-30 to 2025-08-31, and every row on the page carries its own two dates.
Alternatives to Inspect
Other funds and passive options worth comparing against this one.
What it measures
Alternatives to Inspect surfaces the fund's closest passive alternative, the other share classes of the same fund and a short list of comparable funds, each with its own fee and what it would cost a year on $10,000 compared with this fund, so you can see what else covers similar ground before deciding anything yourself.
On index-fund pages it also shows other index funds that moved with this one, other index funds holding the same stocks, the fund's own filed return against its index, and active funds compared through the ETF that moves most closely with it.
How we calculate it
Every card carries the alternative's own fee as served and the yearly cost difference on $10,000 against this fund's fee (positive when the alternative costs more), computed once in our pipeline and never re-derived on the page. A card missing either fee says which one is missing.
Same portfolio, another share class: every other live class of the same fund, in any wrapper, with its own fee and its filed maximum sales charges.
Same exposure for less (index stock funds): other index funds whose weekly returns over the trailing 36 months stayed within 0.5% a year of this fund's (tracking error below 0.50%), with a beta between 0.97 and 1.03, measured on at least 150 paired weeks. Each also shows the average return difference, because tracking error measures how much the gap varies, not its average, and whether the two track the same index.
Other passive funds (index stock funds): index stock funds holding at least 30% of the same portfolio by weight on each fund's latest complete filing, with each side's focus, size and weight in its ten largest holdings to show what changes.
Active alternatives on index pages: we find the ETF in our passive pool whose weekly returns move most closely with the fund (a correlation of at least 0.95 over at least 150 weeks), then list active funds whose own twin is that ETF or a blend it leads. Each shows its Value Score against its own twin and, against that ETF over the same weeks, its return advantage (the average weekly difference times 52, after fees, not a compounded return) and its information ratio.
Passive fit on an active fund's card is that fund's own fit to its current twin (its crescent R²); on the closest-passive card it is this fund's fit to that passive mix.
The filed index gap on index pages is the fund's own 1-, 5- and 10-year return against its index from its shareholder report, for the periods the filing labels.
Similar active funds share the fund's peer group and closely match its factor exposure, ranked by holdings overlap. Funds sold only inside other funds are left out of every list.
Data sources
- SEC N-PORT filed holdings
- Fees and sales charges from each fund's and share class's SEC filings
- Daily adjusted closing prices
- Fund-versus-index return tables in SEC shareholder reports
- Fund taxonomy and the matched passive ETF blend
What it does not mean
- Alternatives are options to inspect, not "the fund you should use" — we never name a single correct alternative.
- A lower cost is not a prediction that the alternative will return more, and a past return advantage does not establish future added value.
Limitations
- Alternatives are only as complete as the covered universe; a fund in a thin category may have few comparable candidates.
- The cost difference compares annual expense ratios only; sales charges, trading spreads and taxes are not in it.
- Funds whose recent prices failed our checks are left out of every comparison built on returns, and those figures are withheld on their own cards.
- Many shareholder reports' return tables are not labelled by period in the part we read; those periods stay blank with the reason, rather than being guessed, and returns stated after the maximum sales charge are not shown.
Method alternatives_v0.3 · Evaluated at the 2026-07-31 holdings frontier.
Takeaways
The handful of plain-language points a profile is trying to make.
What it measures
Takeaways turn the profile's underlying facts — fee, exposure difference, selection evidence, recent shifts — into a short, plain-language list of what stands out about the fund.
How we calculate it
Each takeaway is generated deterministically from the fund's own data points using a fixed template library; nothing is written free-hand and no point appears without a factual basis behind it.
Data sources
- The fund's own Value Offering, Fee Fairness, Exposure X-Ray and shift data
What it does not mean
- Takeaways describe and explain; they do not advise or predict.
Limitations
- A takeaway is only generated when its supporting data point exists; missing inputs simply drop the corresponding point rather than guess.
Method takeaways_v0.1 · Each takeaway carries the as-of date of the figure it cites.
The Take
A one-paragraph summary of the profile, built only when the evidence is complete.
What it measures
The Take is a single short paragraph that pulls the profile's most important points together into a readable summary.
How we calculate it
It is assembled deterministically (selector deterministic_v0) from the same vetted takeaways and facts — a chosen, ordered arrangement of true statements, not a free-form generated opinion.
Data sources
- The fund's Takeaways and underlying profile facts
What it does not mean
- The Take is a summary of evidence, not a recommendation or a forecast.
Limitations
- The Take is suppressed for funds that lack the full evidence set, so a partial profile never gets a confident-sounding summary it hasn't earned.
Method the_take_v0.1 · Built from the same takeaways; it keeps the as-of dates of the figures it cites.
Data sources & freshness
Every claim in the product carries a source stamp — where it came from, its as-of date, and (for anything we compute) a method version. Our data comes from three families:
- SEC filings
- N-PORT (holdings), N-CEN, and MFRR / prospectus filings (fees, benchmarks). Public, point-in-time, filed with a lag.
- Vendor pricing & ETF reference
- Daily stock prices (Sharadar SEP), ETF prices and expense ratios, and reference security classifications.
- FundScore derived panels
- Everything we compute — skill posteriors, risk decomposition, exposures, attribution — each stamped with a method version and as-of date.
Holdings-derived numbers are evaluated against per-product filing frontiers — currently up to 2026-08-31, with each section stating its own as-of — and any holdings-based claim is treated as stale after 180 days. SEC filings arrive with a lag, so the most recent filed portfolio can differ from what a fund holds today — we always show the date the data is good as of, and never imply data is complete when its coverage is partial.
Limits & no-advice boundary
Not advice. FundScore is a transparency and analysis tool and does not provide personalized investment advice. We do not know your situation, and nothing here is tailored to it.
No prediction. Historical evidence and current exposures do not guarantee future returns. We do not forecast fund performance, theme returns, or market direction.
Coverage is bounded. Our returns-based selection signal can be computed only for funds with enough usable return and exposure history. The ceiling is structural: it reflects that history, not a stale build. Funds outside it show what we can support and suppress the rest.
Holdings have a frontier. Holdings-derived products are each pinned to their own filing frontier (currently up to 2026-08-31; every section states its as-of). When a fund's holdings are older than our 180-day threshold, the affected claims are suppressed rather than shown as current.
Foreign-heavy funds are partly limited. Some return-attribution windows rely on a US-priced holdings store that drops foreign positions; funds whose portfolios were heavily international or emerging-market are suppressed there rather than attributed with incomplete prices.
Missing data is never invented. We do not fill, impute, or interpolate missing values. A gap is shown as a gap.
A "What we got wrong" log will be published here as we correct mistakes. If you spot a number that looks wrong, please tell us — fixing data at the source is part of how this product works.
FundScore is a transparency and analysis tool, not investment advice. We calculate and compare; we do not recommend or predict.