Goal Elo

monitoring only -- not used by any card's picks

An 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.

14 teams · K=0.025 · league avg 1.162 goals/team/match · home advantage +0.273 log-units (~31%) · seasons 2022, 2023, 2024, 2025 · generated 2026-09-19 10:32 UTC

Attack (0 = league average)Defense ↑CD Real Sociedad -- attack -0.232 (1384 Elo), defense -0.080 (1460 Elo), 112 matchesCD Marathon -- attack -0.027 (1486 Elo), defense 0.460 (1730 Elo), 178 matchesCD MarathonVida -- attack -0.084 (1458 Elo), defense -0.180 (1410 Elo), 74 matchesCD Olimpia -- attack 0.352 (1676 Elo), defense 0.307 (1654 Elo), 183 matchesCD OlimpiaOlancho -- attack 0.063 (1532 Elo), defense 0.185 (1592 Elo), 170 matchesVictoria -- attack -0.055 (1472 Elo), defense -0.312 (1344 Elo), 155 matchesCD Motagua -- attack 0.220 (1610 Elo), defense 0.231 (1616 Elo), 180 matchesCD MotaguaCD Honduras -- attack -0.065 (1468 Elo), defense -0.069 (1465 Elo), 38 matchesReal Espana -- attack 0.203 (1601 Elo), defense 0.204 (1602 Elo), 172 matchesReal EspanaLobos Upnfm -- attack -0.159 (1420 Elo), defense -0.048 (1476 Elo), 152 matchesGénesis -- attack -0.057 (1471 Elo), defense 0.009 (1505 Elo), 128 matchesJuticalpa -- attack -0.226 (1387 Elo), defense -0.324 (1338 Elo), 76 matchesAtlético Choloma -- attack -0.062 (1469 Elo), defense -0.299 (1350 Elo), 40 matchesPlatense FC -- attack 0.020 (1510 Elo), defense 0.026 (1513 Elo), 44 matches

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.

TeamAttackDefenseAtk EloDef EloGF vs avg defenseGA vs avg attackMatches
CD Olimpia0.3520.307167616541.650.85183
CD Motagua0.2200.231161016161.450.92180
Real Espana0.2030.204160116021.420.95172
Olancho0.0630.185153215921.240.97170
Platense FC0.0200.026151015131.191.1344
CD Marathon-0.0270.460148617301.130.73178
Victoria-0.055-0.312147213441.101.59155
Génesis-0.0570.009147115051.101.15128
Atlético Choloma-0.062-0.299146913501.091.5740
CD Honduras-0.065-0.069146814651.091.2538
Vida-0.084-0.180145814101.071.3974
Lobos Upnfm-0.159-0.048142014760.991.22152
Juticalpa-0.226-0.324138713380.931.6176
CD Real Sociedad-0.232-0.080138414600.921.26112

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.

7,770
Matches scored
75.8%
Actual over-1.5 rate
0.182
Model Brier score
-0.5%
Skill vs baseline

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

0%0%25%25%50%50%75%75%100%100%Predicted P(over 1.5)Actual over-1.5 rateperfect calibrationpredicted ~50%, actually over 1.5 51% of the time (n=45)predicted ~55%, actually over 1.5 67% of the time (n=177)predicted ~60%, actually over 1.5 65% of the time (n=428)predicted ~65%, actually over 1.5 71% of the time (n=967)predicted ~70%, actually over 1.5 74% of the time (n=1564)predicted ~75%, actually over 1.5 76% of the time (n=1858)predicted ~80%, actually over 1.5 79% of the time (n=1593)predicted ~85%, actually over 1.5 84% of the time (n=835)predicted ~90%, actually over 1.5 87% of the time (n=243)predicted ~95%, actually over 1.5 95% of the time (n=44)

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

