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
Mexico Liga MX · Mexico
Clear

Summary

Graded matches
3,399

Model v5

Match result hit rate
48.1%

Always picking the home side: 45.1%

Brier score, 1X2
0.619

Lower is better. Guessing scores 0.667.

Over/Under 2.5 hit rate
54.7%

3,399 matches

Both teams to score hit rate
53.8%

3,399 matches

Exact score hit rate
11.0%

Out of 121 possible scores

Every market

Results by market

MarketMatchesHit rateBrier scoreLog loss
Match result (1X2)3,39948.1%0.61881.0304
Over/Under 1.5 goals3,39975.3%0.18510.5564
Over/Under 2.5 goals3,39954.7%0.24710.6873
Over/Under 3.5 goals3,39971.4%0.20300.5956
Both teams to score3,39953.8%0.24800.6890
Exact score3,39911.0%-2.8860

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% 2016: 40.7% · 167 matches 41 2016 2017: 44.0% · 334 matches 44 2017 2018: 45.5% · 334 matches 46 2018 2019: 52.6% · 352 matches 53 2019 2020: 45.2% · 261 matches 45 2020 2021: 45.6% · 342 matches 46 2021 2022: 48.2% · 342 matches 48 2022 2023: 47.5% · 341 matches 48 2023 2024: 52.1% · 340 matches 52 2024 2025: 55.3% · 340 matches 55 2025 2026: 48.0% · 246 matches 48 2026
Show as a table
PeriodMatchesHit rateBrier scoreOver/Under 2.5Both teams to score
202624648.0%0.623152.0%56.5%
202534055.3%0.567859.1%57.4%
202434052.1%0.596854.4%55.6%
202334147.5%0.621557.5%53.1%
202234248.2%0.632151.8%51.5%
202134245.6%0.632060.8%52.3%
202026145.2%0.626259.4%52.9%
201935252.6%0.604550.9%51.4%
201833445.5%0.628954.5%53.6%
201733444.0%0.647347.9%51.8%
201616740.7%0.643352.1%58.7%

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 8.3%, happened 10.0% · 80 Forecast 16.4%, happened 15.9% · 957 Forecast 25.6%, happened 26.6% · 4,656 Forecast 35.0%, happened 35.0% · 1,732 Forecast 44.8%, happened 43.1% · 1,368 Forecast 54.6%, happened 51.0% · 894 Forecast 64.0%, happened 67.0% · 397 Forecast 73.4%, happened 70.5% · 105 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 Clubs league Friendlies ClubsWorld 39,55255.0%0.57662.6%56.5%
FA Cup league FA CupEngland 10,69648.2%0.61962.4%57.6%
Championship league ChampionshipEngland 8,45045.7%0.63553.5%52.5%
League Two league League TwoEngland 8,31844.3%0.64753.7%51.9%
League One league League OneEngland 8,28546.9%0.63152.5%52.5%
National League league National LeagueEngland 8,20047.1%0.62554.0%54.7%
2. Lig league 2. LigTurkey 7,38752.0%0.58655.7%51.0%
Primera Nacional league Primera NacionalArgentina 7,36843.6%0.64266.6%58.8%
Torneo Federal A league Torneo Federal AArgentina 7,30048.7%0.61462.0%56.9%
J2 League league J2 LeagueJapan 6,40844.7%0.64155.3%52.2%
Serie A league Serie ABrazil 6,30449.6%0.61456.2%52.1%
Major League Soccer league Major League SoccerUnited States 6,20250.0%0.61756.8%56.9%
La Liga league La LigaSpain 6,14952.7%0.58257.2%52.3%
Serie A league Serie AItaly 6,13153.4%0.58454.6%53.8%
Premier League league Premier LeagueEngland 6,12053.1%0.58355.1%54.6%
Ligue 2 league Ligue 2France 5,90043.5%0.64556.8%52.7%
Ligue 1 league Ligue 1France 5,81349.7%0.60657.1%52.8%
3. Liga league 3. LigaGermany 5,76145.9%0.63953.7%54.2%
U19 Bundesliga league U19 BundesligaGermany 5,71356.6%0.55869.7%61.5%
Primera C league Primera CArgentina 5,68741.7%0.65263.7%57.2%
Serie B league Serie BBrazil 5,61047.0%0.62558.9%53.0%
Serie D league Serie DBrazil 5,51148.2%0.61458.0%53.8%
Primera B Metropolitana league Primera B MetropolitanaArgentina 5,47040.1%0.65565.6%57.6%
USL Championship league USL ChampionshipUnited States 5,29848.3%0.61855.8%55.0%
Serie C - Girone A league Serie C - Girone AItaly 5,27843.0%0.64459.1%53.4%
USL League Two league USL League TwoUnited States 5,15959.2%0.53768.1%59.9%
Primera Division league Primera DivisionGuatemala 5,11062.8%0.52056.2%54.1%
Eredivisie league EredivisieNetherlands 5,02353.9%0.57260.0%57.6%
Süper Lig league Süper LigTurkey 5,00150.8%0.60253.9%53.0%
FA Trophy league FA TrophyEngland 4,98547.3%0.63062.8%59.9%
1. Lig league 1. LigTurkey 4,97247.5%0.61453.8%51.9%
Bundesliga league BundesligaGermany 4,94851.4%0.59758.7%56.7%
Ligue 2 league Ligue 2Algeria 4,91556.1%0.57263.3%58.0%
Jupiler Pro League league Jupiler Pro LeagueBelgium 4,81851.2%0.59855.1%54.2%
J1 League league J1 LeagueJapan 4,79347.0%0.63055.5%55.5%
Liga Profesional Argentina league Liga Profesional ArgentinaArgentina 4,78444.0%0.63961.7%56.2%
Segunda División league Segunda DivisiónSpain 4,74344.7%0.63860.4%53.3%
Primeira Liga league Primeira LigaPortugal 4,70554.5%0.56056.0%52.8%
2. Bundesliga league 2. BundesligaGermany 4,65444.7%0.64555.6%55.4%
Ligue 3 league Ligue 3France 4,60641.8%0.65256.8%51.3%
Primera División league Primera DivisiónVenezuela 4,60147.4%0.62455.0%51.3%
NB II league NB IIHungary 4,58247.4%0.62355.4%54.8%
Liga Alef league Liga AlefIsrael 4,55847.4%0.62554.7%52.3%
UEFA Europa League league UEFA Europa LeagueWorld 4,45450.2%0.62154.0%52.8%
Primera A league Primera AColombia 4,44647.2%0.62159.2%52.9%
3. Lig - Group 3 league 3. Lig - Group 3Turkey 4,34448.3%0.61559.0%53.8%
3. Lig - Group 1 league 3. Lig - Group 1Turkey 4,34048.4%0.60757.2%52.2%
2. Division league 2. DivisionBelarus 4,33464.0%0.47972.5%55.5%
3. Lig - Group 2 league 3. Lig - Group 2Turkey 4,32246.6%0.62555.3%52.7%
Premier League league 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.