Cómo funciona
Predicciones de partidos
Qué datos entran, qué modelo se usa en cada mercado y —sobre todo— cómo sabemos que funciona. Incluido lo que no hace.
- Partidos analizados
- 19 763
- Modelos en producción
- 22
- Competiciones
- 9
- Mercados por partido
- 8
Un modelo de fútbol no adivina resultados. Estima cuántos goles, córners y tarjetas es razonable esperar en un partido concreto, y de esa estimación salen las probabilidades de todos los mercados: quién gana, si se pasan los 2.5 goles, si marcan los dos, cuántos córners habrá.
La pregunta interesante no es si el modelo acierta un partido. Es si, cuando dice «62%», eso ocurre aproximadamente 62 veces de cada 100. A eso se le llama calibración, y es lo único que distingue una probabilidad de una opinión con un número delante.
De dónde salen los datos
El histórico son 19 763 partidos de11 temporadas (2015/16–2025/26) y 163equipos, cruzados desde 3 proveedores distintos. De cada partido se guardan resultado, tiros, tiros a puerta, córners, faltas, tarjetas y árbitro, además de las cuotas de cierre de 19 casas de apuestas.
Esas cuotas de cierre no son decoración: son la referencia contra la que se mide el modelo. El precio al que una casa cierra un partido es la mejor predicción pública que existe, porque lleva incorporado el dinero de todo el que apostó. Si un modelo no le gana a eso en un mercado, lo honesto es decirlo.
Un modelo por mercado, elegido midiendo
La columna de dispersión es la razón de cada elección: es la varianza dividida entre la media en los 19 763 partidos del histórico. Por encima de 1, Poisson se queda corto.
Goles
Dixon-Coles · Poisson bivariado
dispersión 1,01
Fuerzas de ataque y defensa por equipo, ventaja de local y decaimiento temporal: un partido de hace tres años pesa menos que el del mes pasado. La corrección de Dixon-Coles ajusta los marcadores bajos, donde el Poisson puro se queda corto.
Córners
Binomial negativa
dispersión 1,18
El ritmo de córners de cada equipo y su estilo de juego. La varianza supera a la media, así que el Poisson subestimaría los partidos extremos — de ahí la binomial negativa y no otra cosa.
Tarjetas
Binomial negativa con efecto árbitro
dispersión 1,22
Además del perfil de los equipos entra quién pita: los efectos ajustados por árbitro van de ×0,86 a ×1,23 según la liga. También pesan la rivalidad y lo que se juega el partido.
Un apunte sobre esa columna: con dispersión 1,01 los goles se comportan casi exactamente como un proceso de Poisson, así que meter una binomial negativa ahí habría añadido un parámetro para no ganar nada. Con córners en 1,18 y tarjetas en 1,22, al revés: el Poisson se queda corto en los partidos extremos y hace falta la familia que admite más varianza. La elección no es de escuela, es de medición.
Cómo se mide antes de publicar
El modelo se valida hacia adelante en el tiempo, nunca con validación cruzada aleatoria: entrena con las temporadas antiguas y se califica con las recientes, que no vio. Son 8 876 partidos y 15 029 selecciones de control. Mezclar partidos de 2025 en el entrenamiento y examinarse con partidos de 2019 daría una nota excelente y un producto inservible.
Además de la prueba de laboratorio está la de producción: llevamos 2 311 publicaciones ya liquidadas —partidos reales, publicados antes de jugarse y comprobados después— con la calibración confirmada. Es la única medición que no se puede afinar a posteriori.
Calibración por mercado
El ECE es el error de calibración esperado: la distancia media entre la probabilidad que anunciamos y la frecuencia con la que el hecho ocurre de verdad. Cuanto más bajo, mejor; por debajo de 0,01 es muy bueno.
| Mercado | ECE | Contra su referencia |
|---|---|---|
| 1X2 | 0,0112 | No bate la cuota de cierre (0,9880 contra 0,9690) |
| Más/menos goles | — | No bate la cuota de cierre (0,6782 contra 0,6672) |
| Córners | 0,0035 | Bate la frecuencia base en las 4 líneas |
| Tarjetas | 0,0048 | Bate la frecuencia base en las 4 líneas |
| Perú · goles | 0,0224 | Bate a Elo (0,9826 contra 0,9875) |
| Perú · tarjetas | 0,0066 | Bate la frecuencia base en las 4 líneas |
En la plataforma esta tabla no es global: cada liga muestra la suya. Ni el modelo ni la confianza son los mismos en la Premier League que en la Liga 1 de Perú, y presentarlos con una sola cifra promedio sería esconder justo la información que hace falta para decidir.
Lo que el modelo no hace
Publicado con el mismo detalle que lo que sí hace.
No le ganamos al mercado en 1X2 ni en goles
La cuota de cierre de las casas sigue siendo mejor predictor que nuestro modelo en esos dos mercados (0,9880 contra 0,9690 en 1X2). Donde sí batimos la referencia es en córners y tarjetas, que las casas modelan con menos cuidado.
Apostar las selecciones de goles ha dado pérdida
Medido en holdout, el ROI de apostar sistemáticamente las selecciones de los mercados de goles es −11,48%. Publicamos probabilidades calibradas, no un sistema para ganar dinero.
Los córners de Perú no se publican
El modelo bate a la frecuencia base en las cuatro líneas, pero su pendiente de calibración es 1,59 cuando debería estar cerca de 1. Hasta que eso se corrija, ese mercado no sale en la plataforma aunque esté entrenado.
Publicamos esto porque es la única forma de que lo otro valga algo. Cualquiera puede afirmar que acierta; enseñar con número dónde se pierde es lo que no se puede copiar sin haberlo medido antes.
Qué ves en la plataforma
Cada partido llega con la probabilidad de sus mercados y su cuota justa, que es simplemente 1 dividido entre la probabilidad. Ojo con ese número: no lleva margen de casa, así que no es un precio que nadie pague. Es la vara contra la que comparar la cuota que sí te ofrecen — si la cuota real supera a la justa, esa casa está pagando por encima de lo que el modelo considera razonable.
De ahí sale también lo que el modelo destaca de cada partido, con dos criterios distintos que no son dos niveles del mismo: uno se queda con las probabilidades altas en los mercados mejor calibrados, y otro busca los partidos que más se salen de lo normal en su liga. Cada uno lleva su porcentaje de acierto medido y visible dentro de la plataforma.