Skip to content

Ball Phase

A continuous span describing whether the ball is in play, out of bounds, or in a stoppage. Carries a phase enum: in_play, out_of_bounds, in_bounds_stoppage, half_kickoff.

Category: Structure

Properties

Property Type Description Values
phase str Ball-phase span label. in_play, out_of_bounds, in_bounds_stoppage, half_kickoff

Property Values

phase

A continuous span describing whether the ball is in play, out of bounds, or in a stoppage. Carries a phase enum: in_play, out_of_bounds, in_bounds_stoppage, half_kickoff.

Value Description
in_play Active gameplay. The ball is in bounds and the referee has not stopped play.
out_of_bounds Between the ball crossing a touchline or goal-line and the restart.
in_bounds_stoppage Play is paused but the ball is still on-pitch (e.g. foul, injury). Distinct from out_of_bounds.
half_kickoff Single-frame kickoff anchor at the start of a period.

Accuracy

Engine output scored against ground truth on held-out evaluation games, metric frame_macro_f1 (per-frame, macro-averaged over classes), measured 2026-10-18; per-match confidence is the separate confidence_event property.

Ground-truth source Accuracy Macro F1 Frames
World Cup Broadcast 0.92 0.84 466,231
Senior broadcast pool 0.93 0.72 608,382
Non-broadcast youth pool 0.90 0.71 733,307
Senior tactical-camera pool 0.88 0.74 709,008

Querying

Request body for Query Intervals.

{
  "filters": [
    {
      "type": "event_property",
      "event_type": "ball_phase",
      "properties": []
    }
  ]
}

properties constrains the metadata fields listed above. See Event Property Filter.

Response

Shape of this event type in the Events endpoint response.

{
  "event_id": "06a0765b-0005-7005-8000-000000000005",
  "start": 125.5,
  "end": 135.5,
  "label": "in_play",
  "event_type": "ball_phase",
  "team_id": null,
  "timeline_confidence": null
}

label is the phase value, e.g. "in_play" or "out_of_bounds".