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.

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

Attack (0 = league average)Defense ↑Mazatlán -- attack -0.144 (1428 Elo), defense -0.300 (1350 Elo), 137 matchesPuebla -- attack -0.322 (1339 Elo), defense -0.235 (1382 Elo), 142 matchesGuadalajara Chivas -- attack 0.195 (1598 Elo), defense 0.183 (1591 Elo), 156 matchesGuadalajara ChivasFC Juarez -- attack 0.025 (1513 Elo), defense -0.201 (1400 Elo), 142 matchesNecaxa -- attack -0.045 (1477 Elo), defense -0.134 (1433 Elo), 141 matchesToluca -- attack 0.157 (1578 Elo), defense 0.259 (1630 Elo), 163 matchesTolucaTigres UANL -- attack 0.166 (1583 Elo), defense 0.295 (1647 Elo), 168 matchesTigres UANLCruz Azul -- attack 0.231 (1616 Elo), defense 0.277 (1639 Elo), 164 matchesCruz AzulClub America -- attack 0.088 (1544 Elo), defense 0.242 (1621 Elo), 173 matchesAtlas -- attack -0.205 (1397 Elo), defense 0.005 (1503 Elo), 143 matchesU.N.A.M. - Pumas -- attack 0.192 (1596 Elo), defense 0.125 (1562 Elo), 154 matchesU.N.A.M. - PumasClub Tijuana -- attack -0.002 (1499 Elo), defense 0.109 (1554 Elo), 143 matchesAtletico San Luis -- attack -0.031 (1484 Elo), defense -0.118 (1441 Elo), 148 matchesLeon -- attack -0.158 (1421 Elo), defense -0.225 (1387 Elo), 144 matchesSantos Laguna -- attack -0.168 (1416 Elo), defense -0.304 (1348 Elo), 143 matchesMonterrey -- attack 0.062 (1531 Elo), defense -0.029 (1485 Elo), 164 matchesCF Pachuca -- attack -0.010 (1495 Elo), defense 0.244 (1622 Elo), 156 matchesClub Queretaro -- attack -0.259 (1371 Elo), defense 0.034 (1517 Elo), 137 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
Cruz Azul0.2310.277161616391.530.92164
Guadalajara Chivas0.1950.183159815911.481.01156
U.N.A.M. - Pumas0.1920.125159615621.471.07154
Tigres UANL0.1660.295158316471.440.91168
Toluca0.1570.259157816301.420.94163
Club America0.0880.242154416211.330.95173
Monterrey0.062-0.029153114851.291.25164
FC Juarez0.025-0.201151314001.251.49142
Club Tijuana-0.0020.109149915541.211.09143
CF Pachuca-0.0100.244149516221.200.95156
Atletico San Luis-0.031-0.118148414411.181.37148
Necaxa-0.045-0.134147714331.161.39141
Mazatlán-0.144-0.300142813501.051.64137
Leon-0.158-0.225142113871.041.52144
Santos Laguna-0.168-0.304141613481.031.65143
Atlas-0.2050.005139715030.991.21143
Club Queretaro-0.2590.034137115170.941.18137
Puebla-0.322-0.235133913820.881.54142

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 — Mexico - Liga MX (239)

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

