AdminLTE Preloader Image
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.

Elo básico

01_elo_basico

Elo
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_partido contiene texto de playoff.
  • Ventaja de campo: 65 puntos Elo.
Flujo de ejecución
  • 01_calculo_elo_basico.py borra/recalcula equipo_elo si se ejecuta con --truncate.
  • Lee partidos con estado=4, marcador no nulo y orden por hora_inicio_utc, id.
  • Inserta dos filas por partido en equipo_elo: una para local y otra para visitante.
  • 02_calculo_probabilidades.py convierte el Elo previo en probabilidad y lo guarda en porcentajes_victoria.
  • Para partidos futuros usa el último elo_post disponible de cada equipo.
Lectura de resultados
  • Si prob_local es 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_pre del 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
Última predicción
24/08/2026 08:26