projects 06.06.26 · 25 MIN

Predicción de Resultados del Mundial 2026 con XGBoost (v4)

Introducción

La predicción de resultados de partidos de fútbol es un problema clásico que combina dificultades estadísticas (alta varianza, baja frecuencia de goles) con un interés práctico considerable. El fútbol de selecciones nacionales añade complejidades propias: los equipos disputan relativamente pocos encuentros al año, la composición de los planteles cambia entre torneos, y la calidad de los rivales es muy heterogénea.

Este trabajo aborda dos tareas predictivas sobre partidos de selecciones:

  1. Clasificación del resultado en tres clases: victoria local (H), empate (D) y victoria visitante (A).

  2. Regresión del marcador, prediciendo el número de goles de cada equipo mediante una verosimilitud de Poisson.

Nuestras contribuciones son: (1) un pipeline reproducible de construcción de variables sin fuga temporal; (2) la integración de expected goals, de las fuerzas latentes de un modelo Dixon–Coles y de un sistema Elo calibrado como variables predictoras; (3) una comparación rigurosa de cuatro familias de modelos sobre una partición temporal; (4) un protocolo de prueba fija que permite comparar de forma justa configuraciones entrenadas sobre ventanas de datos distintas, con el que documentamos qué refinamientos mejoran el modelo y cuáles no; (5) un análisis crítico de por qué el ensamblado no aporta mejora y de dónde reside el techo de rendimiento; y (6) un modelo bayesiano jerárquico con término de altitud que, vía muestreo del posterior, habilita la simulación del torneo y la cuantificación de incertidumbre.

Trabajo relacionado

El modelo de Dixon y Coles (Dixon & Coles, 1997) es el referente estadístico para marcadores de fútbol: modela los goles de local y visitante como variables de Poisson dependientes de parámetros de ataque y defensa por equipo, con una corrección para los marcadores bajos y un factor de ventaja de localía. Trabajos posteriores con redes neuronales en TensorFlow han abordado la clasificación H/D/A a partir de estadísticas de forma reciente (Carter, 2018), alcanzando accuracies en torno al 51 % en la Premier League y explorando estrategias de apuestas frente a las cuotas de bookmakers. El modelo bayesiano jerárquico de Baio y Blangiardo (Baio & Blangiardo, 2010) es la referencia para estimar las fuerzas de ataque y defensa con partial pooling: los priors compartidos encogen a los equipos con pocos partidos hacia la media poblacional, algo especialmente valioso en selecciones nacionales. Enfoques bayesianos con TensorFlow Probability (Ramacciotti, 2017) estiman de forma análoga las distribuciones posteriores de dichas tasas, cuantificando la incertidumbre. En el dominio contiguo de valoración de jugadores, se han empleado redes densas con tuning automático de hiperparámetros (Andreas & Gracia, 2025). El gradient boosting sobre árboles, y en particular XGBoost (Chen & Guestrin, 2016), es el estándar de facto para datos tabulares y constituye nuestra línea base principal.

Datos

Fuentes

Partimos del conjunto histórico de resultados internacionales (martj42), que cubre partidos de selecciones desde 1872. Lo enriquecemos con:

  • Datos de eventos de StatsBomb (CC BY-NC 4.0): 263 partidos de los Mundiales 2018 y 2022, Eurocopa 2024, Copa América 2024 y Copa Africana 2023, con expected goals a nivel de disparo.

  • OpenLigaDB (ODbL): partidos de Eurocopa 2024, Copa América 2024 y Nations League 2024/25.

  • Rankings ponderados por recencia y ratings Elo derivados del histórico.

  • Altitud de la ciudad-sede habitual de cada selección y de las 16 sedes del Mundial 2026 (datos climatológicos por estación), usada por el modelo bayesiano para el término de altitud.

Ventana temporal

La versión inicial de este trabajo entrenaba sobre los partidos desde 2022. Tras el proceso de refinamiento (Sección 5.2) ampliamos la ventana a 2018–2026, duplicando el volumen de entrenamiento. Es importante notar que el estado dinámico de cada selección (Elo, estadísticas de forma) se calienta procesando todo el histórico FIFA disponible, de modo que las variables de los partidos emitidos desde 2018 ya parten de un estado consistente. El conjunto final contiene 7.806 partidos entre selecciones afiliadas a FIFA.

