Football Predictor

📊 Model Accuracy

Live accuracy tracking across all completed matches with ML predictions. Refreshed every hour · last computed 20 Aug 2026, 05:42.

⚠️ Model change — 2026-06-17

The model became market-independent on 2026-06-17 (market features + anchoring removed). The 499 games before then were served by the old (anchored) model, while 954 by the current one. The “All Time” numbers below mix the two methodologies — the rolling 7d/30d are more representative of the current model.

Model period1×2O/UN
anchored (2026-06-17)50.9%57.5%499
pure-model (2026-06-172026-07-10)68.8%56.3%80
pure-unified (2026-07-10now)47.5%58.2%874

🩹 Injury adjustment — measured effect

Same 20 games, same model — only the injury layer changes.

1×2: raw 40.0% → adj 40.0%O/U: raw 60.0% → adj 60.0%

Top AI Picks — historical accuracy

Top 3 per day · high confidence → higher probability

Accuracy

65%

209 / 322 correct

Vs Overall

+15%

diff from 50% overall

Avg Probability

66%

top pick confidence

Total Picks

322

~3 per match day

1×2 Result

67%

120 / 179 correct

179 picks

Over/Under 2.5

62%

89 / 143 correct

143 picks

Same logic as the home page: top 3 matches per day ranked by high confidence → highest outcome probability. Counts whether the predicted outcome (Home Win / Away Win / Draw / Over / Under) was correct.

All Time · 1453 matches

Result Accuracy

50%

724 / 1453 correct

O/U Accuracy

58%

841 / 1453 correct

Both Correct

30%

437 / 1453

Matches Tracked

1,453

with stored predictions

Rolling Performance

Last 7 days187 matches

Result44%
O/U68%
Both31%

Last 30 days761 matches

Result47%
O/U59%
Both30%

By League

LeagueGamesResult %O/U %Both %
🤝Club Friendlies40145%57%29%
🌍International20761%53%33%
🟢Conference League10848%59%28%
🏴󠁧󠁢󠁥󠁮󠁧󠁿Premier League6148%62%33%
🇪🇸La Liga6048%62%25%
🇮🇹Serie A5553%55%24%
🇫🇷Ligue 14745%62%30%
Champions League4648%63%35%
🟠Europa League4544%53%29%
🇧🇷Brasileirão4238%50%19%
🇩🇪Bundesliga4245%69%36%
🇬🇷Super League4250%57%24%
🇳🇱Eredivisie3749%65%30%
🇵🇹Primeira Liga3551%57%29%
🏴󠁧󠁢󠁥󠁮󠁧󠁿Championship2352%61%30%
🇷🇴Liga I2343%65%35%
🇳🇴Eliteserien2255%68%41%
🇵🇱Ekstraklasa2255%82%55%
🇸🇪Allsvenskan2259%64%41%
🇦🇹Bundesliga (AT)1878%56%44%
🇧🇪Pro League1850%72%39%
🇫🇮Veikkausliiga1850%44%17%
🇩🇰Superliga1669%38%19%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Premiership1250%50%25%
🇨🇭Super League (CH)1267%92%67%
🇮🇪Premier Division1020%20%10%
🇹🇷Süper Lig933%44%11%

🌍 International — By Tournament

