Premier League 2025–26 · GW1–GW30 · Datos reales

Fútbol + Machine Learning ¿Puede un modelo ganarle a Bet365?

7,198 tiros · 291 partidos · 20 equipos de la Premier League. xG por tiro, predicción de resultado y segmentación de jugadores con datos reales.

0.7955 AUC · Modelo xG
50.87% Superamos a Bet365
OR 104× shot_quality_index

7.198 tiros. 291 partidos. Tres preguntas.

¿Vale más un tiro al palo que un remate de cabeza? ¿Puede un modelo superar a Bet365? ¿Son predecibles los goles? Esto es lo que encontramos.

⚽ ¿Cuánto vale cada tiro?
Expected Goals — Logística Binaria
0.7955
AUC-ROC · Supera benchmark 0.78 ✓
Un penal vale~79% de probabilidad
Un tiro lejano vale~4% de probabilidad
Mejor modeloRF AUC 0.8250
El modelo diferencia tiros
🏆 ¿Quién gana el partido?
Predictor H/D/A — Logística Multiclase
50.87%
Accuracy · Bet365 = 50.43%
Ventaja sobre la casa+0.44 puntos
Empate — el más difícilSolo 26% de los partidos
Señal claveimplied_prob_h (OR 6.6)
Supera a Bet365
📉 ¿Cuántos goles habrá?
Regresión Goles Totales — OLS
-0.079
R² negativo · La media gana siempre
Media de goles/partido2.77 goles
Única señal realaway_sot_avg5 (p=0.04)
Variable ausente claveOver/Under Bet365
El fútbol no es predecible así
7,198
Tiros analizados
🏟️
291
Partidos
🎯
807
Goles reales
👥
128
Jugadores clusterizados

Distribución espacial de tiros con xG

600 tiros de la temporada coloreados por probabilidad xG. Radio proporcional a la calidad del disparo. Filtra por equipo, tipo y umbral de xG.

xG mín. 0.00
xG ≥ 0.4
xG 0.2–0.4
xG < 0.2
Gol
Tiros visibles
en pantalla
Goles visibles
anotados
xG promedio
de los tiros visibles
Tasa de conversión
goles / tiros

xG: la probabilidad de cada tiro

Regresión logística entrenada sobre 7,198 tiros. AUC = 0.7955 supera el benchmark. El bonus con Random Forest sube a 0.8250.

Curva ROC — Modelo Logístico vs Random Forest
AUC = 0.7955 — Supera benchmark 0.78 ✓
El modelo distingue gol de no-gol79.55% de las veces
ROC — Todos los Modelos xG
Random Forest domina · SVM queda por debajo
Mejor modelo bonusRF AUC 0.8250 (+3.2%)
Curva de calibración por decil de xG
Logística vs Modelos Avanzados — datos en tiempo real
Curva de Calibracion
Calibración excelente: el modelo predice 11.49% de media vs 10.99% real. Error <0.5%.
¿Qué tan bien calibrado está?
xG predicho vs gol real por zona de probabilidad
xG medio predicho0.1149
Goal rate real0.1099
Error absoluto0.0050
Tiros dataset7,198
Goles reales807
Un modelo bien calibrado significa que cuando predice 30% de probabilidad de gol, en esa zona del campo realmente entra gol ~3 de cada 10 tiros.
Odds Ratio — Top Predictores de xG
¿Qué convierte más goles en la Premier?
shot_quality_idx
OR 104.6 🔥
is_penalty
OR 16.28
first_touch
OR 1.26
distance_to_goal
OR 1.08
ppda
OR 1.008
defensive_pressure
OR 0.69 ↓
Interpretación de negocio
Lo que revelan los datos del campo
shot_quality_index es el predictor dominante. Captura ángulo, distancia y tipo de tiro en una sola variable. OR 104 significa que los tiros de alta calidad tienen 104x más chances de ser gol.
Los penales convierten ~79% de las veces. El modelo los identifica correctamente con OR 16.
Presión defensiva reduce xG (OR 0.69). Un tiro bajo presión es 31% menos probable de terminar en gol.
AUC-ROC por modelo — datos reales del taller
Random Forest lidera · Logística supera benchmark 0.78
¿Vale la pena la complejidad?
Rendimiento detallado por modelo
Random Forest gana en AUC (+3.2%) pero a costa de interpretabilidad. Para betting, la logística es más transparente y auditada. RF es mejor si solo importa predecir.