Filtrado a selecciones FIFA

Un aspecto crítico fue depurar el conjunto. El histórico incluye equipos no afiliados a FIFA: selecciones CONIFA (micronaciones), regiones (Cataluña, País Vasco), e islas y territorios (Groenlandia, Isla de Man, Malvinas). Estos equipos no disputarán el Mundial y distorsionan las estadísticas agregadas (p. ej., goleadas que inflan artificialmente el poder ofensivo de una selección). Construimos una lista blanca guiada por datos: se considera selección FIFA todo equipo que haya disputado al menos un encuentro en una competición oficial de FIFA o de sus seis confederaciones. Esto identifica 223 selecciones y excluye los equipos no-FIFA del conjunto de entrenamiento y de los rankings derivados.

Variables económicas

Incorporamos tres indicadores del Banco Mundial (acceso abierto): PIB per cápita, PIB total y población, por país y año. La hipótesis es que la riqueza y, sobre todo, el tamaño poblacional de un país actúan como proxies del fútbol disponible (infraestructura y tamaño del reservorio de jugadores), aportando señal especialmente para selecciones con pocos partidos recientes. Mapeamos las 211 selecciones con dato a códigos ISO3; las cuatro naciones británicas comparten la economía del Reino Unido y los territorios sin estadística propia se imputan. Para los años recientes sin publicación (el Banco Mundial tiene cierto desfase) aplicamos forward-fill. Dado el fuerte sesgo de las magnitudes económicas, las transformamos con \(\log(1+x)\).

Ingeniería de variables

Para cada partido generamos 58 variables usando únicamente información disponible antes del encuentro, recorriendo los partidos en orden cronológico y actualizando el estado de cada equipo después de registrar cada fila. Las variables se agrupan en:

  • Estadísticas dinámicas (28): tasas acumuladas de victoria/empate/derrota, goles a favor y en contra por partido, rendimiento como local/visitante, forma en los últimos cinco partidos, historial directo (head-to-head) y tasas de puntos globales por recencia.

  • Expected goals (12): xG y xG concedido por partido, disparos y disparos a puerta, precisión de pase, y diferenciales entre ambos equipos.

  • Dixon–Coles (6): probabilidades \(a\ priori\) de H/D/A y goles esperados de cada equipo según el modelo estadístico.

  • Económicas (8): PIB per cápita, PIB total y población (en escala logarítmica) de cada selección, más los diferenciales de PIB.

  • Elo calibrado (4): rating Elo de local y visitante, su diferencia, y la probabilidad de victoria local que se desprende del Elo.

Metodología

Modelo Dixon–Coles

Modelamos los goles del local \(X\) y del visitante \(Y\) como \[\begin{align} \lambda &= \alpha_i\,\beta_j\,\gamma, & \mu &= \alpha_j\,\beta_i, \end{align}\] donde \(\alpha_i\) y \(\beta_i\) son las fuerzas de ataque y defensa del equipo \(i\), y \(\gamma\) es la ventaja de localía (anulada en sedes neutrales). La función de masa conjunta incorpora la corrección de Dixon–Coles \(\tau\) para los marcadores bajos: \[\begin{equation} P(X=x, Y=y) = \tau_{\lambda,\mu}(x,y)\, \frac{\lambda^x e^{-\lambda}}{x!}\, \frac{\mu^y e^{-\mu}}{y!}. \end{equation}\] Ajustamos los parámetros por máxima verosimilitud penalizada, ponderando cada partido por un decaimiento temporal exponencial \(e^{-\xi\,\Delta t}\) (con \(\xi=0{,}0018\), vida media \(\approx\)385 días) y por la importancia del torneo. Añadimos una regularización \(L_2\) sobre \(\log\alpha\) y \(\log\beta\) que ancla la escala y resuelve la no identificabilidad del modelo, además de encoger hacia la media a los equipos con pocos partidos. La verosimilitud se vectoriza con NumPy, lo que reduce drásticamente el tiempo de ajuste y permite la convergencia plena del optimizador L-BFGS-B.

