Skip to content

Off-Ball Player Data: Advantage Creation 1v1

The advantage_creation_1v1_off_ball_player section in the markings response contains one row per off ball player (both offense and defense) for 1v1 advantage-creation plays (i.e. isolations and post ups), with off-ball matchup and positioning context.

Overview

This data set provides off-ball player context around 1v1 actions, including:

  • Player and matchup identity
  • Start-of-play positioning and regions
  • Distance metrics to ball, hoop, and matchup throughout the play
  • Weak-side vs. strong-side positioning flags

Sample Response

json
{
  "markings": {
    "advantage_creation_1v1_off_ball_player": [
      {
        "advantage_creation_1v1_id_ctg": "1v1_d576e1c739e1d2984e8d9dfbe365ab91",
        "chance_id_ctg": "chance_c4ed1838eb3166c707182e13c83ebb83",
        "game_id_nba": "0022500404",
        "is_matchup_on_weak_side_at_play_start": true,
        "is_matchup_on_weak_side_at_touch_end": true,
        "is_moving_at_play_start": false,
        "is_on_offense": true,
        "is_on_weak_side_at_play_start": true,
        "is_on_weak_side_at_touch_end": true,
        "is_one_pass_away": false,
        "matchup_min_ball_distance_during_ballhandler_touch": 12.12,
        "matchup_min_hoop_distance_during_ballhandler_touch": 11.58,
        "matchup_play_start_ball_distance": 24.5,
        "matchup_play_start_hoop_distance": 16.38,
        "matchup_player_id_nba": 1630180,
        "matchup_start_region": "left wing two",
        "matchup_start_x": 409.11,
        "matchup_start_y": -173.73,
        "max_ball_distance_during_ballhandler_touch": 28.14,
        "max_hoop_distance_during_ballhandler_touch": 25.01,
        "max_matchup_distance_during_ballhandler_touch": 15.02,
        "min_ball_distance_during_ballhandler_touch": 25.6,
        "min_hoop_distance_during_ballhandler_touch": 20.07,
        "min_matchup_distance_during_ballhandler_touch": 3.87,
        "pass_start_ball_distance": null,
        "pass_start_matchup_distance": null,
        "pass_start_player_region": null,
        "period": 1,
        "play_start_ball_distance": 27.77,
        "play_start_hoop_distance": 20.07,
        "play_start_lowness_rank": 2,
        "play_start_lowness_rank_left": null,
        "play_start_lowness_rank_right": 2,
        "play_start_matchup_distance": 3.87,
        "play_start_matchup_speed": 3.45,
        "play_start_speed": 1.42,
        "player_id_nba": 1629023,
        "player_start_region": "left corner two",
        "player_start_x": 402.4,
        "player_start_y": -219.71
      }
    ]
  }
}

Fields

Identifiers

advantage_creation_1v1_id_ctg

Type: string

CTG-generated unique ID for the 1v1 advantage-creation play


game_id_nba

Type: string

NBA game ID


chance_id_ctg

Type: string

CTG-generated chance ID that contains this play


player_id_nba

Type: integer

NBA player ID for the off ball player


matchup_player_id_nba

Type: integer

NBA player ID for the off ball player's matchup at play start


Context

period

Type: integer

Period in which the play occurs


is_on_offense

Type: boolean

true when player_id_nba is on offense for this play


Start-Frame Positioning

player_start_x

Type: float | Unit: inches

Off ball player's x coordinate at play start


player_start_y

Type: float | Unit: inches

Off ball player's y coordinate at play start


player_start_region

Type: string

Off ball player's start region


matchup_start_x

Type: float | Unit: inches

Matchup player's x coordinate at play start


matchup_start_y

Type: float | Unit: inches

Matchup player's y coordinate at play start


matchup_start_region

Type: string

Matchup player's start region


Start-Frame Distances / Ranks

play_start_hoop_distance

Type: float | Unit: feet

Off ball player's distance from rim center at play start