¿Quién gana el partido?

Logística multinomial H/D/A. Accuracy 50.87% vs Bet365 50.43%. Selecciona dos equipos y obtén las probabilidades del modelo.

VS
Local
Empate
Visitante
Matriz de Confusión — M2B
Clasificación H / D / A en test set
Accuracy50.87%
F1-macro0.4066
Coeficientes M2B (Log-Odds)
implied_prob_h
+6.576 ***
implied_prob_d
+2.200
home_strength
+0.585
points_form_diff
-0.298
constante
-3.732 *

¿Cuántos goles habrá?
La pregunta sin respuesta.

R² = −0.079. Un resultado negativo no es fracaso — es honestidad. El fútbol tiene más ruido que señal cuando se trata de goles totales. Aquí está la evidencia.

-0.079
Negativo: el modelo es peor que predecir la media
RMSE
1.638
Error cuadrático medio en goles
MAE
1.290
Error absoluto medio en goles
Media goles
2.77
Baseline naive (predecir siempre la media)
Diagnóstico
¿Por qué falla la regresión de goles?
Único coef. significativo (p<0.05)away_sot_avg5
Coef. away_sot_avg5+0.1597
Partidos de entrenamiento~210
Causa principal La variable Over/Under 2.5 de Bet365 (la más predictiva para goles totales) no estaba disponible en el dataset. Con solo xG rolling y tiros al arco, la señal es insuficiente para un R² positivo.
Distribución de Residuos — Modelo 2A
¿Cuánto se aleja el modelo de los goles reales?
Error 0–1 gol
71%
Error 1–2 goles
21%
Error 2–3 goles
6%
Error >3 goles
2%
RMSE = 1.638 · MAE = 1.290 · El modelo falla en promedio ±1.3 goles por partido.
Features Usadas
Predictores del Modelo 2A
home_xg_for_avg5xG rolling 5
away_xg_for_avg5xG rolling 5
home_sot_avg5Tiros al arco
away_sot_avg5 ★p=0.039 sig.
bookmaker_spread_drawMercado
implied_prob_dProb. empate
away_strength_ratingFuerza vis.
Coeficientes OLS — Modelo 2A
Solo away_sot_avg5 significativo (p=0.039)
away_sot_avg5 ★
+0.160 🔥
home_sot_avg5
+0.042
bookmaker_spread
+0.005
away_strength
−0.069 ↓
implied_prob_d
−3.811 ↓
Interpretación táctica
¿Qué le dice el modelo a un scout?
away_sot_avg5 (+0.160★)
Única variable significativa. Los tiros al arco del visitante en las últimas 5 jornadas predicen más goles totales — equipos atacantes producen partidos de más goles.
implied_prob_d (−3.811)
Cuando Bet365 dice que hay alta probabilidad de empate, el modelo predice menos goles totales. Los partidos "igualados" tienden a ser más cerrados.
R² = −0.079 → ¿qué falta?
La variable Over/Under 2.5 de Bet365 (omitida del dataset) es el predictor más potente de goles totales en el mercado.

Los datos detrás del juego

Antes de entrenar modelos, exploramos el campo. 20 equipos, 128 jugadores segmentados por perfil de remate. ¿Qué dice el dato antes de que el árbitro pite?

