Documentación de modelos
Ficha de modelos predictivos
Qué hace cada modelo, qué datos usa y cómo interpretar sus métricas.
Modelos registrados
9
9 con datos en la tabla
Predicciones evaluables
107.017
115.784 registros historicos ·
15.976 partidos base
Mejor acierto
Ensemble selectivo
76,77%
Última predicción
24/08/2026 08:51
Según `porcentajes_victoria.calculado_en`
Tabla general
9 modelos registrados. Pulsa un modelo para abrir su ficha técnica y sus datos actuales.
Todos
Vista general
01
Elo básico
02
Reg. logística + Elo
03
Naive Bayes + Elo
04
Naive Bayes + stats
05
Ensemble jugadores
06
Ensemble calibrado
07
Ensemble selectivo
08
Comité especialistas
09
Modelo margen
| Modelo | Tipo | Objetivo | Evaluables | Cobertura | Acierto | Última | |
|---|---|---|---|---|---|---|---|
| Elo básico 01_elo_basico | Elo | Crear una probabilidad base usando fuerza historica de equipos. | 15.927 49 neutras | 100,00% útil 99,69% | 62,55% | 24/08/2026 08:26 | Ver |
| Reg. logística + Elo 02_regresion_logistica_elo | Regresión logística | Mejorar Elo aprendiendo pesos estadisticos sobre variables dinamicas. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 63,98% | 24/08/2026 08:26 | Ver |
| Naive Bayes + Elo 03_naive_bayes_elo | Naive Bayes | Probar un clasificador probabilistico simple con señales Elo. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 62,48% | 24/08/2026 08:26 | Ver |
| Naive Bayes + stats 04_naive_bayes_stats | Naive Bayes + stats | Añadir estadisticas recientes de equipo al enfoque Naive Bayes. | 12.976 3.000 sin pred. histórica | 81,22% útil 100,00% | 62,57% | 24/08/2026 08:26 | Ver |
| Ensemble jugadores 05_ensemble_jugadores | Ensemble | Combinar Elo, forma de equipo y perfiles rolling de jugadores. | 12.975 1 neutras 3.000 sin pred. histórica | 81,22% útil 99,99% | 63,53% | 24/08/2026 08:29 | Ver |
| Ensemble calibrado 06_ensemble_calibrado | Ensemble calibrado | Mejorar la calibracion de probabilidades del ensemble. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 63,83% | 24/08/2026 08:33 | Ver |
| Ensemble selectivo 07_ensemble_selectivo | Ensemble selectivo | Subir el porcentaje de acierto seleccionando solo predicciones de alta confianza. | 3.259 8.717 neutras 4.000 sin pred. histórica | 74,96% útil 27,21% | 76,77% | 24/08/2026 08:39 | Ver |
| Comité especialistas 08_comite_especialistas | Comité de especialistas | Mejorar el acierto usando un experto distinto según el tipo de partido. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 63,37% | 24/08/2026 08:48 | Ver |
| Modelo margen 09_modelo_margen_puntos | Modelo de margen | Predecir diferencia de puntos y convertirla en probabilidad de victoria. | 11.976 4.000 sin pred. histórica | 74,96% útil 100,00% | 65,03% | 24/08/2026 08:51 | Ver |
Elo básico
01_elo_basico
Qué hace
Modelo base del sistema. Recorre los partidos finalizados en orden cronológico, mantiene un rating Elo por equipo y lo transforma en probabilidad de victoria local/visitante.
Resumen de datos que usa
- Elo previo de local y visitante
- Resultado final para actualizar el Elo posterior
- Ventaja local fija
- K distinto para regular/playoff
Idea central
- Parte de un rating inicial de 1500 para cada equipo.
- Antes de cada partido calcula la expectativa del local con la fórmula Elo clásica.
- Aplica una ventaja local fija de 65 puntos Elo al equipo de casa.
- Actualiza el Elo después del marcador real y deja guardado el Elo previo y posterior.
Parámetros principales
- R0 inicial: 1500.
- K regular: 20.
- K playoff: 30 cuando
tipo_partidocontiene texto de playoff. - Ventaja de campo: 65 puntos Elo.
Flujo de ejecución
01_calculo_elo_basico.pyborra/recalculaequipo_elosi se ejecuta con--truncate.- Lee
partidosconestado=4, marcador no nulo y orden porhora_inicio_utc,id. - Inserta dos filas por partido en
equipo_elo: una para local y otra para visitante. 02_calculo_probabilidades.pyconvierte el Elo previo en probabilidad y lo guarda enporcentajes_victoria.- Para partidos futuros usa el último
elo_postdisponible de cada equipo.
Lectura de resultados
- Si
prob_locales 0.60, el modelo entiende que el local gana 60 de cada 100 partidos parecidos según Elo. - La predicción elegida en los paneles es el lado con mayor probabilidad.
- Sirve como baseline: cualquier modelo posterior debe compararse contra este.
Control de contaminación
- En histórico usa
elo_predel mismo partido, calculado antes de incorporar el resultado. - El cálculo de Elo sí aprende del marcador, pero solo después de escribir el estado posterior para próximos partidos.
- El riesgo aparece si se recalcula parcialmente o se mezclan temporadas sin respetar el orden temporal.
Validación resumida
Backtest cronológico natural: cada fila histórica usa el Elo previo guardado para ese partido.
Salida resumida
Rellena `equipo_elo` con Elo pre/post por equipo y `porcentajes_victoria` con `modelo=01_elo_basico`.
Riesgo o lectura resumida
Es una referencia estable pero simple: no incorpora jugadores, descanso, lesiones, cuotas ni forma reciente explícita.
Tablas implicadas
- partidos
- equipo_elo
- porcentajes_victoria
Ficheros y responsabilidad
-
01_python/03_modelos/01_elo_basico/01_calculo_elo_basico.py
Calcula y guarda Elo pre/post por equipo en `equipo_elo`. -
01_python/03_modelos/01_elo_basico/02_calculo_probabilidades.py
Convierte Elo en probabilidades históricas o futuras.
Acierto
62,55%
Evaluables
15.927
Aciertos
9.963
Fallos
5.964
Cobertura histórica
100,00%
Cobertura útil
99,69%
Neutras 50/50
49
Sin pred. histórica
0
Temporadas
27
Ligas
3
Periodo
17/10/2017 17:00
14/06/2026 00:30
14/06/2026 00:30
Última predicción
24/08/2026 08:26