Elo calibrado

Mantenemos un sistema Elo específico para selecciones, actualizado cronológicamente sobre todo el histórico FIFA. El rating de cada equipo se ajusta tras cada partido según el resultado frente a la expectativa, con un factor \(K\) modulado por la importancia del torneo y por el margen de goles, y un término de ventaja de localía anulado en sede neutral. Calibramos la escala del Elo para que la probabilidad de victoria derivada de la diferencia de ratings reproduzca las frecuencias empíricas observadas. Los cuatro estadísticos resultantes (rating local, rating visitante, diferencia y probabilidad de victoria local) se incorporan como variables del modelo y resultan, junto con Dixon–Coles, las de mayor importancia.

XGBoost

Empleamos XGBoost con tree_method=hist sobre GPU (NVIDIA RTX 4080, CUDA 12.4). Para la clasificación usamos el objetivo multi:softprob; para los goles, count:poisson, apropiado para conteos discretos. Optimizamos los hiperparámetros con Optuna (muestreo TPE) mediante validación cruzada estratificada de 5 pliegues, explorando 80 configuraciones por modelo (profundidad, tasa de aprendizaje, submuestreo, regularización \(\alpha\)/\(\lambda\), etc.).

Ponderación por recencia

Para que el modelo dé más peso a la forma reciente de las selecciones, introducimos un peso muestral que decae exponencialmente con la antigüedad de cada partido: \[\begin{equation} w_t = 0{,}5^{\,\Delta t / H}, \qquad H = 730\ \text{días}, \end{equation}\] donde \(\Delta t\) es el número de días entre el partido y el más reciente del conjunto, y \(H\) es la vida media (un partido de hace dos años pesa la mitad que uno de hoy). Estos pesos se pasan tanto a la validación cruzada como al ajuste final, en el clasificador de resultado y en los regresores de goles. La vida media se eligió por validación sobre el conjunto de prueba fijo (Sección 5.2).

Red neuronal multitarea

Diseñamos MatchNet, una red en PyTorch que aprende un embedding vectorial por selección (dimensión 16), capturando una “identidad de equipo” latente que las tasas agregadas no expresan. Los embeddings de local y visitante se concatenan con las variables numéricas estandarizadas y alimentan un perceptrón multicapa compartido (\(128\to64\) con batch normalization y dropout 0,4) que se ramifica en dos cabezas: una de clasificación (3 logits, entropía cruzada con pesos de clase) y otra de goles (dos salidas Poisson). La pérdida total combina ambas tareas. Entrenamos con AdamW, early stopping y scheduler de tasa de aprendizaje.

Meta-ensamble

Combinamos las probabilidades de los tres modelos mediante (1) promedio simple, (2) pesos optimizados sobre el conjunto de validación, y (3) stacking con regresión logística multinomial. Los pesos y el meta-modelo se ajustan en validación y se evalúan en prueba.

Modelo bayesiano jerárquico con altitud

Como quinto enfoque ajustamos un modelo Poisson jerárquico en la tradición de Baio–Blangiardo (Baio & Blangiardo, 2010). Para un partido entre el local \(h\) y el visitante \(a\) modelamos los goles de cada equipo como variables de Poisson independientes con medias \[\begin{align} \log\theta^{\text{loc}} &= \eta + \kappa\,\mathbb{1}_{\text{no neutral}} + \text{att}_h - \text{def}_a - \beta_{\text{alt}}\,g_h, \\ \log\theta^{\text{vis}} &= \eta + \text{att}_a - \text{def}_h - \beta_{\text{alt}}\,g_a, \end{align}\] donde \(\eta\) es el log-ritmo base de goles, \(\kappa\) la ventaja de localía (anulada en sede neutral) y \(\text{att}_i,\text{def}_i\) las fuerzas latentes de ataque y defensa del equipo \(i\). Imponemos priors jerárquicos \[\text{att}_i \sim \mathcal{N}(0,\sigma_{\text{att}}^2), \qquad \text{def}_i \sim \mathcal{N}(0,\sigma_{\text{def}}^2),\] con hiperparámetros \(\sigma_\cdot \sim \text{HalfNormal}\), lo que produce partial pooling: las selecciones con pocos partidos se encogen hacia la media poblacional. La parametrización es no centrada y con restricción suma-cero para resolver la no identificabilidad frente a \(\eta\).

