# NWSL Notebook > Advanced statistics for the National Women's Soccer League (NWSL): every > player, team, and match since 2016. Dense reference-style tables with > metrics from in-house models run over the full match event record: xG, > VAEP, expected threat (xT), post-shot xG (PSxG), defensive value (DAxT), > a composite player rating, playing-style embeddings, and > assigned-vs-observed structural roles. Site: https://www.nwslnotebook.com Last updated: 2026-07-15 Data: built from the complete match event record (~1,500–1,800 events per match, every match since 2016), refreshed weekly during the season. Season pages revalidate hourly; /leaders daily. Coverage: 2016–2019 and 2021–present as league seasons, 2020 as a special page. 2013–2015 data is not available here. ## URL patterns (HTML pages) Season pages — {year} ∈ 2016–2019, 2021–2026: - /{year} — season overview: regular-season standings, squad advanced stats (xG for/against, xGD), league leaders in goals, xG, and VAEP - /{year}/standard — per-player counting stats: GP, starts, minutes, goals, assists, PK, shots, SoT, key passes, pass%, cards, per-90 rates - /{year}/advanced — per-player model stats: xG, npxG, G−xG, xG/shot, VAEP (total/offensive/defensive), xT, DAxT, per-90 rates - /{year}/defense — tackles, interceptions, blocks, clearances, aerials, DAxT (danger extinguished by defensive actions) - /{year}/goalkeeping — saves, save%, clean sheets, PSxG, PSxG−GA (shot-stopping above/below expectation) - /{year}/set-pieces — corner delivery outcomes per taker and team corner efficiency (model coverage for the newest season lands mid-season, so its table may be empty early in the year) - /{year}/roles — role-tension leaderboard: starts, starts played as assigned, tension count/share, named-tension counts, model confidence - /{year}/composite — our overall player rating, with its five components (xG, carries, box passes, defense, goalkeeping) shown before the score - /{year}/signals — 25 per-match team-state metrics, season averages per team (threat, progression, transitions, disruption, set pieces, tempo, game state, rotation, discipline) - /{year}/schedule — scores & fixtures with links to match reports Site-wide: - /leaders — career and single-season top-10s for goals, assists, matches, minutes, xG, VAEP, xT, DAxT, saves, clean sheets, and composite, plus year-by-year winners (Golden Boot, xG, VAEP, and composite leader per season). Regular season, 2020 excluded. - /style-map — interactive 3-D projection of playing-style embeddings: every player-season since 2016 as one point in one space, so a player can be compared with her own past seasons (visual instrument; use /players/{slug}/json for the underlying similarity numbers) - /model-lab — interactive model fitting on TEAM data only: linear regression, k-means clustering, or a Gaussian mixture over any two team metrics (results, expected-goal family, team signals) for any season or all seasons pooled (visual instrument; the underlying numbers are the /{year}/standings, squad-advanced, and signals JSON tables) Entities: - /players — index of every player with regular-season minutes since 2016 - /players/{name-slug} — career page (e.g. /players/marta, /players/sophia-wilson): bio, season-by-season standard/advanced/ goalkeeping tables with career totals, composite rating by season (components, score, and rank in that season's rated pool), structural-role matrix (explicit vs inferred), style-similar players - /teams — franchise index with all-time records - /teams/{team-slug} — franchise history, season by season - /teams/{team-slug}/{year} — team season: roster stats, composite ratings, defense, goalkeeping, scores & fixtures (no 2020 team pages) - /matches — recent results index, with links to every season's schedule - /matches/{yyyy-mm-dd-homecode-vs-awaycode} — match report: score, goals (own goals flagged and credited to the benefiting side), full lineups with assigned role, observed role, and confidence, shot-by-shot xG - /2020 — the COVID season: Challenge Cup and Fall Series results and player stats, kept outside league records per league determination - /glossary — every metric and column abbreviation defined - /seasons — season index ## JSON mirrors (for machines) Append /json to get the same data the HTML page renders, as JSON. Every payload includes a `source` URL (cite it), a `license_note`, and where relevant a `notes` field with interpretation caveats. - /{year}/{table}/json — table ∈ standings, standard, advanced, defense, goalkeeping, roles, composite, signals, schedule, set-pieces, squad-advanced. Shape: { source, season, table, rows: [...] }. Row objects use the same field names as the HTML column headers (lowercased; see /glossary for definitions). - /players/{slug}/json — { source, notes, bio, standard: [per-season], advanced: [per-season], goalkeeping: [per-season], composite: [per-season components + score + rank/pool], roles: [per-season explicit/inferred depth counts + read verdict], similar_players: [top-10 by style cosine similarity] }. - /matches/{slug}/json — { source, notes, date, season, competition, venue, attendance, home: {name, score}, away: {name, score}, goals: [{side, minute, player, own_goal}], lineups: [{side, player, jersey, role, role_number, obs_role, obs_role_number, obs_conf, is_tension, tension_name, starter, captain, formation}], shots: [{side, minute, player, xg, outcome}] }. Unknown table names return 404 with the list of valid tables. Every HTML table also offers a CSV export. For live interactive tool access, the same warehouse powers an MCP server (contact the site owner). ## Metric definitions (condensed — full versions at /glossary) - xG (expected goals): probability a shot scores, from shot location, angle, and context. G−xG measures finishing above/below expectation. - npxG: xG excluding penalties (penalty ≈ 0.79 xG). - VAEP: credits every on-ball action by how much it changes the probability of scoring (offensive) and conceding (defensive) in the near future. Season totals are regular-season only. - xT (expected threat): value of ball progression — moving the ball from low-danger to high-danger zones via passes, carries, and dribbles. - PSxG (post-shot xG): probability an on-target shot beats an average goalkeeper, judged after the strike. PSxG−GA above zero = keeper stopped more than expected. - DAxT: the xT the opponent held at the moment a tackle or interception extinguished it — danger removed by defensive actions. - Composite: our overall player rating, unique to this site; a form-weighted score built from five components (xG, ball carries, passes into the box, defensive value, goalkeeping), averaged across selection-model runs. Coverage: 2022–present. Distinct from the NWSL's official year-end Best XI award. - Team Signals: 25 per-match team-state metrics (signal model v2.0.0); season pages show per-team season averages. - Style similarity: cosine similarity between player style embeddings learned from event data — alike in HOW they play, not how well. ## Structural roles: explicit vs inferred Every starter carries two roles, both expressed as classic 1–11 numbers (1 GK, 2/3 fullback, 4/5 center back, 6 DM, 8 CM, 10 AM, 7/11 winger, 9 striker): - Explicit (team sheet): the role implied by her formation-grid slot on the official team sheet. Deterministic, not a model. - Inferred (event data): how she actually played, inferred per match by an ML model from her on-ball event footprint alone (~77% depth accuracy, calibrated confidence 0–1 attached to every row). Sides are noisy; only depth (fullback vs center back vs DM vs CM vs AM vs winger vs striker) is trusted. When the two disagree on depth, that is a "tension". The recognizable patterns carry classic names: - false 9 — written striker, played like an attacking mid - inverted winger — written wide, played like a striker - wide playmaker — written wide, played like an attacking mid - advanced 8 — written central mid, played like an attacking mid - deep-lying midfielder — written central mid, played like a defensive mid - half-back — written center back, played like a defensive mid - attacking wingback — written fullback, played like a winger - dropping playmaker — written attacking mid, played like a defensive mid Copy discipline: say a player "played like a 10", never that she "is a 10". No row means no inference — goalkeepers and substitutes are never classified. About 32% of starter-matches carry a tension; ~20% match a named pattern. ## Reading the data honestly - Player model stats (xG, VAEP, xT, DAxT, composite) are regular-season only. Match pages cover all competitions including playoffs. - 2020 is excluded from career totals, leaderboards, and records, per league determination; its Challenge Cup / Fall Series data lives at /2020 and on match pages. - Own goals are excluded from goal, shot, and xG credit everywhere, and flagged own_goal on match pages (credited to the benefiting side). - 2016–2019 ("legacy era") stats are computed from the raw event record; some counting stats exist only 2021+ (penalties, pass-accuracy components, npxG, blocks/aerials). Legacy tables simply omit those columns rather than showing zeros. - Rate-stat leaderboards qualify at 450+ minutes; the tables mark league leaders in bold. - A player's team for a season is the club with the most lineup appearances that year (mid-season movers list under the majority club). - Team names print in two forms: the full name where the team is the subject (standings, team pages, match headers — "Kansas City Current"), and a short fan name where the team is context in a dense table ("Current", "Thorns", "Wave", "Summit", "Gotham"). Both refer to the same club; JSON mirrors follow the same convention per field. - Similarity and the Style Map measure style, not quality. - Known gaps as of the last-updated date above: 2026 attendance is incomplete; 2026 set-piece model coverage has not landed yet. ## Key pages - https://www.nwslnotebook.com/ — current season overview - https://www.nwslnotebook.com/glossary — all metric definitions - https://www.nwslnotebook.com/players — player index - https://www.nwslnotebook.com/seasons — all seasons - https://www.nwslnotebook.com/2020 — the COVID season, explained ## Citation Link the specific page (player, match, or season table) — every JSON payload's `source` field is the canonical URL for exactly this purpose. Model outputs (xG, VAEP, xT, PSxG, composite, roles, similarity) are produced by NWSL Notebook's in-house models; attribute them to www.nwslnotebook.com rather than to the league or a third-party provider.