Skip to main content
← Predictions

Model v5 · Updated 23 Sep 2026

Our track record

Every forecast checked against the final 90-minute result, by league, competition and season. Nothing is hand-picked: every graded match counts.

The backtest runs model v5 over past seasons from Jun 2008 to Sep 2026. For every match it only uses information that existed before kickoff, exactly as if the forecast had been published that day. The model was tuned on matches from January 2025 to April 2026; every other month is an out-of-sample test.

League
UEFA Europa League · World
Clear

Summary

Graded matches
4,454

Model v5

Match result hit rate
50.2%

Always picking the home side: 47.1%

Brier score, 1X2
0.621

Lower is better. Guessing scores 0.667.

Over/Under 2.5 hit rate
54.0%

4,454 matches

Both teams to score hit rate
52.8%

4,454 matches

Exact score hit rate
10.8%

Out of 121 possible scores

Every market

Results by market

MarketMatchesHit rateBrier scoreLog loss
Match result (1X2)4,45450.2%0.62121.0448
Over/Under 1.5 goals4,45474.7%0.18860.5649
Over/Under 2.5 goals4,45454.0%0.24800.6891
Over/Under 3.5 goals4,45471.9%0.20120.5916
Both teams to score4,45452.8%0.25040.6941
Exact score4,45410.8%-3.0077

Hit rate counts the outcome we marked as most likely. Brier score and log loss grade the full probabilities, so a confident miss costs more than a cautious one.

Season by season

Match result hit rate over time

Match result hit rate over time 0% 15% 30% 45% 60% 2014: 43.8% · 422 matches 44 2014 2015: 45.5% · 475 matches 45 2015 2016: 46.6% · 468 matches 47 2016 2017: 48.2% · 473 matches 48 2017 2018: 52.2% · 519 matches 52 2018 2019: 52.6% · 519 matches 53 2019 2020: 55.9% · 354 matches 56 2020 2021: 44.0% · 193 matches 44 2021 2022: 52.6% · 173 matches 53 2022 2023: 54.3% · 175 matches 54 2023 2024: 53.2% · 233 matches 53 2024 2025: 55.4% · 271 matches 55 2025 2026: 56.4% · 179 matches 56 2026
Show as a table
PeriodMatchesHit rateBrier scoreOver/Under 2.5Both teams to score
202617956.4%0.565354.7%54.2%
202527155.4%0.584550.6%51.3%
202423353.2%0.588554.1%56.2%
202317554.3%0.565561.1%55.4%
202217352.6%0.583357.2%61.3%
202119344.0%0.653448.2%54.4%
202035455.9%0.537255.1%49.4%
201951952.6%0.581053.6%52.4%
201851952.2%0.598753.6%51.3%
201747348.2%0.638055.4%53.3%
201646846.6%0.675155.6%53.8%
201547545.5%0.688050.5%53.5%
201442243.8%0.703855.5%49.1%

Paler bars have fewer than 100 matches and move a lot by chance. The earliest seasons have few matches and little history for the model to learn from, so they read lower.

Do the percentages mean what they say?

Calibration

Forecast probability against how often the outcome happened 0% 0% 50% 50% 100% 100% Forecast 6.6%, happened 18.4% · 711 Forecast 15.7%, happened 21.0% · 2,089 Forecast 25.1%, happened 25.1% · 5,071 Forecast 34.9%, happened 35.9% · 1,553 Forecast 44.6%, happened 43.6% · 1,368 Forecast 54.7%, happened 52.0% · 1,045 Forecast 64.5%, happened 57.8% · 791 Forecast 74.4%, happened 61.6% · 497 Forecast 84.0%, happened 60.7% · 214 Forecast probability

Each dot groups home, draw and away probabilities of similar size. Dots close to the diagonal mean that when we say 60%, it happens about 60% of the time.

Where it works best

By competition group

GroupMatchesHit rateBrier score
Major leagues150,93849.5%0.607
Other men's leagues1,019,02051.0%0.597
Cups109,57255.1%0.566
Women's football35,57762.6%0.494
Youth & reserves52,89253.6%0.583
National teams17,07760.2%0.516
Friendlies44,69554.7%0.577

Groups follow the period and model filters. Mismatched competitions such as cups and women's leagues are easier to call than balanced top divisions.

1064 leagues with at least 30 matches

By league

