Capítulo 29

Introducción al Modelado Estadístico

Crea tus propios modelos predictivos para calcular probabilidades reales

📚 Nivel Maestro ⏱️ 25 min lectura 📊 Avanzado

¿Por qué crear modelos propios?

En el capítulo de Value Betting aprendiste a identificar cuotas con valor, pero había un problema fundamental: dependías de que alguien te dijera que una cuota tenía valor. Eso te convierte en seguidor, no en apostador profesional.

💡 El salto al profesionalismo

El apostador profesional calcula sus propias probabilidades y las compara con las cuotas del mercado. No espera a que otro le diga dónde está el valor.

Crear modelos estadísticos te permite:

  • Independencia: No dependes de tipsters ni servicios de pago
  • Ventaja competitiva: Tu modelo puede detectar ineficiencias que otros no ven
  • Escalabilidad: Puedes analizar cientos de partidos automáticamente
  • Mejora continua: Puedes ajustar y mejorar tu modelo con el tiempo

Distribución de Poisson para Goles

La distribución de Poisson es el modelo más utilizado para predecir el número de goles en un partido de fútbol. Se basa en la media histórica de goles de cada equipo.

📐 Fórmula de Poisson

P(x) = (λ^x × e^-λ) / x!

Donde:

  • P(x) = Probabilidad de marcar exactamente x goles
  • λ (lambda) = Media esperada de goles
  • e = Constante de Euler (≈ 2.71828)
  • x! = Factorial de x

Cálculo del Lambda (λ)

Para calcular la media esperada de goles de cada equipo necesitas:

Ejemplo práctico: Real Madrid vs Athletic

Datos de la temporada (media de la liga):

  • Goles marcados en casa (liga): 1.45 por partido
  • Goles recibidos en casa (liga): 1.12 por partido
  • Goles marcados fuera (liga): 1.28 por partido
  • Goles recibidos fuera (liga): 1.35 por partido

Datos de los equipos:

  • Real Madrid en casa: marca 2.1, recibe 0.8
  • Athletic fuera: marca 1.1, recibe 1.5

Cálculo de fuerzas:

  • Ataque RM = 2.1 / 1.45 = 1.448
  • Defensa RM = 0.8 / 1.12 = 0.714
  • Ataque Athletic = 1.1 / 1.28 = 0.859
  • Defensa Athletic = 1.5 / 1.35 = 1.111

Goles esperados:

  • λ Real Madrid = 1.45 × 1.448 × 1.111 = 2.33 goles
  • λ Athletic = 1.28 × 0.859 × 0.714 = 0.78 goles

De Lambda a Probabilidades

Con los lambdas calculados, aplicamos Poisson para obtener la probabilidad de cada marcador:

Goles RM Probabilidad Goles Athletic Probabilidad
0 9.7% 0 45.8%
1 22.7% 1 35.8%
2 26.4% 2 14.0%
3 20.5% 3 3.6%
4+ 20.7% 4+ 0.8%

Multiplicando las probabilidades independientes obtenemos cada resultado exacto. Por ejemplo:

  • P(2-0) = 26.4% × 45.8% = 12.1%
  • P(2-1) = 26.4% × 35.8% = 9.5%

Expected Goals (xG): Más allá de los goles

Los goles son eventos de baja frecuencia y alta varianza. Un equipo puede dominar un partido con 20 tiros y perder 0-1 por un contragolpe. Por eso los profesionales usan Expected Goals (xG).

📊 ¿Qué es el xG?

El xG asigna a cada tiro una probabilidad de gol basada en factores como la posición, el ángulo, la parte del cuerpo usada, la presión defensiva, etc. Un penalti tiene ~0.76 xG, un cabezazo desde fuera del área ~0.03 xG.

Ventajas del xG sobre los goles reales

Métrica Goles reales Expected Goals (xG)
Tamaño de muestra ~2.5 goles/partido ~20-30 tiros/partido
Varianza Muy alta Moderada
Predictivo Requiere muchos partidos Estabiliza en ~6-8 partidos
Detecta rendimiento real Influido por suerte Mide calidad de ocasiones

Fuentes de datos xG

  • Understat.com: Gratis, 6 ligas principales, histórico desde 2014
  • FBref.com: Gratis, datos de StatsBomb, muy completo
  • Infogol: Gratis con registro, incluye proyecciones
  • WhoScored: Gratis, ratings y estadísticas detalladas
⚠️ Cuidado con el xG

No todos los modelos xG son iguales. Cada proveedor tiene su metodología. Usa siempre la misma fuente para mantener consistencia en tus análisis.

Construye tu Modelo en Excel/Google Sheets

Vamos a crear un modelo funcional paso a paso. Puedes replicarlo en Excel o Google Sheets.

Paso 1: Recopila datos

Crea una hoja con los datos de la temporada:

📋 Estructura de datos necesarios

