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.
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
Sistemas y fuentes
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
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
- ELO propio en vez de ranking FIFA: ratings calculados cronológicamente sobre 49.378 partidos internacionales desde 1872 — puro resultado deportivo, sin sesgos de puntos por confederación.
- Validación honesta: split temporal con Qatar 2022 como test — partidos que el modelo nunca vio. 52% de accuracy vs 33% del azar, con calibración isotónica para que las probabilidades signifiquen lo que dicen.
- Arqueología de datos: fusión de federaciones históricas (Zaire→DR Congo, Checoslovaquia→Chequia, URSS→Rusia) — 1.390 registros corregidos que cambiaron directamente las predicciones de los grupos de 2026.
- Penales con memoria: los empates de eliminatorias se resuelven con el historial real de tandas de cada selección (Argentina gana el 65%; Inglaterra el 33%) en vez de una moneda al aire.
- Rinde cuentas en público: durante el torneo la app fija los resultados reales, recalcula probabilidades condicionales y muestra el acierto del modelo partido a partido.
Capa técnica
| Componente | Implementación |
|---|---|
| Pipeline de datos | Python, pandas — 49k partidos, reproducible con run_pipeline.py |
| Modelo | XGBoost multi:softprob + CalibratedClassifierCV (isotónica) |
| Validación | Split temporal (test = Qatar 2022), log-loss, Brier score |
| Simulación | Monte Carlo client-side en TypeScript sobre 1.128 pares precalculados |
| Frontend | Next.js 15, React 19, Tailwind, Recharts — ES/EN/PT |
| Datos en vivo | JSON de openfootball consumido client-side, sin API key |
| Calidad | 35 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.