Modelo Poisson para fútbol: predicción de resultado desde xG

Distribución Poisson aplicada a goles esperados en fútbol con matriz de resultados

Cargando...

Contenido

Poisson: la distribución que encaja con los goles porque son raros y discretos

Hay una razón matemática por la que el modelo Poisson se usa tanto en predicción de fútbol, y no es porque los estadísticos tengan predilección. Los goles cumplen las tres condiciones que la distribución de Poisson exige: son eventos discretos (no hay medio gol), son relativamente raros en un partido (la media por equipo está alrededor de 1,3), y se distribuyen a lo largo del tiempo de forma más o menos aleatoria dentro del partido. Esa tríada encaja con Poisson como anillo al dedo.

Monté mi primer modelo Poisson en una hoja de cálculo hace seis años, y el resultado fue revelador. No porque predijera con más acierto que mi instinto (de hecho acertaba menos en 1X2 puro), sino porque producía probabilidades cuantificadas para cada marcador posible, y eso abría la puerta a detectar valor en mercados donde el instinto no llega: Over/Under con líneas alternativas, BTTS, resultado exacto, doble oportunidad, handicap. Este artículo explica cómo hacer ese modelo desde cero con los xG públicos de LaLiga.

Fundamentos de Poisson sin matemática dura

La distribución de Poisson responde a una pregunta simple: si sé que en promedio pasan X eventos por unidad de tiempo, ¿cuál es la probabilidad de que pasen exactamente k eventos? Para un partido de fútbol, X es el número esperado de goles (tu lambda, λ) y k es un número entero: 0, 1, 2, 3, etc.

La fórmula, con miedo cero, es P(k) = (λ^k × e^-λ) / k!. No hace falta recordarla, porque Excel y Google Sheets tienen la función POISSON.DIST que la calcula directamente. Lo que sí hace falta entender es qué significan los resultados. Si λ = 1,5 para un equipo, la probabilidad de que marque 0 es 22,3%, de que marque 1 es 33,5%, de que marque 2 es 25,1%, de que marque 3 es 12,6%, y así sucesivamente.

Esas probabilidades individuales por cantidad de goles son el bloque de construcción. Si calculas la tabla Poisson para el equipo local (con su λ) y para el visitante (con su λ), puedes cruzar ambas en una matriz 6×6 o 7×7 de probabilidades conjuntas. Cada casilla de la matriz representa un resultado exacto (local marca X, visitante marca Y), y las sumas parciales te dan probabilidades de cualquier mercado: 1X2, Over/Under, BTTS, incluso handicap.

Parámetros λ: cómo obtenerlos desde xG

La parte más delicada del modelo es calcular los λ para cada equipo en cada partido. La versión más simple usa directamente el xG por 90 minutos del equipo, ajustado por la fortaleza defensiva del rival. Para un local:

λ_local = (xG_local_90 × xGA_visitante_90) / xGA_liga_media_90. Y para el visitante, simétricamente: λ_visitante = (xG_visitante_90 × xGA_local_90) / xGA_liga_media_90. La idea es simple: combinas la capacidad ofensiva propia con la permeabilidad del rival, normalizado por la media de la liga para que no se inflen los números.

Ejemplo concreto. Barcelona-Athletic de LaLiga 2025/26. El Barcelona tiene 2,46 xG por 90 en ataque y el Athletic, 1,07 xGA por 90 en defensa. La xGA media de LaLiga está alrededor de 1,30 por 90. λ_Barcelona = (2,46 × 1,07) / 1,30 = 2,02. Eso es los goles esperados del Barcelona en ese partido concreto, ajustados por la solidez defensiva del Athletic, y es más bajo que el xG agregado del Barça contra un rival medio.

Para el Athletic (usando su xG ofensivo, que sería más bajo), el cálculo es análogo. Supongamos que su xG ofensivo es 1,1 por 90 y el xGA del Barça es 1,2 por 90. λ_Athletic = (1,1 × 1,2) / 1,30 = 1,01. Con estos dos λ (2,02 y 1,01), el modelo tiene suficiente para producir la matriz de probabilidades.

Probabilidad de resultado exacto: ejemplo Barcelona-Real Sociedad

Cambiamos el rival para el ejemplo por uno con datos diferentes. Barcelona (λ = 2,2 en este partido) contra Real Sociedad (λ = 1,2). Con POISSON.DIST en una hoja, construyes la tabla de probabilidades de goles para cada equipo:

Probabilidades Barcelona: P(0) = 11,1%, P(1) = 24,4%, P(2) = 26,8%, P(3) = 19,7%, P(4) = 10,8%, P(5) = 4,8%. Probabilidades Real Sociedad: P(0) = 30,1%, P(1) = 36,1%, P(2) = 21,7%, P(3) = 8,7%, P(4) = 2,6%. Cruzando ambas (multiplicando probabilidades independientes casilla a casilla), obtienes la matriz de resultados exactos.

