Skip to content

Assisted Shot Profiles

This mart extends the canonical shot taxonomy with an explicit assisted-shot label for made field goals. It is a validated data contract used by the non-promoted NAIL-RAPM v1.3 additive-profile experiment and retained for future player-profile work.

Contract

Each final made two- or three-point play-by-play event belongs to one of three families and exactly one assist-status bucket.

Dimension Values
Shot family rim, non_rim_two, three
Assist status assisted, unassisted, unknown

rim and non_rim_two use the same robust event-subtype rules as the shot taxonomy mart. The builder marks a make assisted only when its source description explicitly contains an assist marker such as (A. Player 1 AST). It marks a make unassisted only when a non-empty description lacks that marker. A missing description remains unknown; it is never silently treated as unassisted.

This produces raw counts and possession-native per-100 rates such as unassisted_rim_makes_per_100, assisted_three_makes_per_100, and, for completeness, assisted_non_rim_two_makes_per_100.

Validation

The builder independently aggregates every team-game from the processed player box scores. It then records four reconciliation checks:

Check Play-by-play total Official comparison
Field goals made All classified made twos and threes Sum of player FGM
Two-point makes Classified made twos Sum of player 2PM
Three-point makes Classified made threes Sum of player 3PM
Assisted makes Description carries an AST marker Sum of player assists

The game-level table preserves deltas and exact-match flags rather than hiding source disagreement. The season summary reports exact team-game rates, mean and maximum absolute deltas, missing-box coverage, and the rate of make events whose assist status is unknown.

Assisted plus unassisted plus unknown makes always equal the mart's total made shots by construction. The box-score reconciliation is the independent check that the source play-by-play itself is complete enough to support the split.

Storage

data/analytical/assisted_shot_taxonomy/
  _manifest.json
  player_season_assisted_shot_profiles.parquet
  season_assisted_shot_coverage.parquet
  game_assisted_shot_reconciliation.parquet
  season_assisted_shot_reconciliation.parquet

The atomic manifest hashes the player-season panel, every curated event manifest, and every published output. It also records the processed player-box directory used for the independent reconciliation.

Build

uv run nba-build-assisted-shot-taxonomy

The command uses only local artifacts and makes no NBA API requests. See Build assisted shot profiles for the validation command.