Historical Stats — Teaching Hub
HISTORICAL teaching layer — completed prior seasons only. The live Fall 2026 Daily Desk stays on CURRENT_SEASON_2026. Never treat these tables as today’s in-season rankings.
This hub teaches how to read multi-year women’s college volleyball stats: what hit% means, why sample size matters, and how to compare Fall 2024 with Fall 2025 without mixing eras with the live desk.
Statistical analysis only — educational / scouting framing. No gambling, odds, or market boards.
Years available
- Fall 2024 — 346 teams · 5472 players · academic 2024-2025 · HISTORICAL (not Fall 2026)
- Fall 2025 — 348 teams · 5485 players · academic 2025-2026 · HISTORICAL (not Fall 2026)
Counts (all D1 in source CSVs): 10957 player-seasons · 694 team-seasons across 2 year(s).
Source: ncaavolleyballr public data CSVs (Division I women’s volleyball season totals). Local copies live under data/raw/historical/.
Season labels (truth first)
| Label you will see | Meaning | Is it the live desk? |
|---|---|---|
| Fall 2026 / CURRENT_SEASON_2026 | In-progress season on the Daily Desk | Yes |
| Fall 2025 (academic 2025–2026) | Completed championship year ending Dec 2025 | No — historical |
| Fall 2024 (academic 2024–2025) | Completed championship year ending Dec 2024 | No — historical |
CSV files named wvb_*_YYYY.csv use the championship / fall year YYYY. The Season column inside often reads YYYY-(YYYY+1) (academic year). We always print the Fall YYYY label on the page so readers are not confused.
What hit% means (and across seasons)
Hitting percentage = (Kills − Errors) / Total Attacks.
- A 0.300 team hit% over a full season is elite efficiency; early-season 0.300 on 40 attacks is a small sample, not the same claim.
- Full-season historical pages use completed-year totals. The Daily Desk uses in-season counting stats with early-season caveats.
- Comparing Fall 2024 to Fall 2025 is fair when both sides are full seasons. Comparing either to Week-2 Fall 2026 rates is not the same exercise — different sample sizes and opponent mixes.
Sample size rules we use on year pages
| Leaderboard | Floor used here |
|---|---|
| Rate stats (K/S, Hit%) | ≥ 50 sets |
| Hit% leaders | Also ≥ 100 attacks |
| Counting totals (kills, digs, aces, blocks, assists) | No set floor (full-season volume) |
Why: rate leaders without a set/attack floor reward tiny samples. Full-season CSVs usually clear these floors for rotation players; we still print the rule so readers learn the habit.
How to compare seasons
- Same grain — full season vs full season, or early season vs early season.
- Label the year on every claim (“Fall 2025 Nebraska hit 0.351” — not “Nebraska hits .351”).
- Context — conference realignment, portal turnover, and schedule strength change year to year; hit% is not a pure talent thermometer.
- Keep desks separate — historical guides teach completed years; the Daily Desk tracks Fall 2026 only.
Tracked programs — team hit% by completed season
Starter universe from scripts/tracked_teams.py. Values are real CSV season totals.
| Team | Fall 2024 Hit% | Fall 2025 Hit% |
|---|---|---|
| Creighton | 0.324 | 0.288 |
| Florida | 0.293 | 0.235 |
| Kansas | 0.283 | 0.235 |
| Kentucky | 0.271 | 0.289 |
| Louisville | 0.270 | 0.270 |
| Minnesota | 0.242 | 0.283 |
| Nebraska | 0.284 | 0.351 |
| Penn State | 0.283 | 0.250 |
| Pittsburgh | 0.332 | 0.312 |
| Purdue | 0.280 | 0.290 |
| SMU | 0.267 | 0.315 |
| Stanford | 0.314 | 0.299 |
| Texas | 0.282 | 0.315 |
| Texas A&M | 0.255 | 0.297 |
| UCLA | 0.247 | 0.224 |
| USC | 0.238 | 0.259 |
| Wisconsin | 0.286 | 0.327 |
Open a year page for national leaders and full tracked snapshots.
Related
- Fall 2026 Daily Stats Desk — live CURRENT_SEASON_2026
- 2026 Season Overview
- Nebraska program profile
Methodology
- Ingest:
python3 scripts/ingest_historical.py(optional--downloadto refresh CSVs from the public data page). - Outputs:
data/processed/historical_*.jsonplus these Markdown guides. - Build:
python3 scripts/build.py. - We do not invent stats. Missing years or teams stay blank / omitted.
stats.ncaa.orglive scrapes are not required for this layer when public CSVs exist.