Goalence

Metodología

Cada número en Goalence es reproducible. Esta página documenta los modelos, umbrales y filtros de datos que producen cada predicción y cifra de impacto de jugador del sitio.

Goalence corre un pipeline de modelo único: un solo motor Pi-Ratings produce predicciones de resultado, más/menos y ambos marcan en paralelo, con cada salida trazable hasta los mismos valores lambda. No corremos modelos separados para distintos mercados, no ajustamos predicciones después de ver el resultado y no escondemos los partidos que erramos. Los resultados forward-tracking se publican diariamente en /app/stats.

01Modelo de partido Pi-Ratings

Cada equipo carga cuatro calificaciones: ataque local, defensa local, ataque visitante, defensa visitante. Tras cada partido las actualizamos iterativamente desde la diferencia de goles y la brecha de rating actual. El modelo converge en aproximadamente 8 semanas de liga; arrancamos en frío las primeras 2 semanas de cada temporada con arrastre de la temporada anterior. La lambda (goles esperados) de un partido se deriva de los pares ataque local vs defensa visitante y ataque visitante vs defensa local, luego se convierte en probabilidades de resultado, más/menos y ambos marcan vía distribución de Poisson. Modelo único coherente = sin contradicciones entre el pick 1X2 y el pick más/menos.

02Umbrales de categoría

Cada predicción se clasifica en una de tres categorías por confianza: Élite ≥ 70%, Seguro ≥ 55%, Normal < 55%. Las categorías no se ponderan distinto en el modelo, existen para que los usuarios midan la precisión esperada. Nuestra página de forward-tracking reporta tasa de acierto por categoría, así la relación entre confianza y realidad es auditable públicamente.

03Métrica estricta de gol en cancha (v3)

Las columnas tradicionales de Ganado/Empate/Perdido cuentan a cualquier jugador que apareció (incluso por 1 minuto) como parte del resultado. Nuestra métrica en cancha aísla los minutos que el jugador estuvo físicamente en el campo y cuenta solo los goles marcados/recibidos durante esos minutos exactos. Un jugador que jugó 30 minutos en un 3-0 donde todos los goles llegaron en la segunda mitad registra 0 goals_for_on_pitch, porque los goles ocurrieron después de que salió. El pipeline v3 opera con granularidad de minuto usando arrays de estado por minuto (ganando / empatando / perdiendo por minuto en cancha), produciendo la tasa de minutos ganadores que alimenta las tablas de Impacto de Jugador.

04Clave compuesta (player_id, team_id)

Cuando un jugador se transfiere a mitad de temporada aparece como dos filas separadas en nuestro dataset de Impacto de Jugador, una fila por par (player_id, team_id). Sus minutos pre-transferencia quedan atribuidos al club viejo, sus minutos post-transferencia cuentan para el nuevo club. Esta es la única forma de comparar honestamente el impacto de un jugador en dos clubes sin doble conteo ni atribución arbitraria. MIN_MATCHES = 5 por fila, así las filas transitorias de corta estadía quedan filtradas.

05Cobertura

Cobertura: 19 ligas de clubes — las cinco grandes europeas (Premier League, La Liga, Serie A, Bundesliga, Ligue 1), la Süper Lig y la Trendyol 1. Lig turcas, la escalera inglesa (Championship, League One, League Two, National League), Eredivisie, Primeira Liga, Premiership escocesa, Super League suiza, Bundesliga austríaca, Super League griega, Premier ucraniana y Premier rusa — más las copas UEFA de clubes (Champions League, Europa League, Conference League) y las ventanas de selecciones (Mundial 2026 con eliminatorias de todas las confederaciones, EURO, Copa América, AFCON, Copa Asiática, UEFA Nations League). En selecciones se filtran las categorías U17-U23, femeninas y olímpicas; solo cuentan los partidos de la absoluta. Los amistosos internacionales tienen página de predicción pero nunca alimentan ninguna estadística.

06Frescura de datos

El build diario corre a las 06:00 UTC vía GitHub Actions: trae nuevos partidos de API-Football, corre Pi-Ratings sobre los resultados completados, calcula predicciones para ventanas próximas (30 días para liga, 60 días para eliminatorias mundialistas + Nations League, 90 días para hubs de torneo como Mundial 2026 / Euro 2024 / Copa América), regenera las páginas estáticas y despliega a Cloudflare Pages. El ledger forward-tracking añade resultados, nunca sobrescribimos silenciosamente una predicción a posteriori.

07Lo que no hacemos

No hacemos claims de backtest (solo forward-tracking). No aceptamos colocación pagada en ninguna categoría de predicción. No corremos enlaces de referido a operadores comerciales de terceros. No comercializamos nuestro contenido a la industria de predicciones-como-producto, el material es solo de interés analítico. No generamos comentarios de partido con LLMs al momento del request; las oraciones editoriales en cada página de partido son template basadas en salida real del modelo. No escondemos semanas perdedoras, cada predicción publicada queda en su página de partido después de conocido el resultado.

08Estándares abiertos y citación

Los datos del sitio están en JSON/JSON-LD con marcado schema.org completo (SportsEvent, NewsArticle, BreadcrumbList, FAQPage, Dataset). Los alternates hreflang enlazan cada página en 5 idiomas (en/tr/ar/es/zh). Nuestro /llms.txt declara el índice de contenido canónico para agentes de IA. La métrica estricta de gol en cancha está descrita en inglés llano para que el algoritmo sea reproducible por cualquiera con acceso a un feed minuto-a-minuto de sustituciones y goles.