NBA passing network analysis indicators / Visualization of team passing networks / Community detection
C.T. Chin
This project was developed with AI assistance using Monica, with Claude selected as the primary language model.
NBA API - nba_api
Data processed using R programming language
This project analyzes NBA passing networks based on the NBA's tracking data from the Passes Dashboard. The data represents the total number of passes from one player to another during a season. Each edge in the network represents the cumulative number of passes between two players throughout a season.
This tool is structured as follows:
Use the filters at the top of each dataset section to search for specific teams, seasons, or plot types. The "Expand All" and "Collapse All" buttons help navigate through the content.
Indicator | Description | Interpretation in Passing Networks |
---|---|---|
nodes | Number of vertices in the network | Total number of players in the team's rotation |
edges | Number of connections in the network | Total number of unique passing connections between players |
density | Proportion of potential connections that are actual connections | Higher values indicate more interconnected passing patterns; lower values suggest more specialized passing roles |
vertex_connectivity | Minimum number of vertices needed to remove to disconnect the network | Higher values indicate more robust passing networks that can withstand player absences |
edge_connectivity | Minimum number of edges needed to remove to disconnect the network | Higher values indicate more redundant passing pathways |
num_component | Number of connected components | Ideally 1; more components suggest disconnected player groups |
max_component_size | Size of the largest connected component | Closer to total nodes indicates more integrated team play |
biconnected_components | Number of biconnected components | Fewer components suggest more robust passing structures |
cohesive_blocks | Number of cohesive blocks in the network | More blocks indicate more hierarchical team structure |
max_cohesion | Maximum cohesion value in the network | Higher values indicate stronger core passing groups |
cent_indegree | Centralization of incoming connections | Higher values indicate team passing is focused toward specific players |
cent_outdegree | Centralization of outgoing connections | Higher values indicate passing originates from specific players |
cent_inclo | Centralization of incoming closeness | Higher values indicate some players are primary pass receivers |
cent_outclo | Centralization of outgoing closeness | Higher values indicate some players are primary pass distributors |
cent_betw | Betweenness centralization | Higher values indicate presence of key passing intermediaries |
centr_eigen | Eigenvector centralization | Higher values indicate hierarchical influence in the passing network |
walktrap_communities | Number of communities detected by Walktrap algorithm | More communities suggest distinct passing groups within team |
walktrap_modularity | Modularity score for Walktrap communities | Higher values indicate stronger community structure |
edge_betweenness_communities | Number of communities detected by Edge Betweenness algorithm | More communities suggest distinct passing groups based on critical passing paths |
edge_betweenness_modularity | Modularity score for Edge Betweenness communities | Higher values indicate stronger community structure |
louvain_communities | Number of communities detected by Louvain algorithm | More communities suggest distinct passing groups optimized for modularity |
louvain_modularity | Modularity score for Louvain communities | Higher values indicate stronger community structure |
best_modularity | Highest modularity score among all community detection methods | Higher values indicate stronger overall community structure |
tau_rankedcluster | Ranked clustering coefficient | Measure of hierarchical structure in passing patterns |
tau_cluster | Clustering coefficient tau | Measure of local clustering in passing patterns |
tau_balance | Balance coefficient tau | Measure of balance in passing structure |
Network Plots: In these visualizations, circles represent players and lines represent passes between players. Larger circles indicate players with more seasons of experience, while thicker lines represent higher passing volume during the season.
Community Detection: These plots show different algorithms' attempts to identify natural groupings of players based on passing patterns. Different colors represent different detected communities. The three methods (Walktrap, Edge Betweenness, and Louvain) use different approaches to identify these communities.
Hierarchy Analysis: Cohesive Blocks: These visualizations represent the hierarchical structure of the team's passing network. They identify nested groups of players with increasing levels of interconnectedness. The blocks at higher levels represent more cohesive subgroups within the team, showing which players form the most tightly connected passing units.
Loading data...