| Equipo     | PJ | GF_Casa | GC_Casa | GF_Fuera | GC_Fuera | xGF_Casa | xGC_Casa | xGF_Fuera | xGC_Fuera |
|------------|----|---------|---------|---------|---------|---------|---------|---------|---------| 
| Barcelona  | 15 |   28    |    8    |    22   |   12    |  26.5   |   9.2   |   20.1  |   13.5  |
| R. Madrid  | 15 |   25    |   10    |    20   |   14    |  24.2   |  10.8   |   18.5  |   15.2  |

Paso 2: Calcula las medias de la liga

📊 Fórmulas Excel

Media goles casa liga = SUMA(GF_Casa) / SUMA(PJ_Casa)
Media goles fuera liga = SUMA(GF_Fuera) / SUMA(PJ_Fuera)

// Ejemplo típico LaLiga:
// Casa: ~1.45 goles/partido
// Fuera: ~1.15 goles/partido

Paso 3: Calcula fuerzas de ataque/defensa

📊 Fórmulas para fuerzas

Fuerza_Ataque_Casa = (GF_Casa / PJ_Casa) / Media_GF_Casa_Liga
Fuerza_Defensa_Casa = (GC_Casa / PJ_Casa) / Media_GC_Casa_Liga

Fuerza_Ataque_Fuera = (GF_Fuera / PJ_Fuera) / Media_GF_Fuera_Liga
Fuerza_Defensa_Fuera = (GC_Fuera / PJ_Fuera) / Media_GC_Fuera_Liga

Paso 4: Función Poisson en Excel

📊 Fórmula POISSON.DIST

// Probabilidad de exactamente X goles:
=POISSON.DIST(X, Lambda, FALSO)

// Ejemplo: P(2 goles) con Lambda=1.8
=POISSON.DIST(2, 1.8, FALSO) = 26.8%

// Para "2 o menos goles":
=POISSON.DIST(2, 1.8, VERDADERO) = 73.1%

Paso 5: Matriz de resultados

Crea una matriz 6x6 (goles de 0 a 5 para cada equipo) multiplicando las probabilidades:

📊 Matriz de probabilidades

=POISSON.DIST(Fila-1, Lambda_Local, FALSO) * POISSON.DIST(Columna-1, Lambda_Visitante, FALSO)

// Suma para obtener:
Victoria Local = Suma de celdas donde Fila > Columna
Empate = Suma de celdas donde Fila = Columna  
Victoria Visitante = Suma de celdas donde Fila < Columna

Calcular tu Cuota Real

Una vez tienes las probabilidades, convertirlas a cuota es sencillo:

📐 De probabilidad a cuota

Cuota Real = 1 / Probabilidad

Ejemplo: Si tu modelo dice 62% de victoria local:

Cuota Real = 1 / 0.62 = 1.61

Detectar valor

Ejemplo: Detectando Value

Tu modelo calcula:

  • Victoria Local: 62% → Cuota real: 1.61
  • Empate: 22% → Cuota real: 4.55
  • Victoria Visitante: 16% → Cuota real: 6.25

El mercado ofrece:

  • Victoria Local: 1.55 ❌ (cuota menor que tu real)
  • Empate: 4.20 ❌ (cuota menor que tu real)
  • Victoria Visitante: 7.00 ✅ (cuota mayor que tu 6.25)

Conclusión: El único valor está en la victoria visitante. Tu modelo indica que el mercado infravalora al visitante.

💡 Margen de seguridad

No apuestes solo porque hay "algo" de valor. Establece un umbral mínimo. Por ejemplo, solo apuesta si tu cuota real es al menos un 5-10% menor que la del mercado.

Limitaciones del Modelado

Antes de creer que tu modelo es infalible, conoce sus limitaciones:

⚠️ El modelo Poisson asume independencia

Poisson asume que los goles de un equipo son independientes de los del otro. En realidad, el estado del partido afecta las tácticas. Un equipo que va ganando 2-0 puede "relajarse".

Factores que el modelo básico no captura

  • Lesiones y sanciones: Un equipo sin su estrella rinde diferente
  • Motivación: Final de temporada, derbis, eliminatorias
  • Fatiga: Partidos entre semana, viajes largos
  • Clima: Lluvia, calor extremo, altitud
  • Cambios de entrenador: Efecto "nuevo técnico"
  • Rachas de forma: Equipos en racha vs equipos en crisis

Cómo mejorar tu modelo

  1. Usa xG en lugar de goles: Reduce la varianza
  2. Pondera partidos recientes: Los últimos 5-10 partidos importan más
  3. Ajustes manuales: Añade/resta 5-10% por factores cualitativos
  4. Backtesting: Prueba tu modelo con datos históricos antes de apostar
  5. Tracking: Registra todas tus predicciones vs resultados
🚨 Regla de oro

Ningún modelo es perfecto. Las casas de apuestas tienen equipos de analistas con más datos y recursos. Tu ventaja está en nichos específicos (ligas menores, mercados secundarios) donde las casas ponen menos atención.