Validate football models by the misses, not the average
01 July 2026
Pass detection reached 0.92 F-score on dependent data and 0.71 on independent data. Staff should see per-class misses, timing errors, and context splits before using any model score in a report.
Bischofberger, Baca and Schikuta tested pass and shot detection on four football datasets. 1 The independent Euro sample gave the stress test because its positional feed came from Tracab and its event feed came from Wyscout after manual timestamp correction from broadcast footage.
Pass F-scores reached 0.87 to 0.92 on datasets where event and positional data appeared linked. On Euro, where the paper says event and positional data were independent, passes fell to 0.71 and shots to 0.65.
Ball coordinates can already carry manual event cues. If the ball sticks to the possessing player in a provider feed, a detector may match that provider’s tagging habits instead of finding passes or shots on a new feed.
The dependent data drop
| Dataset | Sample | Event and positional link | Staff read |
|---|---|---|---|
| Metrica | 3 games | Linked by inspection | High pass scores may include provider artifacts |
| Stats | 14 games | Linked to a lesser degree | Good scores need provider-context checks |
| Euro | 4 games | Independent feeds | Best stress test in the paper |
| Subsequent | 6 games | Linked to a lesser degree | Parameters may not transfer cleanly |
On Euro, the authors estimated that roughly one third of detected passes or shots would not appear in the manual event data analysts are used to, and roughly one third of manual events would be missing.
Passes are about 40 times more common than shots, so a model can look good on the common action while failing on the rarer event that decides a clip reel, xG input, or chance-creation report.
What staff should ask for
In a dataset where positive examples appear 1 percent of the time, a model that predicts negative every time scores 99 percent accuracy and still detects none of the target cases. 2
Precision answers how many flagged examples are real. Recall answers how many real examples were found. F1 penalizes a model when one of those two collapses, which is why it is a better first check than accuracy for many rare football actions.
Injury datasets usually contain many more non-injury than injury examples. Averaged scores can miss the class that matters, so injury-class recall and F1 are the first check, alongside precision and specificity. 3
| Staff request | Football question it answers |
|---|---|
| Base rate for each class | How rare is the action or outcome |
| Per-class precision | How many flagged clips or risk alerts are real |
| Per-class recall | How many real events the model missed |
| Per-class F1 | Whether precision or recall is collapsing |
| False-positive examples | Which wrong clips, players, or alerts staff would see |
| False-negative examples | Which real events staff would never review |
| Threshold used | Which error trade-off the analyst selected |
| Data-context split | Whether the score holds in the feed staff will use |
A false positive shot creates a clip the opponent did not actually create. A false negative cutback run removes evidence from a recruitment filter. A false injury flag can change load or availability discussions before anyone has checked the player.
Event classes and timing windows
SoccerNet’s action-spotting benchmark asks systems to locate 17 football classes, including penalties, goals, offsides, shots on target, shots off target, fouls, corners, substitutions and cards. Its tighter evaluation uses one-to-five-second temporal tolerance rather than five-to-60 seconds. 4
A detector that finds kick-offs and corners accurately can still miss fouls, offsides, red cards, or shots off target.
The PLOS study matched constituent events within 500 milliseconds for Stats, Metrica and Subsequent, and within 1000 milliseconds for Euro.
If a model places a shot tag after the block, the video search may miss the striker’s body shape and pressure before contact. If a foul tag lands too early, the analyst may review the approach and miss the actual contact.
Tracking needs context splits
FIFA’s EPTS programme says public test reports describe positioning and velocity accuracy in different velocity brackets. FIFA’s live player and ball tracking validation also notes 2D ball-position accuracy, live latency and future velocity and 3D reporting. 5 6
Stadium changes, extreme weather, special lighting and poor image quality can sit outside the training data and break tracking-derived outputs. 7
| Output | Split to request | Why staff need it |
|---|---|---|
| Player position | Camera feed, stadium, image quality | Shape and spacing models depend on coordinates |
| Velocity and sprint data | Velocity bracket | High-speed errors matter more for physical reports |
| Ball position | Ball speed, 2D or 3D, latency | Pressing and possession models depend on live ball accuracy |
| Broadcast tracking | Weather, lighting, occlusion | Edge cases can create bad coordinates before analysis starts |
Sprint-load reports need the high-velocity error bracket. Pressing models need the ball-latency figure. Rest-defence analysis needs player positions in crowded, partially occluded frames.
Injury flags show the cost of each miss
Freitas and colleagues studied 34 male professional players at a Portuguese first-division club. 8 Injury events were only 0.20 percent of observations.
The study reported 74.22 percent overall accuracy for its best short-time-frame approach, but the usable figures were class-level. The cost-sensitive SVM reached 71.43 percent sensitivity and 74.19 percent specificity, which tells staff both how often injury events were found and how often non-injury cases were kept clear.
A false positive can sideline a player unnecessarily or pull medical resources toward the wrong case. A false negative can leave a player in full training when the model was supposed to flag short-term risk.
The football handoff
Event data goes through A, B and C audits — automated detection, then manual review, then expert correction — before reaching recruitment and performance workflows. 9
Contextual data feeds set-play review, open-play trends, coach communication and recruitment filtering. 10 A missed line-breaking pass changes the opponent report. A poor cutback-receiver label can remove a centre-forward from a shortlist.
| Staff use | Minimum error view before use |
|---|---|
| Opposition clips | Per-class precision and recall for the searched event |
| Set-play review | Timing-window errors and false positives by restart type |
| Recruitment filter | False negatives for the movement or action being filtered |
| Tracking report | Position and velocity errors split by match context |
| Injury-risk alert | Sensitivity, specificity and threshold choice |
Public evidence is strongest for passes, shots, action spotting, tracking validation and football injury classification. It does not set one universal minimum F1 for every model a club might use.
Start with the football class, then the context split, then the error examples. The headline score becomes useful after those three are in front of you.
Open the last false-negative shots, false-positive corners, late foul tags, noisy high-speed runs and missed injury flags. If the misses come from the same competition, camera feed, velocity bracket and time window staff will use next week, the score has football meaning.
Sources
- PLOS One: Detecting football events in heterogeneous data sources
- Google: Classification: Accuracy, recall, precision, and related metrics
- Sports Medicine Open: Machine learning in football injury prediction — a systematic review
- SoccerNet: Action spotting
- FIFA: Electronic performance and tracking systems
- FIFA: Validation of ball tracking technology and real-time tracking data extends
- Hudl StatsBomb: Creating better data — AI homography estimation
- PLOS One: Predicting injury in professional football using machine learning and GPS data
- Hudl StatsBomb: StatsBomb data FAQ
- Hudl StatsBomb: Using StatsBomb 360 data as a performance analyst
2026
August
- 4th
July
- 29th
- 27th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 17th
- 17th
- 16th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 7th
- 6th
- 5th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
June
- 30th
- 30th
- 29th
- 29th
- 29th
- 28th
- 28th
- 27th
- 26th
- 26th
- 25th
- 24th
- 24th
- 23rd
- 22nd
- 21st
- 21st
- 21st
- 20th
- 19th
- 19th
- 18th
- 17th
- 17th
- 16th
- 15th
- 15th
- 14th
- 14th
- 13th
- 13th
- 12th
- 12th
- 11th
- 11th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
May
- 31st
- 31st
- 30th
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
-
How analysts should measure whether high pressing is creating control or exposing transition attacks11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
- 1st
March
- 24th
January
- 18th
2025
December
- 21st
- 16th
- 7th
- 3rd
November
- 29th
- 24th
- 20th
- 14th
- 12th
- 8th
- 7th
- 4th
- 2nd
October
- 31st
- 28th
- 22nd
- 20th
- 19th
- 12th
September
- 30th
- 28th
- 26th
- 24th
- 23rd
- 20th
- 18th
- 16th
- 14th
- 4th
- 3rd
- 1st
August
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 20th
- 17th
- 14th
- 12th
- 10th
- 8th
- 4th
July
- 10th
- 5th
- 4th
June
- 29th
- 14th
- 13th
- 12th
- 2nd
May
- 29th
- 25th
- 22nd
- 20th
- 15th
- 8th
April
- 30th
- 9th
March
- 28th
- 5th
February
- 26th
- 20th
- 19th
- 12th
- 8th
January
- 31st
- 30th
- 16th
- 12th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
2024
December
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
November
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 18th
- 16th
October
- 21st
- 12th
- 11th
- 9th
- 7th
- 6th
- 4th
- 3rd
- 2nd
- 1st
September
- 30th
- 29th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 4th
- 3rd
- 2nd
- 1st
August
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 20th
- 19th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
July
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 15th
- 14th
- 13th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
June
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
May
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
April
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 3rd
- 2nd
- 1st
March
- 31st
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 1st
February
- 28th
- 27th
- 26th
- 25th
- 23rd
- 22nd
- 21st
- 20th
- 18th
- 15th
- 14th
- 13th
- 12th
- 11th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
January
- 31st
- 30th
- 29th
- 28th
- 27th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
- 2nd
- 1st
2023
December
- 31st
- 29th
- 28th
- 27th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 13th
- 12th
- 11th
- 10th
- 8th
- 7th
- 6th
- 4th
- 3rd
- 2nd
- 1st
November
- 30th
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
October
- 31st
- 30th
- 29th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 19th
- 17th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 1st
September
- 30th
- 28th
- 26th
- 25th
- 24th
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 9th
- 3rd
August
- 31st
- 28th
- 27th
- 26th
- 21st
- 20th
- 15th
- 14th
- 13th
- 12th
- 7th
- 4th
- 3rd
July
- 31st
- 30th
- 28th
- 27th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 12th
- 11th
- 10th
- 9th
- 8th
- 7th
- 6th
- 5th
- 4th
- 3rd
June
- 11th
- 10th
- 7th
- 5th
- 4th
- 1st
May
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 21st
- 20th
- 19th
- 18th
- 17th
- 16th
- 15th
- 14th
- 13th
- 11th
- 10th
- 9th
- 8th
- 7th
- 5th
- 4th
- 3rd
- 2nd
- 1st
April
- 29th
- 28th
- 27th
- 26th
- 25th
- 24th
- 23rd
- 22nd
- 22nd
- 21st
- 20th
- 2nd
March
- 6th
February
- 27th
- 20th
- 5th
January
- 19th
Receive every new post in your inbox.
Subscribe to receive Research reports and the Weekly Recap by email. By continuing, you agree to our Privacy Policy and Terms of Service.