Apêndice técnico · O swing simples basta para projetar um 2º turno? · 2º turno de 25/10/2026
Na noite do 2º turno, dois métodos projetaram ao vivo o resultado presidencial a partir da apuração do TSE: o de Rodrigo Mahlmeister (economista e mestre em ciência política pela USP, doutorando em Duke), publicado pelo Estadão, e o meu, feito para qualquer 2º turno, de presidente ou de governador, que roda no painel apuracao.dalmolin.dev. Os dois partem da mesma ideia e divergem na eleição de referência, na forma de medir a mudança e no tratamento da incerteza. Neste apêndice do artigo "O swing simples basta para projetar um 2º turno?" eu os ponho lado a lado e meço os dois contra o resultado final: Lula com 51,79% dos votos válidos. Nas figuras e tabelas, "Dalmolin" é o meu método.
Sempre a ±0,5 pt do final desde
% das seções apuradas
Erro médio de 2% a 5%
|projeção − resultado final|, quando os dois partiam do 1º turno
Largura média da faixa de 95%
de 5% a 50% apurado
Resultado dentro da faixa
dos pontos a partir de 2%
Os dois comparam o voto já contado com uma eleição anterior e aplicam a mudança medida ao que falta. A diferença está no princípio: eu aplico uma regra sobre os dois turnos de 2026, nas mesmas seções; Mahlmeister, pelo cronograma descrito no site, passa entre 5% e 15% apurado a um modelo estatístico sobre o 2º turno de 2022, nos mesmos locais de votação, com razão log, regressão hierárquica e um ponto de partida nas pesquisas. Este apêndice traz o passo a passo dos dois (seção 1), as tabelas completas de erro (2), o teste que separa a referência do resto do modelo, com o script (3), as faixas (4), os seis governadores (5) e as ressalvas (7). As conclusões estão no artigo.
A diferença está no princípio: eu aplico uma regra sobre os dois turnos de 2026; Mahlmeister ajusta um modelo estatístico sobre 2022 e as pesquisas. Os dois comparam o voto já contado com o voto dos mesmos lugares numa eleição anterior, medem a mudança e a aplicam ao que falta apurar. Pelo que o site dele descreve, os coeficientes da regressão são estimados com os dados da própria noite; a forma dos modelos e a faixa de incerteza de cada um foram escolhidas antes, em reproduções de eleições passadas.
O de Mahlmeister tem mais peças: pareia locais de votação entre eleições por geografia, mede a mudança em escala log, estima uma regressão em três níveis com encolhimento, tem um ponto de partida nacional (pesquisas finais ou swing nulo) e tira a faixa de reamostragem. O meu usa só os dados do TSE: em cada município, comparo o resultado já contado (o TSE publica o 2º turno por município) com o voto, no 1º turno, exatamente das seções já totalizadas, pareadas pelo código (UF, município, zona, seção). A tabela abaixo mostra onde isso aparece etapa por etapa.
| Dalmolin | Mahlmeister | |
|---|---|---|
| Escopo | Qualquer 2º turno: presidente e governadores, com o mesmo motor (no governador, a UF faz o papel do país). Em 2026 projetei ao vivo o presidente e 6 governadores. | Presidente, inclusive a projeção do presidente em cada estado. O site não menciona governador. |
| Dados | Arquivos de divulgação do TSE: votos por município e seções já totalizadas, a cada ciclo de leitura. | Arquivos de divulgação do TSE: andamento, votos por município e seções já totalizadas, a cada minuto. |
| Eleição de referência | O 1º turno de 2026, nas mesmas seções, pareadas pelo código (UF, município, zona, seção): as 499.248 seções do 2º turno têm par exato no 1º. A comparação é por município: resultado do município × 1º turno das seções já totalizadas. | O 2º turno de 2022, no mesmo local de votação, pareado por geografia (mesma chave com CEP ou a menos de 200 m; mesmo prédio a menos de 100 m; vizinhos ponderados por eleitorado e distância; zona; município); 93% do eleitorado com par exato. No começo da noite, o 1º turno de 2026. |
| Medida da mudança (swing) | Diferença na fatia de A entre A e B, em pontos. | Em escala log: razões PT/Outros e PL/Outros. |
| Municípios com urna | O que falta recebe o swing medido nas urnas já contadas do próprio município. | Regressão ponderada do swing no perfil de voto e no porte do município, com coeficientes Brasil → região → UF e encolhimento empírico-bayesiano. Segundo os detalhes técnicos do site, nos municípios que já apuram o que falta parte do 1º turno de 2026 das mesmas seções, com o swing previsto para o seu perfil. |
| Municípios sem urna | Média de dois modelos: transferência (fração dos votos dos outros candidatos que vai para A, por UF → região → país) e regressão (mínimos quadrados por UF, ou por região e país quando a UF tem poucos municípios apurados, sobre o 1º turno, o peso dos outros candidatos, porte, abstenção e brancos/nulos). | Até 5% do eleitorado: transferência sobre o 1º turno de 2026 (por UF, capital e interior separados). De 5% a 15%: mistura gradual. Depois: base de 2022 com o swing previsto pela regressão. |
| Dados de fora do TSE | Nenhum. | Ponto de partida (prior) no intercepto nacional: pesquisas finais ou swing nulo. No 1º turno, Mahlmeister partiu da Quaest com 2 pontos a mais para Flávio, ajuste que chamou de "totalmente um palpite" (NeoFeed). |
| Projeção | Contado + estimado, somado no país (e por UF e município). | Contado + estimado, somado no país (e por UF). |
| Faixa de 95% | A maior entre o erro histórico das reproduções no mesmo % apurado, a autovalidação ao vivo (projeta municípios já apurados escondendo-os) e a discordância entre os modelos. | Reamostragem (bootstrap) dos municípios. O site cita faixa de 90% na seção "Método" e de 95% em "Como funciona"; os dados publicados usam 95%. |
| Fixado antes da noite | A escolha dos dois modelos e a faixa histórica, em 28 reproduções (presidente e governadores de 2018 e 2022). | Inferido da descrição do site, que não diz o que foi fixado antes: o pareamento de locais 2026–2022, o ponto de partida das pesquisas, o cronograma 5%/15% e a calibração do bootstrap nas reproduções de 2022 e do 1º turno de 2026. |
| Validação publicada | Reproduções na ordem real das urnas, em % das seções. 2º turno de 2022: ±0,5 pt desde 0,25% e ±0,2 desde 15%. 2018: ±0,5 pt desde 45%. | Reprodução de 2022 na ordem real, em % do eleitorado: erro abaixo de 0,5 pt desde ~1% no 1º turno e ~3% no 2º (site de Mahlmeister). As duas medidas não são diretamente comparáveis. |
| Seções apuradas | Contado | Dalmolin: swing do município | Dalmolin: modelos | Mahlmeister: transferência | Mahlmeister: regressão, base 1º turno 2026 (com urna) | Mahlmeister: regressão, base 2022 (sem urna) |
|---|---|---|---|---|---|---|
| 2% | 2,0% | 23,9% | 74,1% | 98,0% | 0,0% | 0,0% |
| 5% | 5,0% | 29,9% | 65,1% | 95,0% | 0,0% | 0,0% |
| 10% | 10,1% | 41,5% | 48,4% | 45,0% | 20,8% | 24,2% |
| 20% | 20,0% | 42,2% | 37,9% | 0,0% | 42,2% | 37,9% |
| 30% | 29,8% | 41,6% | 28,6% | 0,0% | 41,6% | 28,6% |
| 50% | 49,7% | 37,7% | 12,6% | 0,0% | 37,7% | 12,6% |
| 75% | 74,7% | 21,0% | 4,3% | 0,0% | 21,0% | 4,3% |
No meu método, os modelos valem só onde ainda não chegou nenhuma urna: pela ordem de chegada reconstruída, esses municípios somavam 74% dos votos com 2% apurado, 48% com 10%, 38% com 20% e 13% com 50% (ao vivo, pelo que o painel gravou, 75%, 39% e 13%: a mesma conta por outra fonte). No de Mahlmeister, pelo cronograma do site, a troca de modelo é de uma vez para o país inteiro, entre 5% e 15%; a base, não: depois de 15%, os municípios sem urna partem de 2022 e os que já apuram seguem com o 1º turno de 2026.
O repositório de Mahlmeister (rodrigomahlmeister/apuracao-2026) está privado; a descrição vem das
seções "Método", "Dois modelos" e "Detalhes técnicos" do site da projeção, que copiei em 30/10/2026. O site não detalha
como a mistura de 5% a 15% se combina com a frase "nos municípios que já começaram a apurar, a parte que falta parte
do 1º turno de 2026 das mesmas seções"; sigo aqui a leitura mais direta dela, a mesma do artigo.
| Dalmolin | Mahlmeister | |
|---|---|---|
| Erro médio, 2–5% | 0,11 pt | 0,09 pt |
| Erro médio, 5–8% (trecho do artigo) | 0,25 pt | 0,03 pt |
| Erro médio, 8–30% (trecho do artigo) | 0,13 pt | 0,37 pt |
| Erro médio, 5–10% | 0,22 pt | 0,22 pt |
| Erro médio, 10–20% | 0,16 pt | 0,33 pt |
| Erro médio, 20–40% | 0,08 pt | 0,33 pt |
| Erro médio, 40–70% | 0,05 pt | 0,07 pt |
| Erro médio, 50–100% (trecho do artigo) | 0,01 pt | 0,01 pt |
| Sempre a ±0,5 pt desde | 3,3% | 18,0% |
| Sempre a ±0,2 pt desde | 13,3% | 35,5% |
| Sempre a ±0,1 pt desde | 70,6% | 46,0% |
Erro = |projeção de Lula − resultado final|, média das leituras no trecho (início incluído, fim excluído); os três trechos marcados são os que o artigo cita. "Sempre a ±X pt desde": primeiro % apurado a partir do qual a projeção não saiu mais de ±X pt do resultado final. Entre 10% e 40%, o erro de Mahlmeister foi contra Lula em todos os pontos, de 0,19 a 0,53 pt (0,33 em média); de 40% a 70%, os dois ficam em 0,07 × 0,05 pt em média.
| Projeção − final (pt) ao chegar a | 2% | 3% | 5% | 10% | 15% | 20% | 30% | 50% |
|---|---|---|---|---|---|---|---|---|
| Dalmolin | +0,00 | +0,24 | +0,16 | −0,08 | −0,18 | +0,11 | −0,11 | +0,06 |
| Mahlmeister | −0,04 | +0,02 | −0,03 | −0,29 | −0,33 | −0,46 | −0,24 | −0,09 |
No método de Mahlmeister, a referência e o modelo mudam juntos entre 5% e 15%. Por isso a piora depois de 8% não pode ser atribuída só à eleição de 2022, e um teste à parte indica que ela não vem daí. Enquanto o método usava a transferência sobre o 1º turno, o erro foi de −0,04 pt a 2%, +0,02 a 3% e −0,03 a 5%. Na mistura e depois dela: −0,29 a 10% (metade do caminho), −0,46 a 20% e −0,24 a 30%. O site de Mahlmeister registra o mesmo: "entre 8% e 30% ficou de 0,3 a 0,6 ponto abaixo do resultado".
Para separar a referência do resto do modelo, apliquei a mesma regra de swing simples duas vezes, na ordem real de chegada das seções de 2026. Município com seção apurada recebe o swing medido nas próprias seções; sem seção, o swing da UF. O pareamento com 2022 é exato por UF, município, zona e seção (92% das seções de 2026). Não é o modelo de Mahlmeister: deixei de fora o pareamento por local, a razão log, a regressão hierárquica, o uso do 1º turno nos municípios já em apuração e as pesquisas.
| Seções apuradas | Pesos iguais: 1º turno de 2026 | Pesos iguais: 2º turno de 2022 | Pesos como no motor: 1º turno de 2026 | Pesos como no motor: 2º turno de 2022 |
|---|---|---|---|---|
| 2% a 5% | 0,10 | 0,16 (abaixo) | 0,18 (acima) | 0,34 (abaixo) |
| 8% a 30% | 0,01 | 0,24 (acima) | 0,09 (acima) | 0,08 (acima) |
| 50% a 90% | 0,02 | 0,08 (acima) | 0,01 | 0,02 |
"Pesos iguais": cada município pesa os votos finais de 2026 nas duas referências, para que só a referência mude. "Como no motor": o voto contado entra como contado e o que falta pesa pela referência. "Acima"/"abaixo" do resultado quando o viés médio passa de 0,05. O script e a saída estão em swing_referencia.py e swing_referencia.txt (Python com pandas; lê os arquivos por seção do TSE dos dois turnos de 2026 e do 2º turno de 2022).
Leio duas coisas. A primeira: até 5%, o 1º turno é a referência melhor nos dois pesos; depois, depende do peso. Como no motor, as duas empatam. Com pesos iguais, o 1º turno continua errando menos, e a maior parte do erro com 2022 vem dos municípios ainda sem urna, que recebem a mudança medida no resto do estado. A segunda: nos dois pesos, com 2022 o swing simples erra para cima entre 8% e 30%, e o modelo de Mahlmeister errou para baixo. O teste mostra só o que não explica o desvio; sem o código, não consigo dizer o motivo.
É uma eleição só. Na reprodução de 2022 que Mahlmeister publicou, o erro ficou abaixo de 0,5 pt desde ~3% do 2º turno; o site não diz qual eleição serviu de referência nessa reprodução (a NeoFeed cita dados de 2018 e 2022 usados para reproduzir a ordem de chegada dos boletins).
| Dalmolin | Mahlmeister | |
|---|---|---|
| Largura média, 5–50% | 8,1 pt | 0,35 pt |
| Pontos com o final dentro da faixa | 99,7% | 66,0% |
| Faixa sem o 50%, sem voltar atrás, desde | 41,6% | 1,9% (1ª projeção exibida, 19h21; 1º ponto a partir de 2%: 2,4%) |
Como calibrei o método para qualquer 2º turno (seção 5), a faixa histórica vem de 28 reproduções, 26 delas de governador, cujos erros no começo da apuração (até ~20%) são bem maiores que os de presidente. Conteve o resultado em 99,7% dos pontos, mas só deixou o 50% de fora com 41,6% apurado.
O site descreve reamostragem de municípios calibrada em reproduções. Nesta noite ela não cobriu um desvio que atingiu o país todo (cerca de −0,4 pt entre 8% e 30%): reamostrar municípios capta a variação entre eles, e um desvio comum só entra se a calibração o cobrir. O resultado ficou dentro da faixa em 66% dos pontos. A faixa ficou toda acima de 50% desde a primeira projeção exibida (19h21): indicou o vencedor cedo porque o desvio não chegou a cruzar os 50%.
Para presidente, acho que a faixa bem calibrada fica entre as duas: mais larga que a reamostragem pura, porque precisa cobrir um desvio comum da referência, e mais estreita que uma faixa calibrada em governadores.
Desenhei e calibrei o método para qualquer 2º turno, não só o presidencial. O mesmo motor, sem alteração, projeta o presidente e o governador de cada UF; no governador, a UF faz o papel do país. O método de Mahlmeister, pelo que o site publica, cobre o presidente (inclusive a projeção do presidente em cada estado), sem menção a governador.
Na noite do 2º turno, o meu painel projetou ao vivo os governadores de AC, AM, DF, ES, RN e TO, numa página pública própria, com as faixas que eu tinha calibrado antes da eleição: para os governadores de 2026, tudo foi fora da amostra. A 1ª "alta" confiança veio entre 5,0% (AC) e 56,5% (RN) das seções, e nenhum quadro marcou "alta" para quem perdeu.
| UF | Vencedor × 2º | Resultado (%) | 1ª alta | Alta até o fim desde | Sempre a ±1 pt desde | Sempre a ±0,5 pt desde | Altas para quem perdeu |
|---|---|---|---|---|---|---|---|
| AC | Mailza × Alan Rick | 66,2 × 33,8 | 5,0% 19h09 | 98,1% 20h44 | 10,4% | 66,1% | 0 |
| AM | Omar × Maria do Carmo | 61,4 × 38,6 | 8,7% 19h10 | 85,7% 20h30 | 78,2% | 78,2% | 0 |
| DF | Celina × Grass | 57,2 × 42,8 | 11,5% 19h11 | 11,5% 19h11 | 1,6% | 23,1% | 0 |
| ES | Pazolini × Ferraço | 52,2 × 47,8 | 33,2% 19h56 | 99,8% 21h09 | 3,4% | 19,1% | 0 |
| RN | Cadu × Allyson | 50,8 × 49,2 | 56,5% 20h17 | 73,0% 20h30 | 36,3% | 41,8% | 0 |
| TO | Vicentinho × Dorinha | 64,5 × 35,5 | 7,8% 19h17 | 87,2% 20h08 | 8,6% | 62,4% | 0 |
Horários de Brasília, do relógio do painel. "Alta até o fim desde": a partir daí a confiança não saiu mais de "alta"; antes, pode ter passado por "tendência" ou "instável". Alta contínua desde a 1ª vez: DF. Quadros: os do replay de cada governador no painel (um por leitura gravada na noite).
| Perto de | Dalmolin | Mahlmeister |
|---|---|---|
| 2% | 51,79 (44,3–59,3) · 2,0% · 19h17 | 51,75 (51,0–52,4) · 2,4% · 19h23 |
| 3% | 52,02 (45,4–58,6) · 3,1% · 19h24 | 51,81 (51,1–52,3) · 3,3% · 19h26 |
| 5% | 51,94 (45,3–58,6) · 5,0% · 19h29 | 51,92 (51,5–52,9) · 4,7% · 19h30 |
| 7,5% | 51,30 (45,1–57,5) · 7,7% · 19h35 | 51,78 (51,4–52,5) · 7,0% · 19h35 |
| 10% | 51,52 (45,8–57,2) · 10,0% · 19h39 | 51,23 (51,0–51,6) · 10,0% · 19h40 |
| 15% | 51,63 (47,0–56,2) · 14,8% · 19h48 | 51,46 (51,3–51,6) · 15,1% · 19h49 |
| 20% | 51,90 (47,7–56,1) · 20,1% · 19h58 | 51,41 (51,3–51,5) · 19,6% · 19h59 |
| 25% | 51,78 (48,7–54,9) · 26,3% · 20h06 | 51,33 (51,2–51,5) · 24,4% · 20h05 |
| 30% | 51,70 (49,6–53,8) · 29,6% · 20h09 | 51,38 (51,2–51,6) · 29,6% · 20h10 |
| 40% | 51,73 (49,9–53,5) · 39,8% · 20h19 | 51,61 (51,5–51,7) · 40,2% · 20h20 |
| 50% | 51,83 (50,8–52,8) · 49,6% · 20h27 | 51,70 (51,6–51,8) · 50,8% · 20h29 |
| 60% | 51,77 (51,0–52,5) · 59,8% · 20h36 | 51,75 (51,7–51,8) · 59,8% · 20h38 |
| 70% | 51,89 (51,3–52,4) · 69,9% · 20h45 | 51,78 (51,7–51,8) · 70,5% · 20h46 |
| 80% | 51,79 (51,5–52,1) · 80,0% · 20h54 | 51,80 (51,8–51,8) · 80,0% · 20h55 |
| 90% | 51,79 (51,5–52,0) · 89,7% · 21h02 | 51,79 (51,8–51,8) · 90,3% · 21h03 |
| 100% | 51,79 (51,8–51,8) · 100,0% · 23h23 | 51,79 (51,8–51,8) · 100,0% · 23h59 |
Ponto mais próximo de cada % apurado: projeção de Lula (faixa de 95%) · % das seções · hora.
Gerei esta página a partir das séries públicas dos dois sites e da ordem de chegada das seções nos arquivos por seção do TSE. O que este apêndice contém: o passo a passo dos dois métodos (seção 1), as tabelas completas de erro e faixa (2, 4 e 7), o script do teste com 2022 (3) e os seis governadores (5).