Saltar para o conteúdo
Liga Portugal

Dados abertos

Dados abertos da Liga Portugal

As previsões das páginas da Liga Portugal vêm de ficheiros JSON estáticos servidos deste site, sem chave a pedir nem limite de pedidos. O jogo Contra o Modelo guarda as previsões de quem joga no próprio browser, sem conta nem servidor; os dados do modelo estão todos aqui.

Se construíres alguma coisa com eles, podes usar as saídas do modelo nos termos da licença CC BY-NC 4.0: uso não comercial, com atribuição a estimador.pt e um link para a página de origem. Os dados de terceiros que alguns ficheiros trazem ficam fora dessa licença (vê abaixo). E se publicares, diz-nos: gostamos de ver.

Ficheiros publicados

A lista abaixo é gerada a partir do que está realmente no servidor no momento em que a página foi construída.

Época 2026-27

época atual

https://estimador.pt/data/football/liga-2026-27/

FicheiroO que éTamanho
ask.jsonPara perguntas condicionais sobre a época («e se o Porto perder em Braga?»): as probabilidades de cada equipa (título, top 3, Europa, despromoção) e os jogos em aberto cobertos. Ainda sem página própria no site.37 KB
ask_samples.jsonUma amostra das épocas simuladas, compactada, para responder a essas perguntas: em cada uma, o resultado de cada jogo em aberto e a posição final de cada equipa (a codificação está descrita no próprio ficheiro).568 KB
contested_ratings.jsonPosse disputada: probabilidade de ganhar duelos aéreos e no chão, defesas e médios, agregada sobre as épocas que o próprio ficheiro lista (seasons; quatro nesta versão, 2023-24 a 2026-27). Células que falharam uma porta pré-registada trazem ranking: null.Fora da licença: as contagens de duelos (duels, won, rate_raw), da SofaScore.85 KB
contrib_ratings.jsonContribuição ofensiva: golos mais assistências por 90 acima do substituto, com intervalo e a distribuição da métrica por posição. rank_goals_only e rank_change_vs_goals_only contam posições entre todos os jogadores do modelo, não na lista de finalização publicada; /jogadores compara com essa lista.Fora da licença: os minutos, golos e assistências de cada jogador (SofaScore).28 KB
def_ratings.jsonDefesas: mais-valia ajustada sobre golos sofridos. Pode trazer apenas diagnósticos, se o modelo concluir que os jogadores não são separáveis dos colegas de equipa.Fora da licença: as contagens de ações em descriptive_actions (SofaScore).44 KB
game_fixtures.jsonO calendário da época para o jogo Contra o Modelo: cada jogo com hora de início (UTC; kickoff_confirmed diz se já é a oficial), a sua hora de fecho (locks_at), as probabilidades do modelo e quando foram publicadas (published_at; probs_source diz de que ficheiro vieram) e o resultado. No jogo, uma jornada fecha inteira no locks_at mais cedo dos seus jogos. As notas abaixo dizem onde estas regras se afastam do calendário.Fora da licença: os resultados (home_goals, away_goals), da SofaScore.130 KB
gk_channels.jsonOs três eixos de guarda-redes, publicados separados e nunca combinados: intervenção em cruzamentos (separável), saídas da área (estilo) e defesa de remates (nulo com potência adequada). As épocas usadas estão no campo seasons (quatro nesta versão, 2023-24 a 2026-27).Fora da licença: as contagens de cada guarda-redes (y, n), da SofaScore.22 KB
gk_ratings.jsonGuarda-redes: golos evitados face ao xGOT dos remates enfrentados, em bruto e modelado, por 90 minutos e com intervalo. Traz também a validação fora da amostra e as regras de exclusão de remates.Fora da licença: os remates enfrentados, o seu xGOT e os golos sofridos (SofaScore).23 KB
injuries.jsonLesionados e suspensos por clube, com motivo, regresso previsto quando conhecido e valor de mercado. Instantâneo com data.Fora da licença: o ficheiro inteiro: lesões, castigos e valores de mercado do Transfermarkt.6 KB
market_scorecard.jsonUma avaliação do modelo contra a linha de fecho do mercado, com o número de jogos e de épocas, o erro padrão emparelhado em cada bloco, as casas de apostas cujas cotações foram usadas (market_sources), a verificação dos intervalos de pontos finais (calibration) e, no campo model, o modelo avaliado (que pode não ser o que publica as previsões).Fora da licença: as probabilidades e os erros do mercado (os campos market_*), derivados das cotações de fecho da Pinnacle e da Bet365 via football-data.co.uk.10 KB
mdNN.json
9 ficheiros (md00.json … md08.json)
A previsão publicada depois de uma jornada: classificação simulada com probabilidades de título, top 3 e despromoção (17.º ou 18.º lugar), forças de ataque e defesa, xPts e a classificação real nessa altura.Fora da licença: os resultados (actual_standings, matchday_results), da SofaScore, e o xG de xpts_table (xgf, xga, e os xPts calculados a partir dele), da FotMob.164 KB
mdNN_scenarios.json
8 ficheiros (md01_scenarios.json … md08_scenarios.json)
Análise condicional da mesma jornada: jogos decisivos, caminhos para o título e para a manutenção, e probabilidades condicionadas a cada resultado. São ficheiros grandes.3,3 MB
players.jsonA lista de finalização: golos por 90 minutos acima do nível de substituição (SAR), com intervalo de credibilidade de 90% e a variação face à época anterior. generated_from.seasons diz as épocas usadas.Fora da licença: os minutos, jogos e golos de cada jogador (SofaScore).19 KB
players_detail.jsonO detalhe por jogador por trás das páginas de jogador: histórico época a época e jogos recentes. appearances_through é a data do último jogo incluído. As páginas mostram só os jogadores da lista de players.json, com a posição e os números dessa lista; team é o plantel atual.Fora da licença: os minutos, jogos, golos e assistências por época e por jogo, e a nota de cada jogo (rating), da SofaScore.148 KB
samples.jsonÉpocas completas tiradas à sorte da simulação de Monte Carlo — posição, pontos e diferença de golos de cada equipa em cada época sorteada, mais os quantis de pontos.74 KB