LeagueMatchesHit rateBrier scoreOver/Under 2.5Both teams to score
Friendlies ClubsWorld 39,55255.0%0.57662.6%56.5%
FA CupEngland 10,69648.2%0.61962.4%57.6%
ChampionshipEngland 8,45045.7%0.63553.5%52.5%
League TwoEngland 8,31844.3%0.64753.7%51.9%
League OneEngland 8,28546.9%0.63152.5%52.5%
National LeagueEngland 8,20047.1%0.62554.0%54.7%
2. LigTurkey 7,38752.0%0.58655.7%51.0%
Primera NacionalArgentina 7,36843.6%0.64266.6%58.8%
Torneo Federal AArgentina 7,30048.7%0.61462.0%56.9%
J2 LeagueJapan 6,40844.7%0.64155.3%52.2%
Serie ABrazil 6,30449.6%0.61456.2%52.1%
Major League SoccerUnited States 6,20250.0%0.61756.8%56.9%
La LigaSpain 6,14952.7%0.58257.2%52.3%
Serie AItaly 6,13153.4%0.58454.6%53.8%
Premier LeagueEngland 6,12053.1%0.58355.1%54.6%
Ligue 2France 5,90043.5%0.64556.8%52.7%
Ligue 1France 5,81349.7%0.60657.1%52.8%
3. LigaGermany 5,76145.9%0.63953.7%54.2%
U19 BundesligaGermany 5,71356.6%0.55869.7%61.5%
Primera CArgentina 5,68741.7%0.65263.7%57.2%
Serie BBrazil 5,61047.0%0.62558.9%53.0%
Serie DBrazil 5,51148.2%0.61458.0%53.8%
Primera B MetropolitanaArgentina 5,47040.1%0.65565.6%57.6%
USL ChampionshipUnited States 5,29848.3%0.61855.8%55.0%
Serie C - Girone AItaly 5,27843.0%0.64459.1%53.4%
USL League TwoUnited States 5,15959.2%0.53768.1%59.9%
Primera DivisionGuatemala 5,11062.8%0.52056.2%54.1%
EredivisieNetherlands 5,02353.9%0.57260.0%57.6%
Süper LigTurkey 5,00150.8%0.60253.9%53.0%
FA TrophyEngland 4,98547.3%0.63062.8%59.9%
1. LigTurkey 4,97247.5%0.61453.8%51.9%
BundesligaGermany 4,94851.4%0.59758.7%56.7%
Ligue 2Algeria 4,91556.1%0.57263.3%58.0%
Jupiler Pro LeagueBelgium 4,81851.2%0.59855.1%54.2%
J1 LeagueJapan 4,79347.0%0.63055.5%55.5%
Liga Profesional ArgentinaArgentina 4,78444.0%0.63961.7%56.2%
Segunda DivisiónSpain 4,74344.7%0.63860.4%53.3%
Primeira LigaPortugal 4,70554.5%0.56056.0%52.8%
2. BundesligaGermany 4,65444.7%0.64555.6%55.4%
Ligue 3France 4,60641.8%0.65256.8%51.3%
Primera DivisiónVenezuela 4,60147.4%0.62455.0%51.3%
NB IIHungary 4,58247.4%0.62355.4%54.8%
Liga AlefIsrael 4,55847.4%0.62554.7%52.3%
UEFA Europa LeagueWorld 4,45450.2%0.62154.0%52.8%
Primera AColombia 4,44647.2%0.62159.2%52.9%
3. Lig - Group 3Turkey 4,34448.3%0.61559.0%53.8%
3. Lig - Group 1Turkey 4,34048.4%0.60757.2%52.2%
2. DivisionBelarus 4,33464.0%0.47972.5%55.5%
3. Lig - Group 2Turkey 4,32246.6%0.62555.3%52.7%
Premier LeagueEgypt 4,23646.3%0.61460.3%52.8%
Show all 1064 leagues

With a few hundred matches, a league's hit rate can move by several points from luck alone. Compare leagues with large samples.

Reading the numbers

How we measure accuracy

Hit rate
How often the outcome we marked as most likely happened. Simple, but it ignores how confident the forecast was.
Brier score
The squared gap between our probabilities and what happened. 0 is perfect; for match results, spreading a third on each outcome scores 0.667.
Log loss
Punishes confident mistakes harder than the Brier score. Lower is better.
Backtest
The current model run over past matches with only the information available before each kickoff. It shows how the model behaves across many seasons, but it is a simulation, not a record of published forecasts.
Published forecasts
Forecasts we actually showed, stored with a timestamp before kickoff and never edited afterwards.
Result used
The score after 90 minutes plus stoppage time. Extra time and penalties do not count.

Forecasts are probabilities, not certainties. Past accuracy does not guarantee future results.