Method and how to read the numbers
This page explains where our numbers come from and how they are calculated. It sets out what each table counts, what it deliberately leaves out, and where the underlying data has gaps. If you are going to rely on a number, you should first know its limits.
1. What is counted
Ten seasons of league football. The Premier League, La Liga, Bundesliga, Serie A and Ligue 1 from 2017-18 to the current season. On top of that we hold three European competitions, six domestic cups, the super cups and five second divisions, about 45,000 matches in total.
Conditional win rates count league games only. Figures such as “win rate in wet weather” or “win rate after three days’ rest” use that team’s league matches alone. Cup and European ties differ too much in opposition quality and rotation to be pooled with them.
Recent form, streaks and rest days count every competition. Calculating days of rest from league games alone would ignore a Champions League tie played in between and misstate the actual turnaround. We count every match the team actually played.
2. How win rates are calculated
Win rate = wins ÷ games played. Draws sit in the denominator but not the numerator. Roughly a quarter of football matches are drawn, so a bare win rate distorts what a team actually did. That is why every win rate is printed with its W-D-L record. “29 games, 12W 10D 7L” tells you far more than “41.4%”.
“Usual” means that team’s overall league win rate across the same window. Every conditional figure is shown against that baseline. A 60% win rate in the rain means nothing on its own if the team wins 65% of the time anyway. Gaps are expressed in percentage points (pp).
Positions and points come from the official table. Computing points from results alone misses deductions: Juventus lost 10 points in 2022-23 and Everton lost 8 in 2023-24. We pull the official standings separately.
3. How small samples are handled
Under 10 games is faded and labelled “small sample”. We do not hide the value. Three wins from three is a 100% win rate, but it supports no conclusion. The sample size is always shown next to the number so you can judge it yourself.
Under 5 games is not published at all. The “what stands out” section on team and head-to-head pages only draws on samples of five or more. If nothing clears the bar, the section simply does not appear. We would rather show less than pad a page.
Overlapping conditions are reduced to one. “When they score first” and “when they concede first” diverge sharply for every team, so printing both would make every page look identical. Only the more extreme of the two is shown.
4. What the conditional tables mean
- Timing and context: days of rest since the previous match, league games straight after a cup or European tie, games either side of an international break, kick-off day and time slot, forecast conditions and temperature
- Game state: scoring first versus conceding first, leading or trailing at half time, high versus low possession, matches with a red card
- Shooting and defensive shape: shots and shots on target per game, the split inside and outside the box, shots conceded, goalkeeper saves and goals prevented
- Player availability: how the team performs with and without a given player in the starting eleven, limited to players with appearances this season
Referee records appear only when they are unusual. A referee’s figures are shown only when the sample runs to ten games or more and the win rate differs from the team’s usual rate by at least 15 percentage points. Referee splits turn on chance easily, and showing them by default invites false conclusions.
5. What we do not do
We do not predict. We never write that a team looks likely to win, and we avoid directional words such as favoured, vulnerable or underdog.
We do not publish odds or probabilities. Betting markets are used internally only to tell a favourite from an outsider, and never appear on the site in any form.
We do not rewrite a preview after the match. Editing the data once the result is known turns a record into hindsight. Finished matches get a final score added at the top; everything below stays exactly as it stood before kick-off.
6. Known gaps
We would rather state these plainly than have you discover them later.
- Expected goals (xG) only exist from 2022-23 onward. Roughly 9,000 earlier matches in the big five have no xG. The provider does not supply it.
- Some cup player statistics are missing. Player-level data for domestic cup ties drops below half in certain competitions and seasons.
- Referees are often unassigned at publication. Appointments usually land one or two days before kick-off; pages published earlier say so explicitly.
- Weather is looked up from the stadium’s coordinates and kick-off time. When a match has no venue recorded, the weather is left blank rather than guessed from the home team’s usual ground.
- Player names follow the provider’s spelling. Duplicates and spelling variants exist and are cleaned up as we find them.
7. Sources
Fixtures, line-ups, events, player and team statistics and xG come from API-Football. Weather and kick-off forecasts come from Open-Meteo. Club crests come from Wikimedia. Positions and points come from API-Football’s official standings.
If you think a number is wrong, tell us through contact. Name the match and the figure and we will check it against the source data and correct it.