Skip to content

Shot

An attempt to score: a kick or other body contact directed at the opponent's goal, with any body part. A headed attempt on goal is shot with body_part=head, intent is the more-specific feature.

Category: Ball action

Properties

Property Type Description Values
body_part str Which body part contacted the ball. unknown is the engine-side placeholder for unmeasured rows. Not currently populated. head, both_hands, unknown
confidence_detection float32 Detection confidence [0,1]. Not currently populated.
confidence_event float32 Event [0,1]. Model confidence for this event class.
confidence_identity float32 Identity confidence [0,1]. Null for non-actor events and for rows where the jersey/player_id was not resolved (team-only actor rows have this null).
team_label int8 Team label, harmonised across the match (0 or 1).

Property Values

body_part

Which body part contacted the ball.

Value Description
head Headed contact. Includes header, flick-on, headed pass, headed clearance.
both_hands Two-handed throw. Used for throw-in restarts (paired with set_piece=throw_in).
unknown Engine-side placeholder for rows where body part was not measured. Distinct from a positive identification of a non-standard body part.

Accuracy

Engine output scored against ground truth on held-out evaluation games, metric event_f1@50f (per-event match within ±2.0s), measured 2026-10-19; per-match confidence is the separate confidence_event property.

Ground-truth source Recall Precision F1 GT events
Non-broadcast youth pool 0.73 0.83 0.78 178

Querying

Request body for Query Intervals.

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

properties constrains the metadata fields listed above, players and teams restrict the actor. See Event Property Filter.

team_label is the shooting team. teams matches a shot by it.

Response

Shape of this event type in the Events endpoint response.

{
  "event_id": "06a0765b-0007-7007-8000-000000000007",
  "start": 617.92,
  "end": 617.92,
  "label": "shot",
  "event_type": "shot",
  "team_id": "team_0",
  "timeline_confidence": null
}

A point event: end equals start. team_id is the shooting team, from team_label. Null when the team is unknown.