Término de altitud.

El factor \(g_t = \max(0,\,\text{alt}_{\text{sede}} - \text{alt}_{\text{casa}(t)})\) (en km) penaliza a un equipo cuando juega por encima de la altitud a la que está aclimatado; bajar de altitud no penaliza. El coeficiente \(\beta_{\text{alt}}\) es común a todos los equipos y se estima de los datos. En el Mundial 2026 las sedes en altura son Ciudad de México (2240 m) y Guadalajara (1500 m).

Inferencia.

Cada partido pondera la verosimilitud por recencia (vida media 730 días, Sección 4.4) e importancia del torneo. Obtenemos el posterior por NUTS (No-U-Turn Sampler, numpyro) (Hoffman & Gelman, 2014); la cadena converge en segundos (\(\hat{R}\approx1{,}00\), cero divergencias). El muestreo del posterior nos da no solo las probabilidades H/D/A y el marcador modal (en lugar del redondeo de la media), sino también la base para la simulación Monte Carlo del torneo (Sección 7.1).

Protocolo de evaluación

Usamos una partición temporal para respetar la causalidad: 80 % de entrenamiento y 20 % de prueba (los partidos más recientes). Reportamos accuracy y log-loss para el resultado, y error absoluto medio (MAE) y raíz del error cuadrático medio (RMSE) para los goles. Para comparar de forma justa configuraciones entrenadas sobre ventanas de datos distintas, empleamos además un conjunto de prueba fijo: los 880 partidos más recientes, que son físicamente los mismos sin importar cuántos datos históricos se añadan al entrenamiento. Dado que la prueba (20 %) siempre incluye al menos esos 880 partidos, ninguna configuración los utiliza para entrenar, y evaluar el modelo guardado sobre ellos aísla el efecto de cada cambio. El error estándar binomial sobre la accuracy en 880 partidos es de \(\approx\)1,6 puntos porcentuales, por lo que diferencias de 1 pp están dentro del ruido; la log-loss es la métrica de scoring propia para un pronóstico probabilístico y es la que priorizamos.

Resultados

Clasificación del resultado

La Tabla 1 resume el desempeño sobre el conjunto de prueba fijo de los 880 partidos más recientes. El XGBoost final (58 variables, ventana 2018+, ponderación por recencia) obtiene la mejor log-loss. Todos los modelos de aprendizaje superan en accuracy la referencia de las casas de apuestas (\(\approx\)57 %).

Desempeño en clasificación H/D/A (prueba fija, 880 partidos más recientes, 2025–2026).
Modelo Accuracy Log-loss
XGBoost final (58 var, 2018+, recencia) 61,7 % 0,8317
XGBoost (54 var, 2022+, sin recencia) 60,5 % 0,8522
Bayesiano jerárquico (Poisson + altitud) 60,3 % 0,8516
Dixon–Coles 58,1 % 0,9113
Red neuronal (MatchNet) 54,3 % 0,9075
Meta-ensamble (pesos óptimos) 60,8 % 0,8544

La fila de 54 variables y los modelos Dixon–Coles, MatchNet y meta-ensamble se evaluaron sobre el conjunto de prueba temporal previo (881 partidos), prácticamente idéntico a los 880 de referencia, por lo que las cifras son comparables. El XGBoost final incorpora el conjunto completo de 58 variables (incluidos el Elo calibrado y las económicas) y la ponderación por recencia. El modelo bayesiano se evaluó held-out sobre los mismos 880 partidos (entrenado únicamente con el 80 % anterior); es importante notar que, si se le entrena con todo el histórico y se le evalúa sobre esos 880, la métrica sube artificialmente a 63,9 %/0,786 por solapamiento de entrenamiento y prueba (in-sample) y no debe usarse como medida de generalización.

Refinamiento iterativo y techo de rendimiento

