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
Ligue 2 · France
Clear

Summary

Graded matches
5,900

Model v5

Match result hit rate
43.5%

Always picking the home side: 42.7%

Brier score, 1X2
0.645

Lower is better. Guessing scores 0.667.

Over/Under 2.5 hit rate
56.8%

5,900 matches

Both teams to score hit rate
52.7%

5,900 matches

Exact score hit rate
11.7%

Out of 121 possible scores

Every market

Results by market

MarketMatchesHit rateBrier scoreLog loss
Match result (1X2)5,90043.5%0.64531.0678
Over/Under 1.5 goals5,90068.7%0.21550.6225
Over/Under 2.5 goals5,90056.8%0.24400.6811
Over/Under 3.5 goals5,90077.3%0.17430.5323
Both teams to score5,90052.7%0.24940.6919
Exact score5,90011.7%-2.7961

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% 2010: 37.4% · 187 matches 37 2010 2011: 44.9% · 363 matches 45 2011 2012: 43.2% · 389 matches 43 2012 2013: 45.3% · 371 matches 45 2013 2014: 45.0% · 380 matches 45 2014 2015: 38.5% · 390 matches 38 2015 2016: 40.0% · 380 matches 40 2016 2017: 47.2% · 379 matches 47 2017 2018: 46.7% · 381 matches 47 2018 2019: 40.3% · 382 matches 40 2019 2020: 44.6% · 260 matches 45 2020 2021: 42.1% · 404 matches 42 2021 2022: 43.7% · 364 matches 44 2022 2023: 47.6% · 399 matches 48 2023 2024: 46.1% · 336 matches 46 2024 2025: 44.0% · 318 matches 44 2025 2026: 39.2% · 217 matches 39 2026
Show as a table
PeriodMatchesHit rateBrier scoreOver/Under 2.5Both teams to score
202621739.2%0.648355.3%55.3%
202531844.0%0.647754.7%55.0%
202433646.1%0.634050.3%51.8%
202339947.6%0.639253.9%55.4%
202236443.7%0.640061.0%57.1%
202140442.1%0.651258.4%51.0%
202026044.6%0.648759.2%54.6%
201938240.3%0.655860.7%56.5%
201838146.7%0.637553.8%53.3%
201737947.2%0.626454.6%50.4%
201638040.0%0.655957.6%51.8%
201539038.5%0.661661.8%47.9%
201438045.0%0.633657.1%50.8%
201337145.3%0.636555.3%52.0%
201238943.2%0.652253.7%48.8%
201136344.9%0.644355.1%51.8%
201018737.4%0.668666.8%56.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 8.6%, happened 15.6% · 32 Forecast 16.8%, happened 18.8% · 1,048 Forecast 26.5%, happened 28.0% · 8,013 Forecast 34.3%, happened 34.1% · 4,281 Forecast 44.7%, happened 42.6% · 2,641 Forecast 54.2%, happened 50.1% · 1,332 Forecast 63.5%, happened 56.1% · 312 Forecast 72.9%, happened 70.0% · 40 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.