Skip to content

Drives

The drives section in the markings response contains data for offensive drives toward the basket.

Overview

A drive is defined as when a player takes at least one dribble in an effort to get closer to the rim.

We follow the following guidelines to help identify these drives:

  • The player must start outside the paint and beyond 10 feet from the rim
  • The player must get closer to the rim
  • The player must get inside around three-point line distance during their drive
  • A player who catches a pass on the move in transition headed toward the rim at high speed would not be counted as driving

Sample Response

json
{
  "markings": {
    "drives": [
      {
        "ball_handler_defender_id_nba": 1630230,
        "drive_id_ctg": "drive_4c0859e1242cf39607d5896f6dae865c",
        "end_distance_to_hoop_in": 75.24,
        "end_game_clock": 689.0,
        "end_he_frame": 1908,
        "end_shot_clock": 7.0,
        "end_wall_clock": "2025-12-23T01:11:06.255+00:00",
        "game_id_nba": "0022500404",
        "max_ballhandler_speed_in_per_sec": 237.67,
        "period": 1,
        "player_id_nba": 1630180,
        "start_distance_to_hoop_in": 356.77,
        "start_game_clock": 691.0,
        "start_he_frame": 1776,
        "start_shot_clock": 10.0,
        "start_wall_clock": "2025-12-23T01:11:04.055+00:00",
        "team_id_nba": 1610612740
      }
    ]
  }
}

Fields

Identifiers

game_id_nba

Type: string

NBA game ID


drive_id_ctg

Type: string

CTG-generated unique drive ID


player_id_nba

Type: integer

NBA player ID of the driver


team_id_nba

Type: integer

NBA team ID of the driving team


ball_handler_defender_id_nba

Type: integer

NBA player ID of the primary defender on the ball handler. null when there is an upstream error that causes bad chance data which prevents us from identifying the defender.


Timing

Period

period

Type: integer

Period in which the drive occurred

Start

The start of the drive is estimated to be when the player first starts to attack the basket.

start_game_clock

Type: float

Game clock when drive began


start_shot_clock

Type: float

Shot clock when drive began


start_he_frame

Type: integer

Hawk-Eye frame when drive began


start_wall_clock

Type: string

UTC timestamp when drive began

End

The end of the drive is estimated to be when:

  • The player stops their dribbling toward the rim for a significant period of time (e.g. retreats back out, dribbles under the rim and pulls the ball out, picks up the ball and stops). Note that if the player retreats for a little but then attacks again, we keep this as part of the same drive unless the retreat is significant.
  • The ball leaves the player's hands (via pass or shot or turnover).
  • The whistle is blown and play stops due to a foul/violation.

end_game_clock

Type: float

Game clock when drive ended


end_shot_clock

Type: float

Shot clock when drive ended


end_he_frame

Type: integer

Hawk-Eye frame when drive ended


end_wall_clock

Type: string

UTC timestamp when drive ended


Drive Metrics

start_distance_to_hoop_in

Type: float | Unit: inches

Distance from driver to hoop at drive start


end_distance_to_hoop_in

Type: float | Unit: inches

Distance from driver to hoop at drive end


max_ballhandler_speed_in_per_sec

Type: float | Unit: inches/second

Maximum ball handler speed reached during the drive