Goal Elo
monitoring only -- not used by any card's picksAn attack/defense Elo variant tracking goal-scoring and goal-conceding strength independently of win/loss. Each team's Attack and Defense sit on a log scale where 0 is exactly league average; ratings update after every match from the gap between actual and expected goals. See scripts/goal_elo/goal_elo.py for the model.
Ratings
21 teams · K=0.025 · league avg 1.240 goals/team/match · home advantage +0.267 log-units (~31%) · seasons 2022, 2023, 2024, 2025 · generated 2026-09-19 10:32 UTC
Dot size = matches played (a small dot is a partial-season sample -- promoted/relegated sides). Color is combined attack+defense strength, green (strong) to red (weak). Labeled: top 3 by attack, top 3 by defense.
| Team | Attack | Defense | Atk Elo | Def Elo | GF vs avg defense | GA vs avg attack | Matches |
|---|---|---|---|---|---|---|---|
| Rangers | 0.529 | 0.154 | 1764 | 1577 | 2.10 | 1.06 | 152 |
| Celtic | 0.452 | 0.283 | 1726 | 1642 | 1.95 | 0.93 | 152 |
| Heart Of Midlothian | 0.173 | 0.360 | 1586 | 1680 | 1.47 | 0.87 | 152 |
| Hibernian | 0.110 | 0.226 | 1555 | 1613 | 1.38 | 0.99 | 152 |
| Motherwell | 0.109 | 0.266 | 1555 | 1633 | 1.38 | 0.95 | 152 |
| Kilmarnock | 0.022 | -0.167 | 1511 | 1417 | 1.27 | 1.47 | 152 |
| Falkirk | 0.021 | -0.141 | 1511 | 1429 | 1.27 | 1.43 | 38 |
| Airdrie United | 0.003 | -0.008 | 1501 | 1496 | 1.24 | 1.25 | 2 |
| Queen's Park | -0.000 | -0.043 | 1500 | 1479 | 1.24 | 1.29 | 2 |
| Raith Rovers | -0.030 | -0.041 | 1485 | 1479 | 1.20 | 1.29 | 4 |
| Partick | -0.045 | 0.025 | 1477 | 1513 | 1.19 | 1.21 | 18 |
| Ayr Utd | -0.054 | -0.018 | 1473 | 1491 | 1.18 | 1.26 | 4 |
| Dunfermline | -0.063 | 0.060 | 1469 | 1530 | 1.17 | 1.17 | 4 |
| Arbroath | -0.069 | 0.046 | 1465 | 1523 | 1.16 | 1.19 | 2 |
| Dundee | -0.082 | -0.145 | 1459 | 1427 | 1.14 | 1.43 | 114 |
| Dundee Utd | -0.132 | -0.077 | 1434 | 1462 | 1.09 | 1.34 | 114 |
| Ross County | -0.188 | -0.137 | 1406 | 1431 | 1.03 | 1.42 | 120 |
| Aberdeen | -0.198 | -0.060 | 1401 | 1470 | 1.02 | 1.32 | 152 |
| Livingston | -0.216 | -0.286 | 1392 | 1357 | 1.00 | 1.65 | 118 |
| ST Johnstone | -0.251 | -0.082 | 1374 | 1459 | 0.96 | 1.35 | 114 |
| ST Mirren | -0.345 | 0.040 | 1328 | 1520 | 0.88 | 1.19 | 154 |
Atk/Def Elo = 1500 + raw × 500 -- a cosmetic rescale for familiarity, not a real unit conversion. Chess Elo's 400-point gap has a specific meaning (10:1 win odds) that goal-scoring rate has no equivalent of. The Attack/Defense columns are what the model actually computes with.
2026 over 1.5 check
P(total goals ≥ 2) for every completed match since 2026-01-01 across all 38 tracked leagues -- the mu_home + mu_away → Poisson total construction, same as over-15-card's own math, just fed by Goal Elo's ratings instead. Each prediction used only ratings built from strictly earlier matches, compared against a baseline that knows just the league's average scoring rate and home advantage, no team identity at all.
Honest read: over 1.5 is a low bar in football (the baseline alone already expects it 76% of the time), so knowing which specific teams are playing barely moves the needle here -- skill sits close to 0% pooled, unlike the real, consistent edge Attack/Defense showed on raw expected goals. The model is well calibrated (see below), it just isn't adding much information a viewer didn't already have from the league's baseline rate.
Reliability
Matches bucketed by predicted P(over 1.5); dot = actual over-1.5 rate in that bucket (size = sample). On the dashed line means perfectly calibrated.
Skill vs no-team-identity baseline
1 − (model Brier / baseline Brier). 0% = no better than ignoring which teams are playing; a negative bar means Attack/Defense info actually hurt on that league's calls.
Biggest surprises
Lowest probability the model gave to what actually happened.
- VfL Wolfsburg 0-1 Bayern München (Germany - Bundesliga, 2026-05-09)model said 96% over
- CF Montreal 0-1 Inter Miami (USA - MLS, 2026-07-25)model said 93% over
- Club Brugge KV 1-0 Cercle Brugge (Belgium - Jupiler Pro League, 2026-08-23)model said 92% over
- Barcelona 1-0 Celta Vigo (Spain - La Liga, 2026-04-22)model said 92% over
- FC Schalke 04 0-0 Bayern München (Germany - Bundesliga, 2026-09-05)model said 92% over
- Sirius 0-1 Malmo FF (Sweden - Allsvenskan, 2026-08-31)model said 91% over
- FC Midtjylland 0-1 FC Nordsjaelland (Denmark - Superliga, 2026-03-15)model said 91% over
- Always Ready 1-0 Oriente Petrolero (Bolivia - Primera Division, 2026-04-22)model said 91% over
- Newcastle Jets 1-0 Macarthur (Australia - A-League, 2026-02-22)model said 90% over
- Al-Fateh 0-1 Al-Hilal Saudi FC (Saudi Arabia - Pro League, 2026-03-14)model said 90% over
All predictions — Scotland - Premiership (154)
Switch leagues with the tabs above the ratings table; newest match first.
| Date | Match | Score | P(over) | Actual | Call |
|---|---|---|---|---|---|
| 2026-09-15 | Hibernian v Kilmarnock | 0-1 | 84% | under | ✗ |
| 2026-09-15 | Motherwell v Aberdeen | 0-4 | 73% | over | ✓ |
| 2026-09-15 | Falkirk v Heart Of Midlothian | 2-1 | 77% | over | ✓ |
| 2026-09-09 | Rangers v ST Mirren | 1-0 | 78% | under | ✗ |
| 2026-09-09 | ST Johnstone v Celtic | 0-1 | 80% | under | ✗ |
| 2026-09-06 | Heart Of Midlothian v Dundee | 2-1 | 78% | over | ✓ |
| 2026-09-06 | ST Johnstone v Hibernian | 2-1 | 75% | over | ✓ |
| 2026-09-05 | Aberdeen v Kilmarnock | 0-0 | 81% | under | ✗ |
| 2026-09-05 | Rangers v Motherwell | 1-0 | 81% | under | ✗ |
| 2026-09-05 | Dundee Utd v Falkirk | 1-1 | 77% | over | ✓ |
| 2026-09-05 | ST Mirren v Celtic | 1-2 | 75% | over | ✓ |
| 2026-09-03 | Hibernian v Heart Of Midlothian | 1-3 | 74% | over | ✓ |
| 2026-09-02 | Celtic v Aberdeen | 3-0 | 82% | over | ✓ |
| 2026-09-02 | Kilmarnock v ST Mirren | 0-1 | 80% | under | ✗ |
| 2026-09-02 | Dundee v ST Johnstone | 1-1 | 76% | over | ✓ |
| 2026-09-02 | Motherwell v Dundee Utd | 3-0 | 77% | over | ✓ |
| 2026-09-02 | Falkirk v Rangers | 1-2 | 82% | over | ✓ |
| 2026-08-30 | Aberdeen v Rangers | 0-1 | 81% | under | ✗ |
| 2026-08-30 | ST Mirren v Motherwell | 3-3 | 65% | over | ✓ |
| 2026-08-30 | Dundee v Hibernian | 1-2 | 74% | over | ✓ |
| 2026-08-29 | Celtic v Falkirk | 2-1 | 85% | over | ✓ |
| 2026-08-29 | Kilmarnock v Dundee Utd | 0-4 | 83% | over | ✓ |
| 2026-08-29 | Heart Of Midlothian v ST Johnstone | 2-1 | 79% | over | ✓ |
| 2026-08-22 | Dundee Utd v Dundee | 0-2 | 76% | over | ✓ |
| 2026-08-09 | Kilmarnock v Celtic | 1-5 | 85% | over | ✓ |
| 2026-08-09 | Heart Of Midlothian v Dundee Utd | 4-0 | 76% | over | ✓ |
| 2026-08-09 | Motherwell v Falkirk | 0-0 | 80% | under | ✗ |
| 2026-08-09 | Rangers v Hibernian | 1-2 | 83% | over | ✓ |
| 2026-08-08 | ST Mirren v ST Johnstone | 1-0 | 71% | under | ✗ |
| 2026-08-08 | Dundee v Aberdeen | 2-0 | 75% | over | ✓ |
| 2026-08-03 | Celtic v Dundee | 1-0 | 85% | under | ✗ |
| 2026-08-02 | ST Johnstone v Kilmarnock | 4-3 | 78% | over | ✓ |
| 2026-08-02 | Hibernian v Motherwell | 1-2 | 73% | over | ✓ |
| 2026-08-01 | Falkirk v ST Mirren | 0-2 | 75% | over | ✓ |
| 2026-08-01 | Aberdeen v Heart Of Midlothian | 2-1 | 72% | over | ✓ |
| 2026-07-31 | Dundee Utd v Rangers | 1-1 | 83% | over | ✓ |
| 2026-05-25 | ST Mirren v Partick | 1-0 | 68% | under | ✗ |
| 2026-05-21 | Partick v ST Mirren | 1-1 | 71% | over | ✓ |
| 2026-05-17 | ST Mirren v Dundee Utd | 1-1 | 68% | over | ✓ |
| 2026-05-17 | Dundee v Aberdeen | 3-2 | 73% | over | ✓ |
| 2026-05-17 | Livingston v Kilmarnock | 1-4 | 81% | over | ✓ |
| 2026-05-16 | Celtic v Heart Of Midlothian | 3-1 | 76% | over | ✓ |
| 2026-05-16 | Hibernian v Motherwell | 0-1 | 73% | under | ✗ |
| 2026-05-16 | Falkirk v Rangers | 2-5 | 86% | over | ✓ |
| 2026-05-15 | Partick v Dunfermline | 2-1 | 74% | over | ✓ |
| 2026-05-13 | Heart Of Midlothian v Falkirk | 3-0 | 78% | over | ✓ |
| 2026-05-13 | Motherwell v Celtic | 2-3 | 75% | over | ✓ |
| 2026-05-13 | Rangers v Hibernian | 1-2 | 84% | over | ✓ |
| 2026-05-12 | Kilmarnock v Dundee | 3-1 | 80% | over | ✓ |
| 2026-05-12 | Aberdeen v ST Mirren | 0-2 | 66% | over | ✓ |
| 2026-05-12 | Dundee Utd v Livingston | 0-0 | 82% | under | ✗ |
| 2026-05-12 | Dunfermline v Partick | 1-1 | 75% | over | ✓ |
| 2026-05-10 | Celtic v Rangers | 3-1 | 85% | over | ✓ |
| 2026-05-09 | ST Mirren v Kilmarnock | 0-3 | 72% | over | ✓ |
| 2026-05-09 | Aberdeen v Dundee Utd | 2-0 | 75% | over | ✓ |
| 2026-05-09 | Dundee v Livingston | 3-0 | 80% | over | ✓ |
| 2026-05-09 | Falkirk v Hibernian | 1-3 | 76% | over | ✓ |
| 2026-05-09 | Motherwell v Heart Of Midlothian | 1-1 | 68% | over | ✓ |
| 2026-05-08 | Arbroath v Dunfermline | 0-0 | 75% | under | ✗ |
| 2026-05-05 | Dunfermline v Arbroath | 1-0 | 78% | under | ✗ |
| 2026-05-04 | Heart Of Midlothian v Rangers | 2-1 | 79% | over | ✓ |
| 2026-05-03 | Hibernian v Celtic | 1-2 | 76% | over | ✓ |
| 2026-05-02 | Kilmarnock v Dundee Utd | 3-0 | 81% | over | ✓ |
| 2026-05-02 | Dundee v ST Mirren | 1-0 | 71% | under | ✗ |
| 2026-05-02 | Falkirk v Motherwell | 1-0 | 77% | under | ✗ |
| 2026-05-01 | Livingston v Aberdeen | 2-2 | 74% | over | ✓ |
| 2026-04-26 | Dundee Utd v Dundee | 3-0 | 80% | over | ✓ |
| 2026-04-26 | Rangers v Motherwell | 2-3 | 82% | over | ✓ |
| 2026-04-26 | Hibernian v Heart Of Midlothian | 1-2 | 69% | over | ✓ |
| 2026-04-25 | ST Mirren v Livingston | 0-2 | 74% | over | ✓ |
| 2026-04-25 | Aberdeen v Kilmarnock | 1-0 | 78% | under | ✗ |
| 2026-04-25 | Celtic v Falkirk | 3-1 | 83% | over | ✓ |
| 2026-04-12 | Falkirk v Rangers | 3-6 | 78% | over | ✓ |
| 2026-04-11 | Celtic v ST Mirren | 1-0 | 81% | under | ✗ |
| 2026-04-11 | Kilmarnock v Dundee | 2-2 | 80% | over | ✓ |
| 2026-04-11 | Aberdeen v Hibernian | 2-0 | 72% | over | ✓ |
| 2026-04-11 | Heart Of Midlothian v Motherwell | 3-1 | 66% | over | ✓ |
| 2026-04-11 | Dundee Utd v Livingston | 3-2 | 80% | over | ✓ |
| 2026-04-05 | Livingston v Heart Of Midlothian | 2-2 | 72% | over | ✓ |
| 2026-04-05 | Dundee v Celtic | 1-2 | 81% | over | ✓ |
| 2026-04-04 | Hibernian v Kilmarnock | 3-0 | 83% | over | ✓ |
| 2026-04-04 | ST Mirren v Aberdeen | 2-0 | 69% | over | ✓ |
| 2026-04-04 | Motherwell v Falkirk | 2-3 | 69% | over | ✓ |
| 2026-04-04 | Rangers v Dundee Utd | 4-2 | 83% | over | ✓ |
| 2026-03-22 | Dundee Utd v Celtic | 2-0 | 81% | over | ✓ |
| 2026-03-21 | Kilmarnock v Livingston | 2-0 | 82% | over | ✓ |
| 2026-03-21 | Heart Of Midlothian v Dundee | 1-0 | 77% | under | ✗ |
| 2026-03-21 | Motherwell v Hibernian | 0-0 | 72% | under | ✗ |
| 2026-03-21 | Falkirk v ST Mirren | 1-2 | 70% | over | ✓ |
| 2026-03-21 | Rangers v Aberdeen | 4-1 | 79% | over | ✓ |
| 2026-03-15 | ST Mirren v Rangers | 0-1 | 77% | under | ✗ |
| 2026-03-15 | Dundee v Dundee Utd | 2-2 | 76% | over | ✓ |
| 2026-03-14 | Celtic v Motherwell | 3-1 | 75% | over | ✓ |
| 2026-03-14 | Hibernian v Livingston | 0-0 | 87% | under | ✗ |
| 2026-03-14 | Aberdeen v Falkirk | 1-1 | 69% | over | ✓ |
| 2026-03-14 | Kilmarnock v Heart Of Midlothian | 1-0 | 80% | under | ✗ |
| 2026-03-07 | Dundee v Motherwell | 2-1 | 73% | over | ✓ |
| 2026-03-04 | Aberdeen v Celtic | 1-2 | 77% | over | ✓ |
| 2026-03-03 | Dundee Utd v ST Mirren | 2-1 | 71% | over | ✓ |
| 2026-03-01 | Rangers v Celtic | 2-2 | 79% | over | ✓ |
| 2026-02-28 | Dundee v Hibernian | 3-3 | 76% | over | ✓ |
| 2026-02-28 | Heart Of Midlothian v Aberdeen | 1-0 | 76% | under | ✗ |
| 2026-02-28 | Livingston v ST Mirren | 1-1 | 76% | over | ✓ |
| 2026-02-28 | Motherwell v Dundee Utd | 2-0 | 75% | over | ✓ |
| 2026-02-28 | Falkirk v Kilmarnock | 5-1 | 78% | over | ✓ |
| 2026-02-24 | Dundee Utd v Aberdeen | 0-0 | 76% | under | ✗ |
| 2026-02-22 | Celtic v Hibernian | 1-2 | 80% | over | ✓ |
| 2026-02-22 | Livingston v Rangers | 2-2 | 84% | over | ✓ |
| 2026-02-21 | Aberdeen v Dundee | 2-3 | 71% | over | ✓ |
| 2026-02-21 | Heart Of Midlothian v Falkirk | 1-0 | 73% | under | ✗ |
| 2026-02-21 | Dundee Utd v Kilmarnock | 1-1 | 83% | over | ✓ |
| 2026-02-21 | ST Mirren v Motherwell | 0-5 | 64% | over | ✓ |
| 2026-02-15 | Kilmarnock v Celtic | 2-3 | 84% | over | ✓ |
| 2026-02-15 | Motherwell v Aberdeen | 2-0 | 71% | over | ✓ |
| 2026-02-15 | Rangers v Heart Of Midlothian | 4-2 | 70% | over | ✓ |
| 2026-02-14 | Hibernian v ST Mirren | 2-0 | 75% | over | ✓ |
| 2026-02-14 | Dundee v Livingston | 2-2 | 77% | over | ✓ |
| 2026-02-14 | Falkirk v Dundee Utd | 2-3 | 72% | over | ✓ |
| 2026-02-11 | Celtic v Livingston | 2-1 | 91% | over | ✓ |
| 2026-02-11 | Kilmarnock v ST Mirren | 4-3 | 69% | over | ✓ |
| 2026-02-11 | Falkirk v Dundee | 1-0 | 71% | under | ✗ |
| 2026-02-11 | Motherwell v Rangers | 1-1 | 67% | over | ✓ |
| 2026-02-10 | Heart Of Midlothian v Hibernian | 1-0 | 75% | under | ✗ |
| 2026-02-04 | Hibernian v Dundee Utd | 3-2 | 79% | over | ✓ |
| 2026-02-04 | Livingston v Falkirk | 1-2 | 75% | over | ✓ |
| 2026-02-04 | Rangers v Kilmarnock | 5-1 | 80% | over | ✓ |
| 2026-02-03 | ST Mirren v Heart Of Midlothian | 1-0 | 68% | under | ✗ |
| 2026-02-01 | Hibernian v Rangers | 0-0 | 75% | under | ✗ |
| 2026-02-01 | Celtic v Falkirk | 2-0 | 79% | over | ✓ |
| 2026-01-31 | Kilmarnock v Aberdeen | 3-0 | 72% | over | ✓ |
| 2026-01-31 | ST Mirren v Dundee | 0-0 | 70% | under | ✗ |
| 2026-01-31 | Livingston v Motherwell | 0-2 | 76% | over | ✓ |
| 2026-01-31 | Dundee Utd v Heart Of Midlothian | 0-3 | 72% | over | ✓ |
| 2026-01-25 | Heart Of Midlothian v Celtic | 2-2 | 74% | over | ✓ |
| 2026-01-25 | Rangers v Dundee | 3-0 | 79% | over | ✓ |
| 2026-01-24 | Aberdeen v Livingston | 6-2 | 72% | over | ✓ |
| 2026-01-24 | Motherwell v Kilmarnock | 4-0 | 72% | over | ✓ |
| 2026-01-24 | Falkirk v Hibernian | 4-1 | 71% | over | ✓ |
| 2026-01-20 | Livingston v ST Mirren | 1-1 | 71% | over | ✓ |
| 2026-01-14 | Heart Of Midlothian v ST Mirren | 2-0 | 73% | over | ✓ |
| 2026-01-14 | Falkirk v Celtic | 0-1 | 75% | under | ✗ |
| 2026-01-11 | Dundee v Heart Of Midlothian | 0-1 | 75% | under | ✗ |
| 2026-01-11 | Aberdeen v Rangers | 0-2 | 69% | over | ✓ |
| 2026-01-10 | Celtic v Dundee Utd | 4-0 | 81% | over | ✓ |
| 2026-01-10 | Hibernian v Motherwell | 1-1 | 71% | over | ✓ |
| 2026-01-10 | ST Mirren v Falkirk | 0-2 | 67% | over | ✓ |
| 2026-01-10 | Livingston v Kilmarnock | 1-1 | 76% | over | ✓ |
| 2026-01-06 | Rangers v Aberdeen | 2-0 | 74% | over | ✓ |
| 2026-01-03 | Celtic v Rangers | 1-3 | 76% | over | ✓ |
| 2026-01-03 | Kilmarnock v Hibernian | 1-3 | 75% | over | ✓ |
| 2026-01-03 | Heart Of Midlothian v Livingston | 1-0 | 85% | under | ✗ |
| 2026-01-03 | Motherwell v ST Mirren | 2-0 | 67% | over | ✓ |
| 2026-01-03 | Dundee Utd v Dundee | 0-1 | 77% | under | ✗ |
| 2026-01-03 | Falkirk v Aberdeen | 1-0 | 68% | under | ✗ |