Sometimos el modelo a un ciclo de mejora sistemática, evaluando cada cambio sobre el conjunto de prueba fijo (Tabla 2). Los hallazgos son:

  • Ampliar la ventana de datos de 2022 a 2018 duplica el entrenamiento. Por sí sola empeora ligeramente la log-loss, pero habilita la siguiente mejora.

  • Ponderar por recencia (vida media 730 días) sobre la ventana ampliada produce la mejor log-loss de todas las configuraciones (0,8317). Una vida media más corta (365 días) descarta demasiada historia y empeora.

  • Añadir variables de descanso y momentum de Elo (días desde el último partido, cambio de Elo en las últimas cinco fechas) resulta neutro: mejora la accuracy en menos de lo que cubre el ruido y empeora la log-loss.

  • Calibrar las probabilidades por temperature scaling no mejora el modelo, ya entrenado con una verosimilitud bien calibrada; incluso degrada levemente la log-loss en prueba.

Refinamiento iterativo sobre la prueba fija (880 partidos). Todas las configuraciones usan el conjunto de 58 variables salvo donde se indica. La diferencia de accuracy entre la primera y la última fila (\(\approx\)1 pp) está dentro del error estándar binomial (\(\approx\)1,6 pp).
Configuración Accuracy Log-loss
Ventana 2022+, sin recencia 62,7 % 0,8338
Ventana 2018+, sin recencia 61,7 % 0,8383
Ventana 2018+, recencia 730 d (final) 61,7 % 0,8317
Ventana 2018+, recencia 365 d 61,5 % 0,8341
  + descanso/momentum (64 var) 61,8 % 0,8328
  + temperature scaling 61,8 % 0,8350

El patrón es claro: salvo la ponderación por recencia sobre datos ampliados, ninguna palanca de ingeniería movió la aguja por encima del ruido. Concluimos que el modelo ha alcanzado un techo de rendimiento en torno al 62 % de accuracy y 0,83 de log-loss con la información disponible. El cuello de botella es la cantidad y granularidad de los datos, no la arquitectura ni el conjunto de variables.

El empate: la clase difícil

Como es habitual en la literatura, el empate es la clase más difícil. XGBoost prácticamente nunca lo predice (recall \(\approx\)8 %), pues rara vez es la clase de mayor probabilidad individual. La red neuronal, gracias a los pesos de clase, es el único modelo que apuesta por el empate (recall \(\approx\)55 %), aunque a costa de su accuracy global. Este contraste se aprecia en las matrices de confusión (Figuras la figura correspondiente y 1).

(Figura no disponible en esta versión web del paper.)

Importancia de variables

El análisis SHAP (Figura 2) muestra que las variables más influyentes combinan el Elo calibrado, las probabilidades a priori de Dixon–Coles y los diferenciales de rendimiento, validando la utilidad de integrar ambos modelos estadísticos como variables.

(Figura no disponible en esta versión web del paper.)

Efecto de la depuración FIFA

El filtrado a selecciones FIFA no es un mero ejercicio de limpieza: mejora el desempeño de forma consistente. Los partidos contra rivales no-FIFA suelen ser goleadas atípicas que inflan artificialmente las estadísticas ofensivas; al eliminarlos, las variables dinámicas reflejan mejor el nivel competitivo real. Como subproducto, los rankings derivados se vuelven coherentes (desaparecen del top equipos regionales como Cornualles).

Efecto de las variables económicas

Las variables económicas concentran una porción modesta pero consistente de la importancia del modelo. El desglose es revelador: la población es la económica más útil, seguida del PIB total, mientras que el PIB per cápita y los diferenciales de PIB aportan poco. La interpretación es que la fuerza relativa entre dos selecciones ya está capturada por el Elo y por las probabilidades de Dixon–Coles —que dominan el top de importancia—, por lo que el aporte incremental de lo económico proviene de la magnitud absoluta del país (tamaño del reservorio de jugadores y de la economía), no de su diferencia.

Regresión de goles

La Tabla 3 presenta el desempeño en la predicción de goles del modelo final sobre el conjunto de prueba temporal.

