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
18 teams · K=0.025 · league avg 1.165 goals/team/match · home advantage +0.197 log-units (~22%) · 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 |
|---|---|---|---|---|---|---|---|
| PAOK | 0.407 | 0.346 | 1703 | 1673 | 1.75 | 0.82 | 136 |
| AEK Athens FC | 0.378 | 0.513 | 1689 | 1757 | 1.70 | 0.70 | 136 |
| Levadiakos | 0.297 | -0.112 | 1648 | 1444 | 1.57 | 1.30 | 101 |
| Olympiakos Piraeus | 0.214 | 0.612 | 1607 | 1806 | 1.44 | 0.63 | 136 |
| Panathinaikos | 0.193 | 0.292 | 1597 | 1646 | 1.41 | 0.87 | 136 |
| Atromitos | 0.093 | 0.073 | 1546 | 1537 | 1.28 | 1.08 | 134 |
| OFI | 0.066 | -0.182 | 1533 | 1409 | 1.24 | 1.40 | 130 |
| Aris Thessalonikis | -0.059 | 0.264 | 1470 | 1632 | 1.10 | 0.89 | 136 |
| Ionikos | -0.097 | -0.053 | 1451 | 1473 | 1.06 | 1.23 | 33 |
| Kallithea | -0.101 | -0.064 | 1449 | 1468 | 1.05 | 1.24 | 36 |
| PAS Giannina | -0.102 | -0.159 | 1449 | 1420 | 1.05 | 1.37 | 66 |
| Kifisia | -0.167 | -0.094 | 1416 | 1453 | 0.99 | 1.28 | 69 |
| Volos NFC | -0.171 | -0.263 | 1415 | 1368 | 0.98 | 1.52 | 137 |
| Larisa | -0.181 | -0.152 | 1409 | 1424 | 0.97 | 1.36 | 36 |
| Asteras Tripolis | -0.183 | -0.021 | 1409 | 1489 | 0.97 | 1.19 | 134 |
| Panetolikos | -0.274 | -0.011 | 1363 | 1495 | 0.89 | 1.18 | 138 |
| Lamia | -0.287 | -0.286 | 1356 | 1357 | 0.87 | 1.55 | 105 |
| Panserraikos | -0.347 | -0.381 | 1326 | 1309 | 0.82 | 1.71 | 105 |
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 — Greece - Super League (160)
Switch leagues with the tabs above the ratings table; newest match first.
| Date | Match | Score | P(over) | Actual | Call |
|---|---|---|---|---|---|
| 2026-09-13 | Kalamata v Volos NFC | 3-1 | 75% | over | ✓ |
| 2026-09-13 | Asteras Tripolis v AEK Athens FC | 1-1 | 74% | over | ✓ |
| 2026-09-13 | PAOK v Aris Thessalonikis | 2-0 | 76% | over | ✓ |
| 2026-09-13 | Kifisia v Levadiakos | 0-0 | 78% | under | ✗ |
| 2026-09-13 | Panathinaikos v Panetolikos | 3-0 | 71% | over | ✓ |
| 2026-09-12 | Olympiakos Piraeus v OFI | 0-1 | 71% | under | ✗ |
| 2026-09-12 | Iraklis 1908 v Atromitos | 1-1 | 72% | over | ✓ |
| 2026-09-10 | Panathinaikos v Kifisia | 3-1 | 74% | over | ✓ |
| 2026-09-07 | Asteras Tripolis v Iraklis 1908 | 0-2 | 71% | over | ✓ |
| 2026-09-06 | Atromitos v Kalamata | 1-1 | 75% | over | ✓ |
| 2026-09-06 | OFI v Kifisia | 2-0 | 76% | over | ✓ |
| 2026-09-06 | Levadiakos v Panetolikos | 0-2 | 77% | over | ✓ |
| 2026-09-06 | Panathinaikos v PAOK | 3-1 | 72% | over | ✓ |
| 2026-09-05 | Volos NFC v Olympiakos Piraeus | 1-1 | 68% | over | ✓ |
| 2026-09-05 | AEK Athens FC v Aris Thessalonikis | 5-0 | 70% | over | ✓ |
| 2026-08-31 | Levadiakos v Panathinaikos | 0-2 | 78% | over | ✓ |
| 2026-08-30 | Aris Thessalonikis v OFI | 2-1 | 74% | over | ✓ |
| 2026-08-30 | Atromitos v PAOK | 1-2 | 74% | over | ✓ |
| 2026-08-30 | Asteras Tripolis v Olympiakos Piraeus | 0-1 | 65% | under | ✗ |
| 2026-08-30 | Kifisia v AEK Athens FC | 1-1 | 73% | over | ✓ |
| 2026-08-29 | Volos NFC v Iraklis 1908 | 1-1 | 75% | over | ✓ |
| 2026-08-29 | Panetolikos v Kalamata | 2-0 | 71% | over | ✓ |
| 2026-08-23 | OFI v Volos NFC | 2-0 | 80% | over | ✓ |
| 2026-08-23 | PAOK v Levadiakos | 4-0 | 82% | over | ✓ |
| 2026-08-23 | Panetolikos v Asteras Tripolis | 3-1 | 65% | over | ✓ |
| 2026-08-22 | AEK Athens FC v Iraklis 1908 | 4-0 | 75% | over | ✓ |
| 2026-08-22 | Kalamata v Aris Thessalonikis | 2-3 | 67% | over | ✓ |
| 2026-08-22 | Olympiakos Piraeus v Atromitos | 1-0 | 69% | under | ✗ |
| 2026-05-21 | Atromitos v Panserraikos | 6-0 | 74% | over | ✓ |
| 2026-05-21 | Panetolikos v Asteras Tripolis | 1-2 | 60% | over | ✓ |
| 2026-05-21 | Kifisia v Larisa | 3-2 | 67% | over | ✓ |
| 2026-05-17 | Panserraikos v Panetolikos | 1-1 | 64% | over | ✓ |
| 2026-05-17 | Aris Thessalonikis v Levadiakos | 3-0 | 74% | over | ✓ |
| 2026-05-17 | OFI v Volos NFC | 3-1 | 81% | over | ✓ |
| 2026-05-17 | AEK Athens FC v Olympiakos Piraeus | 1-1 | 59% | over | ✓ |
| 2026-05-17 | Panathinaikos v PAOK | 2-2 | 70% | over | ✓ |
| 2026-05-16 | Larisa v Atromitos | 2-1 | 68% | over | ✓ |
| 2026-05-16 | Asteras Tripolis v Kifisia | 0-0 | 68% | under | ✗ |
| 2026-05-13 | Levadiakos v OFI | 3-2 | 87% | over | ✓ |
| 2026-05-13 | Volos NFC v Aris Thessalonikis | 1-2 | 65% | over | ✓ |
| 2026-05-13 | Olympiakos Piraeus v Panathinaikos | 1-0 | 62% | under | ✗ |
| 2026-05-13 | PAOK v AEK Athens FC | 1-1 | 70% | over | ✓ |
| 2026-05-12 | Panetolikos v Larisa | 1-1 | 63% | over | ✓ |
| 2026-05-12 | Asteras Tripolis v Panserraikos | 1-0 | 72% | under | ✗ |
| 2026-05-12 | Kifisia v Atromitos | 0-3 | 68% | over | ✓ |
| 2026-05-10 | Aris Thessalonikis v OFI | 3-1 | 67% | over | ✓ |
| 2026-05-10 | Volos NFC v Levadiakos | 0-3 | 83% | over | ✓ |
| 2026-05-10 | Olympiakos Piraeus v PAOK | 1-1 | 65% | over | ✓ |
| 2026-05-10 | AEK Athens FC v Panathinaikos | 2-1 | 68% | over | ✓ |
| 2026-05-09 | Panserraikos v Kifisia | 1-2 | 69% | over | ✓ |
| 2026-05-09 | Larisa v Asteras Tripolis | 1-1 | 68% | over | ✓ |
| 2026-05-09 | Atromitos v Panetolikos | 1-2 | 64% | over | ✓ |
| 2026-05-03 | Levadiakos v Volos NFC | 5-2 | 80% | over | ✓ |
| 2026-05-03 | OFI v Aris Thessalonikis | 0-2 | 67% | over | ✓ |
| 2026-05-03 | PAOK v Olympiakos Piraeus | 3-1 | 62% | over | ✓ |
| 2026-05-03 | Panathinaikos v AEK Athens FC | 0-0 | 69% | under | ✗ |
| 2026-05-02 | Panetolikos v Kifisia | 0-1 | 64% | under | ✗ |
| 2026-05-02 | Panserraikos v Larisa | 1-1 | 70% | over | ✓ |
| 2026-05-02 | Asteras Tripolis v Atromitos | 4-2 | 63% | over | ✓ |
| 2026-04-26 | Kifisia v Panetolikos | 0-0 | 67% | under | ✗ |
| 2026-04-26 | Atromitos v Asteras Tripolis | 2-1 | 63% | over | ✓ |
| 2026-04-26 | Larisa v Panserraikos | 0-1 | 74% | under | ✗ |
| 2026-04-22 | Panserraikos v Atromitos | 0-4 | 66% | over | ✓ |
| 2026-04-22 | Larisa v Kifisia | 1-1 | 72% | over | ✓ |
| 2026-04-22 | Asteras Tripolis v Panetolikos | 2-1 | 61% | over | ✓ |
| 2026-04-19 | AEK Athens FC v PAOK | 3-0 | 70% | over | ✓ |
| 2026-04-19 | Panathinaikos v Olympiakos Piraeus | 0-2 | 60% | over | ✓ |
| 2026-04-18 | Kifisia v Asteras Tripolis | 0-0 | 70% | under | ✗ |
| 2026-04-18 | Atromitos v Larisa | 3-2 | 62% | over | ✓ |
| 2026-04-18 | OFI v Levadiakos | 2-0 | 84% | over | ✓ |
| 2026-04-18 | Aris Thessalonikis v Volos NFC | 3-2 | 59% | over | ✓ |
| 2026-04-18 | Panetolikos v Panserraikos | 2-3 | 65% | over | ✓ |
| 2026-04-08 | Larisa v Panetolikos | 1-2 | 61% | over | ✓ |
| 2026-04-08 | Panserraikos v Asteras Tripolis | 0-0 | 70% | under | ✗ |
| 2026-04-08 | Atromitos v Kifisia | 0-0 | 69% | under | ✗ |
| 2026-04-05 | Levadiakos v Aris Thessalonikis | 1-1 | 70% | over | ✓ |
| 2026-04-05 | Volos NFC v OFI | 1-1 | 75% | over | ✓ |
| 2026-04-05 | PAOK v Panathinaikos | 0-0 | 75% | under | ✗ |
| 2026-04-05 | Olympiakos Piraeus v AEK Athens FC | 0-1 | 61% | under | ✗ |
| 2026-04-04 | Kifisia v Panserraikos | 1-2 | 77% | over | ✓ |
| 2026-04-04 | Asteras Tripolis v Larisa | 3-1 | 64% | over | ✓ |
| 2026-04-04 | Panetolikos v Atromitos | 1-1 | 56% | over | ✓ |
| 2026-03-22 | Olympiakos Piraeus v Larisa | 0-0 | 72% | under | ✗ |
| 2026-03-22 | AEK Athens FC v Kifisia | 3-0 | 81% | over | ✓ |
| 2026-03-22 | Panetolikos v Panserraikos | 0-0 | 69% | under | ✗ |
| 2026-03-22 | Asteras Tripolis v Panathinaikos | 1-2 | 71% | over | ✓ |
| 2026-03-22 | Levadiakos v Atromitos | 1-0 | 76% | under | ✗ |
| 2026-03-22 | Aris Thessalonikis v OFI | 0-2 | 68% | over | ✓ |
| 2026-03-22 | Volos NFC v PAOK | 2-1 | 76% | over | ✓ |
| 2026-03-15 | Kifisia v Volos NFC | 2-0 | 74% | over | ✓ |
| 2026-03-15 | PAOK v Levadiakos | 3-0 | 85% | over | ✓ |
| 2026-03-15 | Atromitos v AEK Athens FC | 2-2 | 64% | over | ✓ |
| 2026-03-15 | Panathinaikos v Panetolikos | 0-0 | 75% | under | ✗ |
| 2026-03-14 | OFI v Olympiakos Piraeus | 0-3 | 73% | over | ✓ |
| 2026-03-14 | Panserraikos v Aris Thessalonikis | 0-0 | 67% | under | ✗ |
| 2026-03-14 | Larisa v Asteras Tripolis | 1-1 | 67% | over | ✓ |
| 2026-03-09 | Panetolikos v Kifisia | 2-1 | 70% | over | ✓ |
| 2026-03-08 | Asteras Tripolis v Panserraikos | 0-1 | 75% | under | ✗ |
| 2026-03-08 | Volos NFC v OFI | 1-1 | 76% | over | ✓ |
| 2026-03-08 | Levadiakos v Panathinaikos | 1-4 | 80% | over | ✓ |
| 2026-03-08 | Olympiakos Piraeus v PAOK | 0-0 | 69% | under | ✗ |
| 2026-03-07 | Aris Thessalonikis v Atromitos | 0-0 | 58% | under | ✗ |
| 2026-03-07 | AEK Athens FC v Larisa | 1-0 | 79% | under | ✗ |
| 2026-03-04 | Panathinaikos v OFI | 4-1 | 79% | over | ✓ |
| 2026-03-04 | Kifisia v PAOK | 1-4 | 78% | over | ✓ |
| 2026-03-01 | Panserraikos v Olympiakos Piraeus | 1-2 | 80% | over | ✓ |
| 2026-03-01 | Volos NFC v AEK Athens FC | 2-2 | 72% | over | ✓ |
| 2026-03-01 | PAOK v Asteras Tripolis | 2-0 | 81% | over | ✓ |
| 2026-03-01 | Panathinaikos v Aris Thessalonikis | 3-1 | 62% | over | ✓ |
| 2026-02-28 | OFI v Larisa | 3-0 | 75% | over | ✓ |
| 2026-02-28 | Atromitos v Panetolikos | 1-0 | 63% | under | ✗ |
| 2026-02-28 | Kifisia v Levadiakos | 1-0 | 84% | under | ✗ |
| 2026-02-22 | OFI v Panathinaikos | 0-2 | 76% | over | ✓ |
| 2026-02-22 | Panserraikos v Volos NFC | 2-1 | 73% | over | ✓ |
| 2026-02-22 | Larisa v PAOK | 1-1 | 78% | over | ✓ |
| 2026-02-22 | Aris Thessalonikis v Kifisia | 1-1 | 68% | over | ✓ |
| 2026-02-22 | AEK Athens FC v Levadiakos | 4-0 | 80% | over | ✓ |
| 2026-02-21 | Olympiakos Piraeus v Panetolikos | 2-0 | 71% | over | ✓ |
| 2026-02-21 | Asteras Tripolis v Atromitos | 1-2 | 64% | over | ✓ |
| 2026-02-16 | Atromitos v Panserraikos | 2-2 | 74% | over | ✓ |
| 2026-02-15 | Kifisia v OFI | 2-2 | 79% | over | ✓ |
| 2026-02-15 | PAOK v AEK Athens FC | 0-0 | 76% | under | ✗ |
| 2026-02-15 | Panathinaikos v Larisa | 1-1 | 75% | over | ✓ |
| 2026-02-14 | Panetolikos v Asteras Tripolis | 3-1 | 63% | over | ✓ |
| 2026-02-14 | Levadiakos v Olympiakos Piraeus | 0-0 | 79% | under | ✗ |
| 2026-02-14 | Volos NFC v Aris Thessalonikis | 1-1 | 60% | over | ✓ |
| 2026-02-08 | Panserraikos v AEK Athens FC | 0-4 | 80% | over | ✓ |
| 2026-02-08 | OFI v Levadiakos | 3-2 | 85% | over | ✓ |
| 2026-02-08 | Aris Thessalonikis v PAOK | 0-0 | 72% | under | ✗ |
| 2026-02-08 | Olympiakos Piraeus v Panathinaikos | 0-1 | 72% | under | ✗ |
| 2026-02-07 | Larisa v Panetolikos | 1-4 | 63% | over | ✓ |
| 2026-02-07 | Asteras Tripolis v Volos NFC | 2-0 | 66% | over | ✓ |
| 2026-02-07 | Kifisia v Atromitos | 0-1 | 70% | under | ✗ |
| 2026-02-04 | Asteras Tripolis v Olympiakos Piraeus | 0-3 | 69% | over | ✓ |
| 2026-02-01 | Levadiakos v Asteras Tripolis | 3-1 | 81% | over | ✓ |
| 2026-02-01 | Panathinaikos v Kifisia | 3-0 | 77% | over | ✓ |
| 2026-02-01 | PAOK v Panserraikos | 4-1 | 91% | over | ✓ |
| 2026-02-01 | AEK Athens FC v Olympiakos Piraeus | 1-1 | 67% | over | ✓ |
| 2026-01-31 | Panetolikos v Aris Thessalonikis | 0-1 | 58% | under | ✗ |
| 2026-01-31 | Atromitos v OFI | 1-2 | 70% | over | ✓ |
| 2026-01-31 | Volos NFC v Larisa | 0-2 | 68% | over | ✓ |
| 2026-01-25 | Aris Thessalonikis v Levadiakos | 2-2 | 73% | over | ✓ |
| 2026-01-25 | OFI v Panetolikos | 1-0 | 71% | under | ✗ |
| 2026-01-25 | Atromitos v Panathinaikos | 0-0 | 69% | under | ✗ |
| 2026-01-24 | Olympiakos Piraeus v Volos NFC | 1-0 | 77% | under | ✗ |
| 2026-01-24 | Asteras Tripolis v AEK Athens FC | 0-1 | 71% | under | ✗ |
| 2026-01-24 | Larisa v Panserraikos | 1-0 | 77% | under | ✗ |
| 2026-01-19 | Panetolikos v Levadiakos | 1-3 | 75% | over | ✓ |
| 2026-01-19 | Volos NFC v Atromitos | 0-3 | 65% | over | ✓ |
| 2026-01-18 | Larisa v Aris Thessalonikis | 1-0 | 65% | under | ✗ |
| 2026-01-18 | PAOK v OFI | 3-0 | 87% | over | ✓ |
| 2026-01-18 | AEK Athens FC v Panathinaikos | 4-0 | 72% | over | ✓ |
| 2026-01-17 | Panserraikos v Kifisia | 2-1 | 79% | over | ✓ |
| 2026-01-11 | Levadiakos v Volos NFC | 3-1 | 79% | over | ✓ |
| 2026-01-11 | OFI v Asteras Tripolis | 4-0 | 71% | over | ✓ |
| 2026-01-11 | Aris Thessalonikis v AEK Athens FC | 1-1 | 64% | over | ✓ |
| 2026-01-11 | Panathinaikos v Panserraikos | 3-0 | 84% | over | ✓ |
| 2026-01-10 | Kifisia v Larisa | 1-1 | 77% | over | ✓ |
| 2026-01-10 | Panetolikos v PAOK | 0-3 | 74% | over | ✓ |
| 2026-01-10 | Atromitos v Olympiakos Piraeus | 0-2 | 68% | over | ✓ |