rallica

metodologia

como o xP-serve é calculado e o que significa

ridge_v0.2·Junho 2026
01

o que é xP-serve

xP-serve (expected serve points won) é a percentagem de pontos ganhos ao saque que um jogador deveria obter com base no seu perfil histórico, na superfície e na qualidade do adversário. Não é uma previsão do resultado — é uma linha de base de eficiência ao saque, calibrada sobre mais de 260 mil partidas ATP e WTA. O diferencial face a estatísticas tradicionais é o ajuste contextual: o mesmo % de pontos ao saque vale de forma diferente contra um top-10 em relva ou contra um qualifier em terra batida.

02

dados e cobertura

Base histórica: Jeff Sackmann Tennis Match Level (TML) — mais de 260 mil partidas ATP e WTA desde 1968, com estatísticas granulares de saque e devolução a partir de ~2000. Intraday: api-tennis fornece fixtures em tempo real, resultados e estatísticas de saque para torneios sem cobertura ESPN. Odds de mercado: tennis-data.co.uk (B365, Pinnacle) para o módulo xP vs Mercado. Resultados ao vivo: ESPN/SofaScore para Grand Slams e ATP/WTA 500+. Ingestão automatizada via GitHub Actions com refresh a cada 20 minutos em dias de torneio.

260k+
partidas históricas
1968
ATP desde
1968
WTA desde
2000+
stats granulares
03

modelo preditivo

Usamos Ridge Regression (regularização L2) treinado sobre características estatísticas derivadas dos últimos 12 meses de cada jogador antes da partida. O modelo prediz a percentagem de pontos ganhos ao saque. O split é estritamente temporal: dados de 2013–2023 para treino, 2024–2026 como conjunto out-of-sample — sem qualquer look-ahead. A Ridge foi escolhida sobre alternativas não-lineares por interpretabilidade, velocidade de inferência e estabilidade em amostras pequenas (jogadores com poucas partidas na superfície).

Ridge L2
algoritmo
12 meses
janela treino
temporal
split
04

features e exclusões

Características de saque: % 1º serviço em jogo, pontos ganhos no 1º serviço, pontos ganhos no 2º serviço, aces por partida, duplas faltas por partida. Características de devolução: % pontos ganhos na devolução, break points convertidos. Contexto: superfície (hard/clay/grass), ronda, ranking relativo do adversário, número de partidas nos últimos 12 meses. Features ausentes são imputadas por proximidade de ranking na mesma superfície; xp_proxy_count indica quantas foram imputadas.

xAce excluído · xAce foi testado como feature autónoma mas apresentou colinearidade elevada com ace_per_match e 1st_serve_pct — introduz ruído sem ganho informacional independente. Excluído na v0.2; será desenvolvido como módulo separado na v0.3.
05

validação out-of-sample

O modelo foi avaliado em dois períodos de teste independentes — 2024 e 2025 — inteiramente fora da janela de treino. A métrica principal é o MAE (Mean Absolute Error) em percentagem de pontos ao saque. O skill score mede a melhoria relativa face ao preditor naïve (média global por superfície). Com MAE de 6,33 pp e skill +0,106, o modelo estima o campo de saque de qualquer jogador com ≥ 4 partidas na superfície no último ano com erro médio inferior a 6,5 pp.

6,33 pp
MAE
+0,106
skill score
2013–23
treino
2024–26
OOS
06

interpretando o delta

Delta (Δ) = xP real − xP predito. Δ positivo: o jogador performou acima da expectativa nessa partida. Δ negativo: ficou abaixo. O Δ acumulado ao longo de vários jogos é o indicador principal do leaderboard — jogadores com Δ médio elevado são consistentemente mais eficientes ao saque do que os modelos esperam.

Δ +2,4 ppover-performer
Δ −3,1 ppunder-performer
07

arquétipos de saque

Classificamos cada jogador em um de seis perfis, calculados sobre percentis da base histórica completa. A classificação é dinâmica: actualiza a cada ingestão com a janela dos últimos 12 meses. Os critérios são aplicados por ordem de prioridade — um jogador satisfaz o primeiro critério válido.

SDMserve-dominantace > p80 · serve win% > p75
AGRaggressiveserve win% > p65 · return win% < p45
CNTcounterpuncherreturn win% > p70 · serve win% < p70
ALCall-courtfallback — remaining profiles
NETnet rusherserve win% > p65 · BP saved > p70
CRTcourt specialistsurface_spread > 15 pp · ≥ 2 surfaces w/ 10+ matches

classificação por ordem de prioridade decrescente · fallback: ALC

08

confiança editorial

Não publicamos xP quando os dados são insuficientes para uma estimativa significativa. Os níveis de confiança refletem a qualidade das features de entrada: features imputadas aumentam a incerteza; poucas partidas na superfície reduzem a representatividade da janela histórica. Os limiares são revistos a cada versão do modelo.

xP ✓ alta
≤ 2 imputadas · ≥ 8 partidas
xP ~ média
3–5 imputadas · 4–7 partidas
xP ~ baixa
> 5 imputadas · < 4 partidas
09

limitações e próximos passos

Limitações actuais: (a) o modelo é agnóstico a forma recente — uma série de derrotas não reduz o xP-serve; (b) ausência de dados de lesão ou fadiga acumulada; (c) a imputação por proximidade introduz ruído para jogadores em transição rápida (ex. estreias no top-50). O modelo tende a subestimar servos dominantes na primeira aparição numa superfície nova, porque a janela de 12 meses não tem representação suficiente. Próximos passos: LightGBM v0.3 para capturar interações não-lineares; feedback loop de recalibração pós-resultado; xAce como módulo independente.

LightGBM v0.3
interações não-lineares · previsto julho 2026
feedback loop
recalibração em tempo real pós-resultado
xAce module
predição de aces independente do xP-serve