Desempeño en regresión de goles (Poisson) del modelo final.
Objetivo MAE RMSE Acierto exacto
Goles local 1,033 1,364 31,6 %
Goles visitante 0,864 1,189 37,5 %

Sobre el conjunto de prueba fijo de 880 partidos, el MAE es de 1,018 (local) y 0,894 (visitante).

Convergencia de la red neuronal

La Figura 3 muestra las curvas de entrenamiento. La log-loss de validación mejora solo durante las primeras épocas y luego se degrada, señal de sobreajuste: los embeddings de equipo memorizan en lugar de generalizar.

(Figura no disponible en esta versión web del paper.)

Modelo bayesiano: fuerzas latentes y efecto de la altitud

El modelo bayesiano jerárquico (Sección 4.7) obtiene 60,3 %/0,8516 en la prueba fija: no alcanza al XGBoost, pero mejora con holgura a su análogo frecuentista, Dixon–Coles (58,1 %/0,9113), gracias al partial pooling, la ponderación por recencia y la inclusión de la altitud. El orden de fuerza latente (\(\text{att}+\text{def}\)) es plausible —Argentina, España, Brasil, Inglaterra, Marruecos, Japón, Francia en cabeza— y la ventaja de localía estimada, \(\exp(\kappa)\approx1{,}27\), concuerda con el \(\gamma\) de Dixon–Coles.

El hallazgo más interesante es que el coeficiente de altitud es estadísticamente significativo: \(\beta_{\text{alt}}=0{,}11\) por km con un intervalo de credibilidad al 90 % de \([0{,}05,\,0{,}16]\), que excluye el cero. Es decir, por cada kilómetro que un equipo juega por encima de su altitud de origen, sus goles esperados se reducen en un factor \(\approx e^{-0{,}11}\approx 0{,}90\). El efecto es material para los partidos en Ciudad de México (2240 m) y Guadalajara (1500 m): un visitante de nivel del mar sufre una penalización apreciable, mientras que México —aclimatado— no. Este es, hasta donde sabemos, el único componente cuyo aporte la ingeniería de variables no había capturado y que sí mueve la aguja de forma medible, si bien circunscrito a un puñado de sedes.

Discusión

¿Por qué no ayuda el ensamblado?

El resultado más instructivo es que el meta-ensamble asigna un peso de \(\approx\)1,0 a XGBoost y \(\approx\)0 a los demás modelos. El promedio simple y el stacking incluso empeoran la log-loss. La razón es que los tres modelos consumen esencialmente la misma información: el conjunto de variables ya incluye las probabilidades de Dixon–Coles y el Elo, y la red neuronal opera sobre las mismas variables. El ensamblado solo aporta cuando los modelos cometen errores descorrelacionados; aquí están fuertemente correlacionados, por lo que no hay diversidad que explotar.

XGBoost domina en datos tabulares pequeños.

Que la red neuronal no supere a XGBoost concuerda con la evidencia empírica sobre datos tabulares de tamaño moderado. Su valor reside en una capacidad distinta — detectar empates — más que en una mejora agregada.

El cuello de botella son los datos, no el modelo.

El refinamiento iterativo (Sección 5.2) confirma empíricamente esta intuición: duplicar la ventana de entrenamiento y ponderar por recencia mejora la log-loss, pero toda ingeniería adicional de variables (descanso, momentum) o de post-procesado (calibración) es neutra. XGBoost ya exprime la señal disponible. Esperamos que incorporar xG a nivel de partido —y no solo agregado por equipo— o señales de plantel (lesiones, disponibilidad de titulares) sea más determinante que cualquier cambio de arquitectura.

El valor del modelo bayesiano no es la accuracy.

El bayesiano no supera al XGBoost en métricas de punto, y no era su objetivo. Su aporte es triple. Primero, a diferencia de Dixon–Coles, MatchNet y el propio XGBoost —que comparten el espacio de variables y por eso erran de forma correlacionada—, opera sobre los resultados crudos con priors jerárquicos, de modo que es la primera pieza genuinamente descorrelacionada del conjunto y, por tanto, la candidata natural a aportar en un futuro ensamblado. Segundo, entrega una distribución predictiva completa: probabilidades calibradas y el marcador modal de la conjunta en lugar del redondeo del valor esperado —que siempre tiende al 1–1—. Tercero, y más importante para una competición, el muestreo del posterior permite simular el torneo propagando tanto la incertidumbre de los parámetros como la aleatoriedad de los marcadores (Sección 7.1).

