Scheduled games 0
No scheduled games left for this selection. The model accuracy below still covers the season's completed games.
Predicted vs actual 329
207 hit · 122 missed · 16 exact| 22 Apr 2026, 19:45 | 41% | 2.3 – 2.8 | 2:2 | 2:6 | Hit | +2.8 | |
| 19 Apr 2026, 16:30 | 73% | 3.4 – 1.9 | 3:1 | 5:2 | Hit | +1.7 | |
| 17 Apr 2026, 19:45 | 44% | 2.4 – 2.7 | 2:2 | 1:5 | Hit | +0.9 | |
| 15 Apr 2026, 19:45 | 70% | 3.2 – 2.0 | 3:1 | 5:1 | Hit | +0.8 | |
| 07 Apr 2026, 19:45 | 61% | 3.1 – 2.4 | 3:2 | 2:1 OT | Hit | -2.5 | |
| 05 Apr 2026, 18:00 | 56% | 2.9 – 2.5 | 2:2 | 5:4 OT | Hit | +3.6 | |
| 05 Apr 2026, 16:30 | 25% | 1.8 – 3.3 | 1:3 | 1:5 | Hit | +0.9 | |
| 02 Apr 2026, 19:45 | 60% | 3.0 – 2.4 | 3:2 | 3:0 | Hit | -2.5 | |
| 02 Apr 2026, 18:30 | 86% | 4.0 – 1.5 | 4:1 | 4:0 | Hit | -1.5 | |
| 31 Mar 2026, 19:15 | 59% | 3.1 – 2.5 | 3:2 | 0:3 | Miss | -2.5 | |
| 31 Mar 2026, 19:15 | 27% | 1.9 – 3.2 | 1:3 | 1:5 | Hit | +0.9 | |
| 29 Mar 2026, 18:00 | 57% | 3.0 – 2.6 | 3:2 | 3:0 | Hit | -2.6 | |
| 29 Mar 2026, 15:15 | 85% | 4.0 – 1.5 | 3:1 | 3:2 | Hit | -0.5 | |
| 25 Mar 2026, 19:15 | 29% | 2.0 – 3.3 | 2:3 | 3:0 | Miss | -2.3 | |
| 23 Mar 2026, 19:30 | 84% | 4.0 – 1.6 | 4:1 | 3:4 | Miss | +1.4 | |
| 21 Mar 2026, 19:15 | 27% | 1.9 – 3.3 | 1:3 | 3:2 OT | Miss | -0.3 | |
| 19 Mar 2026, 19:45 | 60% | 3.3 – 2.6 | 3:2 | 1:4 | Miss | -0.9 | |
| 19 Mar 2026, 19:15 | 84% | 3.9 – 1.6 | 3:1 | 8:3 | Hit | +5.5 | |
| 17 Mar 2026, 19:45 | 47% | 2.4 – 2.6 | 2:2 | 2:1 OT | Miss | -2.0 | |
| 17 Mar 2026, 19:15 | 56% | 3.2 – 2.8 | 3:2 | 4:0 | Hit | -2.0 | |
| 17 Mar 2026, 19:15 | 34% | 2.4 – 3.3 | 2:3 | 2:6 | Hit | +2.3 | |
| 17 Mar 2026, 19:15 | 28% | 1.9 – 3.3 | 1:3 | 2:1 | Miss | -2.2 | |
| 15 Mar 2026, 18:00 | 84% | 4.0 – 1.6 | 3:1 | 3:0 | Hit | -2.6 | |
| 14 Mar 2026, 19:45 | 63% | 3.4 – 2.6 | 3:2 | 2:3 | Miss | -1.0 | |
| 14 Mar 2026, 19:15 | 70% | 3.2 – 2.0 | 3:1 | 3:4 | Miss | +1.9 | |
| 14 Mar 2026, 18:30 | 80% | 4.0 – 2.0 | 4:1 | 3:1 | Hit | -2.0 | |
| 12 Mar 2026, 19:15 | 56% | 3.2 – 2.9 | 3:2 | 1:2 | Miss | -3.1 | |
| 12 Mar 2026, 19:15 | 45% | 2.4 – 2.7 | 2:2 | 2:1 | Miss | -2.0 | |
| 12 Mar 2026, 19:15 | 37% | 2.4 – 3.3 | 2:3 | 1:5 | Hit | +0.3 | |
| 10 Mar 2026, 19:45 | 63% | 3.5 – 2.7 | 3:2 | 2:3 OT | Miss | -1.2 | |
| 10 Mar 2026, 19:15 | 72% | 3.3 – 1.9 | 3:1 | 2:3 OT | Miss | -0.2 | |
| 10 Mar 2026, 19:15 | 79% | 4.0 – 2.0 | 4:2 | 2:1 OT | Hit | -3.1 | |
| 08 Mar 2026, 17:30 | 67% | 3.0 – 1.9 | 2:1 | 0:1 | Miss | -3.9 | |
| 06 Mar 2026, 19:15 | 47% | 2.2 – 2.4 | 2:2 | 7:3 | Miss | +5.3 | |
| 06 Mar 2026, 19:15 | 61% | 3.4 – 2.7 | 3:2 | 1:5 | Miss | -0.2 | |
| 04 Mar 2026, 19:15 | 58% | 3.4 – 2.9 | 3:2 | 2:1 OT | Hit | -3.2 | |
| 04 Mar 2026, 19:15 | 67% | 2.9 – 1.9 | 2:1 | 5:1 | Hit | +1.3 | |
| 01 Mar 2026, 17:30 | 28% | 2.4 – 3.9 | 2:3 | 1:4 | Hit | -1.3 | |
| 01 Mar 2026, 17:30 | 39% | 2.5 – 3.1 | 2:3 | 1:3 | Hit | -1.6 | |
| 01 Mar 2026, 17:30 | 56% | 2.9 – 2.6 | 2:2 | 3:2 OT | Hit | -0.5 | |
| 01 Mar 2026, 17:30 | 48% | 3.0 – 3.1 | 3:3 | 0:1 | Hit | -5.2 | |
| 01 Mar 2026, 17:30 | 92% | 5.2 – 1.6 | 5:1 | 4:1 | Hit | -1.8 | |
| 01 Mar 2026, 17:30 | 78% | 3.5 – 1.7 | 3:1 | 2:3 OT | Miss | -0.3 | |
| 27 Feb 2026, 19:45 | 57% | 3.2 – 2.7 | 3:2 | 3:2 OT | Hit★ | -0.9 | |
| 27 Feb 2026, 19:45 | 56% | 3.0 – 2.7 | 2:2 | 3:6 | Miss | +3.4 | |
| 27 Feb 2026, 19:15 | 55% | 3.3 – 3.0 | 3:3 | 6:5 OT | Hit | +4.6 | |
| 27 Feb 2026, 19:15 | 67% | 2.8 – 1.8 | 2:1 | 4:3 SO | Hit | +2.3 | |
| 27 Feb 2026, 18:30 | 50% | 3.2 – 3.2 | 3:3 | 0:2 | Miss | -4.3 | |
| 27 Feb 2026, 18:30 | 79% | 4.2 – 2.1 | 4:2 | 2:0 | Hit | -4.4 | |
| 25 Feb 2026, 19:30 | 33% | 2.4 – 3.4 | 2:3 | 3:4 | Hit | +1.2 |
Showing 50 of 329 rows. Sort or filter to narrow the list.
Each row's prediction was built from the games played before that date only — nothing after it. Sort by Goals Δ or Call to find where the model went wrong. A ★ marks a game whose exact scoreline it also got right.
Biggest upsets
OLLvs
HCI01 Nov 2025, 18:00 · predicted 87% home
5:6 OTaway won
OLLvs
HCI12 Oct 2025, 18:00 · predicted 87% home
6:7 OTaway won
HCPvs
PIV01 Jan 2026, 18:00 · predicted 86% home
5:6 SOaway won
KACvs
AVS23 Mar 2026, 19:30 · predicted 84% home
3:4away won
HCIvs
G9904 Oct 2025, 17:30 · predicted 16% home
3:2 SOhome won
Games where the model was most confident in the side that lost.
Best calls
RBSvs
HCI01 Mar 2026, 17:30 · predicted 92% home
4:1as predicted
G99vs
HCI31 Jan 2026, 18:30 · predicted 92% home
4:3as predicted
KACvs
HCI25 Feb 2026, 19:15 · predicted 91% home
7:2as predicted
HCBvs
HCI23 Jan 2026, 19:45 · predicted 89% home
5:0as predicted
G99vs
PIV30 Jan 2026, 18:30 · predicted 88% home
3:2as predicted
Confident calls that came in. Note these are cheap to collect — a good model should have many of them, which is why the upsets matter more.
Model vs the betting market
284 games with closing odds| Measure | Model | Market | Difference |
|---|---|---|---|
| Winner called right | 64.4% | 68.7% | −4.2 pp |
| Brier score | 0.214 | 0.212 | −0.002 |
| Log loss | 0.618 | 0.612 | −0.006 |
Both are scored on the same 284 games, using the same overtime coin flip, so the comparison is like-for-like. Odds are de-vigged by normalising the three reciprocals to 1. The market is better calibrated, which is the expected result — closing odds absorb injuries, line-ups and money this model never sees.
The flat-stake figure is a sanity check, not a strategy: the three-way price is on regulation time, so any game decided in overtime or a shootout loses the stake. Treat a positive number on a few hundred games as luck until it survives several seasons.
How well does this model do?
329 games scored- Home-only baseline
- Model
Table view
| Games scored | Home-only baseline | Model |
|---|---|---|
| 12 | 33.3% | 58.3% |
| 24 | 45.8% | 62.5% |
| 36 | 52.8% | 58.3% |
| 48 | 50.0% | 58.3% |
| 60 | 51.7% | 60.0% |
| 72 | 48.6% | 61.1% |
| 84 | 50.0% | 60.7% |
| 96 | 55.2% | 57.3% |
| 108 | 56.5% | 58.3% |
| 120 | 55.8% | 57.5% |
| 132 | 58.3% | 59.1% |
| 144 | 58.3% | 56.3% |
| 156 | 57.7% | 58.3% |
| 168 | 57.1% | 56.5% |
| 180 | 56.7% | 58.9% |
| 192 | 57.3% | 59.4% |
| 204 | 57.8% | 59.8% |
| 216 | 57.9% | 60.2% |
| 228 | 58.3% | 61.4% |
| 240 | 57.9% | 61.7% |
| 252 | 58.7% | 61.5% |
| 264 | 59.5% | 62.1% |
| 276 | 59.1% | 62.7% |
| 288 | 59.0% | 63.2% |
| 300 | 58.3% | 63.0% |
| 312 | 58.3% | 62.5% |
| 324 | 58.3% | 62.3% |
| 329 | 58.4% | 62.9% |
Both lines are cumulative, so they settle as the sample grows. The gap between them is the model's edge over the naive pick.
- Predicted
- Actual
Table view
| Predicted home win % | Predicted | Actual | Games |
|---|---|---|---|
| 10–20 | 18% | 38% | 8 |
| 20–30 | 25% | 50% | 30 |
| 30–40 | 36% | 26% | 47 |
| 40–50 | 45% | 61% | 46 |
| 50–60 | 55% | 49% | 61 |
| 60–70 | 65% | 61% | 49 |
| 70–80 | 75% | 85% | 53 |
| 80–90 | 84% | 81% | 32 |
The two lines tracking each other means the probabilities can be taken at face value. Where "actual" sits above "predicted", the model is under-confident in the home side; below, it is over-confident. Check the game count before reading much into a bucket — the extremes hold far fewer games than the middle. Buckets with fewer than five games are left out.
Every game is predicted using only the games played before it — a walk-forward test, so these are the numbers the model would really have produced. The baseline is "always back the home side", priced at the home-win rate known at the time. Team strengths start from the 2024/25 final table.
How the prediction works
- Each team gets an attack and a defence multiplier from the goals it has scored and conceded, measured against the league average.
- A fixture's expected goals are the league's home (or away) scoring rate times the attacking team's attack times the defending team's defence — so home advantage comes out of fitting home and away separately, not from a bonus added on top.
- Both sides' goals are then treated as independent Poisson draws, which gives a probability for every scoreline rather than one guess, and from that the win, overtime and exact-score numbers.
- Rates are shrunk toward the prior with six games of weight, so an early 7-1 win does not make a team look unbeatable. This is why fixtures are marked low confidence until both teams have played a few games.
- Overtime and shootouts are treated as a coin flip. The feeds carry nothing that reliably predicts a shootout winner, and pretending otherwise would just be noise.
Goal models like this one capture scoring rates, not injuries, suspensions, travel, goalie rotation or roster changes. Treat the probabilities as a calibrated baseline, not a forecast — and read the accuracy panel above before trusting any single number.