Época 2025-26

época arquivada

https://estimador.pt/data/football/liga-2025-26/

FicheiroO que éTamanho
mdNN.json
19 ficheiros (md04.json … md31.json)
A previsão publicada depois de uma jornada: classificação simulada com probabilidades de título, top 3 e despromoção (17.º ou 18.º lugar), forças de ataque e defesa, xPts e a classificação real nessa altura.Fora da licença: os resultados (actual_standings, matchday_results), da SofaScore, e o xG de xpts_table (xgf, xga, e os xPts calculados a partir dele), da FotMob.273 KB
mdNN_scenarios.json
9 ficheiros (md23_scenarios.json … md31_scenarios.json)
Análise condicional da mesma jornada: jogos decisivos, caminhos para o título e para a manutenção, e probabilidades condicionadas a cada resultado. São ficheiros grandes.1,5 MB
review.jsonA revisão de uma época terminada: classificação final, xPts por equipa, a diferença entre pontos e xPts (luck; não é uma separação limpa entre sorte e talento) e a evolução das probabilidades de título e de despromoção ao longo do ano. Em 2025-26, as previsões das jornadas 4 a 22 foram reconstituídas depois, a 4 de março de 2026; o timestamp de cada mdNN.json mostra-o.Fora da licença: a classificação final (SofaScore) e o xG por trás dos xPts (FotMob).24 KB

Os campos principais

Os ficheiros de jornada (mdNN.json) são o ponto de partida para quase tudo. Os campos abaixo são os que interessam.

CampoO que é
table[]Uma entrada por equipa: mean_pts, std_pts, mean_gd e as probabilidades p_champion, p_top3 e p_relegation (despromoção = terminar em 17.º ou 18.º; o 16.º, que vai ao play-off, não conta). p_champion e p_relegation trazem ainda _lo/_hi: os percentis 3 e 97 da mesma probabilidade calculada em 100 blocos de 500 simulações. É a dispersão de uma estimativa com 500 simulações, cerca de dez vezes a margem de erro de Monte Carlo do número publicado (±0,4 pontos percentuais com 50 000 simulações), e não é a incerteza do modelo. O site não os mostra. p_top3 não tem _lo/_hi.
actual_standings[]A classificação real no momento da previsão: played, points, gf, ga, gd.
xpts_table[]Pontos esperados a partir do xG de cada jogo: xpts, xgf, xga, played. Não usa os parâmetros do modelo — é uma leitura independente.
team_strengths{}Ataque e defesa por equipa, em escala logarítmica e centrados em zero. Valores positivos de defense significam pior defesa.
position_probs{}Por equipa, a probabilidade de terminar em cada posição, do 1.º ao último. Soma 1.
next_matchday{}A jornada seguinte com p_home, p_draw e p_away por jogo. Pode incluir jogos adiados de jornadas anteriores. Nem sempre traz a jornada inteira: md03, md04 e md05 trazem 6, 7 e 8 dos 9 jogos.
matchday_results[] / matches_remaining[]matchday_results: os resultados que entraram desde a publicação anterior, que podem ser de mais do que uma jornada (jogos adiados ou antecipados). matches_remaining: jogos da jornada em curso ainda por disputar quando o ficheiro foi gerado (com kickoff quando conhecido); fica vazio quando a jornada acabou, mesmo que haja jogos adiados. Um mdNN.json não é cortado exatamente na jornada NN: actual_standings diz quantos jogos cada equipa já tinha.
season, matchday, model, n_sims, timestampMetadados: que época, que jornada, que modelo, quantas simulações e quando foi gerado pela última vez (UTC, ISO 8601). Um mdNN.json é regenerado no mesmo endereço enquanto a sua jornada decorre, à medida que entram resultados, por isso timestamp é a última regeneração e não a primeira publicação. Em 2026-27, model é joint_sot (o modelo anterior) na pré-época (md00) e bivcross (o modelo atual, Poisson bivariado com remates à baliza) da jornada 1 em diante; toda a época 2025-26 é joint_sot. O next_matchday de md01, md03, md04 e md08 difere do registo do jogo (game_fixtures.json) em até 0,4 pp; nos outros coincide. O registo do jogo é o que conta.

