Parceiro de mídiaVila Velha em Dia
Quem Será Eleito?

Modelo 2028 · exercício com os dados reais da noite

A noite de 25/10 refeita com o coletor corrigido

No celular, abre o Instagram com a imagem pronta; no computador, baixa a imagem.

Na noite do 2º turno, o site apontou a vitória de Lula com 4% das urnas, mas a projeção passou a noite de 0,3 a 1,8 ponto acima do resultado. Um exercício com os dados reais da noite mostra de onde veio o erro, e o que o coletor corrigido faz com os mesmos dados: fica a menos de 0,25 ponto do resultado final a noite inteira, e a menos de 0,1 na maior parte dela.

1,82 → 0,21erro máximo da projeção, em pontos, a partir de 4% apurado: site na noite → coletor corrigido
7 min → 103 stempo de cada rodada da projeção: coletor da eleição → corrigido, na mesma lentidão do TSE
27 → 87projeções publicadas ao longo da noite

A mesma noite, dois coletores

Projeção de Lula nos votos válidos ao longo da noite. A linha cinza é o que o site mostrou em 25/10; a laranja tracejada é o coletor da eleição rodando de novo no exercício (reproduz a noite); a vermelha é o coletor corrigido, com a faixa da margem de erro.

50% 51% 52% 53% 54% 55% 19:30 20:00 20:30 21:00 resultado final: 51,79% 19:32: 53,61% (+1,82) hora de Brasília, 25/10/2026

site na noite de 25/10coletor da eleição, no exercíciocoletor corrigido, no exercíciomargem de erro (±σ) do corrigidoresultado final (51,79%)

Exercício de 26/10/2026 com o simulador da noite real (dados/base_2t.npz): votos do boletim de urna de cada seção e hora de recebimento na totalização, segundo o TSE. Velocidade 10× e 0,3 s de demora por arquivo, o ritmo que o TSE teve na noite.

De onde veio o erro

O modelo compara os votos de cada município com a lista de seções que o TSE diz já estarem apuradas. Na noite, o coletor baixava a lista primeiro e depois os 5.571 arquivos de município, que levavam de 7 a 9 minutos para chegar com o TSE lento. Quando o modelo rodava, os arquivos tinham seções que a lista ainda não marcava: os votos vinham de mais seções do que a lista dizia, a razão de comparecimento inflava e as urnas que faltavam, mais lulistas nesta eleição, ganhavam peso demais. Resultado: projeção de 0,3 a 1,8 ponto acima, a noite inteira, com margem de erro que não cobria a diferença.

Lista velha, arquivos novos

O que o modelo recebia em cada rodada na noite (acima) e no coletor corrigido (abaixo).

Na noite de 25/10 (uma rodada a cada 7 a 9 min) lista de seções 20:00 · 111 mil seções apuradas (22%) 5.571 arquivos de município, baixados das 20:00 às 20:08 às 20:08: 149 mil (30%) O modelo recebia votos de até 35% mais seções do que a lista marcava: a razão de comparecimento inflava, e o peso do que faltava ia junto. Coletor corrigido (uma rodada a cada 2 minutos) lista de seções só os municípios que mudaram (centenas, não 5.571) lista de novo tudo em 2 minutos Cada arquivo só entra no modelo quando o número de seções dele bate com a lista de antes ou a de depois: votos e lista do mesmo instante.

A prova está na linha laranja do primeiro gráfico: o mesmo código que rodou na eleição, posto para ler a noite de novo no simulador, com a mesma lentidão, repete o erro (chegou a 1,96 ponto). O coletor corrigido, lendo o mesmo simulador, não.

O erro, rodada a rodada

Diferença entre a projeção e o resultado final (51,79%), em pontos percentuais, conforme a apuração avançava. A faixa sombreada marca ±0,25 ponto.

−1,0 −0,5 0 +0,5 +1,0 +1,5 +2,0 +2,5 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% faixa de ±0,25 ponto seções apuradas (%) erro = projeção − resultado final (pontos percentuais)

site na noitecoletor da eleição, no exercíciocoletor corrigido

Erro médio entre 4% e 90% apurado: site na noite 0,43 ponto; coletor da eleição no exercício 0,56; coletor corrigido 0,06.

Quando a chance de vitória passou de 99,9%

