Wins Produced, developed by economist David Berri, turns a player's box score into the number of team wins it accounts for. Each stat gets a value from how much it moves a team's point differential: made shots, rebounds, steals and blocks add wins; missed shots, turnovers and fouls that lead to free throws cost them.
A player's line is then adjusted for what the team does together (shared defense, rebounds and assists that come from teammates) and compared with the average player at the positions they play, since centers naturally rebound more and guards assist more. The result is Wins Above Average; adding what an average player produces in the same minutes gives Wins Produced.
WP48 is Wins Produced per 48 minutes (WP40 in the WNBA, whose games are 40 minutes). An average player is 0.100; stars sit well above 0.200. Across a season, a league's Wins Produced adds up to the games played.
Box scores. Every game's box score comes from basketball-reference.com and is checked against the league's own box score, ESPN's and the play-by-play. Where the league's game logs exist (NBA 1996-97 on, WNBA 1997 on) they settle each player's line, stat corrections made after the game included, so a season's games add up to its official totals. Each team's minutes are made to add up to the game's length.
Three ways, by era. Before box scores (1973-74 to 1982-83, when steals, blocks and offensive rebounds were first tracked) a season is worked out from its season totals. From 1983-84 it's worked out game by game and summed for the span you pick. Where the league's play-by-play gives complete lineups for at least 95% of a season's games (NBA 1996-97 on, WNBA 1997 on), it's worked out from the lineups: each player is measured against the positions they actually played in each five on the floor, and the team's defense is credited to whoever was out there while it happened, so a team's defense still adds up to its box score. Games inside those seasons whose lineups didn't rebuild are worked out game by game.
Older box scores. Box scores before 1996-97 are reconstructions, and a season's games add up to a little less than the league's season totals. Season lines there include what the games are missing (marked †): it counts toward Wins Produced, not games or starts. Player turnovers weren't recorded until 1977-78; before then a team's turnovers are spread across its players by minutes, and those seasons are marked as estimated.
Positions. The Pos column is a player's roster listing with the position they played on average, PG 1.0 to C 5.0; tap or hover it for their minutes at each. NBA positions come from basketball-reference's play-by-play estimates where it has them. WNBA rosters only ever say G, F or C, so WNBA positions come from our own lineups: each five is ordered smallest to biggest, and of two guards on the floor, the one who sets the other up (clearly more assists together) plays the point. WNBA numbers use win values fitted to the WNBA.
1973-74 to 1982-83: season totals
1983-84 to 1995-96: game by game
1996-97 to 2012-13: lineups (play-by-play)
2013-14: game by game (lineups 93.5% complete)
2014-15 to 2023-24: lineups (play-by-play)
2024-25: game by game (lineups 94.6% complete)
2025-26: game by game (lineups 94.8% complete)
1997: game by game (lineups 72.3% complete)
1998: game by game (lineups 80.7% complete)
1999 to 2006: lineups (play-by-play)
2007: game by game (lineups 94.1% complete)
2008: lineups (play-by-play)
2009: game by game (lineups 91.9% complete)
2010: game by game (lineups 94.1% complete)
2011: game by game (lineups 93.6% complete)
2012: game by game (lineups 89.7% complete)
2013: game by game (lineups 92.6% complete)
2014 to 2017: lineups (play-by-play)
2018: game by game (lineups 90.7% complete)
2019: game by game (lineups 89.2% complete)
2020 to 2025: lineups (play-by-play)
2026: game by game (lineups 94.5% complete)