Notas sobre o jogo Contra o Modelo

Lidas do próprio game_fixtures.json: onde as regras de fecho e de avaliação se afastam do calendário.

  • Jornada 1: as probabilidades do modelo foram publicadas a 10 de agosto de 2026, depois de 8 dos 9 jogos terem começado. Ninguém podia jogar essa jornada. A partir da jornada 2, as probabilidades são publicadas antes do primeiro jogo.
  • Sp. Braga – Gil Vicente (jornada 2) foi adiado para segunda-feira, 19 de outubro às 20:15, mas fechou com a jornada 2, a 14 de agosto de 2026 (a hora original do jogo era 16 de agosto de 2026): é avaliado com as probabilidades que o modelo publicou para essa jornada.
  • As probabilidades das jornadas 3, 5, 6, 7 e 9 foram congeladas antes do fim da jornada anterior (por exemplo, as da jornada 9 a 11 de outubro de 2026, com a jornada 8 ainda a decorrer até 12 de outubro de 2026): não incluem os resultados que faltavam. O modelo é avaliado no jogo com essas probabilidades, tal como foram congeladas.
  • O registo de cada jogo é o game_fixtures.json: published_at diz quando as probabilidades foram congeladas e probs_source de que publicação vieram (ficheiro e commit). O mdNN.json com esse nome pode ter sido regenerado depois, por isso o seu timestamp e os seus números podem não coincidir com os do jogo. As jornadas 1 e 2 não têm probs_source.

Como usar

Não há índice: os ficheiros de jornada seguem o padrão mdNN.json com dois dígitos, e o mais recente é o do número mais alto. A jornada em curso está sempre no ficheiro com o NN mais elevado da época atual.

# um ficheiro de jornada (o mais recente é o NN mais alto)
curl -s https://estimador.pt/data/football/liga-2026-27/md01.json | jq '.table[0]'

# a classificação final e a diferença pontos − xPts de 2025-26
curl -s https://estimador.pt/data/football/liga-2025-26/review.json | jq '.luck[:3]'

Licença e atribuição

As saídas do modelo do estimador.pt (probabilidades, simulações, cenários, avaliações de jogadores e a avaliação do modelo) estão sob a licença Creative Commons Atribuição 4.0 Internacional (CC BY-NC 4.0): podes usá-las, redistribuí-las e transformá-las, incluindo para fins comerciais, desde que atribuas a fonte («estimador.pt», com link para a página correspondente).

A licença não abrange os dados de terceiros que alguns ficheiros trazem, marcados na lista acima como «Fora da licença»: resultados e estatísticas de jogo (SofaScore), xG (FotMob), cotações de casas de apostas (Pinnacle e Bet365, via football-data.co.uk) e lesões e valores de mercado (Transfermarkt). Esses dados vêm da fonte original e não são redistribuíveis por nós: para os reutilizar, segue os termos de cada fonte.

Os dados são fornecidos como estão, sem garantias — são previsões probabilísticas de um modelo estatístico, e por definição vão estar erradas parte do tempo.

Proveniência

Resultados e estatísticas de jogo (incluindo remates à baliza) da SofaScore; xG da FotMob; cotações de fecho (Pinnacle e Bet365) via football-data.co.uk; lesões e valores de mercado do Transfermarkt. As probabilidades vêm de um modelo bayesiano de Poisson bivariado (bivcross), ajustado aos golos e aos remates à baliza das últimas quatro épocas da Primeira Liga e da Liga 2, com os jogos mais antigos a pesar menos e o valor de cada plantel como ponto de partida, e de 50 000 simulações de Monte Carlo por publicação. A pré-época (md00) foi publicada pelo modelo anterior, joint_sot.