Dashboard
Visão geral do modelo Dixon-Coles com ajuste Zero-Inflated
Liga
—
Jogos carregados
0
Home Advantage
—
Accuracy (Model / Pinn)
— / —
Log Loss (Model / Pinn)
— / —
menor = melhor
Brier Score (Model / Pinn)
— / —
menor = melhor
Próximos Jogos com Previsão
Model II
Previsão Contextualizada — blend dinâmico modelo + histórico de mercado por similaridade de adversário
vs
Tolerância rating:
±0.15
Model I
Previsão Dixon-Coles — probabilidades puras do modelo
vs
Tolerância rating:
±0.15
Team Ratings
Parâmetros de ataque e defesa otimizados por MLE
Ataque
Defesa
Overall
Score Matrix
Probabilidade de cada placar exato com correção Dixon-Coles (ρ)
vs
Value Bets
Apostas com Expected Value positivo — modelo vs mercado
Parâmetros do Modelo
Configuração do Dixon-Coles e pesos de combinação
Time Decay (ξ)
Peso exponencial para jogos mais antigos. Valores maiores dão mais peso a jogos recentes.
Padrão Dixon-Coles: ξ ≈ 0.0019 (meia-vida ~365 dias)
Pesos de Combinação
Peso adaptativo entre modelo e mercado. Ajuste conforme confiança no modelo.
Convergência MLE
Iterações máximas e tolerância para otimização.
Opções Avançadas
Logs de Execução
Detalhes de convergência e processamento
Sistema inicializado. Configure a API key e selecione uma liga.
Banco de Dados Local
Ligas salvas no IndexedDB do navegador — persistem entre sessões
Documentação
Como o modelo funciona — item por item
1. Base Estatística — Dixon-Coles
O modelo parte do Dixon & Coles (1997), uma extensão do Poisson bivariado para futebol. Cada time tem dois parâmetros latentes: ataque (α) e defesa (β). Os gols esperados em um jogo são:
λH = αhome · βaway · γ λA = αaway · βhome
Onde γ é o home advantage. A probabilidade de um placar (i,j) é Poisson(λH, i) × Poisson(λA, j), multiplicada pela correção τ(i,j,λH,λA,ρ) de Dixon-Coles que ajusta a distribuição nos placares baixos (0-0, 1-0, 0-1, 1-1), onde o Poisson independente tende a errar.
2. Estimação por Máxima Verossimilhança (MLE)
Os parâmetros (ataque, defesa, γ, ρ) são ajustados por Maximum Likelihood Estimation, maximizando a log-verossimilhança ponderada de todos os jogos históricos. Uso coordinate ascent como otimizador (em vez do Solver da planilha original), que itera sobre cada parâmetro individualmente até convergência. Critério de parada: Δ log-likelihood < 10⁻⁶ ou 500 iterações. Normalização: Σα = n (média 1) para evitar não-identificabilidade entre ataque e home advantage.
3. Time Decay Exponencial
Jogos antigos pesam menos na verossimilhança. O peso de cada jogo é exp(−ξ · Δt), onde Δt é o tempo desde o jogo em dias e ξ é o fator de decaimento (ajustável no slider de Parâmetros). Valor padrão ξ = 0.0065 → meia-vida ≈ 107 dias. Isso faz com que o modelo responda a mudanças de forma/elenco sem descartar completamente o histórico.
4. Correção ρ (Low-Score Dependence)
O Poisson independente subestima empates 0-0 e 1-1 e superestima 1-0 e 0-1. A função τ de Dixon-Coles injeta dependência nos 4 placares baixos:
τ(0,0) = 1 − λHλAρ
τ(1,0) = 1 + λAρ
τ(0,1) = 1 + λHρ
τ(1,1) = 1 − ρ
τ(i,j) = 1 para os demais placares
ρ é estimado junto com os outros parâmetros pelo MLE. Tipicamente ρ ∈ [−0.15, 0.05] em futebol.
τ(1,0) = 1 + λAρ
τ(0,1) = 1 + λHρ
τ(1,1) = 1 − ρ
τ(i,j) = 1 para os demais placares
5. Model I — Previsão Pura
Saída direta do Dixon-Coles calibrado. λH, λA, matriz de placares 11×11 e probabilidades 1X2, O/U, Handicap Asiático derivadas apenas dos parâmetros do modelo. É o "sinal cru" do motor estatístico — sem ajuste de mercado.
6. Model II — Blend Dinâmico Contextual
Correção do Model I usando odds de fechamento históricas da Pinnacle em jogos com adversários de rating similar. Para cada time no confronto, busco na base histórica:
• Jogos do mesmo time (em casa se mandante, fora se visitante)
• Contra adversários com rating atk−def dentro de uma tolerância (default ±0.15)
• Ponderados exponencialmente pela recência
As odds de fechamento (sem margem) são convertidas em probabilidades justas e agregadas. O blend final é uma média ponderada probs_modelo × (1−w) + probs_histórico × w, onde w é a confiança no histórico (cresce com o nº de jogos comparáveis encontrados). Lambdas são escalados proporcionalmente para manter a matriz consistente.
• Contra adversários com rating atk−def dentro de uma tolerância (default ±0.15)
• Ponderados exponencialmente pela recência
7. Mercados Derivados
A partir da matriz de placares calculo:
• 1X2: soma triangular (home > away, away > home, empate)
• Over/Under 2.5: soma dos placares cuja soma > ou < 2.5
• Handicap Asiático: tratamento correto de linhas inteiras (push), meias (−0.5, +0.5) e quartos (−0.25, +0.25) com split 50/50 entre as duas sub-linhas
• Asian Totals (Gols Asiáticos): mesma lógica de push/quarter aplicada à soma de gols
Odds justas = 1 / probabilidade. Não aplico margem nas odds calculadas — são valores "zero-vig".
• Over/Under 2.5: soma dos placares cuja soma > ou < 2.5
• Handicap Asiático: tratamento correto de linhas inteiras (push), meias (−0.5, +0.5) e quartos (−0.25, +0.25) com split 50/50 entre as duas sub-linhas
• Asian Totals (Gols Asiáticos): mesma lógica de push/quarter aplicada à soma de gols
8. Detecção de Value Bets — Kelly Criterion
Comparo a probabilidade do modelo com a implied probability da Pinnacle (após remoção de vig via método multiplicativo). Edge = p_modelo − p_mercado. EV = p_modelo × (odd − 1) − (1 − p_modelo). Só entro em jogos com EV > 2% (configurável). Stake sugerido por Half Kelly: f = 0.5 × (p × odd − 1) / (odd − 1), truncado em 0.
9. Métricas de Performance
• Accuracy: % de jogos onde a previsão (maior prob 1X2) acertou o resultado. Benchmark aleatório = 33.3%.
• Log Loss: −1/N · Σ log(pacerto). Penaliza previsões confiantes erradas. Menor = melhor.
• Brier Score: 1/N · Σ (pH−yH)² + (pD−yD)² + (pA−yA)². Mede calibração probabilística. Varia de 0 (perfeito) a 2 (péssimo). ~0.55 costuma ser forte em futebol.
10. Backtest Walk-Forward
Para evitar data leakage, o backtest usa janela expansiva: para cada jogo na ordem cronológica, treino o modelo apenas com os jogos anteriores àquele (mínimo de 30 jogos), faço a previsão e só então registro o resultado. O modelo nunca "vê o futuro". As métricas são calculadas sobre o conjunto out-of-sample completo.
11. Fonte de Dados
API odds-feed.p.rapidapi.com (RapidAPI). Para cada liga: lista de torneios, temporada corrente, jogos finalizados com placar e jogos futuros com odds de fechamento da Pinnacle (1X2 e Over/Under 2.5). Dados persistem no IndexedDB do navegador para uso offline. Cache de lista de torneios no localStorage para carregamento rápido.
12. Pontos Fortes e Limitações
Pontos fortes:
• Captura dependência em placares baixos (ρ)
• Responde a mudanças de forma (time decay)
• Ancora previsões em informação de mercado (blend contextual)
• Backtest sem data leakage
• Funciona offline depois da primeira carga
Limitações:
• Responde a mudanças de forma (time decay)
• Ancora previsões em informação de mercado (blend contextual)
• Backtest sem data leakage
• Funciona offline depois da primeira carga
• Não modela explicitamente suspensões, lesões, ou escalações
• Rating é estático dentro de uma previsão (não capta tendência intra-temporada)
• Blend contextual depende de volume histórico — ligas pequenas ou recém-promovidos têm w baixo
• Não há modelagem explícita de fadiga (congestionamento de calendário) ou efeito de torneios paralelos
• Margem de segurança sugerida em apostas: Half Kelly (nunca Full)
• Rating é estático dentro de uma previsão (não capta tendência intra-temporada)
• Blend contextual depende de volume histórico — ligas pequenas ou recém-promovidos têm w baixo
• Não há modelagem explícita de fadiga (congestionamento de calendário) ou efeito de torneios paralelos
• Margem de segurança sugerida em apostas: Half Kelly (nunca Full)