2025-26
Spencer Dooley

Hey, I'm Spencer, a full-time data scientist and die-hard Knicks (and basketball in general) fan. Much of my life I've lived and breathed all-things basketball (college and pro), and while getting my degree in data science at the University of Vermont, developed several projects that intersect data science and basketball. This web app is the product of many of those projects meshed together.

What This Site Covers

Passing Networks

Team passing flow analysis powered by interactive force-directed graphs.

Player Archetypes

Three independent dimensions — Scoring, Usage, and Passing — give every player a compound profile like "Mid+Paint / Ball-Dominant / Hub".

Lineup Analysis

5-man unit performance breakdowns with assist networks and shot charts.

Shot Charts

Hexbin shot distribution maps for teams, lineups, and individual players.

Data & Methodology

Data sources: Pass tracking and shot data come from NBA.com play-by-play logs, covering every regular season and playoff game from 2014-15 through 2025-26. Data is updated nightly during the season.

How archetypes work: Each player is classified independently across three dimensions — Scoring (shot zone distribution), Usage (how they use the ball: touches, dribbles, time of possession), and Passing (network role: hub, initiator, secondary, or terminal). Each dimension uses KMeans clustering fit on four combined seasons. The three labels form a compound profile like "Paint-Dominant / Ball-Dominant / Hub". See the Archetypes guide for a full breakdown.

Network metrics: Passing networks are modeled as weighted directed graphs. Hub influence (eigenvector centrality), linking role (betweenness centrality), and pass variety (Shannon entropy) are computed using NetworkX. Definitions for every metric are in the Glossary.

FAQ

How often is the data updated?

During the NBA season, stats are updated nightly. In the offseason, the data reflects the most recent completed season.

What seasons are available?

NetStats covers 2014-15 through 2025-26 — every season since NBA.com began publishing detailed pass-tracking data.

What does a player's archetype mean?

Archetypes are computed from real play-by-play data, not assigned manually. A player's archetype reflects how they actually played that season — it can change year over year as their role evolves. Check the Archetypes page for what each label means.

Can I export data or use the API?

Not currently, but feel free to reach out via email if you have a specific research use case.