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.

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

Attack (0 = league average)Defense ↑Municipal -- attack 0.431 (1715 Elo), defense 0.469 (1734 Elo), 189 matchesMunicipalCobán Imperial -- attack 0.011 (1506 Elo), defense 0.131 (1565 Elo), 176 matchesCobán ImperialXelajú -- attack 0.261 (1631 Elo), defense 0.143 (1572 Elo), 181 matchesXelajúIztapa -- attack 0.033 (1516 Elo), defense -0.171 (1415 Elo), 44 matchesSanta Lucía -- attack -0.106 (1447 Elo), defense -0.065 (1468 Elo), 44 matchesAchuapa -- attack -0.225 (1388 Elo), defense -0.120 (1440 Elo), 168 matchesGuastatoya -- attack 0.032 (1516 Elo), defense 0.077 (1539 Elo), 172 matchesMalacateco -- attack -0.098 (1451 Elo), defense 0.066 (1533 Elo), 168 matchesMixco -- attack 0.096 (1548 Elo), defense 0.010 (1505 Elo), 174 matchesAntigua GFC -- attack 0.358 (1679 Elo), defense 0.037 (1518 Elo), 192 matchesAntigua GFCXinabajul -- attack -0.025 (1488 Elo), defense -0.138 (1431 Elo), 120 matchesComunicaciones -- attack -0.015 (1493 Elo), defense 0.062 (1531 Elo), 182 matchesZacapa Tellioz -- attack -0.220 (1390 Elo), defense -0.136 (1432 Elo), 52 matchesCoatepecano IB -- attack -0.116 (1442 Elo), defense -0.123 (1438 Elo), 32 matchesMarquense -- attack -0.137 (1431 Elo), defense -0.063 (1468 Elo), 86 matchesAurora -- attack -0.202 (1399 Elo), defense -0.063 (1468 Elo), 48 matchesMictlán -- attack -0.046 (1477 Elo), defense -0.148 (1426 Elo), 46 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
Municipal0.4310.469171517341.310.53189
Antigua GFC0.3580.037167915181.210.82192
Xelajú0.2610.143163115721.100.74181
Mixco0.0960.010154815050.930.84174
Iztapa0.033-0.171151614150.881.0144
Guastatoya0.0320.077151615390.880.79172
Cobán Imperial0.0110.131150615650.860.74176
Comunicaciones-0.0150.062149315310.840.80182
Xinabajul-0.025-0.138148814310.830.97120
Mictlán-0.046-0.148147714260.810.9846
Malacateco-0.0980.066145115330.770.79168
Santa Lucía-0.106-0.065144714680.760.9144
Coatepecano IB-0.116-0.123144214380.760.9632
Marquense-0.137-0.063143114680.740.9086
Aurora-0.202-0.063139914680.690.9048
Zacapa Tellioz-0.220-0.136139014320.680.9752
Achuapa-0.225-0.120138814400.680.96168

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 — Guatemala - Liga Nacional (200)

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