LeagueGamesResult %O/U %Both %
🌍AFC Asian Cup5159%55%25%
🌍AFC Asian Cup qualification6568%48%32%
🌍ASEAN Championship2658%62%42%
🌍ASEAN Championship qualification20%50%0%
🌍African Cup of Nations10454%59%25%
🌍African Cup of Nations qualification15154%59%29%
🌍Al Ain International Cup425%75%25%
🌍Arab Cup3161%45%19%
🌍Arab Cup qualification743%14%0%
🌍Baltic Cup667%83%50%
🌍CONCACAF Nations League11464%54%39%
🌍CONCACAF Series3546%66%29%
🌍CONIFA Asia Cup4100%100%100%
🌍Canadian Shield450%75%25%
🌍Copa América3256%53%25%
🌍Copa América qualification250%0%0%
🌍Diamond Jubilee International Football Tournament250%100%50%
🌍EAFF Championship qualification580%80%80%
🌍FIFA Series5763%54%33%
🌍FIFA World Cup10666%51%34%
🌍FIFA World Cup qualification76365%58%36%
🌍Friendly65858%57%30%
🌍Gold Cup3165%61%35%
🌍Gold Cup qualification1471%71%43%
🌍Gulf Cup1527%47%13%
🌍Intercontinental Cup367%33%0%
🌍Island Games1560%87%60%
🌍King's Cup875%38%38%
🌍Kirin Cup450%0%0%
🌍MSG Prime Minister's Cup1136%36%27%
🌍Mapinduzi Cup743%86%43%
🌍Marianas Cup250%100%50%
🌍Merdeka Tournament475%75%50%
🌍Morocco, Capital of African Football617%67%17%
🌍Mukuru 4 Nations250%50%50%
🌍Oceania Nations Cup1369%46%31%
🌍Oceania Nations Cup qualification367%33%33%
🌍Outrigger Challenge Cup30%100%0%
🌍Soccer Ashes2100%50%50%
🌍South Asian Super Cup10%0%0%
🌍Tri-Nations Cup1100%0%0%
🌍Tri-Nations Series333%67%33%
🌍UEFA Euro5149%59%25%
🌍UEFA Euro qualification978%33%22%
🌍UEFA Nations League18659%51%28%
🌍Unity Cup875%25%25%

By Confidence Level (club leagues)

🟢 high168 matches

Result accuracy60%

100 / 168 correct

🟡 medium450 matches

Result accuracy49%

221 / 450 correct

🔴 low628 matches

Result accuracy44%

276 / 628 correct

High confidence = max outcome probability ≥ 55% AND signal on O/U · Medium ≥ 42% · Low < 42%

Internationals (separate scale: HIGH = p ≥ 65%)

🟢 high62 matches

Result accuracy82%

51 / 62 correct

🟡 medium40 matches

Result accuracy65%

26 / 40 correct

🔴 low105 matches

Result accuracy48%

50 / 105 correct

By Predicted Outcome

Match Result

🏠 Home win52%

506 / 972 correct

🤝 Draw44%

17 / 39 correct

✈️ Away win45%

201 / 442 correct

Over / Under 2.5

⬆️ Over 2.560%

639 / 1074 correct

⬇️ Under 2.553%

202 / 379 correct

Draw Prediction

Total Draws

375

actual draws in dataset

Draw Predictions

39

matches predicted as draw

Draw Recall

5%

of actual draws caught

Draw Precision

44%

of draw predictions correct

Draws (26% of matches) are the hardest outcome to predict. Recall = what fraction of actual draws we caught · Precision = how reliable our draw calls are.

Goal / No Goal (BTTS)

GG (Goal Goal) = both teams scored at least 1 goal. NG (No Goal) = at least one team didn't score. The prediction is made via the Poisson model (from the stored λ).

Sample

1314

completed matches with λ

718 GG/596 NG

Overall Accuracy

54%

710 / 1314 correct (GG+NG)

GG Accuracy

55%

595 / 1076 GG predictions correct

GG Recall

83%

Of 718 actual GG, we caught 595

NG Recall

19%

Of 596 actual NG, we caught 115

GG Predictions

1076

matches we predicted GG

NG Predictions

238

matches we predicted NG

ROI Tracker

💰 ROI Tracker — Value Strategy

Only ⚡ suggested bets · €10 flat · 365 bets

-487.40

Strategy ROI -13.35%

🎯 Fair-value ROI — no vig

Same bets at fair (de-vigged) odds · model quality vs market

-9.20

-0.07% fair

vs −€661.60 (-4.74%) with vig

Model baseline (bet everything · 1395 bets)

−€661.60 · -4.74%

−€9.20 · -0.07%

with vigmodel (fair)

1×2 Result

614 bets · €6140.00 staked · vig −€332.72

−€145.00

-2.36%

+€187.72

+3.06% fair

Over 2.5 Goals

455 bets · €4550.00 staked · vig −€169.90

−€302.60

-6.65%