DateMatchScoreP(over)ActualCall
2026-09-19Puebla v Atlante FC1-172%over
2026-09-19FC Juarez v Tigres UANL2-079%over
2026-09-16Puebla v Toluca0-176%under
2026-09-15Leon v Atletico San Luis2-079%over
2026-09-14Santos Laguna v FC Juarez2-182%over
2026-09-14Guadalajara Chivas v U.N.A.M. - Pumas3-078%over
2026-09-13Monterrey v Tigres UANL0-079%under
2026-09-13Cruz Azul v Club America4-373%over
2026-09-12Necaxa v Puebla0-179%under
2026-09-12Atlante FC v CF Pachuca0-370%over
2026-09-12Club Tijuana v Club Queretaro0-172%under
2026-09-12Toluca v Atlas5-275%over
2026-09-11U.N.A.M. - Pumas v Leon3-179%over
2026-09-06Tigres UANL v Necaxa1-180%over
2026-09-06Atlas v Atlante FC1-172%over
2026-09-06Cruz Azul v Santos Laguna1-084%under
2026-09-05FC Juarez v CF Pachuca0-279%over
2026-09-05Atletico San Luis v Guadalajara Chivas0-378%over
2026-08-31Toluca v FC Juarez4-085%over
2026-08-31Monterrey v Atletico San Luis1-383%over
2026-08-30Club America v Puebla2-078%over
2026-08-30Santos Laguna v Tigres UANL0-081%under
2026-08-29Necaxa v Cruz Azul1-380%over
2026-08-29Atlante FC v Leon1-176%over
2026-08-29Club Tijuana v U.N.A.M. - Pumas2-077%over
2026-08-29Atlas v Club Queretaro1-368%over
2026-08-29CF Pachuca v Guadalajara Chivas1-173%over
2026-08-24U.N.A.M. - Pumas v Necaxa1-183%over
2026-08-23Puebla v Santos Laguna3-277%over
2026-08-23Cruz Azul v Atlas0-278%over
2026-08-23Atletico San Luis v CF Pachuca1-175%over
2026-08-22Tigres UANL v Atlante FC2-078%over
2026-08-22Leon v Monterrey2-081%over
2026-08-22Club Queretaro v Toluca1-268%over
2026-08-22FC Juarez v Club America1-280%over
2026-08-22Guadalajara Chivas v Club Tijuana5-271%over
2026-08-18Necaxa v Leon1-280%over
2026-08-18CF Pachuca v Puebla2-372%over
2026-08-17Santos Laguna v Guadalajara Chivas0-178%under
2026-08-17Club Tijuana v Cruz Azul2-175%over
2026-08-16Monterrey v FC Juarez6-184%over
2026-08-16Atlas v Tigres UANL2-174%over
2026-08-16U.N.A.M. - Pumas v Club Queretaro0-079%under
2026-08-16Club America v Atletico San Luis3-077%over
2026-08-15Atlante FC v Toluca0-076%under
2026-08-03Toluca v Necaxa3-179%over
2026-08-02Leon v CF Pachuca1-075%under
2026-08-02Atlas v Monterrey0-276%over
2026-08-02Cruz Azul v Atlante FC2-380%over
2026-08-02Club America v Santos Laguna3-080%over
2026-08-01Puebla v Guadalajara Chivas1-173%over
2026-08-01FC Juarez v U.N.A.M. - Pumas1-580%over
2026-08-01Atletico San Luis v Club Tijuana0-078%under
2026-08-01Club Queretaro v Tigres UANL3-271%over
2026-07-27CF Pachuca v Club Queretaro1-270%over
2026-07-26Tigres UANL v Atletico San Luis2-281%over
2026-07-26Santos Laguna v Atlas0-178%under
2026-07-26Necaxa v Monterrey2-181%over
2026-07-25Club Tijuana v Leon1-081%under
2026-07-25Atlante FC v Club America1-173%over
2026-07-25Guadalajara Chivas v FC Juarez1-081%under
2026-07-22Cruz Azul v Puebla2-180%over
2026-07-22Toluca v U.N.A.M. - Pumas1-277%over
2026-07-19Monterrey v Santos Laguna3-283%over
2026-07-19Guadalajara Chivas v Toluca0-276%over
2026-07-19Club Queretaro v Club America0-169%under
2026-07-18Leon v Atlas2-375%over
2026-07-18Atletico San Luis v Cruz Azul2-378%over
2026-07-18FC Juarez v Puebla0-181%under
2026-07-18U.N.A.M. - Pumas v CF Pachuca0-374%over
2026-07-17Necaxa v Atlante FC2-178%over
2026-07-17Club Tijuana v Tigres UANL3-173%over
2026-05-25U.N.A.M. - Pumas v Cruz Azul1-277%over
2026-05-22Cruz Azul v U.N.A.M. - Pumas0-082%under
2026-05-18U.N.A.M. - Pumas v CF Pachuca1-077%under
2026-05-17Guadalajara Chivas v Cruz Azul1-278%over
2026-05-15CF Pachuca v U.N.A.M. - Pumas1-079%under
2026-05-14Cruz Azul v Guadalajara Chivas2-277%over
2026-05-11U.N.A.M. - Pumas v Club America3-375%over
2026-05-10Guadalajara Chivas v Tigres UANL2-074%over
2026-05-10Cruz Azul v Atlas1-079%under
2026-05-10CF Pachuca v Toluca2-071%over
2026-05-04Toluca v CF Pachuca0-176%under
2026-05-03Tigres UANL v Guadalajara Chivas3-173%over
2026-05-03Atlas v Cruz Azul2-372%over
2026-05-03Club America v U.N.A.M. - Pumas3-371%over
2026-04-27Cruz Azul v Necaxa4-180%over
2026-04-26Toluca v Leon4-182%over
2026-04-26Guadalajara Chivas v Club Tijuana0-079%under
2026-04-26FC Juarez v Atletico San Luis2-184%over
2026-04-26Club America v Atlas0-170%under
2026-04-26Santos Laguna v Monterrey3-083%over
2026-04-25Puebla v Club Queretaro1-266%over
2026-04-25Tigres UANL v Mazatlán5-180%over
2026-04-25CF Pachuca v U.N.A.M. - Pumas0-277%over
2026-04-23Atlas v Tigres UANL0-071%under
2026-04-23Atletico San Luis v Santos Laguna2-086%over
2026-04-23Mazatlán v Toluca4-374%over
2026-04-23Club Tijuana v CF Pachuca3-172%over
2026-04-23Necaxa v Guadalajara Chivas0-083%under
2026-04-22U.N.A.M. - Pumas v FC Juarez4-284%over
2026-04-22Club Queretaro v Cruz Azul1-169%over
2026-04-22Monterrey v Puebla2-182%over
2026-04-22Leon v Club America2-368%over
2026-04-19Monterrey v CF Pachuca1-375%over
2026-04-19Guadalajara Chivas v Puebla5-081%over
2026-04-19Leon v FC Juarez3-178%over
2026-04-19Club America v Toluca2-161%over
2026-04-19Santos Laguna v Atlas0-180%under
2026-04-18Atletico San Luis v U.N.A.M. - Pumas0-282%over
2026-04-18Mazatlán v Club Queretaro1-169%over
2026-04-18Necaxa v Tigres UANL1-177%over
2026-04-18Cruz Azul v Club Tijuana1-178%over
2026-04-13Toluca v Atletico San Luis1-182%over
2026-04-12Atlas v Monterrey0-080%under
2026-04-12CF Pachuca v Santos Laguna4-280%over
2026-04-12Club America v Cruz Azul1-167%over
2026-04-12U.N.A.M. - Pumas v Mazatlán3-181%over
2026-04-11Puebla v Leon0-174%under
2026-04-11FC Juarez v Club Tijuana1-279%over
2026-04-11Tigres UANL v Guadalajara Chivas4-172%over
2026-04-11Club Queretaro v Necaxa3-171%over
2026-04-08Club Queretaro v FC Juarez1-173%over
2026-04-06Guadalajara Chivas v U.N.A.M. - Pumas2-278%over
2026-04-05Cruz Azul v CF Pachuca1-273%over
2026-04-05Leon v Atlas2-077%over
2026-04-05Santos Laguna v Club America1-175%over
2026-04-04Puebla v FC Juarez1-179%over
2026-04-04Necaxa v Mazatlán2-180%over
2026-04-04Club Tijuana v Tigres UANL1-073%under
2026-04-04Monterrey v Atletico San Luis1-287%over
2026-04-04Club Queretaro v Toluca1-069%under
2026-03-23FC Juarez v Tigres UANL2-177%over
2026-03-22Atletico San Luis v Leon1-284%over
2026-03-22Monterrey v Guadalajara Chivas2-378%over
2026-03-22U.N.A.M. - Pumas v Club America1-070%under
2026-03-22Santos Laguna v Puebla2-179%over
2026-03-22CF Pachuca v Toluca1-168%over
2026-03-21Necaxa v Club Tijuana3-079%over
2026-03-21Mazatlán v Cruz Azul1-179%over
2026-03-21Atlas v Club Queretaro0-075%under
2026-03-19Guadalajara Chivas v Leon5-078%over
2026-03-16Club America v Mazatlán2-076%over
2026-03-15Toluca v Atlas1-185%over
2026-03-15Leon v Club Tijuana0-375%over
2026-03-15U.N.A.M. - Pumas v Cruz Azul2-276%over
2026-03-15Tigres UANL v Club Queretaro0-079%under
2026-03-14Puebla v Necaxa0-081%under
2026-03-14FC Juarez v Monterrey2-282%over
2026-03-14Atletico San Luis v CF Pachuca1-177%over
2026-03-14Guadalajara Chivas v Santos Laguna3-084%over
2026-03-09Club Tijuana v Santos Laguna1-284%over
2026-03-08Atlas v Guadalajara Chivas1-277%over
2026-03-08CF Pachuca v Puebla2-175%over
2026-03-08Tigres UANL v Monterrey1-080%under
2026-03-08Toluca v FC Juarez3-183%over
2026-03-07Mazatlán v Leon4-271%over
2026-03-07Necaxa v U.N.A.M. - Pumas0-183%under
2026-03-07Club Queretaro v Club America1-266%over
2026-03-07Cruz Azul v Atletico San Luis3-085%over
2026-03-05Monterrey v Club Queretaro4-079%over
2026-03-05Puebla v Tigres UANL3-177%over
2026-03-05Atlas v Club Tijuana2-179%over
2026-03-05Club America v FC Juarez1-276%over
2026-03-04Santos Laguna v Cruz Azul1-284%over
2026-03-04CF Pachuca v Necaxa2-179%over
2026-03-04Atletico San Luis v Mazatlán4-179%over
2026-03-04U.N.A.M. - Pumas v Toluca2-372%over
2026-03-01Monterrey v Cruz Azul0-280%over
2026-03-01Leon v Necaxa2-179%over
2026-03-01Club America v Tigres UANL1-464%over
2026-02-28Club Queretaro v Santos Laguna2-277%over
2026-02-28Mazatlán v CF Pachuca1-070%under
2026-02-28FC Juarez v Atlas3-182%over
2026-02-28Club Tijuana v U.N.A.M. - Pumas1-177%over
2026-02-28Toluca v Guadalajara Chivas2-072%over
2026-02-28Atletico San Luis v Puebla0-185%under
2026-02-22Necaxa v Toluca0-378%over
2026-02-22Leon v Santos Laguna2-178%over
2026-02-22Cruz Azul v Guadalajara Chivas2-174%over
2026-02-22Club Tijuana v Mazatlán1-179%over
2026-02-22U.N.A.M. - Pumas v Monterrey2-081%over
2026-02-21Tigres UANL v CF Pachuca1-271%over
2026-02-21Puebla v Club America0-467%over
2026-02-21Atlas v Atletico San Luis3-283%over
2026-02-15Monterrey v Leon1-084%under
2026-02-15FC Juarez v Necaxa1-285%over
2026-02-15Guadalajara Chivas v Club America1-064%under
2026-02-15Cruz Azul v Tigres UANL2-172%over
2026-02-15Santos Laguna v Mazatlán1-279%over
2026-02-14Puebla v U.N.A.M. - Pumas2-374%over
2026-02-14Toluca v Club Tijuana1-079%under
2026-02-14CF Pachuca v Atlas3-173%over
2026-02-14Atletico San Luis v Club Queretaro3-077%over
2026-02-08Atlas v U.N.A.M. - Pumas2-275%over
2026-02-08CF Pachuca v FC Juarez2-076%over
2026-02-08Club America v Monterrey1-075%under
2026-02-07Tigres UANL v Santos Laguna5-181%over
2026-02-07Necaxa v Atletico San Luis4-185%over
2026-02-07Club Tijuana v Puebla0-084%under
2026-02-07Mazatlán v Guadalajara Chivas1-273%over
2026-02-07Toluca v Cruz Azul1-175%over
2026-02-07Club Queretaro v Leon2-070%over
2026-02-01Monterrey v Club Tijuana2-287%over
2026-02-01Leon v Tigres UANL1-269%over
2026-02-01Club Queretaro v CF Pachuca0-069%under
2026-01-31Puebla v Toluca0-081%under
2026-01-31U.N.A.M. - Pumas v Santos Laguna4-079%over
2026-01-31FC Juarez v Cruz Azul3-475%over
2026-01-31Club America v Necaxa2-078%over
2026-01-31Atlas v Mazatlán1-078%under
2026-01-31Atletico San Luis v Guadalajara Chivas2-375%over
2026-01-19CF Pachuca v Club America0-067%under
2026-01-18Tigres UANL v Toluca0-072%under
2026-01-18Cruz Azul v Puebla1-085%under
2026-01-18Club Tijuana v Atletico San Luis1-185%over
2026-01-18U.N.A.M. - Pumas v Leon1-175%over
2026-01-18Santos Laguna v FC Juarez2-277%over
2026-01-17Mazatlán v Monterrey1-579%over
2026-01-17Necaxa v Atlas0-186%under
2026-01-17Guadalajara Chivas v Club Queretaro2-172%over
2026-01-15Club Queretaro v Club Tijuana1-277%over
2026-01-15Club America v Atletico San Luis0-279%over
2026-01-15Tigres UANL v U.N.A.M. - Pumas0-177%under
2026-01-15Toluca v Santos Laguna3-185%over
2026-01-14Necaxa v Monterrey0-288%over
2026-01-14CF Pachuca v Leon2-174%over
2026-01-14FC Juarez v Guadalajara Chivas0-174%under
2026-01-14Cruz Azul v Atlas2-084%over
2026-01-13Puebla v Mazatlán2-177%over
2026-01-12Atletico San Luis v Tigres UANL1-278%over
2026-01-11Santos Laguna v Necaxa1-383%over
2026-01-11Leon v Cruz Azul2-175%over
2026-01-11Monterrey v Toluca0-184%under
2026-01-11U.N.A.M. - Pumas v Club Queretaro1-175%over
2026-01-10Mazatlán v FC Juarez1-274%over
2026-01-10Club Tijuana v Club America0-078%under
2026-01-10Atlas v Puebla1-086%under
2026-01-10Guadalajara Chivas v CF Pachuca2-073%over