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

Machine learning that groups players by scoring, passing, and usage styles across 11 unified archetypes.

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 — how they score (shot zones and shot selection), how they move the ball (graph centrality and pass volume), and how they're used (minutes and possession share). These three labels are then combined into one of 11 unified archetypes using a deterministic mapping. 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.