Overview
Team statistics provide aggregated performance metrics at the team level, including offensive shooting by defender distance, defensive opponent shooting allowed, and shot zone analytics. All data is available for both regular season and playoffs from 2014-2025.Data Files
Team Shooting
Team offensive shooting by defender distance
team_shooting.csv(Regular Season)team_shooting_ps.csv(Playoffs)
Opponent Shooting
Opponent shooting allowed (defensive stats)
opp_team_shooting.csv(Regular Season)opp_team_shooting_ps.csv(Playoffs)
Team Shot Zones
Shot distribution by court zones
team_shotzone.csv/team_shotzone_ps.csv
Shot Zones vs Opponents
Opponent shot zones allowed
team_shotzone_vs.csv/team_shotzone_vs_ps.csv
Schema: Team Shooting
File:team_shooting.csv / team_shooting_ps.csvGenerated by:
team_shooting.pyRecords: ~5,000+ team-season-shot coverage combinations
Core Fields
- Identifiers
- Game Data
- Shooting Metrics
Team abbreviation (ATL, BOS, BKN, CHA, CHI, CLE, DAL, DEN, DET, GSW, HOU, IND, LAC, LAL, MEM, MIA, MIL, MIN, NOP, NYK, OKC, ORL, PHI, PHX, POR, SAC, SAS, TOR, UTA, WAS)
Full team name (e.g., “Los Angeles Lakers”, “Golden State Warriors”)
Season ending year (2014-2025)
Defender proximity:
very_tight, tight, open, wide_openSample Data
Schema: Opponent Team Shooting
File:opp_team_shooting.csv / opp_team_shooting_ps.csvPurpose: Track shooting performance allowed by each team’s defense Fields are identical to
team_shooting.csv, but values represent opponent performance against the defense rather than offensive production.
Understanding Opponent Shooting Data
Understanding Opponent Shooting Data
This dataset inverts the perspective:
- Lower FG% = Better team defense
- Higher Freq% on contested shots = Effective defensive pressure
- Compare
opp_team_shooting.csvwithteam_shooting.csvto analyze offensive efficiency vs defensive efficiency
Team Shot Zone Schema
Files:team_shotzone.csv/team_shotzone_vs.csv(Regular Season)team_shotzone_ps.csv/team_shotzone_vs_ps.csv(Playoffs)
team_shotzone.csv = Team offensive zonesteam_shotzone_vs.csv = Opponent shot zones allowed (defensive)Usage Examples
Compare Team Three-Point Shooting on Open Shots
Defensive Analysis: Best Teams at Contesting Shots
Shot Selection Analysis
Offensive vs Defensive Efficiency
Historical Team Names
Team Abbreviations Reference
All 30 NBA Teams
All 30 NBA Teams
| Abbreviation | Team Name |
|---|---|
| ATL | Atlanta Hawks |
| BOS | Boston Celtics |
| BKN | Brooklyn Nets |
| CHA | Charlotte Hornets (Bobcats pre-2014) |
| CHI | Chicago Bulls |
| CLE | Cleveland Cavaliers |
| DAL | Dallas Mavericks |
| DEN | Denver Nuggets |
| DET | Detroit Pistons |
| GSW | Golden State Warriors |
| HOU | Houston Rockets |
| IND | Indiana Pacers |
| LAC | Los Angeles Clippers |
| LAL | Los Angeles Lakers |
| MEM | Memphis Grizzlies |
| MIA | Miami Heat |
| MIL | Milwaukee Bucks |
| MIN | Minnesota Timberwolves |
| NOP | New Orleans Pelicans |
| NYK | New York Knicks |
| OKC | Oklahoma City Thunder |
| ORL | Orlando Magic |
| PHI | Philadelphia 76ers |
| PHX | Phoenix Suns |
| POR | Portland Trail Blazers |
| SAC | Sacramento Kings |
| SAS | San Antonio Spurs |
| TOR | Toronto Raptors |
| UTA | Utah Jazz |
| WAS | Washington Wizards |
Data Collection Scripts
team_shooting.py
Scrapes NBA.com API for team shooting by defender distance
team_average_scrape.py
Additional team aggregate statistics
Notes
- Regular Season: 82 games per team (some seasons 66 games due to lockout)
- Playoffs: Variable games based on playoff progression
- All percentage fields on 0-100 scale
- Data coverage: 2014-2025 seasons