O bug que quase me fez publicar um dado falso sobre transmissão esportiva
Mantenho um banco de dados de onde cada jogo passa na TV no Brasil. Semana passada fui transformar isso num estudo público e quase publiquei que o Brasileirão Série A tem 0% de jogos com opção gratuita.
O número estava tecnicamente correto pela minha própria regra: só publico canal quando duas fontes independentes concordam, ou quando é o detentor oficial dos direitos da competição. Os canais abertos do Brasileirão (Globo, CazéTV, Record) estão marcados como selected, ou seja, passam jogos selecionados, e a grade de qual jogo vai para qual canal não é divulgada com antecedência. Sem confirmação por evento, não publica. Logo, zero.
Só que "Brasileirão tem 0% de opção gratuita" é falso. Tem jogo na Globo aberta todo fim de semana. Qualquer pessoa que assiste futebol sabe disso.
O que eu tinha era um zero ambíguo. Dois casos completamente diferentes produzindo o mesmo valor:
- NHL, ATP e WTA: zero porque realmente não existe canal aberto no Brasil. Verdade de mercado.
- Brasileirão, Premier League e Serie A: zero porque existe canal aberto, mas ninguém anuncia a grade por jogo antes. Ausência de informação, não ausência do fato.
Agregar os dois na mesma coluna de percentual transformaria "eu não sei" em "não existe". A correção não foi no código, foi na apresentação: essas competições saíram de todas as tabelas de percentual e ganharam uma seção própria explicando por que não têm número.
Dois outros erros que peguei no mesmo processo, ambos do tipo que passa despercebido porque o resultado parece plausível.
Somar fatias que se sobrepõem. Eu tinha "ESPN 56% + Disney+ 31% = 87% num grupo". Errado: um jogo costuma ter mais de um canal, então as fatias somam mais de 100% por construção. O número certo é a contagem de eventos distintos que têm ESPN ou Disney+, que dá 78%. A diferença de 9 pontos era só dupla contagem.
A janela muda o resultado mais que o fenômeno. O mesmo banco me dava 5,6%, 11,0% ou 12,2% de jogos com opção gratuita dependendo do recorte de tempo. Não porque o mercado mudou entre uma consulta e outra, mas porque a mistura de esportes muda: o passado recente está cheio de tênis e hóquei já disputados, ambos sem transmissão aberta, e isso afunda o agregado. Publicar um percentual sem declarar a janela seria escolher o número que eu quisesse.
E um detalhe operacional que me pegou: gerei o CSV público numa execução e os números da página em outra. Deram 2.502 e 2.495. O banco é vivo, com ETL rodando duas vezes por dia. Se alguém baixasse o CSV para conferir, chegaria a um total diferente do publicado, e eu perderia a credibilidade inteira por sete eventos de diferença. Agora os agregados são derivados das mesmas linhas que vão para o arquivo, na mesma execução.
O estudo final, com o CSV aberto para quem quiser refazer a conta: https://sportune.com.br/estudos/transmissao-esportiva-brasil-2026