StatVault

Public stats · source-derived

The archive, measured.

Source-derived measurements of the committed sports archive. These describe corpus scope and integrity, not traffic, popularity, or private user behavior.

Required identities represented

65,125

Of 65125 required source identities across NFL, NBA, MLB, NHL, and MLS

Every identity in the five currently committed source universes is represented. This is not a claim that every athlete or every statistic in sports history is complete.

Computed Sep 21, 2026, 8:16 AM UTC · audits/player-universe-coverage.json

Physical profiles integrity-checked

65,660

Of profile JSON records inspected by the current integrity gate

The latest structural audit found zero errors and 0 warnings. Physical profiles can exceed the strict universe because supplemental and disambiguated identities are retained.

Computed Sep 21, 2026, 8:16 AM UTC · audits/profile-stat-integrity.json

Profiles with a fillable stat gap

6,246

Of player profiles across NFL, NBA, MLB, and NHL

The archive is broad but not statistically complete. These gaps stay visible so a large profile count cannot impersonate fully populated historical coverage. This counts PROFILES; a season a source cannot cover at all is reported separately below, because the two are different units and are never added.

Computed Sep 21, 2026, 8:15 AM UTC · audits/sport-coverage-heatmap.json

Seasons outside any committed source window

17

Of seasons, by scope: MLS 17

MLS 17 — these seasons predate the committed source's coverage window entirely, so the archive cannot witness them as empty or full. They are a limit of the source, not a gap in the ingest, and they are deliberately excluded from the profile gap count above.

Computed Sep 21, 2026, 8:15 AM UTC · audits/sport-coverage-heatmap.json

Source-complete sport scopes

2

Of 5 supported sport scopes

2 sport scopes meet their own source-completeness contract; 3 remain explicitly partial. Each sport has a different source boundary, so this ratio is context—not a universal quality score.

Computed Sep 21, 2026, 8:15 AM UTC · audits/sport-coverage-heatmap.json

Corpus provenance

Each sport, as declared by its own archive

Every value below is the committed corpus artifact's own declaration — never inferred, never derived from file timestamps. An absent declaration is shown as absent. Refresh cadence varies with each sport's season, so no judgement is attached to an as-of date.

  • nfl

    25,243

    players indexed

    as of 2026-09-21

    source not declared in index

    Last refresh: refreshed (current)

  • nba

    5,529

    players indexed

    as of 2026-09-03

    source not declared in index

    Last refresh: not in last refresh

  • mlb

    23,594

    players indexed

    as of 2026-09-21

    MLB StatsAPI (statsapi.mlb.com)

    Last refresh: refreshed (current)

  • nhl

    8,268

    players indexed

    as of 2026-09-21

    NHL API (api-web.nhle.com)

    Last refresh: not in last refresh

  • mls

    3,026

    players indexed

    as of 2026-09-21

    americansocceranalysis.com (ASA public API, facts-only reference)

    Last refresh: refreshed (current)

Refresh outcomes are the nightly corpus job's own per-sport ledger from the run completed 2026-09-20. The refresh plan is season-aware, so a sport absent from that run was not attempted — it is reported as such rather than counted as a success.

Archive maintenance ledger

What changed

  1. Sep 21, 2026, 8:16 AM UTC

    • Required identities represented 65,12265,125 (+3 identities)Corpus growth

      New identities entered the archive from a committed source. · audits/player-universe-coverage.json

    • Physical profiles integrity-checked 65,65765,660 (+3 profiles)Corpus growth

      New identities entered the archive from a committed source. · audits/profile-stat-integrity.json

  2. Sep 20, 2026, 8:22 AM UTC

    • Required identities represented 64,99865,122 (+124 identities)Corpus growth

      New identities entered the archive from a committed source. · audits/player-universe-coverage.json

    • Profiles with a fillable stat gap 6,4576,246 (-211 profiles)Coverage repair

      A known gap was filled. Fewer outstanding gaps is an improvement, not a loss. · audits/sport-coverage-heatmap.json

  3. Sep 19, 2026, 8:23 AM UTC

    • Required identities represented 65,11564,998 (-117 identities)Measurement corrected

      The count was restated after a stricter audit. The archive did not lose records — the earlier figure was wrong. · audits/player-universe-coverage.json

    • Physical profiles integrity-checked 65,65565,657 (+2 profiles)Corpus growth

      New identities entered the archive from a committed source. · audits/profile-stat-integrity.json