How we keep our football stats accurate
Football stats and live scores are only worth something if they are right. This page explains how BetsyScore checks every number before you see it: live scores, top scorers, expected goals (xG), tables, coaches and player data, what we do when a source gets something wrong, and how you can report a mistake.
Our rule: no number we cannot stand behind
A football page is only useful if you can trust it. Our rule is simple: when we cannot confirm a number, we leave it out rather than guess. A section that is missing is better than a section that is wrong.
- Two independent data feeds, checked against each other
- Tables and leaderboards compared with the official ones before they are published
- Unknown or unclear events are skipped, never filled in
- Missing data stays missing: no estimates passed off as facts
Live scores confirmed by two feeds
Goals reach BetsyScore first from a fast live feed and are then confirmed by a second, independent feed. The fast feed may only run ahead of the confirmed score, never against it.
- An early goal is shown at once and confirmed by the second feed
- A goal ruled out by the referee or VAR is removed straight away
- An early goal that is not confirmed within four minutes is dropped
- If the two feeds ever disagree on a score, the confirmed score stands
Top scorers counted from every single match
Our top scorer and assist tables are counted goal by goal from the events of every finished match, so they update as soon as a match ends. A count is only shown once every match of the season is in: while a competition is still being counted, the official list is shown instead.
- Goals counted from each match's own events
- A match only counts once its goals add up to the final score
- Own goals and shoot-out penalties are kept out of the race
- Never a half-counted table: the official list stands in until ours is complete
Expected-goals tables checked against the real table
Our season tables, such as the deserved table with expected points (xPTS), are rebuilt every day. A competition is only published when every one of its matches has full data and our table matches the official standings point for point.
- Every match of the season must be present, or the table is not published
- Points must equal the official standings for every club
- A points deduction is only accepted when the club's record proves it
- Player percentiles compare players with others in the same position
Coaches, players and photos checked by hand
Line-ups, coaches and photos are matched to the right person before they appear. National team coaches are taken from a source that tracks appointments, and every new batch of photos is reviewed by eye before it goes live.
- A coach's photo is only shown when it is the coach named on the page
- Placeholder pictures are recognised and never shown as a face
- Reserve and youth sides are never matched to the first team
- Player ages are worked out from the date of birth, not copied
- Old matches show the coach who was in charge on that day
Live tracker data filtered for glitches
Live position data can arrive out of order or be sent twice. The live tracker filters both: a goal that a feed repeats long after the restart is ignored, and a move in which the ball would have to travel faster than any real pass is treated as a data glitch, not as a counter-attack.
- Repeated goal messages after the kick-off are ignored
- Physically impossible moves are never counted as counter-attacks
- Duplicate actions are counted once
- Attack sides and counters are only shown once enough of a match has been seen
Found a mistake? Tell us
We check our data every day, but no system is perfect. If you spot a wrong score, coach, player or photo, email hello@betsyscore.com with the page link and we will check it against our sources and correct it.
- Every report is checked against our sources
- Corrections also reach pages that were already stored and shared
- Recurring mistakes get an automatic check so they cannot return
Frequently asked questions
Are BetsyScore's football stats and live scores reliable?
BetsyScore checks its data against two independent feeds and against official tables. When a number cannot be confirmed, it is left out rather than guessed, and mistakes reported by readers are corrected and get their own automatic check.
Why do I sometimes see a goal before other sites?
Goals come from a fast live feed and are then confirmed by a second feed. The early goal is shown at once and removed straight away if it is ruled out or not confirmed within four minutes.
How are BetsyScore's top scorers calculated?
They are counted from the events of every finished match, and a match only counts once its goals add up to the final score. While a competition is still being counted, the official top scorer list is shown instead.
Why is a section missing for some matches?
Because the data behind it is incomplete for that match or competition. BetsyScore shows a section only when it can stand behind every number in it.
How do I report a mistake?
Email hello@betsyscore.com with the link to the page. Every report is checked and corrected where needed.