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.

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

Attack (0 = league average)Defense ↑Deportivo La Guaira -- attack 0.251 (1625 Elo), defense 0.257 (1628 Elo), 140 matchesDeportivo La GuairaMetropolitanos FC -- attack 0.157 (1578 Elo), defense -0.174 (1413 Elo), 136 matchesPuerto Cabello -- attack -0.027 (1486 Elo), defense 0.286 (1643 Elo), 140 matchesPuerto CabelloPortuguesa FC -- attack -0.123 (1438 Elo), defense -0.116 (1442 Elo), 134 matchesUCV -- attack 0.248 (1624 Elo), defense 0.053 (1527 Elo), 125 matchesUCVCarabobo FC -- attack 0.046 (1523 Elo), defense 0.462 (1731 Elo), 147 matchesCarabobo FCCD Hermanos Colmenarez -- attack -0.162 (1419 Elo), defense -0.177 (1411 Elo), 96 matchesZamora FC -- attack -0.159 (1420 Elo), defense 0.022 (1511 Elo), 127 matchesMineros de Guyana -- attack -0.045 (1477 Elo), defense -0.206 (1397 Elo), 58 matchesMonagas SC -- attack 0.123 (1561 Elo), defense -0.127 (1437 Elo), 129 matchesCaracas FC -- attack 0.008 (1504 Elo), defense 0.045 (1523 Elo), 135 matchesAragua FC -- attack -0.018 (1491 Elo), defense -0.094 (1453 Elo), 30 matchesEstudiantes de Merida FC -- attack -0.062 (1469 Elo), defense -0.136 (1432 Elo), 122 matchesDeportivo Tachira FC -- attack 0.263 (1632 Elo), defense 0.326 (1663 Elo), 145 matchesDeportivo Tachira FCZulia FC -- attack -0.046 (1477 Elo), defense -0.047 (1476 Elo), 30 matchesDeportivo Lara -- attack -0.024 (1488 Elo), defense 0.007 (1503 Elo), 36 matchesAngostura FC -- attack -0.055 (1472 Elo), defense -0.120 (1440 Elo), 60 matchesRayo Zuliano -- attack -0.101 (1449 Elo), defense -0.128 (1436 Elo), 86 matchesAnzoátegui FC -- attack -0.054 (1473 Elo), defense -0.044 (1478 Elo), 32 matchesYaracuyanos FC -- attack -0.118 (1441 Elo), defense -0.188 (1406 Elo), 26 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
Deportivo Tachira FC0.2630.326163216631.360.76145
Deportivo La Guaira0.2510.257162516281.350.81140
UCV0.2480.053162415271.340.99125
Metropolitanos FC0.157-0.174157814131.231.25136
Monagas SC0.123-0.127156114371.191.19129
Carabobo FC0.0460.462152317311.100.66147
Caracas FC0.0080.045150415231.061.00135
Aragua FC-0.018-0.094149114531.031.1530
Deportivo Lara-0.0240.007148815031.021.0436
Puerto Cabello-0.0270.286148616431.020.79140
Mineros de Guyana-0.045-0.206147713971.001.2958
Zulia FC-0.046-0.047147714761.001.1030
Anzoátegui FC-0.054-0.044147314780.991.1032
Angostura FC-0.055-0.120147214400.991.1860
Estudiantes de Merida FC-0.062-0.136146914320.991.20122
Rayo Zuliano-0.101-0.128144914360.951.1986
Yaracuyanos FC-0.118-0.188144114060.931.2726
Portuguesa FC-0.123-0.116143814420.931.18134
Zamora FC-0.1590.022142015110.891.03127
CD Hermanos Colmenarez-0.162-0.177141914110.891.2596

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 — Venezuela - Primera Division (185)

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