Aplicación: Copa Mundial FIFA 2026

Como demostración práctica, aplicamos el modelo final a los partidos del torneo. Para cada encuentro reconstruimos el estado dinámico de ambas selecciones hasta el último partido disputado (3 de junio de 2026), generamos las 58 variables y obtenemos las probabilidades H/D/A del clasificador junto con los goles esperados de los regresores de Poisson. Todos los partidos se tratan como de sede neutral. La Tabla 4 muestra las predicciones de la primera jornada.

Predicciones para los primeros partidos de la Copa Mundial FIFA 2026. Probabilidades en % (local / empate / visitante) y marcador esperado (redondeo de los goles esperados de Poisson).
Fecha Partido L / E / V (%) Marcador
06-11 Mexico vs South Africa 52 / 32 / 16 2–1
06-12 South Korea vs Czech Republic 44 / 31 / 24 1–1
06-12 Canada vs Bosnia and Herzegovina 76 / 18 / 5 2–1
06-13 United States vs Paraguay 42 / 32 / 26 1–0
06-13 Qatar vs Switzerland 20 / 22 / 58 1–2
06-13 Brazil vs Morocco 28 / 42 / 30 1–1
06-14 Haiti vs Scotland 38 / 31 / 32 1–1
06-14 Australia vs Turkey 40 / 30 / 30 1–1
06-14 Germany vs Curaçao 78 / 16 / 6 3–1
06-14 Netherlands vs Japan 23 / 31 / 46 1–2
06-14 Ivory Coast vs Ecuador 28 / 42 / 30 1–1
06-15 Sweden vs Tunisia 22 / 29 / 48 1–1
06-15 Spain vs Cape Verde 81 / 14 / 5 3–1
06-15 Belgium vs Egypt 32 / 38 / 31 1–1

El modelo asigna alta confianza a los favoritos claros (Canadá 76 %, Alemania 78 %, España 81 %) y refleja incertidumbre genuina en los duelos parejos, donde las tres probabilidades se acercan (p. ej. Australia–Turquía, 40/30/30). Dos limitaciones son visibles. Primera, el marcador esperado tiende al 1–1 porque es el redondeo del valor esperado de una Poisson de media cercana a la unidad; captura la tendencia pero no la dispersión real de marcadores. Segunda, las probabilidades del clasificador y el marcador de los regresores provienen de modelos distintos y pueden no ser perfectamente coherentes entre sí. El listado completo de los 72 partidos con equipos definidos se exporta a data/wc2026_predictions.csv.

Simulación de la fase de grupos con el modelo bayesiano

A diferencia del clasificador, el modelo bayesiano permite simular el torneo. Para cada una de 50.000 réplicas tomamos una muestra del posterior (fuerzas de ataque/defensa, ventaja de localía, \(\beta_{\text{alt}}\)), generamos los seis marcadores de cada grupo \(\sim\text{Poisson}\) —con el efecto de altitud según la sede de cada partido y sede neutral en lo demás—, construimos la tabla de cada grupo y aplicamos las reglas del formato 2026: avanzan a dieciseisavos los dos primeros de cada grupo más los ocho mejores terceros de los doce. Esto propaga conjuntamente la incertidumbre de los parámetros y la aleatoriedad propia del fútbol. La Tabla 5 resume, por grupo, las probabilidades de avanzar.

Probabilidad de avanzar a dieciseisavos (Monte Carlo, 50.000 réplicas del modelo bayesiano). Por grupo, el favorito y el segundo con mayor probabilidad de avance; entre paréntesis, la probabilidad de ganar el grupo.
Grupo Favorito Avanza 2.º con más opciones Avanza
A Mexico (41%) 84% South Korea (34%) 80%
B Switzerland (47%) 92% Canada (41%) 90%
C Brazil (52%) 94% Morocco (38%) 91%
D Australia (38%) 81% United States (24%) 69%
E Germany (48%) 89% Ecuador (29%) 81%
F Japan (46%) 89% Netherlands (34%) 83%
G Belgium (36%) 79% Iran (27%) 72%
H Spain (63%) 96% Uruguay (29%) 87%
I France (43%) 86% Norway (25%) 73%
J Argentina (70%) 96% Algeria (13%) 65%
K Colombia (43%) 86% Portugal (37%) 82%
L England (61%) 95% Croatia (25%) 80%

