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.