With the 2024 WNBA regular season around the corner, I wanted to set up some analytics dashboards while practicing my web scraping and Shiny app development, and I adapted the app I built for the UChicago Basketball Teams based on 2023 WNBA data.
Check out the site hereor scroll to see how I built it!
Team Rankings
Traditional + advanced stat averages
Box score, play-by-play data scraped manually from Basketball-Reference
Advanced stats calculated from team averages
Average possession length calculated from play-by-play
Player Rankings
Traditional stat averages
Box score data scraped manually from Basketball-Reference
Assist Rankings
Most frequent assist pairings across the league (table)
Most frequent assist pairings filtered by team (chart)
Play-by-play data scraped manually from Basketball-Reference
Rotation Charts
Substitution patterns filtered by team
Play-by-play data scraped manually from Basketball-Reference *
* This data can be particularly tedious, leading to occasional inaccuracies – e.g. a player checking into the game who’s already in the game, leading to a 4-man or 6-man lineup. My current workaround is to ignore substitutions that result in invalid lineup sizes (anything other than 5 players), but this still results in inaccuracies.
Single-Game View
Traditional + advanced stat comparison
Lead tracker
Rotation chart by team
Box score, play-by-play data scraped manually from Basketball-Reference
Team Logs
Traditional stat log, ordered by date
Margin of victory chart, ordered by date, margin, or team
Rolling average chart of multiple stats
Box score data scraped manually from Basketball-Reference
Player Logs
Traditional stat log, ordered by date
Box score data scraped manually from Basketball-Reference