matchup_play_start_hoop_distance

Type: float | Unit: feet

Matchup player's distance from rim center at play start


play_start_ball_distance

Type: float | Unit: feet

Off ball player's distance from the ball at play start


matchup_play_start_ball_distance

Type: float | Unit: feet

Matchup player's distance from the ball at play start


play_start_matchup_distance

Type: float | Unit: feet

Off ball player's distance from matchup at play start


play_start_speed

Type: float | Unit: feet/sec | Nullable

Off ball player's speed at play start. null when coordinates are unavailable.


play_start_matchup_speed

Type: float | Unit: feet/sec | Nullable

Matchup player's speed at play start. null when coordinates are unavailable.


play_start_lowness_rank_left

Type: integer | Nullable

Lowness rank among players on the left side at play start (1 is lowest on that side). null if player is not on the left side. "Lowest" means closest to the basket.


play_start_lowness_rank_right

Type: integer | Nullable

Lowness rank among players on the right side at play start (1 is lowest on that side). null if player is not on the right side. "Lowest" means closest to the basket.


play_start_lowness_rank

Type: integer | Nullable

Lowness rank at play start in one number. This shows the left-side rank when it exists, otherwise the right-side rank, so it matches whichever half of the floor the player is counted on with the same interpretation as those fields (1 is lowest on that side; lowest means closest to the basket). null when both side-specific ranks are null (player is not placed on either side for this snapshot).


Pass-Start Checkpoint

These fields represent the off ball player's positioning and movement at the moment the 1v1 ballhandler releases a pass (if they passed during the 1v1).

pass_start_matchup_distance

Type: float | Nullable

Distance to matchup at ballhandler pass start (feet). null if no pass exists.


pass_start_ball_distance

Type: float | Unit: feet | Nullable

Distance from the player to the ball at pass start. null when no pass occurred or coordinates are unavailable.


pass_start_player_region

Type: string | Nullable

Player region at ballhandler pass start. null if no pass exists.


Min/Max During Ballhandler Touch

min_ball_distance_during_ballhandler_touch

Type: float | Unit: feet

Minimum distance to ball during ballhandler touch


matchup_min_ball_distance_during_ballhandler_touch

Type: float | Unit: feet

Matchup player's minimum distance to ball during ballhandler touch


min_hoop_distance_during_ballhandler_touch

Type: float | Unit: feet

Minimum distance to rim center during ballhandler touch


matchup_min_hoop_distance_during_ballhandler_touch

Type: float | Unit: feet

Matchup player's minimum distance to rim center during ballhandler touch


min_matchup_distance_during_ballhandler_touch

Type: float | Unit: feet

Minimum player-to-matchup distance during ballhandler touch


max_ball_distance_during_ballhandler_touch

Type: float | Unit: feet

Maximum distance to ball during ballhandler touch


max_hoop_distance_during_ballhandler_touch

Type: float | Unit: feet

Maximum distance to rim center during ballhandler touch


max_matchup_distance_during_ballhandler_touch

Type: float | Unit: feet

Maximum player-to-matchup distance during ballhandler touch


Role / Weak-Side Flags

is_moving_at_play_start

Type: boolean

true if the player is moving at a reasonably high speed at the start of the play.


is_one_pass_away

Type: boolean | Nullable

true if the player is on the perimeter (more than 15 feet from the center of the rim) and there is no teammate between them and the ball. null when not available.


is_on_weak_side_at_play_start

Type: boolean

true if the player is on what we estimate is the weak side at the start of the play.


is_on_weak_side_at_touch_end

Type: boolean

true if the player is on what we estimate is the weak side at the end of the ballhandler's touch.


is_matchup_on_weak_side_at_play_start

Type: boolean

true if the player's matchup is on what we estimate is the weak side at the start of the play.


is_matchup_on_weak_side_at_touch_end

Type: boolean

true if the player's matchup is on what we estimate is the weak side at the end of the ballhandler's touch.