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

Held-out model quality — how well the engine reproduces ground truth on frozen evaluation games it was never trained on. This is not per-match confidence (each event row also carries its own confidence_event). Metric: frame_macro_f1 (per-frame, macro-averaged over classes), measured 2026-07-10.

Ground-truth source Accuracy Macro F1 Frames
World Cup Broadcast 0.89 0.82 466,231
Senior broadcast pool 0.91 0.65 608,382
Non-broadcast youth pool 0.87 0.64 733,307
Senior tactical-camera pool 0.82 0.58 710,842

Querying

{
  "filters": [
    {
      "type": "event_property",
      "event_type": "ball_phase",
      "properties": [
        { "field": "phase", "eq": "in_play" }
      ]
    }
  ]
}

Response

Events of this type appear in the Events endpoint response:

{
  "start": 125.5,
  "end": 135.5,
  "label": "in_play",
  "event_type": "ball_phase"
}

The label is the phase value (e.g., "in_play", "out_of_bounds").