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
13 teams · K=0.025 · league avg 1.440 goals/team/match · home advantage +0.151 log-units (~16%) · 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 |
|---|---|---|---|---|---|---|---|
| Newcastle Jets | 0.229 | 0.060 | 1615 | 1530 | 1.81 | 1.36 | 107 |
| Western United | 0.132 | -0.007 | 1566 | 1497 | 1.64 | 1.45 | 82 |
| Adelaide United | 0.121 | -0.019 | 1561 | 1491 | 1.63 | 1.47 | 111 |
| Melbourne Victory | 0.070 | 0.172 | 1535 | 1586 | 1.54 | 1.21 | 114 |
| Auckland | 0.054 | 0.285 | 1527 | 1643 | 1.52 | 1.08 | 58 |
| Macarthur | 0.031 | -0.138 | 1515 | 1431 | 1.48 | 1.65 | 106 |
| Melbourne City | -0.085 | 0.194 | 1458 | 1597 | 1.32 | 1.19 | 113 |
| Central Coast Mariners | -0.111 | -0.080 | 1445 | 1460 | 1.29 | 1.56 | 111 |
| Western Sydney Wanderers | -0.124 | -0.097 | 1438 | 1451 | 1.27 | 1.59 | 107 |
| Sydney | -0.151 | 0.281 | 1424 | 1641 | 1.24 | 1.09 | 115 |
| Wellington Phoenix | -0.157 | -0.132 | 1422 | 1434 | 1.23 | 1.64 | 108 |
| Perth Glory | -0.183 | -0.042 | 1409 | 1479 | 1.20 | 1.50 | 105 |
| Brisbane Roar | -0.258 | -0.047 | 1371 | 1476 | 1.11 | 1.51 | 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 — Australia - A-League (104)
Switch leagues with the tabs above the ratings table; newest match first.
| Date | Match | Score | P(over) | Actual | Call |
|---|---|---|---|---|---|
| 2026-05-23 | Auckland v Sydney | 1-0 | 68% | under | ✗ |
| 2026-05-16 | Newcastle Jets v Sydney | 1-1 | 78% | over | ✓ |
| 2026-05-15 | Adelaide United v Auckland | 0-3 | 80% | over | ✓ |
| 2026-05-09 | Auckland v Adelaide United | 1-1 | 82% | over | ✓ |
| 2026-05-09 | Sydney v Newcastle Jets | 1-1 | 78% | over | ✓ |
| 2026-05-02 | Auckland v Melbourne City | 1-1 | 72% | over | ✓ |
| 2026-05-02 | Melbourne Victory v Sydney | 0-1 | 73% | under | ✗ |
| 2026-04-26 | Sydney v Auckland | 2-2 | 68% | over | ✓ |
| 2026-04-26 | Melbourne City v Adelaide United | 1-2 | 80% | over | ✓ |
| 2026-04-25 | Newcastle Jets v Central Coast Mariners | 4-0 | 86% | over | ✓ |
| 2026-04-25 | Western Sydney Wanderers v Melbourne Victory | 0-2 | 81% | over | ✓ |
| 2026-04-25 | Perth Glory v Brisbane Roar | 2-1 | 73% | over | ✓ |
| 2026-04-24 | Macarthur v Wellington Phoenix | 4-0 | 84% | over | ✓ |
| 2026-04-19 | Auckland v Central Coast Mariners | 0-1 | 81% | under | ✗ |
| 2026-04-19 | Adelaide United v Macarthur | 3-1 | 88% | over | ✓ |
| 2026-04-18 | Wellington Phoenix v Western Sydney Wanderers | 2-1 | 81% | over | ✓ |
| 2026-04-18 | Brisbane Roar v Melbourne City | 2-3 | 67% | over | ✓ |
| 2026-04-18 | Sydney v Perth Glory | 0-0 | 74% | under | ✗ |
| 2026-04-17 | Melbourne Victory v Newcastle Jets | 2-2 | 84% | over | ✓ |
| 2026-04-12 | Melbourne City v Wellington Phoenix | 2-0 | 75% | over | ✓ |
| 2026-04-12 | Perth Glory v Macarthur | 3-1 | 82% | over | ✓ |
| 2026-04-11 | Auckland v Melbourne Victory | 2-2 | 76% | over | ✓ |
| 2026-04-11 | Newcastle Jets v Adelaide United | 1-1 | 90% | over | ✓ |
| 2026-04-11 | Western Sydney Wanderers v Sydney | 0-2 | 76% | over | ✓ |
| 2026-04-10 | Central Coast Mariners v Brisbane Roar | 2-2 | 74% | over | ✓ |
| 2026-04-07 | Melbourne City v Central Coast Mariners | 2-1 | 74% | over | ✓ |
| 2026-04-05 | Melbourne Victory v Wellington Phoenix | 0-1 | 84% | under | ✗ |
| 2026-04-04 | Central Coast Mariners v Perth Glory | 2-2 | 78% | over | ✓ |
| 2026-04-04 | Melbourne City v Western Sydney Wanderers | 3-0 | 74% | over | ✓ |
| 2026-04-03 | Adelaide United v Auckland | 1-1 | 84% | over | ✓ |
| 2026-04-02 | Macarthur v Newcastle Jets | 3-2 | 88% | over | ✓ |
| 2026-04-02 | Brisbane Roar v Sydney | 0-0 | 71% | under | ✗ |
| 2026-03-22 | Sydney v Newcastle Jets | 1-2 | 81% | over | ✓ |
| 2026-03-22 | Perth Glory v Melbourne City | 1-1 | 71% | over | ✓ |
| 2026-03-21 | Auckland v Macarthur | 1-2 | 83% | over | ✓ |
| 2026-03-21 | Brisbane Roar v Wellington Phoenix | 1-2 | 76% | over | ✓ |
| 2026-03-21 | Melbourne Victory v Central Coast Mariners | 4-1 | 78% | over | ✓ |
| 2026-03-20 | Western Sydney Wanderers v Adelaide United | 2-4 | 84% | over | ✓ |
| 2026-03-17 | Sydney v Melbourne City | 0-1 | 71% | under | ✗ |
| 2026-03-15 | Melbourne Victory v Macarthur | 4-1 | 81% | over | ✓ |
| 2026-03-14 | Wellington Phoenix v Perth Glory | 2-0 | 81% | over | ✓ |
| 2026-03-14 | Central Coast Mariners v Adelaide United | 1-1 | 84% | over | ✓ |
| 2026-03-14 | Newcastle Jets v Auckland | 1-2 | 83% | over | ✓ |
| 2026-03-13 | Brisbane Roar v Western Sydney Wanderers | 2-2 | 72% | over | ✓ |
| 2026-03-08 | Auckland v Perth Glory | 2-2 | 79% | over | ✓ |
| 2026-03-07 | Newcastle Jets v Western Sydney Wanderers | 2-1 | 85% | over | ✓ |
| 2026-03-07 | Sydney v Melbourne Victory | 2-2 | 73% | over | ✓ |
| 2026-03-06 | Adelaide United v Wellington Phoenix | 1-1 | 90% | over | ✓ |
| 2026-03-04 | Macarthur v Central Coast Mariners | 1-3 | 80% | over | ✓ |
| 2026-03-01 | Wellington Phoenix v Sydney | 0-1 | 82% | under | ✗ |
| 2026-02-28 | Auckland v Melbourne City | 3-0 | 72% | over | ✓ |
| 2026-02-28 | Central Coast Mariners v Newcastle Jets | 0-0 | 87% | under | ✗ |
| 2026-02-28 | Brisbane Roar v Perth Glory | 1-1 | 72% | over | ✓ |
| 2026-02-28 | Macarthur v Western Sydney Wanderers | 0-4 | 79% | over | ✓ |
| 2026-02-27 | Melbourne Victory v Adelaide United | 1-1 | 85% | over | ✓ |
| 2026-02-22 | Central Coast Mariners v Western Sydney Wanderers | 3-2 | 76% | over | ✓ |
| 2026-02-22 | Newcastle Jets v Macarthur | 1-0 | 90% | under | ✗ |
| 2026-02-21 | Wellington Phoenix v Auckland | 0-5 | 79% | over | ✓ |
| 2026-02-21 | Sydney v Brisbane Roar | 1-0 | 75% | under | ✗ |
| 2026-02-21 | Melbourne City v Melbourne Victory | 1-3 | 70% | over | ✓ |
| 2026-02-20 | Adelaide United v Perth Glory | 4-0 | 85% | over | ✓ |
| 2026-02-17 | Sydney v Auckland | 1-1 | 75% | over | ✓ |
| 2026-02-14 | Melbourne Victory v Brisbane Roar | 1-1 | 74% | over | ✓ |
| 2026-02-14 | Sydney v Adelaide United | 1-2 | 86% | over | ✓ |
| 2026-02-13 | Western Sydney Wanderers v Wellington Phoenix | 2-2 | 80% | over | ✓ |
| 2026-02-13 | Perth Glory v Newcastle Jets | 1-3 | 87% | over | ✓ |
| 2026-02-08 | Adelaide United v Newcastle Jets | 2-3 | 92% | over | ✓ |
| 2026-02-07 | Auckland v Sydney | 1-0 | 77% | under | ✗ |
| 2026-02-07 | Brisbane Roar v Central Coast Mariners | 1-2 | 74% | over | ✓ |
| 2026-02-07 | Western Sydney Wanderers v Melbourne City | 1-1 | 69% | over | ✓ |
| 2026-02-06 | Wellington Phoenix v Melbourne Victory | 2-3 | 78% | over | ✓ |
| 2026-02-06 | Macarthur v Perth Glory | 2-2 | 80% | over | ✓ |
| 2026-02-01 | Central Coast Mariners v Melbourne Victory | 1-0 | 77% | under | ✗ |
| 2026-01-31 | Newcastle Jets v Brisbane Roar | 4-1 | 83% | over | ✓ |
| 2026-01-31 | Sydney v Western Sydney Wanderers | 4-1 | 74% | over | ✓ |
| 2026-01-31 | Perth Glory v Auckland | 2-1 | 74% | over | ✓ |
| 2026-01-30 | Wellington Phoenix v Melbourne City | 2-2 | 73% | over | ✓ |
| 2026-01-30 | Adelaide United v Macarthur | 1-1 | 89% | over | ✓ |
| 2026-01-26 | Melbourne Victory v Sydney | 4-0 | 74% | over | ✓ |
| 2026-01-25 | Western Sydney Wanderers v Perth Glory | 1-0 | 75% | under | ✗ |
| 2026-01-24 | Auckland v Central Coast Mariners | 2-2 | 78% | over | ✓ |
| 2026-01-24 | Brisbane Roar v Adelaide United | 2-3 | 80% | over | ✓ |
| 2026-01-24 | Macarthur v Melbourne City | 6-2 | 68% | over | ✓ |
| 2026-01-23 | Newcastle Jets v Wellington Phoenix | 4-1 | 87% | over | ✓ |
| 2026-01-18 | Central Coast Mariners v Macarthur | 1-1 | 80% | over | ✓ |
| 2026-01-18 | Sydney v Wellington Phoenix | 0-2 | 81% | over | ✓ |
| 2026-01-17 | Western Sydney Wanderers v Newcastle Jets | 1-2 | 83% | over | ✓ |
| 2026-01-17 | Adelaide United v Melbourne Victory | 2-1 | 83% | over | ✓ |
| 2026-01-16 | Melbourne City v Auckland | 2-1 | 63% | over | ✓ |
| 2026-01-16 | Perth Glory v Brisbane Roar | 1-2 | 70% | over | ✓ |
| 2026-01-11 | Wellington Phoenix v Adelaide United | 2-2 | 86% | over | ✓ |
| 2026-01-11 | Melbourne City v Newcastle Jets | 0-1 | 79% | under | ✗ |
| 2026-01-10 | Melbourne Victory v Western Sydney Wanderers | 0-1 | 75% | under | ✗ |
| 2026-01-10 | Macarthur v Sydney | 0-3 | 79% | over | ✓ |
| 2026-01-10 | Perth Glory v Central Coast Mariners | 3-0 | 77% | over | ✓ |
| 2026-01-09 | Brisbane Roar v Auckland | 0-2 | 68% | over | ✓ |
| 2026-01-06 | Melbourne City v Brisbane Roar | 1-0 | 64% | under | ✗ |
| 2026-01-05 | Macarthur v Auckland | 1-1 | 77% | over | ✓ |
| 2026-01-04 | Adelaide United v Central Coast Mariners | 0-4 | 86% | over | ✓ |
| 2026-01-03 | Brisbane Roar v Wellington Phoenix | 0-3 | 74% | over | ✓ |
| 2026-01-03 | Melbourne City v Sydney | 0-0 | 72% | under | ✗ |
| 2026-01-02 | Melbourne Victory v Perth Glory | 3-2 | 74% | over | ✓ |
| 2026-01-01 | Auckland v Newcastle Jets | 1-3 | 85% | over | ✓ |
| 2026-01-01 | Western Sydney Wanderers v Macarthur | 0-1 | 80% | under | ✗ |