Peru - Primera Division
5.0%
Bolivia - Primera Division
3.8%
South Africa - Premier Soccer League
3.2%
Turkey - Super Lig
2.2%
Portugal - Primeira Liga
2.1%
Ecuador - Liga Pro
1.8%
Russia - Premier League
1.1%
China - Super League
1.1%
USA - MLS
1.0%
Australia - A-League
0.9%
Brazil - Serie A
0.4%
Argentina - Liga Profesional
0.3%
Colombia - Primera A
0.1%
Costa Rica - Primera Division
0.0%
Chile - Primera Division
-0.2%
Norway - Eliteserien
-0.2%
France - Ligue 1
-0.3%
Greece - Super League
-0.5%
Guatemala - Liga Nacional
-0.6%
Spain - La Liga
-0.6%
Italy - Serie A
-1.1%
Netherlands - Eredivisie
-1.3%
El Salvador - Primera Division
-1.3%
Uruguay - Primera Division
-1.4%
Honduras - Liga Nacional
-1.6%
Sweden - Allsvenskan
-1.9%
Denmark - Superliga
-2.1%
Mexico - Liga MX
-2.4%
Paraguay - Division Profesional (Apertura)
-2.4%
Saudi Arabia - Pro League
-2.6%
England - Premier League
-2.7%
India - Indian Super League
-2.9%
Austria - Bundesliga
-2.9%
Scotland - Premiership
-3.0%
Venezuela - Primera Division
-3.3%
Japan - J1 League
-3.5%
Belgium - Jupiler Pro League
-4.1%
Germany - Bundesliga
-4.7%

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 — Honduras - Liga Nacional (170)

Switch leagues with the tabs above the ratings table; newest match first.

