Basketball Action Cost Analysis
What does a basketball action actually cost? Using broadcast tracking data from SkillCorner's open dataset, this project quantifies the external physical load associated with specific tactical plays and positions — and builds those benchmarks into a practical staff-facing tool.
SkillCorner Open Data
Liga ACB 2025/26
MIT License
10 games · 192 player-games
174 unique players
25 fps broadcast tracking
What Does a Basketball Action Cost?
Most athlete monitoring in basketball tracks total distance, high-speed running, and session load. Those numbers are useful for managing weekly fatigue, but they do not tell you what specific moments in the game actually demand from players.
A drive and a standstill screen both appear in a game but are not the same physical event. A closeout and a catch-and-shoot look the same in a summary report but feel completely different in the legs. If load monitoring is going to inform training design and recovery planning in a meaningful way, it needs to reach the level of what is actually happening on the floor.
Broadcast tracking data makes action-level analysis possible without dedicated arena infrastructure. SkillCorner's open dataset provides position tracking at 25 frames per second across full professional games, which is enough resolution to derive speed, acceleration, and deceleration signals at the level of individual plays.
The goal was not to produce a research paper. It was to build benchmarks that a performance staff could actually use — for drill design, load conversations with coaches, and return-to-performance progressions — and to make those benchmarks accessible through a practical interactive tool.
What This Found — and What It Means
Guards and wings cover nearly identical distances per minute (372 and 373 ft/min at median), but that similarity is misleading. Wings get there through high-speed running. Guards get there through repeated accelerations and decelerations — a meaningfully different physical demand.
A conditioning standard built on total distance treats these positions as equivalent. One built on movement pattern and effort type does not. For drill selection, session recovery planning, and pre-season benchmarking, the difference matters.
On offense, drives generate the highest speed surplus above a player's game baseline (approximately +4.9 ft/s). On defense, closeouts produce the sharpest effort spike (+2.3 ft/s peak effort rate). Both are short in duration, which means they rarely stand out in total load reports even though they represent the most intense moments in the game.
If a practice involves repeated drive or closeout repetitions, that needs to register differently in the load model than equivalent minutes of transition running. This analysis gives practitioners a way to make that argument with numbers.
Across all positions, peak 60-second demand runs approximately one-third above game averages. That gap is the target that matters most for return-to-performance progressions and pre-season preparation. Training that only reaches average game output leaves athletes underprepared for the moments that actually determine fitness to compete.
Peak windows were extracted for every player-game in the dataset, allowing individual ceiling benchmarks alongside population norms by position.
Intensity declines progressively from Q1 to Q4 for all positions. Wings drop the most (approximately 8%), followed by bigs (6.5%) and guards (4%). The pattern is consistent enough across the dataset to be worth accounting for in substitution planning and in-game recovery decisions.
Whether that decline reflects fatigue, tactical adjustment, or both cannot be determined from locomotion data alone. But the size of the difference between roles, and between Q1 and Q4, is larger than most practitioners would guess from total-distance reports alone.
Small sample. Ten games is a limited dataset for population-level benchmarks. The patterns are consistent within this sample, but the specific numbers should be treated as directional rather than definitive. A larger sample across more games or multiple seasons would change the precision of the benchmarks and may shift some of the values.
Liga ACB is not the NBA. This is professional men's basketball played under FIBA rules on a slightly different court. Pace, roster construction, and stylistic differences exist. The physical demand patterns may translate directionally, but these numbers are not directly applicable to an NBA context without adjustment and a larger NBA-specific dataset.
Broadcast tracking, not dedicated optical. Approximately 17% of tracked positions are extrapolated rather than directly detected. The signal is good but not equivalent to a dedicated arena optical system. Acceleration signals in particular carry more noise at this resolution.
Locomotion only. Jumping and contact load are not captured. For positions like center, where much of the physical demand comes from boxing out, rebounding, and post contact, this is a meaningful gap in the picture.
How It Was Built
Raw position data from SkillCorner's open release was smoothed using a Savitzky-Golay filter to reduce noise in derived velocity and acceleration signals. Effort thresholds for high-acceleration and high-deceleration classifications were set at 9.8 ft/s². Action-level load was measured within tactical event windows using SkillCorner's event annotations, matched to corresponding position and speed data for each occurrence.
The pipeline is modular: separate components handle data loading and caching, signal processing, metric calculation, role classification from event data, action-window measurement, and peak-minute video generation. The full code is documented and available on GitHub.
Data: SkillCorner Open Data, MIT License · github.com/dchriscothern/waims-tracking-lab
The Streamlit dashboard provides interactive access to role benchmarks at the 10th, 50th, and 90th percentile levels, action cost tables by role, quarterly intensity profiles, and individual player-game comparisons. The interface is built for performance staff, not data scientists — the goal is answers, not raw output.
Peak-minute video replays are generated at 1080p with annotated load metrics overlaid, allowing visual review of the most demanding periods alongside the quantitative data. CSV exports are formatted for direct integration into the WAIMS monitoring dashboard, so benchmarks can sit alongside individual athlete monitoring data in the same staff-facing reporting environment.