Seleccionar Equipo
Estadísticas detalladas por equipo
Selecciona un equipo para ver sus estadísticas
Goles Marcados — Top 10
Rendimiento ofensivo de los equipos
Victorias en Casa — Top 10
Home wins durante GW1–GW30
xG Promedio por Equipo — datos reales
Ordenar por:
Líderes por categoría
Top equipo en cada métrica de tiro
Mayor xG medio
Más tiros totales
Mayor conversión
Distribución FTR
Resultados de los 291 partidos
Distribucion FTR
xG por Zona del Campo
Shot Quality Index promedio por zona
xG por Zona
Home win rate
42.3%
123 de 291 partidos
Draw rate
26.1%
76 empates · difícil de predecir
Over 2.5 goles
54.0%
157 de 291 partidos
Big Chance conv.
36.6%
Penales: 82.9%
Clustering PCA — 128 Jugadores
Segmentación por perfil de remate (K-Means k=3)
Rematadores distancia Atacantes interiores Finalizadores área
Perfil por Cluster
Selecciona un cluster para ver su perfil
DescripciónRematadores de distancia
Goal rate8.2%
Distancia media21.0m
xG medio/tiro0.303
Box sharebajo
Silhouette Score por k
Selección del número óptimo de clusters
k=2 (mejor silhouette)0.2818
k=3 (elegido)0.2104 — interpretabilidad
Top Jugadores por Cluster
Selecciona un cluster para ver sus jugadores
Haz clic en un cluster en el gráfico para ver sus jugadores.

¿Qué modelo gana?

En el betting y el análisis táctico, elegir el modelo equivocado cuesta dinero y credibilidad. Compara métricas reales y decide.

🎯
xG — Predicción de tiro
AUC mide discriminación. Brier mide calibración probabilística. Para scouting y análisis táctico, ambas importan.
🏆
FTR — Predicción de resultado
Accuracy y F1-macro. Superar a Bet365 en accuracy es el benchmark real del mercado. +0.44pp es estadísticamente relevante.
⚖️
Complejidad vs Interpretabilidad
Random Forest gana en AUC pero pierde en explicabilidad. La logística permite justificar cada predicción con coeficientes claros.
⚽ Modelo xG — M1 · Expected Goals
Compara modelos de predicción de tiro
Modelo A
VS
Modelo B
🏆 Predictor Partidos — M2B · H/D/A
Compara vs Bet365 — ¿quién predice mejor?
Modelo A
VS
Modelo B

Pipeline completo:
de datos a predicción

Diseño riguroso con validación temporal para evitar data leakage. Feature engineering creativo sobre 110 qualifiers de WhoScored.

1. Fuentes de Datos
4 fuentes integradas: WhoScored (444K eventos con coordenadas), FPL API (822 jugadores × 40 métricas), football-data.co.uk (291 partidos + odds), player_history.
events.csv matches.csv players.csv player_history.csv
2. Feature Engineering
110 tipos de qualifiers parseados. Variables geométricas, contextuales y de construcción de jugada. shot_quality_index como predictor dominante (OR = 104.5).
shot_quality_index defensive_pressure buildup_decentralized ppda pass_decentralization
3. Validación Temporal
Split cronológico obligatorio. Features de partidos usan solo datos de las últimas N jornadas anteriores (rolling). Sin data leakage.
GW1–GW24 → Train GW25–GW30 → Test
4. Modelos Baseline
Logística binaria (xG), logística multiclase (FTR) y OLS (goles). Análisis VIF, coeficientes con IC95%, regularización L2.
5. Bonus Avanzados
Random Forest, SVM RBF y MLP comparados cuantitativamente. RF mejora en xG (AUC +3.2%). En M2B, la logística resulta mejor que todos los modelos flexibles.
Random Forest ↑ SVM RBF MLP Neural Net
Tiros
7,198
11.2% conversión
Partidos
291
GW1–GW30 de 38
Goles
807
2.77 / partido
Features partido
45+
engineering creativo
Bonus Feature Engineering
Features originales justificadas estadísticamente
shot_quality_index (r=0.336) buildup_decentralized ppda (presión) pass_decentralization expected_total_xg home_strength_rating bookmaker_spread_draw
Bonus Clustering
K-Means k=3 sobre perfiles de remate
Jugadores con ≥20 tiros128
Variables de clustering11
Silhouette k=2 (óptimo)0.2818
k elegido3 (interpretabilidad)