Los resultados son coherentes con la fuerza latente estimada: Argentina y España encabezan sus grupos con \(\approx\)70 % y 63 %, y avanzan en 96 % de las simulaciones; México se beneficia de jugar sus tres partidos en altura (Ciudad de México, Guadalajara y Monterrey) y alcanza un 84 % de avance pese a no ser favorito absoluto. Las selecciones más débiles de cada grupo (p. ej. Haití 28 %, Curazao 32 %) raramente superan la fase. El detalle completo por selección se exporta a data/wc2026_group_simulation.csv. La extensión natural —simular las eliminatorias para estimar la probabilidad de título— requiere la plantilla oficial del cuadro y queda como trabajo inmediato.

Conclusiones y trabajo futuro

Comparamos cinco enfoques para predecir partidos de selecciones nacionales. El clasificador XGBoost con variables enriquecidas (estadísticas dinámicas + xG + Dixon–Coles + Elo calibrado + económicas) y ponderación por recencia resultó el más equilibrado en métricas de punto, con un 61,7 % de accuracy y una log-loss de 0,832 sobre la prueba fija, superando la referencia de los bookmakers. El filtrado a selecciones FIFA no solo depuró el conjunto y produjo rankings coherentes, sino que mejoró todas las métricas de forma simultánea. A través de un refinamiento iterativo con prueba fija documentamos qué mejora el modelo (más datos + recencia) y qué no (variables de descanso/momentum, calibración), concluyendo que con la información actual se ha alcanzado un techo de rendimiento. El ensamblado no aportó mejoras, evidenciando la falta de diversidad informativa entre los modelos. El modelo bayesiano jerárquico, sin superar al XGBoost en accuracy, mejora a su análogo frecuentista (Dixon–Coles), cuantifica un efecto de altitud estadísticamente significativo y —al ser genuinamente descorrelacionado y generativo— habilita la simulación Monte Carlo del torneo. Finalmente, ilustramos la utilidad de ambos modelos prediciendo la fase de grupos del Mundial 2026 y estimando las probabilidades de avance.

Como trabajo futuro proponemos: (i) simular las eliminatorias con la plantilla oficial del cuadro para estimar las probabilidades de título; (ii) explotar los datos de eventos de StatsBomb para construir xG por partido; (iii) incorporar señales de plantel (lesiones, disponibilidad de titulares); y (iv) combinar el modelo bayesiano con el XGBoost en un ensamblado que por fin explote su diversidad informativa.

9

Dixon, M. J., & Coles, S. G. (1997). Modelling association football scores and inefficiencies in the football betting market. Journal of the Royal Statistical Society: Series C (Applied Statistics), 46(2), 265–280.

Baio, G., & Blangiardo, M. (2010). Bayesian hierarchical model for the prediction of football results. Journal of Applied Statistics, 37(2), 253–264.

Hoffman, M. D., & Gelman, A. (2014). The No-U-Turn Sampler: Adaptively setting path lengths in Hamiltonian Monte Carlo. Journal of Machine Learning Research, 15(1), 1593–1623.

Chen, T., & Guestrin, C. (2016). XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785–794.

Carter, A. (2018). A beginner’s guide to beating the bookmakers with TensorFlow. https://andrew.carterlunn.co.uk/programming/2018/02/20/beating-the-bookmakers-with-tensorflow.html

Ramacciotti, F. (ca. 2017). Bayesian soccer using TensorFlow Probability [Kaggle Notebook]. https://www.kaggle.com/code/fernandoramacciotti/bayesian-soccer-using-tensorflow-probability

Andreas, K., & Gracia, C. (2025). Football player market value prediction using TensorFlow neural network. Medium.