El resultado 2-1 a favor del Barça tiene probabilidad 26,8% × 36,1% = 9,67%. El 1-0 Barça tiene 24,4% × 30,1% = 7,34%. El 2-0 Barça, 26,8% × 30,1% = 8,07%. El 3-1 Barça, 19,7% × 36,1% = 7,11%. El 1-1, 24,4% × 36,1% = 8,81%. Cada casilla es un resultado exacto; la suma de todas debe dar 100% (aproximadamente, con pequeña desviación por truncar la tabla en 5 o 6 goles).

Sumando las casillas donde el Barça marca más que la Real Sociedad, obtienes la probabilidad de victoria del Barça (1 en el 1X2). Sumando las casillas de empate (mismo marcador), la probabilidad de X. Sumando las de victoria visitante, la probabilidad de 2. Ese cálculo te devuelve un 1X2 completo derivado del modelo, comparable con la cuota implícita del operador.

Convertir la tabla Poisson en probabilidad Over/Under

La misma matriz sirve para Over/Under. Sumas las casillas donde el total de goles es 3 o más (para Over 2.5) o donde el total es 2 o menos (para Under 2.5). Continuando con el ejemplo, las casillas donde total ≥ 3 suman aproximadamente 52%-55%. Las casillas donde total ≤ 2, el complemento 45%-48%.

Si el operador publica Over 2.5 a cuota 2.00, la probabilidad implícita es 50%. Tu modelo estima 53%. Hay valor en el Over 2.5. Si publica Under 2.5 a 1.85, implícita 54%, tu modelo estima 47%. No hay valor en el Under 2.5.

Igual puedes calcular BTTS. Sumas las casillas donde local marca al menos 1 y visitante marca al menos 1 (es decir, todas excepto la primera fila, la primera columna y el 0-0). El resultado es la probabilidad BTTS Sí del modelo. Comparas con la cuota del operador. Y para líneas alternativas (Over 1.5, Over 3.5) el procedimiento es el mismo: sumar las casillas que correspondan.

El sistema tiene la enorme ventaja de producir todas las probabilidades de una pasada, lo que permite detectar dónde el operador tiene márgenes más grandes y dónde los tiene más apretados. Si tu modelo da probabilidades razonables para el Over pero el operador paga muy bien el Under, es señal de que el mercado tiene sesgo. Si pasa al revés, hay que revisar tus λ.

Dónde Poisson falla: expulsiones, clima, doble Poisson

El modelo Poisson puro asume independencia entre los goles de los dos equipos. En la práctica, los goles no son totalmente independientes: cuando un equipo va por delante, el otro se abre y concede más (positiva correlación), o cuando hay una expulsión a uno, el otro produce más xG (efecto de contexto). Poisson simple no captura esto, y el resultado es que sobreestima los resultados con muchos goles para ambos equipos y subestima los resultados asimétricos.

Los modelos Dixon-Coles corrigen esta correlación ajustando las probabilidades de los resultados 0-0, 1-0, 0-1 y 1-1 para reflejar mejor el patrón real observado. La complejidad sube, pero el acierto en partidos cerrados mejora. Es el siguiente paso natural cuando Poisson simple te deja en la frontera del valor.

Otras limitaciones: Poisson no captura el clima extremo, los partidos con expulsiones tempranas, los partidos con motivación desigual (equipos salvados contra equipos que juegan el descenso), ni los Clásicos o derbis con carga emocional. Maarten Haijer, secretario general de EGBA, lo sintetiza así: el mercado de juego europeo mostró un crecimiento sostenido en 2024. Aunque el juego presencial sigue siendo dominante y crece en términos absolutos, los canales online muestran un impulso más fuerte, impulsado por cambios en las preferencias del consumidor y el avance tecnológico. La tecnología ayuda, pero el modelo siempre es una aproximación; el trabajo del apostador empieza cuando Poisson termina. La base conceptual del xG como input del modelo se trabaja más a fondo en la guía de xG aplicado a apuestas.

¿Poisson funciona mejor que un modelo bivariante?

Poisson simple es más fácil de montar y entender, pero los modelos bivariantes (Dixon-Coles, doble Poisson) corrigen la correlación entre goles de los dos equipos y mejoran el acierto en resultados cerrados. Si apuestas con frecuencia a resultado exacto o mercados de pocos goles, el bivariante merece el esfuerzo. Para Over/Under y 1X2, Poisson simple basta en la mayoría de casos.

¿Cuánta historia necesito para calibrar λ?

Entre 10 y 15 partidos recientes es la ventana mínima útil. Con menos, la varianza es alta y el modelo sobreajusta a las últimas rachas. Con mucho más (30+ partidos) pierdes la capacidad de detectar cambios de plantilla o entrenador. La ventana de 10-15 partidos balancea estabilidad y actualidad, y es la que la mayoría de modelos públicos usa por defecto.

Artículo

Apuestas de Premier League

Premier League: la liga donde el mercado nunca duerme La primera temporada que me puse a apostar en serio a la Premier fue un aprendizaje humillante. Venía con el ego…