−€132.70

-2.92% fair*

GG (BTTS)

326 bets · €3260.00 staked · vig −€149.79

−€214.00

-6.56%

−€64.21

-1.97% fair

Real result (with vig)−€661.60
↳ from correct model results−€9.20
↳ lost to vig (bookmaker margin)−€652.40

Strategy = flat stake only on ⚡ suggested value bets (with market-shrunk EV gate). The baseline bets on every prediction and is expected ≈ −vig — it's a model-health signal, not a strategy. Fair-value = same bets at de-vigged odds (Result & BTTS exactly; *O/U with a hypothetical 4% overround since we don't store under-2.5 odds). It's not an achievable return — nowhere can you bet at fair odds — but it cleanly measures model quality.

Cumulative EV vs P&L

📈 Cumulative EV vs P&L

€10 flat stake · 89 days tracked

Expected ValueActual P&LFair P&L (no vig)
-€800-€600-€400-€200+€0+€200+€40003-07 05-02 05-17 06-17 07-02 07-26 08-16

Calibration

O/U Calibration — predicted vs actual over-rate

Points near the diagonal = well calibrated. Above = model over-predicts, below = under-predicts.

Predicted: 35% | Actual: 36% | n=25Predicted: 40% | Actual: 44% | n=230Predicted: 48% | Actual: 57% | n=145Predicted: 56% | Actual: 57% | n=616Predicted: 61% | Actual: 63% | n=323Predicted: 68% | Actual: 62% | n=71Predicted: 76% | Actual: 61% | n=23Predicted: 81% | Actual: 83% | n=6Predicted: 87% | Actual: 100% | n=2Predicted: 100% | Actual: 100% | n=10%25%50%75%100%30%50%70%90%Predicted Over ProbabilityActual Over Rate
Perfect calibrationModel· bubble size = sample count

1×2 Result Calibration — predicted vs actual frequency

Points on the diagonal = well calibrated. Above = model under-estimates, below = over-estimates. Minimum 3 matches per bucket shown.

Home: predicted 7% | actual 5% | n=21Home: predicted 16% | actual 20% | n=64Home: predicted 25% | actual 27% | n=191Home: predicted 35% | actual 38% | n=277Home: predicted 46% | actual 47% | n=450Home: predicted 54% | actual 52% | n=253Home: predicted 65% | actual 66% | n=110Home: predicted 73% | actual 67% | n=61Home: predicted 83% | actual 71% | n=21Home: predicted 92% | actual 80% | n=5Draw: predicted 7% | actual 25% | n=8Draw: predicted 17% | actual 25% | n=124Draw: predicted 26% | actual 25% | n=1161Draw: predicted 33% | actual 27% | n=132Draw: predicted 43% | actual 43% | n=28Away: predicted 6% | actual 10% | n=110Away: predicted 15% | actual 15% | n=154Away: predicted 25% | actual 24% | n=585Away: predicted 35% | actual 32% | n=254Away: predicted 44% | actual 42% | n=183Away: predicted 53% | actual 52% | n=103Away: predicted 63% | actual 60% | n=45Away: predicted 76% | actual 86% | n=14Away: predicted 84% | actual 60% | n=50%25%50%75%100%10%20%30%40%50%60%70%80%Predicted Outcome ProbabilityActual Frequency
Perfect calibration🏠 Home win🤝 Draw✈️ Away win· bubble size = sample count

BTTS Calibration — predicted GG probability vs actual GG rate

Points near the diagonal = well calibrated. Derived from Poisson λ stored at prediction time.

Predicted: 25% | Actual: 40% | n=5Predicted: 36% | Actual: 58% | n=38Predicted: 48% | Actual: 51% | n=193Predicted: 53% | Actual: 54% | n=980Predicted: 63% | Actual: 62% | n=87Predicted: 74% | Actual: 83% | n=60%25%50%75%100%10%30%50%70%90%Predicted BTTS (GG) ProbabilityActual GG Rate
Perfect calibrationModel· bubble size = sample count

By Model Version

VersionGamesResult %O/U %
1.0.0124648%59%
national20761%53%