DateMatchScoreP(over)ActualCall
2026-09-16Portuguesa FC v Estudiantes de Merida FC2-167%over
2026-09-16Monagas SC v Zamora FC1-073%under
2026-09-16Trujillanos FC v Rayo Zuliano2-478%over
2026-09-16Metropolitanos FC v Caracas FC3-070%over
2026-09-15Carabobo FC v Deportivo La Guaira1-063%under
2026-09-15Deportivo Tachira FC v Puerto Cabello1-167%over
2026-09-15UCV v Anzoátegui FC1-081%under
2026-09-13Rayo Zuliano v Portuguesa FC1-176%over
2026-09-13Zamora FC v Trujillanos FC1-269%over
2026-09-13Caracas FC v Monagas SC0-173%under
2026-09-12Anzoátegui FC v Metropolitanos FC0-276%over
2026-09-12Estudiantes de Merida FC v Deportivo Tachira FC2-070%over
2026-09-12Deportivo La Guaira v UCV0-275%over
2026-09-12Puerto Cabello v Carabobo FC0-261%over
2026-09-07Carabobo FC v Estudiantes de Merida FC1-070%under
2026-09-07UCV v Puerto Cabello0-074%under
2026-09-06Monagas SC v Metropolitanos FC0-178%under
2026-09-06Trujillanos FC v Caracas FC0-170%under
2026-09-06Deportivo Tachira FC v Rayo Zuliano3-184%over
2026-09-06Deportivo La Guaira v Anzoátegui FC2-079%over
2026-09-05Portuguesa FC v Zamora FC1-169%over
2026-09-03Rayo Zuliano v Carabobo FC4-371%over
2026-09-03Anzoátegui FC v Monagas SC1-378%over
2026-09-03Estudiantes de Merida FC v UCV1-178%over
2026-09-03Metropolitanos FC v Trujillanos FC4-175%over
2026-09-03Puerto Cabello v Deportivo La Guaira1-164%over
2026-09-02Zamora FC v Deportivo Tachira FC2-563%over
2026-09-02Caracas FC v Portuguesa FC1-168%over
2026-08-31UCV v Rayo Zuliano4-181%over
2026-08-31Puerto Cabello v Anzoátegui FC3-073%over
2026-08-30Trujillanos FC v Monagas SC3-172%over
2026-08-30Deportivo Tachira FC v Caracas FC0-073%under
2026-08-30Portuguesa FC v Metropolitanos FC2-268%over
2026-08-30Carabobo FC v Zamora FC0-067%under
2026-08-30Deportivo La Guaira v Estudiantes de Merida FC1-273%over
2026-08-23Monagas SC v Portuguesa FC0-075%under
2026-08-22Rayo Zuliano v Deportivo La Guaira1-469%over
2026-08-22Zamora FC v UCV2-074%over
2026-08-22Estudiantes de Merida FC v Puerto Cabello1-167%over
2026-08-22Metropolitanos FC v Deportivo Tachira FC3-167%over
2026-08-21Anzoátegui FC v Trujillanos FC0-076%under
2026-08-21Caracas FC v Carabobo FC1-167%over
2026-08-16Deportivo Tachira FC v Monagas SC3-275%over
2026-08-16Deportivo La Guaira v Zamora FC6-159%over
2026-08-16Carabobo FC v Metropolitanos FC1-069%under
2026-08-15Estudiantes de Merida FC v Anzoátegui FC1-078%under
2026-08-15UCV v Caracas FC0-181%under
2026-08-15Portuguesa FC v Trujillanos FC1-076%under
2026-08-15Puerto Cabello v Rayo Zuliano2-072%over
2026-08-10Rayo Zuliano v Estudiantes de Merida FC3-072%over
2026-08-10Caracas FC v Deportivo La Guaira1-264%over
2026-08-09Anzoátegui FC v Portuguesa FC3-471%over
2026-08-09Zamora FC v Puerto Cabello0-162%under
2026-08-09Trujillanos FC v Deportivo Tachira FC1-368%over
2026-08-09Metropolitanos FC v UCV2-178%over
2026-08-08Monagas SC v Carabobo FC1-074%under
2026-08-06Rayo Zuliano v Anzoátegui FC0-177%under
2026-08-06Estudiantes de Merida FC v Zamora FC1-067%under
2026-08-06Puerto Cabello v Caracas FC3-168%over
2026-08-05Deportivo La Guaira v Metropolitanos FC1-262%over
2026-08-04Carabobo FC v Trujillanos FC2-076%over
2026-08-04UCV v Monagas SC2-184%over
2026-08-04Deportivo Tachira FC v Portuguesa FC1-067%under
2026-08-03Caracas FC v Estudiantes de Merida FC2-271%over
2026-08-02Zamora FC v Rayo Zuliano2-169%over
2026-08-02Metropolitanos FC v Puerto Cabello2-165%over
2026-08-01Monagas SC v Deportivo La Guaira1-266%over
2026-08-01Trujillanos FC v UCV2-080%over
2026-07-31Portuguesa FC v Carabobo FC1-069%under
2026-06-07Carabobo FC v Puerto Cabello2-166%over
2026-05-31Deportivo La Guaira v Puerto Cabello0-258%over
2026-05-31Deportivo Tachira FC v Estudiantes de Merida FC1-073%under
2026-05-31Metropolitanos FC v Carabobo FC1-562%over
2026-05-30UCV v Portuguesa FC2-377%over
2026-05-24Carabobo FC v Deportivo Tachira FC1-164%over
2026-05-24Estudiantes de Merida FC v Metropolitanos FC0-170%under
2026-05-23Portuguesa FC v Deportivo La Guaira0-259%over
2026-05-23Puerto Cabello v UCV2-173%over
2026-05-17Estudiantes de Merida FC v Carabobo FC0-270%over
2026-05-17Portuguesa FC v Puerto Cabello1-065%under
2026-05-17Metropolitanos FC v Deportivo Tachira FC0-166%under
2026-05-15Deportivo La Guaira v UCV0-073%under
2026-05-13Carabobo FC v Estudiantes de Merida FC1-074%under
2026-05-13Puerto Cabello v Portuguesa FC2-165%over
2026-05-12Deportivo Tachira FC v Metropolitanos FC1-168%over
2026-05-12UCV v Deportivo La Guaira1-172%over
2026-05-10UCV v Puerto Cabello3-173%over
2026-05-10Deportivo Tachira FC v Carabobo FC3-164%over
2026-05-09Deportivo La Guaira v Portuguesa FC1-164%over
2026-05-08Metropolitanos FC v Estudiantes de Merida FC2-074%over
2026-05-03Puerto Cabello v Deportivo La Guaira1-157%over
2026-05-03Carabobo FC v Metropolitanos FC0-070%under
2026-05-02Estudiantes de Merida FC v Deportivo Tachira FC2-171%over
2026-05-02Portuguesa FC v UCV1-178%over
2026-04-26Metropolitanos FC v Estudiantes de Merida FC2-076%over
2026-04-25Deportivo Tachira FC v Carabobo FC2-164%over
2026-04-25Caracas FC v Rayo Zuliano2-173%over
2026-04-25Monagas SC v Puerto Cabello1-170%over
2026-04-25Portuguesa FC v UCV3-078%over
2026-04-25Anzoátegui FC v Zamora FC1-170%over
2026-04-25Trujillanos FC v Deportivo La Guaira0-168%under
2026-04-21Puerto Cabello v Trujillanos FC3-169%over
2026-04-20Zamora FC v Caracas FC1-165%over
2026-04-20Carabobo FC v Anzoátegui FC6-368%over
2026-04-20Deportivo La Guaira v Portuguesa FC0-070%under
2026-04-19Estudiantes de Merida FC v Monagas SC3-278%over
2026-04-19UCV v Deportivo Tachira FC1-176%over
2026-04-18Rayo Zuliano v Metropolitanos FC0-175%under
2026-04-12Carabobo FC v UCV4-269%over
2026-04-12Trujillanos FC v Estudiantes de Merida FC0-275%over
2026-04-12Caracas FC v Anzoátegui FC1-369%over
2026-04-11Portuguesa FC v Puerto Cabello3-063%over
2026-04-11Monagas SC v Rayo Zuliano3-077%over
2026-04-11Metropolitanos FC v Zamora FC0-071%under
2026-04-10Deportivo Tachira FC v Deportivo La Guaira2-359%over
2026-04-05Estudiantes de Merida FC v Portuguesa FC2-174%over
2026-04-04Rayo Zuliano v Trujillanos FC3-173%over
2026-04-04Zamora FC v Monagas SC2-171%over
2026-04-04Puerto Cabello v Deportivo Tachira FC1-257%over
2026-04-03Anzoátegui FC v UCV2-373%over
2026-04-03Caracas FC v Metropolitanos FC1-074%under
2026-04-02Deportivo La Guaira v Carabobo FC1-154%over
2026-03-23Carabobo FC v Puerto Cabello1-154%over
2026-03-23Metropolitanos FC v Anzoátegui FC2-075%over
2026-03-22Trujillanos FC v Zamora FC0-367%over
2026-03-22Deportivo Tachira FC v Estudiantes de Merida FC1-072%under
2026-03-22Portuguesa FC v Rayo Zuliano1-174%over
2026-03-22Monagas SC v Caracas FC1-173%over
2026-03-21UCV v Deportivo La Guaira0-171%under
2026-03-18Rayo Zuliano v Deportivo Tachira FC0-072%under
2026-03-18Estudiantes de Merida FC v Carabobo FC3-261%over
2026-03-18Zamora FC v Portuguesa FC0-267%over
2026-03-18Metropolitanos FC v Monagas SC1-082%under
2026-03-17Anzoátegui FC v Deportivo La Guaira0-066%under
2026-03-17Puerto Cabello v UCV3-068%over
2026-03-17Caracas FC v Trujillanos FC4-266%over
2026-03-15Carabobo FC v Rayo Zuliano5-062%over
2026-03-15Deportivo Tachira FC v Zamora FC2-165%over
2026-03-14Trujillanos FC v Metropolitanos FC0-176%under
2026-03-14UCV v Estudiantes de Merida FC1-183%over
2026-03-14Portuguesa FC v Caracas FC1-169%over
2026-03-14Monagas SC v Anzoátegui FC1-077%under
2026-03-13Deportivo La Guaira v Puerto Cabello0-062%under
2026-03-08Anzoátegui FC v Puerto Cabello0-166%under
2026-03-08Rayo Zuliano v UCV1-575%over
2026-03-08Metropolitanos FC v Portuguesa FC3-276%over
2026-03-08Monagas SC v Trujillanos FC3-174%over
2026-03-07Zamora FC v Carabobo FC0-055%under
2026-03-07Caracas FC v Deportivo Tachira FC0-166%under
2026-03-06Estudiantes de Merida FC v Deportivo La Guaira0-173%under
2026-03-01Deportivo Tachira FC v Metropolitanos FC0-178%under
2026-03-01Trujillanos FC v Anzoátegui FC1-172%over
2026-03-01Deportivo La Guaira v Rayo Zuliano1-073%under
2026-02-28UCV v Zamora FC2-174%over
2026-02-28Carabobo FC v Caracas FC0-061%under
2026-02-27Portuguesa FC v Monagas SC4-073%over
2026-02-27Puerto Cabello v Estudiantes de Merida FC1-270%over
2026-02-23Zamora FC v Deportivo La Guaira1-167%over
2026-02-23Anzoátegui FC v Estudiantes de Merida FC0-376%over
2026-02-22Trujillanos FC v Portuguesa FC2-266%over
2026-02-22Caracas FC v UCV1-273%over
2026-02-22Monagas SC v Deportivo Tachira FC2-370%over
2026-02-21Rayo Zuliano v Puerto Cabello2-164%over
2026-02-20Metropolitanos FC v Carabobo FC1-167%over
2026-02-14Deportivo La Guaira v Caracas FC2-072%over
2026-02-14Deportivo Tachira FC v Trujillanos FC0-071%under
2026-02-14Portuguesa FC v Anzoátegui FC0-369%over
2026-02-14Puerto Cabello v Zamora FC2-062%over
2026-02-13Estudiantes de Merida FC v Rayo Zuliano1-274%over
2026-02-13Carabobo FC v Monagas SC1-067%under
2026-02-13UCV v Metropolitanos FC3-280%over
2026-02-08Trujillanos FC v Carabobo FC1-159%over
2026-02-08Metropolitanos FC v Deportivo La Guaira2-274%over
2026-02-07Zamora FC v Estudiantes de Merida FC3-268%over
2026-02-07Caracas FC v Puerto Cabello1-163%over
2026-02-07Monagas SC v UCV0-376%over
2026-02-06Portuguesa FC v Deportivo Tachira FC1-068%under
2026-02-06Anzoátegui FC v Rayo Zuliano1-370%over
2026-02-01Estudiantes de Merida FC v Caracas FC2-270%over
2026-02-01UCV v Trujillanos FC2-074%over
2026-01-31Rayo Zuliano v Zamora FC0-166%under
2026-01-31Carabobo FC v Portuguesa FC0-065%under
2026-01-31Deportivo La Guaira v Monagas SC2-076%over
2026-01-30Puerto Cabello v Metropolitanos FC1-171%over
2026-01-29Deportivo Tachira FC v Anzoátegui FC3-171%over