Appearance
After Shot Positioning
The after_shot_positioning section in the markings response contains information on how offensive players are moving after each shot. It contains a row for each offensive player on the court (including the shooter) during every field goal attempt.
Overview
For each field goal attempt, we include one row per offensive player on the court (including the shooter), describing:
- Where the player started (at shot release)
- Where the player ended (near the end of the shot)
- The closest the player got to the rim during that window
- A flag to indicate whether it seemed like the player was intentionally positioning for an offensive rebound
Sample Response
json
{
"markings": {
"after_shot_positioning": [
{
"avg_speed_xy": 39.59,
"avg_velocity_x": 20.13,
"avg_velocity_y": 34.08,
"chance_id_ctg": "chance_068d7afd51d6b5aa6d0e6db9381832b6",
"did_position_for_off_reb": true,
"end_loc_x": -476.86,
"end_loc_y": 130.3,
"end_region": "left corner two",
"game_id_nba": "0022500404",
"is_shooter": false,
"min_rim_distance": 88.84,
"min_rim_distance_loc_area": "near_rim",
"min_rim_distance_frame": 102628,
"movement_direction": "getting_back",
"player_id_nba": 1642852,
"shot_id_ctg": "shot_8c070a59b7d88e32228b22135578fa17",
"start_loc_area": "near_rim",
"start_loc_x": -501.36,
"start_loc_y": 88.8,
"start_region": "ra"
}
]
}
}Fields
Identifiers
shot_id_ctg
Type: string
CTG-generated unique shot ID
game_id_nba
Type: string
NBA game ID
chance_id_ctg
Type: string
CTG chance ID in which the shot occurred
player_id_nba
Type: integer
NBA player ID
Player / Rebounding Context
is_shooter
Type: boolean
true if this player is the shooter for the shot
did_position_for_off_reb
Type: boolean
true if this player appeared to be positioning for an offensive rebound based on their movement and proximity to the rim after the shot. This does not always mean the player went toward the rim in a strong "crashing" style movement, as long as they seem not to be heading back on defense or standing and watching but aiming to get in position to get a rebound if they can.
A player who is already near the rim and doesn't clearly sprint back, for example, would be true, as would a player on the perimeter who slowly creeps in toward the rim even if they don't get so far.
movement_direction
Type: string
General movement classification for the player's movement after the shot. Possible values:
towards_rimstationarygetting_backout_of_bounds- if the player is out of bounds when the shot gets to the rim (often due to momentum after a shot or pass)on_ground
Locations
start_loc_area
Type: string
We bucket the player's start position (when the shot is released) into the following areas:
near_rimlong_midrangebehind_3pt_linebackcourt
start_loc_x
Type: float | Unit: inches
X coordinate of the player's centroid at the start of the after-shot window (shot release).
start_loc_y
Type: float | Unit: inches
Y coordinate of the player's centroid at the start of the after-shot window (shot release).
start_region
Type: string
Court region label for the player's start position
end_loc_x
Type: float | Unit: inches
X coordinate of the player's centroid at the end of the after-shot window (near the end of the shot).
end_loc_y
Type: float | Unit: inches
Y coordinate of the player's centroid at the end of the after-shot window (near the end of the shot).
end_region
Type: string
Court region label for the player's end position
Minimum Rim Distance
min_rim_distance_loc_area
Type: string
We bucket the player's position when they are closest to the rim in the window between the shot release and shot contact the rim into the following areas:
near_rimlong_midrangebehind_3pt_linebackcourt
min_rim_distance
Type: float | Unit: inches
Minimum rim distance during the after-shot window
min_rim_distance_frame
Type: integer
Hawk-Eye frame number where the player reached min_rim_distance
Movement
avg_velocity_x
Type: float | Unit: inches/second
Average x velocity during the after-shot window, null if the after-shot window has zero duration (i.e. there are 0 frames between shot release and shot end), which can happen in rare cases like dunks.
avg_velocity_y
Type: float | Unit: inches/second
Average y velocity during the after-shot window, null if the after-shot window has zero duration (i.e. there are 0 frames between shot release and shot end), which can happen in rare cases like dunks.
avg_speed_xy
Type: float | Unit: inches/second
Average speed in the xy plane during the after-shot window, null if the after-shot window has zero duration (i.e. there are 0 frames between shot release and shot end), which can happen in rare cases like dunks.