Chance de Lula calculada em cada rodada. No site, a marca de 99,9% veio às 19:32, com 7,0% apurado (a projeção estava +1,82 ponto fora). No corrigido, às 19:46, com 14,8% apurado (projeção +0,08 ponto, margem ±0,60).

50% 60% 70% 80% 90% 100% 19:15 19:30 19:45 20:00 20:15 20:30 99,9%: a projeção indica a vitória

site na noitecoletor da eleição, no exercíciocoletor corrigido

A chance vem da distância entre a projeção e 50% dividida pela margem de erro. O site só mostra a faixa "a projeção indica a vitória" com 99,9% por 15 minutos seguidos e 30% das seções apuradas.

Hora a hora

ApuradoHora (site)Site na noiteColetor da eleição, no exercícioColetor corrigido
≈4%19:2553,06 (+1,27)53,75 (+1,96)51,72 ± 1,81 (−0,07)
≈7%19:3253,61 (+1,82)53,75 (+1,96)51,76 ± 1,14 (−0,03)
≈10%19:3852,89 (+1,10)52,76 (+0,97)51,98 ± 0,74 (+0,19)
≈15%19:4752,25 (+0,46)52,33 (+0,54)51,87 ± 0,60 (+0,08)
≈25%20:0251,80 (+0,01)51,75 (−0,04)51,81 ± 0,41 (+0,02)
≈50%20:2752,32 (+0,53)52,48 (+0,69)51,85 ± 0,26 (+0,06)
≈75%20:5052,09 (+0,30)51,99 (+0,20)51,88 ± 0,12 (+0,09)
≈90%21:0151,88 (+0,09)51,81 (+0,02)51,82 ± 0,05 (+0,03)

Projeção de Lula nos votos válidos; entre parênteses, a diferença para o resultado final (51,79%). No corrigido, ± é a margem de erro (σ) calculada na hora. Cada coletor publica em instantes diferentes: a linha mostra a rodada de cada um mais próxima do marco.

O que foi corrigido

  1. Lista e arquivos do mesmo instante. A lista de seções é lida antes e depois de cada bloco de municípios, e o arquivo de um município só entra no modelo quando o número de seções dele bate com uma das duas. Se não bate, espera a próxima rodada. É a correção que elimina o viés.
  2. Só o que mudou. A lista diz quais municípios ganharam seções desde a última rodada: baixam-se esses (260 a 700 por minuto), não os 5.571. A rodada cai de 7 minutos para 103 segundos com o TSE na mesma lentidão da noite.
  3. Conexões abertas e limite de taxa. Cada arquivo abria uma conexão nova com o TSE. Agora as conexões ficam abertas, há um limite próprio de 150 requisições por segundo e a resposta "429, muitas requisições" do TSE é respeitada. Antes ela era tratada como erro comum e o município ficava com a versão velha, sem aviso.
  4. Ajustes no modelo, medidos no replay da noite real: os estados encolhem menos para a média nacional (erro entre 2% e 10% apurado cai de 0,063 para 0,031 ponto); a tendência das urnas tardias é medida pelo progresso de cada município, não pela fração nacional (erro entre 10% e 50% cai de 0,048 para 0,021); o exterior sai da base (o coletor não o apura, e ele ficava como 378 mil votos "faltando"); e no modo de reserva sem a lista de seções a margem fica 2,5 vezes maior, como o erro medido nesse modo.

E a margem de erro?

No exercício, o erro do coletor corrigido nunca passou de 0,8 margem entre 4% e 95% apurado (na metade das rodadas ficou abaixo de 0,2 margem): a margem foi várias vezes maior que o erro, e por isso a marca de 99,9% só vem às 19:46, com 14,8% apurado. Ela é larga de propósito: foi calibrada no simulador para cobrir uma tendência de até 4 pontos nas urnas tardias, e em 2026 essa tendência não existiu (0,05 ponto dentro dos municípios). Uma margem calculada ao vivo a partir das dispersões reais cravaria a eleição com 1,3% apurado, e acertaria. Mas, em noites sintéticas com tendência tardia de 3 pontos e disputa apertada, ela crava errado. Uma noite real só não basta para decidir: a margem continua a da tabela, e a calibração com mais eleições fica para o caminho até 2028.

Como o exercício foi feito

Veja também o balanço da projeção na noite e o painel da apuração.

Análise e desenvolvimentoIran Milanez Caetano

Para mais análises como esta e outros serviços em Tecnologia da Informação, entre em contato:

@iranmilanezcaetano