Argos
← Projeção

Metodologia da projeção eleitoral

Simulação estatística exploratória. Não é pesquisa eleitoral, não é registrada no TSE e não indica resultado esperado, vencedor ou probabilidade de vitória. Os nomes são hipóteses baseadas em quem já disputou o cargo. Nenhuma candidatura futura é considerada confirmada sem informação oficial. Como foi calculado e quanto erra.

Versão do modelo

  • Versão 2026-10-06.2, gerada em 2026-10-06 · configuração (hash) 1cb518a75c58c4.
  • Eleições na base: 2016, 2018, 2020, 2022, 2024, 2026. Municipais: 2016, 2020, 2024. Gerais: 2018, 2022, 2026. Nunca se misturam.
  • Reprodutível: mesma base + mesma versão + mesmos parâmetros geram exatamente os mesmos números (sem aleatoriedade; divisões por hash estável).

Como funciona

A ferramenta descreve como a votação de quem repetiu candidatura no mesmo cargo e território variou entre duas eleições do mesmo tipo (por exemplo, vereador 2020 → 2024) e aplica esse padrão à última votação de cada pessoa.

Referência central (P50): sai do modelo escolhido por cargo. No modelo base (M0) é a última votação (ou a última votação multiplicada pela mediana histórica de crescimento, o que tiver menor erro na calibração). Não é intenção de voto nem resultado esperado.

P10 e P90: quantis empíricos da distribuição dos erros do modelo em g = ln((Vt+1)/(Vt-1+1)), ajustados por calibração conformal em um subconjunto separado para que a largura reflita os erros reais observados fora da amostra.

Condicional: a projeção só vale para quem repetir a candidatura. A ferramenta não estima quem vai se candidatar.

Modelos testados: M0 (persistência), M1 (log-linear com situação na eleição anterior: eleito, suplente), M2 (M1 + concentração territorial: nº de unidades, top 5, top 10, HHI e, em eleições municipais, a fatia do candidato no município). M3 (variáveis de contexto pré-eleitorais) não foi implementado: não há na base pesquisa, filiação atual ou coligações futuras confiáveis.

Seleção do modelo: feita só com a validação interna do par de treino; o teste não participa. Entre modelos, o mais simples vence salvo melhora de pelo menos 1 ponto percentual no erro mediano.

Vereador

Treino: 2016→2020 (n = 2.708). Teste retrospectivo: 2020→2024 (n = 2.834). Escolhido: M0 com intervalo CONFORMAL.

Resultado no teste (fora da amostra): erro mediano 33,9%, cobertura P10–P90 73,1% (meta 80%).

Modelo / intervaloMdAPEMAE (votos)RMSLECobertura P10–P90Largura mediana (% do centro)
M0 (centro = última votação) · Q+DELTA30,8%1490.60286,1%158%
M0 (centro = última votação) · Q30,8%1490.60274,6%116%
M0 (centro = última votação) · Q+DELTAcal30,8%1490.60274,6%116%
M0 (centro = última votação) · CONFORMAL30,8%1490.60273,1%113%
M0 (centro = última × exp(P50)) · Q+DELTA33,9%1650.62286,1%180%
M0 (centro = última × exp(P50)) · Q33,9%1650.62274,6%132%
M0 (centro = última × exp(P50)) · Q+DELTAcal33,9%1650.62274,6%132%
M0 (centro = última × exp(P50)) · CONFORMAL33,9%1650.62273,1%128%
M1 (log-linear: votação, eleito/suplente) · Q+DELTA36,7%1880.64485%193%
M1 (log-linear: votação, eleito/suplente) · Q36,7%1880.64475%142%
M1 (log-linear: votação, eleito/suplente) · Q+DELTAcal36,7%1880.64475,7%144%
M1 (log-linear: votação, eleito/suplente) · CONFORMAL36,7%1880.64475,6%144%
M2 (M1 + concentração territorial) · Q+DELTA37,4%1800.64984,8%191%
M2 (M1 + concentração territorial) · Q37,4%1800.64972,6%141%
M2 (M1 + concentração territorial) · Q+DELTAcal37,4%1800.64973,3%143%
M2 (M1 + concentração territorial) · CONFORMAL37,4%1800.64972,8%141%

Experimento do intervalo (modelo M0)

Modelo / intervaloMdAPEMAE (votos)RMSLECobertura P10–P90Largura mediana (% do centro)
A: P10/P90 + DELTA 0,2 (modelo anterior)30,8%1490.60286,1%158%
B: P10/P90 sem DELTA30,8%1490.60274,6%116%
C: DELTA calibrado só na calibração (=0)30,8%1490.60274,6%116%
D: conformal (CQR) calibrado na calibração30,8%1490.60273,1%113%

Erro por faixa de votação anterior

FaixaCasosMdAPECobertura
0–1912153,3%66,9%
20–4920249,4%69,3%
50–9926343,1%65,8%
100–24981936,6%68,6%
250–49985430,9%77,4%
500–99940027,2%81%
1.000–2.49915426,6%76%
2.500–4.9991836,6%66,7%
5.000+311,1%100%

Meta de erro mediano ≤ 10%: não atingida em nenhum estrato testado (cortes por faixa de votos × eleito na eleição-base, com pelo menos 30 casos). O sistema mostra o erro que os testes encontraram.

Prefeito

Treino: 2016→2020 (n = 160). Teste retrospectivo: 2020→2024 (n = 123). Escolhido: M0 com intervalo CONFORMAL.

