Gameweek 25 in Review
Gameweek 25 of the 2025-26 season is in the books, and our AI prediction model was put through its paces across 25 completed fixtures spanning all five of Europe's top leagues. Here's how we performed, what went right, what surprised us, and what we're learning for the weeks ahead.
Overall Performance
| Metric | Value |
|---|---|
| Matches evaluated | 25 |
| Correct outcomes | 14 (56%) |
| Perfect score predictions | 2 (8%) |
| Average log loss | 0.923 |
| Average Brier score | 0.540 |
A 56% outcome accuracy is solid given the unpredictable nature of mid-season football, though we're always pushing for improvement. The model comfortably outperformed random chance (33% for 3-way markets) and delivered two perfect scoreline calls.
League-by-League Breakdown
Ligue 1 — 75% Accuracy (Best Performer)
French football was our strongest suit this week. We correctly called 3 out of 4 results:
| Match | Predicted | Actual | Result |
|---|---|---|---|
| Lens vs Rennes | 2-0 (H) | 3-1 (H) | Correct |
| Brest vs Lorient | 1-0 (H) | 2-0 (H) | Correct |
| Nantes vs Lyon | 0-2 (A) | 0-1 (A) | Correct |
| Metz vs Lille | 0-1 (A) | 0-0 (D) | Incorrect |
The only miss was Metz holding Lille to a goalless draw — we had Lille winning at 62.2% confidence. In hindsight, Metz's home resilience was underestimated.
La Liga — 67% Accuracy
Spain delivered our standout prediction of the entire gameweek:
| Match | Predicted | Actual | Result |
|---|---|---|---|
| Barcelona vs Mallorca | 3-0 (H) | 3-0 (H) | Perfect Score |
| Real Sociedad vs Elche | 2-1 (H) | 3-1 (H) | Correct |
| Celta Vigo vs Osasuna | 1-0 (H) | 1-2 (A) | Incorrect |
Barcelona 3-0 Mallorca was our highest-confidence pick of the week at 81.8%, and it came in perfectly — exact scoreline. When the Elo ratings, Poisson model, and bookmaker odds all align this strongly, the results follow.
Premier League — 62.5% Accuracy
The Prem delivered a 5-from-8 return:
| Match | Predicted | Actual | Result |
|---|---|---|---|
| Arsenal vs Sunderland | 2-0 (H) | 3-0 (H) | Correct |
| Man United vs Tottenham | 2-1 (H) | 2-0 (H) | Correct |
| Leeds vs Nottingham Forest | 1-0 (H) | 3-1 (H) | Correct |
| Wolves vs Chelsea | 0-2 (A) | 1-3 (A) | Correct |
| Burnley vs West Ham | 0-1 (A) | 0-2 (A) | Correct |
| Bournemouth vs Aston Villa | 0-1 (A) | 1-1 (D) | Incorrect |
| Fulham vs Everton | 1-0 (H) | 1-2 (A) | Incorrect |
| Newcastle vs Brentford | 2-1 (H) | 2-3 (A) | Incorrect |
Arsenal and Chelsea were comfortable calls, but the three misses all share a pattern: tight games where an upset or draw was within touching distance. Everton pulling off an away win at Fulham and Brentford stunning Newcastle were both low-probability outcomes that the model flagged with relatively low confidence (43-44%).
Bundesliga — 43% Accuracy
Germany was our toughest league this week, with 3 correct from 7:
| Match | Predicted | Actual | Result |
|---|---|---|---|
| Wolfsburg vs Dortmund | 1-2 (A) | 1-2 (A) | Perfect Score |
| Mainz vs Augsburg | 1-0 (H) | 2-0 (H) | Correct |
| Freiburg vs Werder Bremen | 2-0 (H) | 1-0 (H) | Correct |
| St. Pauli vs Stuttgart | 0-2 (A) | 2-1 (H) | Incorrect |
| Union Berlin vs Frankfurt | 2-1 (H) | 1-1 (D) | Incorrect |
| Heidenheim vs Hamburger SV | 1-0 (H) | 0-2 (A) | Incorrect |
| Gladbach vs Leverkusen | 1-2 (A) | 1-1 (D) | Incorrect |
Our second perfect score — Wolfsburg 1-2 Dortmund at 61.1% confidence — was a satisfying call. But the Bundesliga punished us with its characteristically chaotic results. St. Pauli's shock 2-1 home win over Stuttgart was the biggest miss (we had Stuttgart at 63.2% confidence), and two surprise draws sank our accuracy.
Serie A — 33% Accuracy (Worst Performer)
Italy was a tough week with only 1 correct from 3:
| Match | Predicted | Actual | Result |
|---|---|---|---|
| Genoa vs Napoli | 0-1 (A) | 2-3 (A) | Correct |
| Hellas Verona vs Pisa | 2-1 (H) | 0-0 (D) | Incorrect |
| Fiorentina vs Torino | 2-1 (H) | 2-2 (D) | Incorrect |
Two draws caught us out. The Fiorentina-Torino miss was particularly frustrating — we were close on the goals but the model didn't predict the equaliser.
Model Component Performance
Our prediction model blends three components. Here's how each performed individually:
| Component | Accuracy | Weight in Blend |
|---|---|---|
| Bookmaker Odds | 60% | 40% |
| Poisson Model | 56% | 30% |
| Elo Ratings | 52% | 30% |
The bookmaker odds continue to be the strongest individual signal, which is expected — they aggregate millions of pounds in market information. Our Poisson model (which calculates expected goals from attack/defence strength ratings) held steady, while Elo was slightly behind.
Calibration Check
How well did our confidence levels match reality?
| Confidence Band | Predictions | Predicted Win Rate | Actual Win Rate |
|---|---|---|---|
| 20-40% | 3 | 37.3% | 33.3% |
| 40-60% | 14 | 48.1% | 50.0% |
| 60-80% | 7 | 64.8% | 71.4% |
| 80-100% | 1 | 81.8% | 100% |
The calibration is encouraging. Our mid-range predictions (40-60%) are almost perfectly calibrated, and higher confidence picks are actually winning at an even better rate than predicted. This suggests the model is, if anything, slightly underconfident on its strongest picks.
Key Takeaways
What Worked
- High-confidence picks delivered. Barcelona (81.8%) and Wolfsburg-Dortmund (61.1%) both hit perfectly. When all three model components agree, we can trust the output.
- Ligue 1 accuracy was excellent — 75% suggests the model reads French football patterns well.
- Calibration is solid — our confidence percentages are meaningful, not just noise.
What Needs Improvement
- Draw prediction remains a blind spot. We predicted zero draws this week, yet 5 of the 25 results were draws (20%). The model consistently favours decisive outcomes.
- Bundesliga volatility — the league's competitiveness and unpredictability continues to challenge the model.
- Low-confidence picks need more caution. Several misses came from picks in the 36-45% range where the model was essentially guessing.
Model Adjustments to Consider
- Increase the draw probability threshold — currently the model almost never tips a draw, even when probabilities are 25%+
- Add home-form weighting for lower-table teams like St. Pauli and Metz, who overperformed at home
- Consider recent momentum signals for draws, which tend to cluster when teams are evenly matched
Predictions Accuracy: Season Running Total
Through 25 gameweeks, the model continues to deliver consistent performance above baseline, with particular strength in high-confidence selections. Our Ligue 1 and La Liga predictions have been the most reliable across the season.
Want to see our picks before kick-off? Check the Predictions page for upcoming gameweeks, or explore Value Bets where our model spots discrepancies between predicted probabilities and bookmaker odds.