Volver a Proyectos
Mundial 2026 Predictor

Mundial 2026 Predictor

Predictor del Mundial FIFA 2026 con XGBoost calibrado, sistema ELO propio y simulación Monte Carlo — web pública que fija los resultados reales del torneo y mide los aciertos del modelo en vivo.

Ver repositorio en GitHub

10.000 simulaciones Monte Carlo en el navegador — Argentina 16.9% campeón, Colombia top 8

52% accuracy en Qatar 2022 (test temporal sin leakage) vs 33% de un modelo aleatorio

Se actualiza sola durante el torneo: fija resultados reales y muestra el acierto del modelo

Resumen ejecutivo

Contexto de negocio

El Mundial 2026 (el primero con 48 selecciones) arranca con millones de personas preguntándose lo mismo: ¿quién va a ganar? Las predicciones serias existen (Opta, casas de apuestas) pero son cajas negras. El objetivo fue construir una alternativa abierta y verificable: un modelo entrenado solo con resultados históricos, con probabilidades calibradas, que rinde cuentas en público partido a partido durante el torneo.

Mi rol

Construí el proyecto completo end-to-end: limpieza de 49.378 partidos (1872–2026) con normalización de federaciones históricas (Zaire→DR Congo, Checoslovaquia→Chequia), sistema ELO cronológico propio, feature engineering (forma reciente, H2H, experiencia mundialista), XGBoost calibrado con validación temporal anti-leakage, simulador Monte Carlo con penales ponderados por historial real de tandas, y el frontend Next.js multilenguaje que fija los resultados reales vía openfootball y mide los aciertos del modelo en vivo.

Stakeholders

Comunidad de datos y fútbol LATAMReclutadores técnicosAficionados del Mundial 2026

Sistemas y fuentes

Kaggle: International football results 1872–2026 (49k partidos)openfootball/worldcup.json (fixture y resultados en vivo, sin API key)shootouts.csv (676 tandas de penales históricas)

Preguntas de negocio que responde

  • Qué probabilidad real tiene cada selección de ganar el Mundial, sin sesgos de ranking FIFA
  • Cómo cambian las probabilidades del torneo a medida que se juegan los partidos reales
  • Qué tan confiable es el modelo: acierto público partido a partido vs el resultado real

Tecnologías

Python XGBoost scikit-learn pandas Next.js React TypeScript Vercel pytest Monte Carlo

El proyecto

Un producto de machine learning completo de punta a punta: de 150 años de datos crudos a una web pública que se actualiza sola, publicada el día antes del arranque del Mundial 2026.

Después de 10.000 simulaciones Monte Carlo, el modelo dice: Argentina 16.9%, España 15.4%, Brasil 11.3% — y Colombia en el top 8 con 92% de probabilidad de superar la fase de grupos.

Qué lo hace diferente

Capa técnica

ComponenteImplementación
Pipeline de datosPython, pandas — 49k partidos, reproducible con run_pipeline.py
ModeloXGBoost multi:softprob + CalibratedClassifierCV (isotónica)
ValidaciónSplit temporal (test = Qatar 2022), log-loss, Brier score
SimulaciónMonte Carlo client-side en TypeScript sobre 1.128 pares precalculados
FrontendNext.js 15, React 19, Tailwind, Recharts — ES/EN/PT
Datos en vivoJSON de openfootball consumido client-side, sin API key
Calidad35 tests pytest, tsc limpio, auto-deploy GitHub→Vercel

Por qué importa

Este proyecto muestra el espectro completo: ingeniería de datos (limpieza, normalización, pipelines), ML aplicado (calibración, validación sin leakage) e ingeniería de producto (una web rápida, multilenguaje, que se actualiza sola). El modelo es honesto sobre sus límites — el fútbol es hermosamente impredecible — y esa honestidad es el punto: la app mide su propia precisión en público.

¿Qué te pareció este proyecto?

Si tienes preguntas sobre cómo lo hice o quieres charlar sobre datos, escríbeme.