Resultado no teste (fora da amostra): erro mediano 27,1%, cobertura P10–P90 59,3% (meta 80%).

Modelo / intervaloMdAPEMAE (votos)RMSLECobertura P10–P90Largura mediana (% do centro)
M0 (centro = última votação) · Q+DELTA27,2%1.8540.57182,9%113%
M0 (centro = última votação) · Q27,2%1.8540.57148,8%71%
M0 (centro = última votação) · Q+DELTAcal27,2%1.8540.57157,7%79%
M0 (centro = última votação) · CONFORMAL27,2%1.8540.57159,3%81%
M0 (centro = última × exp(P50)) · Q+DELTA27,1%1.8500.57082,9%112%
M0 (centro = última × exp(P50)) · Q27,1%1.8500.57048,8%71%
M0 (centro = última × exp(P50)) · Q+DELTAcal27,1%1.8500.57057,7%79%
M0 (centro = última × exp(P50)) · CONFORMAL27,1%1.8500.57059,3%81%
M1 (log-linear: votação, eleito/suplente) · Q+DELTA32,4%2.3070.59082,9%125%
M1 (log-linear: votação, eleito/suplente) · Q32,4%2.3070.59044,7%80%
M1 (log-linear: votação, eleito/suplente) · Q+DELTAcal32,4%2.3070.59056,1%87%
M1 (log-linear: votação, eleito/suplente) · CONFORMAL32,4%2.3070.59056,1%88%

Experimento do intervalo (modelo M0)

Modelo / intervaloMdAPEMAE (votos)RMSLECobertura P10–P90Largura mediana (% do centro)
A: P10/P90 + DELTA 0,2 (modelo anterior)27,2%1.8540.57182,9%113%
B: P10/P90 sem DELTA27,2%1.8540.57148,8%71%
C: DELTA calibrado só na calibração (=0.04)27,2%1.8540.57157,7%79%
D: conformal (CQR) calibrado na calibração27,2%1.8540.57159,3%81%

Erro por faixa de votação anterior

FaixaCasosMdAPECobertura
0–19198,6%0%
20–490——
50–990——
100–249261,9%50%
250–499346,1%33,3%
500–999272,1%50%
1.000–2.4994426,9%56,8%
2.500–4.9994627,3%58,7%
5.000+2525,4%72%

Meta de erro mediano ≤ 10%: não atingida em nenhum estrato testado (cortes por faixa de votos × eleito na eleição-base, com pelo menos 30 casos). O sistema mostra o erro que os testes encontraram.

Deputado estadual e federal

Dados históricos insuficientes para projeção quantitativa confiável. 68 repetições no par de treino e 50 no de teste (mínimos exigidos: 100 e 30). Nenhuma projeção numérica é publicada.

Erro histórico, validação e cobertura

O erro histórico é o erro percentual absoluto mediano (MdAPE = mediana de |previsto − real| ÷ max(real, 1)) do modelo aplicado a eleições que não participaram do treinamento. Não corresponde à margem de erro amostral de uma pesquisa eleitoral.

Validação walk-forward: o modelo é ajustado só em pares de eleições anteriores ao par de teste (municipal: treino 2016→2020, teste 2020→2024; geral: treino 2018→2022, teste 2022→2026). Não há sorteio aleatório de treino e teste.

Cobertura é a fração dos casos testados em que a votação real caiu entre P10 e P90. Meta: 80%.

Estabilidade estatística (alta ≤ 10%, moderada até 20%, baixa acima de 20% de erro mediano) descreve apenas o desempenho do modelo em observações comparáveis; não avalia candidatos.

Calibração final: ajuste no par anterior e calibração do intervalo no par posterior (incorpora a deriva entre ciclos); não testável fora da amostra.

Limitações

  • Há apenas um teste walk-forward por ciclo. Não é possível medir o “humor do ciclo”; a cobertura em uma eleição futura pode ser menor que a medida.
  • Só existem erros medidos para quem repetiu candidatura (por exemplo, apenas 31,7% dos vereadores de 2020 repetiram em 2024). A projeção é condicional a repetir.
  • As métricas publicadas são as do teste walk-forward da receita (ajuste só no par anterior). O ajuste final, que usa os dois pares para projetar 2028 e 2030, segue a mesma receita, mas não pode mais ser testado fora da amostra; seu centro (última votação ou última × mediana de crescimento) pode diferir do usado no teste.
  • Candidaturas com votação anterior pequena (menos de 50 votos) têm erros percentuais muito altos e são marcadas como de alta incerteza.
  • O partido exibido é o da última candidatura, não necessariamente a filiação atual. O campo político (esquerda, centro, direita) é uma referência partidária não verificada e não altera as projeções.
  • A projeção por bairro ou município foi retirada da versão anterior: sua calibração tinha vazamento de dados futuros e não foi revalidada.
  • Os dados de 2026 vêm de boletins de urna e da API de resultados, até o TSE publicar o arquivo oficial final.

Dados insuficientes

  • governador: Dados históricos insuficientes para projeção quantitativa confiável.
  • senador: Dados históricos insuficientes para projeção quantitativa confiável.
  • Deputado estadual e federal: Dados históricos insuficientes para projeção quantitativa confiável.

Reproduzir

npx tsx scripts/projecao/auditar.mts      # auditoria do modelo anterior e da base
npx tsx scripts/projecao/calibrar.mts     # gera lib/projecao/modelo.json e projecao.db
node --import tsx --test scripts/projecao/projecao.test.ts
npm run build