Los goles esperados (xG) estiman qué tan probable era que un tiro terminara en gol, según desde dónde y cómo se realizó. Este proyecto ya ingiere el propio xG de Understat como referencia junto a las coordenadas crudas de cada tiro — así que la siguiente pregunta natural es si un modelo entrenado con esos mismos datos puede igualarlo o superarlo.
Respuesta corta: no, todavía no. Esta página es el resultado honesto, no uno halagador — en el mismo espíritu que la página de Lecciones aprendidas: un sitio sin dificultades visibles es menos creíble que uno que muestra sus resultados reales.
Un clasificador LightGBM entrenado con distancia al gol y ángulo al gol (derivaciones estándar de geometría de tiro a partir de las coordenadas normalizadas de cada tiro, no directamente x/y crudas), la situación del tiro (juego abierto, córner, jugada a balón parado, tiro libre directo), parte del cuerpo, y una bandera explícita de penal. Entrenado con cuatro temporadas completas (2021-22 a 2024-25) en EPL, Serie A y La Liga — las únicas ligas con datos a nivel de tiro ingeridos (Understat no cubre la MLS) — y evaluado en una quinta temporada retenida (2025-26) con la que nunca entrenó, la misma disciplina walk-forward usada en todo este proyecto.
| Log loss | Puntuación de Brier | |
|---|---|---|
| Nuestro modelo | 0.2800 | 0.0791 |
| xG de Understat | 0.2619 | 0.0742 |
28,846 tiros retenidos, 3,326 goles. Menor es mejor en ambas métricas. El log loss de nuestro modelo es 6.9% peor que el de Understat.
La brecha no es un error. Understat codifica los penales como un punto fijo con un xG de referencia fijo (0.7613 — la tasa histórica conocida de conversión de penales, no una predicción por tiro) — vale la pena verificarlo directamente, ya que podría haber hecho la comparación injusta a favor de Understat. No fue así: agregar una bandera explícita de penal a este modelo no cambió el resultado en nada, porque la distancia y el ángulo por sí solos ya ubican cada penal en el mismo punto del campo, y el modelo ya había aprendido ese patrón por geometría. La brecha real es que Understat casi con certeza tiene acceso a información que este conjunto de datos público no incluye — probablemente las posiciones de los defensores y el portero en el momento del tiro — y ninguna cantidad de ingeniería de características sobre coordenadas y tipo de tiro por sí sola cierra eso.
A pesar de perder en log loss y puntuación de Brier, el modelo sigue estando bien calibrado — agrupado por decil de probabilidad predicha, la tasa de gol realizada sigue de cerca a la declarada en cada nivel. Es un discriminador peor que el modelo de Understat (peor para separar los goles probables de los improbables), no uno deshonesto.
| Declarado | Realizado | n |
|---|---|---|
| 1.5% | 2.7% | 2,885 |
| 2.5% | 2.6% | 2,894 |
| 3.3% | 3.7% | 2,877 |
| 4.3% | 4.3% | 2,952 |
| 5.2% | 4.9% | 2,839 |
| 7.2% | 7.0% | 2,862 |
| 10.1% | 9.5% | 2,898 |
| 14.0% | 13.0% | 2,870 |
| 19.7% | 18.9% | 2,885 |
| 52.2% | 48.9% | 2,884 |
| Característica | Importancia relativa |
|---|---|
| Ángulo al gol | 2,389 |
| Distancia al gol | 2,232 |
| Parte del cuerpo | 499 |
| Situación (juego abierto / córner / etc.) | 495 |
| Es penal | 85 |
Cerrar la brecha de características requeriría datos de contexto de tiro más ricos (probablemente posiciones de defensores en el momento del tiro) de los que cualquier fuente actualmente conectada a este proyecto proporciona.
Extender este modelo a la MLS — la razón real para construir un modelo xG personalizado en lugar de depender de Understat — es un no-objetivo deliberado por ahora, no un descuido. Se investigó cada opción realista: cada fuente de datos de coordenadas de tiros encontrada o no cubre la MLS (Understat), o es una publicación histórica estática única en lugar de un flujo en vivo (los datos abiertos gratuitos de StatsBomb tienen coordenadas reales de tiros de la MLS, pero solo para la temporada 2023), o requiere precios empresariales solo por cotización (la API Soccer Extended de Sportradar). Escrito completo en la página de Lecciones aprendidas.
Cómo funciona →