
Baseline — NBA Game and Data Analysis
Baseline — análise da NBA que mostra de onde vêm os números
⚠ Apenas análise estatística da NBA — nenhum conselho de apostas ou de jogos de azar. Cada número abaixo é uma probabilidade modelada com um intervalo de incerteza explícito: não é uma escolha nem uma recomendação. A ferramenta não atribui rótulos de ação e nunca apresenta um resultado como certo.
O que ele faz
O Baseline transforma um confronto da NBA em uma análise estatística reproduzível, construída apenas com estatísticas publicadas da NBA. Peça um jogo e você recebe placar modelado, margem do mandante, spread, total, probabilidade de vitória e um intervalo central de 60%. Peça um jogador e você recebe minutos esperados mais pontos, rebotes, assistências, bolas de três e PRA modelados.
A diferença está no que fica por trás do número. Toda análise carrega a versão do modelo, o corte dos dados, a temporada de origem e — quando uma temporada ainda não tem jogos — uma sinalização explícita de que houve fallback. Quem escreve as tabelas é um renderizador determinístico, não um modelo de linguagem improvisando texto, então a mesma solicitação no mesmo corte devolve a mesma resposta.
Quando usar
- Uma leitura pré-jogo de um confronto específico. "Lakers x 76ers em 23 de outubro — o que o modelo diz?" Você quer placar, margem e probabilidade de vitória a partir de estatísticas publicadas, não de uma impressão.
- Uma temporada nova com um elenco novo. Os elencos mudam todo verão. O Baseline reconstrói uma rotação de 240 minutos a partir do elenco atual e do histórico NBA de cada jogador, em vez de reaproveitar silenciosamente o time do ano passado.
- Um número de jogador com uma razão em minutos. Os minutos guiam a estimativa, e as situações dos companheiros listadas os redistribuem, então "por que esse número é esse?" tem uma resposta concreta.
- Você precisa defender o número. Analistas, jornalistas e jogadores de fantasy que precisam explicar de onde veio um valor recebem o corte, a temporada de origem, a rotação e o JSON completo.
Como funciona
- Montar a rotação. Para um jogo futuro, o CLI puxa os elencos publicados das duas equipes na temporada-alvo e o histórico NBA de cada jogador na temporada anterior, e então estima uma rotação de dez jogadores e 240 minutos, com teto de 38 minutos por jogador.
- Encolher os priors. O rating ofensivo, o rating defensivo e o ritmo em quadra do jogador encolhem na direção da média da liga da temporada anterior segundo
0.60 × min(1, prior_player_minutes / 1200), e depois são ponderados pelos minutos de rotação estimados. - Misturar elenco e equipe. O perfil do elenco é misturado ao perfil da equipe anterior segundo
clamp(0.90 − 0.45 × retained_prior_rotation_minutes_share, 0.45, 0.90). Quanto mais da rotação da temporada passada se foi, mais o modelo confia no novo elenco: a rotatividade muda o número, não só o rótulo de confiança. - Absorver jogos reais. Assim que as duas equipes tiverem jogado, o perfil observado entra com peso
games / (games + 12). Uma amostra de um jogo quase não mexe no número. - Converter em pontos. Cada ataque é comparado à defesa adversária em torno da média da liga, convertido no ritmo modelado e ajustado pelo fator casa e pelo descanso conhecido.
- Quantificar a incerteza. Uma distribuição normal dos resíduos produz a probabilidade de vitória e qualquer probabilidade de limite que você pedir. Rotatividade de elenco e jogadores sem histórico na NBA alargam o intervalo em vez de serem escondidos.
Por que é diferente
- Ele modela quem realmente joga. A maioria das análises rápidas reaproveita os ratings do time da temporada passada. O Baseline monta uma rotação a partir dos elencos publicados e do histórico de cada jogador, e redistribui esses 240 minutos quando um relatório oficial de lesões aponta alguém como fora.
- O número é reproduzível. O CLI renderiza o relatório e carimba cada execução com versão do modelo, corte, temporada de origem e sinalizações de fallback. Rode a análise de novo e chegue ao mesmo valor, ou abra o JSON e siga o rastro. Um modelo de chat respondendo de memória não consegue nem uma coisa nem outra.
- Fontes nomeadas, valores rotulados. Estatísticas de equipe e de jogador vêm das estatísticas públicas da ESPN; a situação de lesões vem dos PDFs carimbados do NBA Official Injury Report em um domínio da lista de permissões. Tudo o que essa fonte não publica — ratings individuais e uso — é calculado aqui por uma fórmula declarada e rotulado como calculado, não apresentado como publicado. Se um elenco ou uma fonte necessária não estiver disponível, a execução falha e avisa: não substitui outra fonte em silêncio nem chuta.
Exemplo
Entrada: game --home PHI --away BOS --season 2026-27 --as-of 2026-11-10 (opcional: --margin-threshold 4.5 ou --total-threshold 224.5)
Saída: um cabeçalho do confronto e três tabelas Markdown — uma tabela de modelo/contexto com placares, margem do mandante e seu intervalo central de 60%, total, probabilidade de vitória, disponibilidade, temporadas de origem e confiança; uma tabela de elencos das duas equipes com forças, fraquezas, principais chegadas e saídas modeladas e efeitos de pessoal em ataque, defesa e net por 100 posses; e uma tabela de impacto de pessoal das duas equipes com minutos dos recém-chegados, sinais de papel e mudanças de minutos e de box score causadas pela disponibilidade.
A saída de exemplo desse comando dá Philadelphia 113.2, Boston 115.3, margem do mandante −2.0, probabilidade de vitória 0.4426 — uma leve vantagem de Boston, que é o que o modelo dizia em vez de um palpite forçado.
Formatos de entrada
- Um pedido em linguagem natural citando as duas equipes e a data
- Seleção de temporada (
2025-26,2026-27) e uma data-alvo explícita--as-of - Um nome de jogador, com ou sem equipe
- Seleção opcional de estatística:
pts,reb,ast,fg3m,praouall - Limites opcionais fornecidos por você — margem, total ou uma estatística de jogador
- URL direta opcional para um PDF oficial do relatório de lesões da NBA (precisa estar em
official.nba.comouak-static.cms.nba.com) - Ajustes manuais de cenário opcionais, em pontos
- Saída como tabelas Markdown renderizadas em chinês ou inglês, ou JSON completo via
--format json/--output
Cobertura e profundidade dos dados
Fonte: estatísticas públicas da ESPN, mais PDFs carimbados do NBA Official Injury Report em um domínio da lista de permissões.
- Perfil da equipe — rating ofensivo, rating defensivo, net rating, ritmo, jogos disputados
- Forma recente — os últimos N jogos do clube, para a mistura durante a temporada
- Contexto de descanso — o histórico de jogos e as datas do próprio clube
- Histórico de jogos do jogador — minutos, pontos, rebotes, assistências, bolas de três e datas, jogo a jogo
- Prior de papel e uso do jogador — minutos na temporada, ratings e uso; ratings individuais e uso são calculados aqui em vez de publicados
- Taxas por 36 minutos — pontos, rebotes, assistências, bolas de três
- Calendário — IDs de jogo, datas e definição de mando de quadra
- Elenco — o elenco da temporada-alvo; para uma temporada passada, reconstruído a partir das estatísticas daquela temporada
- Disponibilidade — PDF carimbado do NBA Official Injury Report
O que ele não faz
- Não vai dizer o que fazer com o número. Os limites vêm de você; a ferramenta devolve apenas a probabilidade modelada acima deles e não atribui rótulo de ação.
- Não vai confirmar um quinteto titular nem restrição de minutos. Relatórios oficiais não comprovam uma escalação, então esse campo continua indisponível a menos que você forneça uma fonte oficial confirmada.
- Não é um ensemble treinado. Sem ajuste de hiperparâmetros, sem defesa específica por adversário, sem variáveis de viagem, altitude ou arbitragem, sem posses jogada a jogada.
- Ainda não está calibrado. O próprio status de validação do modelo diz que seus pesos e termos de incerteza não foram treinados em walk-forward. Trate a confiança como baixa quando as amostras são pequenas ou a disponibilidade é desconhecida.
- Não vai dar as posições nem os números de camisa de um elenco passado. Para um jogo histórico, o elenco é reconstruído a partir das estatísticas daquela temporada — todos os que registraram minutos — então ele acerta quem jogou e diz claramente que posição e número não estão disponíveis em vez de adivinhar.