DateMatchScoreP(over)ActualCall
2026-09-19Atlético Choloma v Estrella Roja2-079%over
2026-09-18Platense FC v Lobos Upnfm0-274%over
2026-09-14Atletico Independiente v Juticalpa2-178%over
2026-09-13CD Motagua v Génesis1-075%under
2026-09-13Lobos Upnfm v Atlético Choloma1-073%under
2026-09-13CD Marathon v CD Olimpia1-070%under
2026-09-12Estrella Roja v Platense FC2-281%over
2026-09-12Olancho v Real Espana1-167%over
2026-09-07Juticalpa v Génesis0-376%over
2026-09-06CD Marathon v Estrella Roja5-069%over
2026-09-06Real Espana v Lobos Upnfm2-077%over
2026-09-05Atlético Choloma v Olancho0-072%under
2026-09-05Atletico Independiente v CD Motagua0-075%under
2026-09-04CD Olimpia v Platense FC4-181%over
2026-08-30CD Motagua v Olancho2-172%over
2026-08-30Estrella Roja v CD Olimpia2-278%over
2026-08-30Real Espana v Atlético Choloma2-180%over
2026-08-29Juticalpa v Lobos Upnfm1-078%under
2026-08-29Génesis v CD Marathon1-261%over
2026-08-29Platense FC v Atletico Independiente2-173%over
2026-08-23Atlético Choloma v Platense FC2-077%over
2026-08-23CD Marathon v Real Espana1-163%over
2026-08-23Olancho v CD Olimpia1-172%over
2026-08-22CD Motagua v Lobos Upnfm4-176%over
2026-08-22Atletico Independiente v Génesis1-172%over
2026-08-22Estrella Roja v Juticalpa5-279%over
2026-08-17Olancho v Juticalpa1-079%under
2026-08-16Real Espana v Atletico Independiente1-176%over
2026-08-16Atlético Choloma v CD Marathon0-169%under
2026-08-16CD Olimpia v CD Motagua3-176%over
2026-08-15Génesis v Platense FC3-073%over
2026-08-15Lobos Upnfm v Estrella Roja2-270%over
2026-08-10Atletico Independiente v Atlético Choloma2-179%over
2026-08-09Real Espana v Génesis2-075%over
2026-08-09Juticalpa v CD Olimpia1-379%over
2026-08-09CD Motagua v Estrella Roja0-276%over
2026-08-08Platense FC v CD Marathon1-165%over
2026-08-08Lobos Upnfm v Olancho1-169%over
2026-08-04CD Marathon v Atletico Independiente1-068%under
2026-08-03CD Olimpia v Lobos Upnfm2-078%over
2026-08-02Juticalpa v CD Motagua0-377%over
2026-08-02Estrella Roja v Olancho0-172%under
2026-08-01Platense FC v Real Espana0-374%over
2026-08-01Génesis v Atlético Choloma2-079%over
2026-05-24CD Motagua v CD Marathon0-065%under
2026-05-22CD Marathon v CD Motagua1-165%over
2026-05-19CD Motagua v Génesis2-177%over
2026-05-19Real Espana v CD Marathon1-164%over
2026-05-16CD Marathon v CD Olimpia1-066%under
2026-05-15Génesis v Olancho1-170%over
2026-05-13Olancho v CD Motagua0-274%over
2026-05-13CD Olimpia v Real Espana3-275%over
2026-05-10CD Motagua v Olancho1-274%over
2026-05-10Real Espana v CD Olimpia3-172%over
2026-05-07Olancho v Génesis1-372%over
2026-05-07CD Olimpia v CD Marathon2-066%over
2026-05-04Génesis v CD Motagua1-175%over
2026-05-03CD Marathon v Real Espana1-064%under
2026-05-01CD Marathon v Atlético Choloma0-182%under
2026-05-01CD Olimpia v Platense FC4-076%over
2026-05-01Lobos Upnfm v CD Motagua2-174%over
2026-05-01Victoria v Real Espana1-280%over
2026-05-01Olancho v Génesis2-271%over
2026-04-27Juticalpa v Lobos Upnfm1-076%under
2026-04-27Génesis v Victoria2-080%over
2026-04-26Real Espana v CD Olimpia3-268%over
2026-04-26Platense FC v Olancho1-071%under
2026-04-26CD Motagua v Atlético Choloma5-186%over
2026-04-24Olancho v CD Motagua0-075%under
2026-04-23CD Olimpia v CD Marathon2-164%over
2026-04-23Lobos Upnfm v Génesis0-173%under
2026-04-22Victoria v Juticalpa2-186%over
2026-04-22Real Espana v Platense FC2-073%over
2026-04-20Olancho v Victoria1-088%under
2026-04-19Atlético Choloma v CD Olimpia1-378%over
2026-04-19Platense FC v Lobos Upnfm4-172%over
2026-04-19CD Motagua v Juticalpa2-189%over
2026-04-18Génesis v CD Marathon0-168%under
2026-04-17Victoria v CD Motagua2-384%over
2026-04-16Juticalpa v Platense FC1-180%over
2026-04-14Victoria v Atlético Choloma2-583%over
2026-04-13Lobos Upnfm v Real Espana1-170%over
2026-04-12CD Marathon v Olancho0-269%over
2026-04-12CD Motagua v CD Olimpia0-174%under
2026-04-10CD Marathon v CD Motagua1-072%under
2026-04-09CD Olimpia v Victoria2-184%over
2026-04-09Juticalpa v Olancho0-480%over
2026-04-09Atlético Choloma v Real Espana3-274%over
2026-04-08Platense FC v Génesis0-178%under
2026-04-07Real Espana v Juticalpa1-185%over
2026-04-06Victoria v Lobos Upnfm3-275%over
2026-04-05Olancho v Atlético Choloma3-179%over
2026-04-05Platense FC v CD Marathon3-167%over
2026-04-05CD Motagua v Génesis3-182%over
2026-04-03Real Espana v CD Marathon2-064%over
2026-04-02Atlético Choloma v Platense FC1-077%under
2026-04-02Génesis v Juticalpa0-185%under
2026-04-02CD Olimpia v Lobos Upnfm0-078%under
2026-03-25Atlético Choloma v Génesis1-277%over
2026-03-24Lobos Upnfm v Olancho2-171%over
2026-03-23Juticalpa v CD Olimpia1-679%over
2026-03-22CD Marathon v Victoria2-081%over
2026-03-22CD Motagua v Real Espana1-176%over
2026-03-21Lobos Upnfm v Atlético Choloma1-276%over
2026-03-19Real Espana v Génesis2-178%over
2026-03-19Platense FC v CD Motagua0-180%under
2026-03-18Juticalpa v CD Marathon0-474%over
2026-03-18CD Olimpia v Olancho0-075%under
2026-03-16Victoria v Platense FC2-379%over
2026-03-15Atlético Choloma v Juticalpa1-180%over
2026-03-15Génesis v CD Olimpia0-276%over
2026-03-14CD Marathon v Lobos Upnfm2-071%over
2026-03-14Olancho v Real Espana3-071%over
2026-03-13Platense FC v CD Olimpia1-273%over
2026-03-12Real Espana v Victoria4-177%over
2026-03-11Atlético Choloma v CD Marathon0-077%under
2026-03-11Génesis v Olancho0-080%under
2026-03-11CD Motagua v Lobos Upnfm2-082%over
2026-03-09Lobos Upnfm v Juticalpa3-277%over
2026-03-08Atlético Choloma v CD Motagua1-384%over
2026-03-08Victoria v Génesis2-477%over
2026-03-08CD Olimpia v Real Espana1-170%over
2026-03-07Olancho v Platense FC2-177%over
2026-03-02Platense FC v Real Espana2-269%over
2026-03-02Génesis v Lobos Upnfm0-275%over
2026-03-01Juticalpa v Victoria1-079%under
2026-03-01CD Marathon v CD Olimpia2-168%over
2026-03-01CD Motagua v Olancho1-183%over
2026-02-27CD Marathon v Génesis1-279%over
2026-02-26CD Olimpia v Atlético Choloma3-085%over
2026-02-26Lobos Upnfm v Platense FC1-074%under
2026-02-25Victoria v Olancho2-178%over
2026-02-25Juticalpa v CD Motagua1-285%over
2026-02-23CD Olimpia v CD Motagua0-181%under
2026-02-22Atlético Choloma v Victoria2-179%over
2026-02-22Platense FC v Juticalpa4-081%over
2026-02-21Real Espana v Lobos Upnfm4-366%over
2026-02-21Olancho v CD Marathon1-172%over
2026-02-16Victoria v CD Olimpia2-176%over
2026-02-15Real Espana v Atlético Choloma2-178%over
2026-02-15Génesis v Platense FC2-275%over
2026-02-15CD Motagua v CD Marathon1-177%over
2026-02-14Olancho v Juticalpa4-181%over
2026-02-13CD Marathon v Platense FC2-271%over
2026-02-12Juticalpa v Real Espana1-171%over
2026-02-12Lobos Upnfm v Victoria2-270%over
2026-02-11Génesis v CD Motagua0-580%over
2026-02-11Atlético Choloma v Olancho0-182%under
2026-02-08CD Motagua v Victoria1-185%over
2026-02-08CD Marathon v Real Espana0-164%under
2026-02-08Platense FC v Atlético Choloma1-183%over
2026-02-07Juticalpa v Génesis1-178%over
2026-02-07Lobos Upnfm v CD Olimpia0-172%under
2026-02-02Olancho v Lobos Upnfm1-176%over
2026-02-01CD Olimpia v Juticalpa2-286%over
2026-02-01Génesis v Atlético Choloma0-087%under
2026-02-01Real Espana v CD Motagua2-273%over
2026-01-31Victoria v CD Marathon0-077%under
2026-01-30CD Motagua v Platense FC2-081%over
2026-01-29CD Marathon v Juticalpa3-084%over
2026-01-29Atlético Choloma v Lobos Upnfm1-179%over
2026-01-28Génesis v Real Espana1-269%over
2026-01-28Olancho v CD Olimpia1-179%over
2026-01-26CD Olimpia v Génesis1-086%under
2026-01-25Real Espana v Olancho2-071%over
2026-01-25Platense FC v Victoria1-181%over
2026-01-25Lobos Upnfm v CD Marathon1-171%over
2026-01-24Juticalpa v Atlético Choloma1-088%under
2026-01-08CD Olimpia v CD Marathon1-077%under
2026-01-04CD Marathon v CD Olimpia2-276%over