DateMatchScoreP(over)ActualCall
2026-09-19Comunicaciones v Guastatoya1-267%over
2026-09-15Antigua GFC v Suchitepéquez3-284%over
2026-09-14Municipal v Malacateco2-275%over
2026-09-13Marquense v Deportivo San Pedro0-069%under
2026-09-13Mixco v Aurora3-276%over
2026-09-13Cobán Imperial v Comunicaciones2-266%over
2026-09-13Guastatoya v Xelajú2-171%over
2026-09-11Malacateco v Antigua GFC0-275%over
2026-09-11Xelajú v Cobán Imperial0-079%under
2026-09-10Comunicaciones v Marquense0-271%over
2026-09-10Suchitepéquez v Guastatoya1-170%over
2026-09-10Aurora v Municipal1-263%over
2026-09-09Deportivo San Pedro v Mixco2-075%over
2026-09-06Malacateco v Suchitepéquez2-073%over
2026-09-06Marquense v Xelajú0-472%over
2026-09-06Cobán Imperial v Guastatoya0-171%under
2026-09-06Municipal v Deportivo San Pedro0-076%under
2026-09-05Antigua GFC v Aurora2-183%over
2026-09-05Mixco v Comunicaciones1-174%over
2026-08-31Xelajú v Mixco4-177%over
2026-08-30Comunicaciones v Municipal0-164%under
2026-08-30Deportivo San Pedro v Antigua GFC4-372%over
2026-08-30Aurora v Malacateco1-071%under
2026-08-29Suchitepéquez v Cobán Imperial3-269%over
2026-08-29Guastatoya v Marquense1-272%over
2026-08-24Marquense v Cobán Imperial2-167%over
2026-08-24Malacateco v Deportivo San Pedro2-069%over
2026-08-23Antigua GFC v Comunicaciones2-078%over
2026-08-23Municipal v Xelajú2-074%over
2026-08-23Mixco v Guastatoya4-269%over
2026-08-22Aurora v Suchitepéquez3-268%over
2026-08-19Cobán Imperial v Antigua GFC0-273%over
2026-08-16Comunicaciones v Malacateco4-267%over
2026-08-16Deportivo San Pedro v Aurora2-170%over
2026-08-16Suchitepéquez v Marquense1-268%over
2026-08-15Cobán Imperial v Mixco3-267%over
2026-08-15Guastatoya v Municipal1-065%under
2026-08-09Antigua GFC v Guastatoya2-076%over
2026-08-09Deportivo San Pedro v Suchitepéquez3-067%over
2026-08-09Municipal v Cobán Imperial2-073%over
2026-08-08Malacateco v Xelajú2-268%over
2026-08-08Mixco v Marquense1-073%under
2026-08-08Aurora v Comunicaciones3-162%over
2026-08-04Xelajú v Aurora3-173%over
2026-08-03Marquense v Municipal1-266%over
2026-08-02Comunicaciones v Deportivo San Pedro1-066%under
2026-08-02Guastatoya v Malacateco4-066%over
2026-08-01Mixco v Suchitepéquez2-070%over
2026-07-26Malacateco v Cobán Imperial1-164%over
2026-07-26Suchitepéquez v Comunicaciones0-068%under
2026-07-25Antigua GFC v Marquense3-178%over
2026-07-25Municipal v Mixco2-076%over
2026-07-25Deportivo San Pedro v Xelajú1-070%under
2026-07-25Aurora v Guastatoya0-165%under
2026-05-24Xelajú v Municipal1-269%over
2026-05-17Municipal v Xelajú4-171%over
2026-05-11Xelajú v Comunicaciones2-073%over
2026-05-10Municipal v Mixco5-071%over
2026-05-08Comunicaciones v Xelajú2-265%over
2026-05-06Mixco v Municipal0-264%over
2026-05-04Xelajú v Marquense2-076%over
2026-05-03Comunicaciones v Antigua GFC2-074%over
2026-05-03Municipal v Guastatoya2-070%over
2026-05-02Mixco v Cobán Imperial2-068%over
2026-05-01Guastatoya v Municipal0-164%under
2026-04-30Antigua GFC v Comunicaciones3-277%over
2026-04-30Marquense v Xelajú1-167%over
2026-04-29Cobán Imperial v Mixco2-067%over
2026-04-26Achuapa v Antigua GFC2-270%over
2026-04-26Guastatoya v Marquense4-068%over
2026-04-26Malacateco v Comunicaciones1-062%under
2026-04-26Municipal v Mixco3-069%over
2026-04-26Xelajú v Cobán Imperial2-170%over
2026-04-26Aurora v Mictlán1-169%over
2026-04-21Comunicaciones v Guastatoya1-066%under
2026-04-20Antigua GFC v Malacateco2-177%over
2026-04-19Marquense v Municipal1-358%over
2026-04-19Mixco v Aurora4-069%over
2026-04-19Cobán Imperial v Achuapa3-165%over
2026-04-19Mictlán v Xelajú2-367%over
2026-04-17Malacateco v Cobán Imperial2-060%over
2026-04-17Xelajú v Achuapa3-070%over
2026-04-16Guastatoya v Antigua GFC3-073%over
2026-04-16Municipal v Comunicaciones1-069%under
2026-04-16Mictlán v Mixco2-266%over
2026-04-15Aurora v Marquense0-163%under
2026-04-12Antigua GFC v Municipal1-073%under
2026-04-12Marquense v Mictlán3-065%over
2026-04-12Cobán Imperial v Guastatoya1-167%over
2026-04-12Achuapa v Malacateco1-060%under
2026-04-11Comunicaciones v Aurora1-068%under
2026-04-11Mixco v Xelajú3-163%over
2026-04-07Guastatoya v Achuapa3-164%over
2026-04-07Mixco v Marquense2-166%over
2026-04-06Municipal v Cobán Imperial0-070%under
2026-04-06Xelajú v Malacateco1-071%under
2026-04-05Mictlán v Comunicaciones1-168%over
2026-04-04Aurora v Antigua GFC0-272%over
2026-04-03Malacateco v Guastatoya1-067%under
2026-04-02Antigua GFC v Mictlán8-270%over
2026-04-02Marquense v Xelajú1-063%under
2026-04-02Achuapa v Municipal1-258%over
2026-04-02Comunicaciones v Mixco1-067%under
2026-04-01Cobán Imperial v Aurora0-071%under
2026-03-30Marquense v Comunicaciones1-068%under
2026-03-29Municipal v Malacateco1-076%under
2026-03-29Xelajú v Guastatoya1-174%over
2026-03-29Aurora v Achuapa1-065%under
2026-03-29Mictlán v Cobán Imperial1-064%under
2026-03-28Mixco v Antigua GFC2-168%over
2026-03-24Antigua GFC v Marquense1-078%under
2026-03-23Comunicaciones v Xelajú1-366%over
2026-03-23Malacateco v Aurora1-170%over
2026-03-22Guastatoya v Municipal1-166%over
2026-03-21Cobán Imperial v Mixco1-167%over
2026-03-21Achuapa v Mictlán0-258%over
2026-03-20Comunicaciones v Antigua GFC0-174%under
2026-03-20Xelajú v Municipal3-163%over
2026-03-19Mictlán v Malacateco1-067%under
2026-03-19Marquense v Cobán Imperial3-164%over
2026-03-19Aurora v Guastatoya0-172%under
2026-03-18Mixco v Achuapa1-067%under
2026-03-15Malacateco v Mixco1-267%over
2026-03-15Xelajú v Antigua GFC1-172%over
2026-03-15Cobán Imperial v Comunicaciones2-072%over
2026-03-15Achuapa v Marquense1-263%over
2026-03-15Municipal v Aurora4-172%over
2026-03-14Guastatoya v Mictlán3-164%over
2026-03-11Mictlán v Aurora2-064%over
2026-03-09Antigua GFC v Cobán Imperial2-273%over
2026-03-09Comunicaciones v Achuapa4-064%over
2026-03-08Marquense v Malacateco1-067%under
2026-03-08Aurora v Xelajú0-068%under
2026-03-08Mictlán v Municipal2-157%over
2026-03-07Mixco v Guastatoya1-072%under
2026-03-05Marquense v Guastatoya2-265%over
2026-03-05Antigua GFC v Achuapa1-073%under
2026-03-05Cobán Imperial v Xelajú1-166%over
2026-03-04Comunicaciones v Malacateco3-269%over
2026-03-04Mixco v Municipal1-063%under
2026-03-02Xelajú v Mictlán2-068%over
2026-03-01Municipal v Marquense1-077%under
2026-03-01Malacateco v Antigua GFC2-270%over
2026-03-01Aurora v Mixco1-170%over
2026-03-01Achuapa v Cobán Imperial0-163%under
2026-02-28Guastatoya v Comunicaciones1-365%over
2026-02-26Comunicaciones v Municipal1-064%under
2026-02-26Marquense v Aurora0-071%under
2026-02-26Mixco v Mictlán2-264%over
2026-02-25Antigua GFC v Guastatoya2-076%over
2026-02-25Achuapa v Xelajú0-065%under
2026-02-24Cobán Imperial v Malacateco2-069%over
2026-02-23Xelajú v Mixco2-171%over
2026-02-22Municipal v Antigua GFC4-270%over
2026-02-22Guastatoya v Cobán Imperial2-066%over
2026-02-22Aurora v Comunicaciones2-072%over
2026-02-22Mictlán v Marquense2-164%over
2026-02-21Malacateco v Achuapa1-166%over
2026-02-20Comunicaciones v Mictlán2-161%over
2026-02-20Marquense v Mixco2-164%over
2026-02-19Malacateco v Xelajú1-069%under
2026-02-19Antigua GFC v Aurora2-079%over
2026-02-18Cobán Imperial v Municipal0-066%under
2026-02-17Achuapa v Guastatoya1-067%under
2026-02-16Xelajú v Marquense4-273%over
2026-02-15Municipal v Achuapa1-174%over
2026-02-15Guastatoya v Malacateco1-169%over
2026-02-15Aurora v Cobán Imperial1-076%under
2026-02-15Mictlán v Antigua GFC0-065%under
2026-02-14Mixco v Comunicaciones2-265%over
2026-02-09Antigua GFC v Mixco1-272%over
2026-02-08Guastatoya v Xelajú1-068%under
2026-02-08Cobán Imperial v Mictlán3-166%over
2026-02-07Malacateco v Municipal1-363%over
2026-02-07Achuapa v Aurora2-172%over
2026-02-07Comunicaciones v Marquense2-164%over
2026-02-02Mictlán v Achuapa0-163%under
2026-02-01Xelajú v Comunicaciones2-071%over
2026-02-01Marquense v Antigua GFC1-167%over
2026-02-01Aurora v Malacateco1-075%under
2026-01-31Mixco v Cobán Imperial1-167%over
2026-01-31Municipal v Guastatoya2-175%over
2026-01-30Malacateco v Mictlán2-064%over
2026-01-29Municipal v Xelajú1-070%under
2026-01-29Antigua GFC v Comunicaciones0-178%under
2026-01-28Achuapa v Mixco2-063%over
2026-01-28Guastatoya v Aurora2-274%over
2026-01-27Cobán Imperial v Marquense2-072%over
2026-01-26Antigua GFC v Xelajú1-178%over
2026-01-25Comunicaciones v Cobán Imperial2-365%over
2026-01-25Marquense v Achuapa1-065%under
2026-01-25Aurora v Municipal2-267%over
2026-01-25Mictlán v Guastatoya0-068%under
2026-01-25Mixco v Malacateco1-070%under
2026-01-23Guastatoya v Mixco2-067%over
2026-01-22Malacateco v Marquense2-171%over
2026-01-22Municipal v Mictlán1-268%over
2026-01-21Xelajú v Aurora4-076%over
2026-01-21Cobán Imperial v Antigua GFC5-168%over
2026-01-21Achuapa v Comunicaciones2-361%over