diff --git a/docs/changelog/2026-09-30-analise-expansao-secoes-2022.md b/docs/changelog/2026-09-30-analise-expansao-secoes-2022.md new file mode 100644 index 00000000..ef929384 --- /dev/null +++ b/docs/changelog/2026-09-30-analise-expansao-secoes-2022.md @@ -0,0 +1 @@ +**EXPANSAO-SECOES — "Onde está o voto que falta": análise por seção eleitoral de 2022 (2026-09-30):** a reta final ganha a leitura por seção eleitoral (a menor unidade publicada pelo TSE) do eleitor que votou Lula e Jerônimo em 2022 e não escolheu deputado, cruzada com a força de Solla (1313) e do campo PT 13xxx por cargo. O builder `scripts/build-expansao-secoes-2022.mjs` roda em duas fases — `--compute` faz a passagem pesada sobre os seis CSVs públicos do TSE (votação por seção BA/BR, detalhe por seção, detalhe por munzona, consulta de candidaturas e cadastro de locais de votação) direto do cache gitignored `data/tse-2022/` e grava o JSON de dados; sem a flag, só renderiza MD + PDF (Chromium) a partir dele, com o HTML intermediário no mesmo cache. A métrica central é a "sobra do bloco Lula+Jerônimo" — `max(0, min(Lula, Jerônimo) − válidos do cargo)` —, um TETO de transferência (ninguém observa voto individual), com piso/teto explícitos para a pergunta literal, LQ por território e quebras por município, zona de Salvador, bairro do local de votação, RMS e Território de Identidade. A validação confere unidade a unidade contra o baseline TSE já commitado (`src/lib/electionAggregates/bahia-federal-baseline.json`, 435 municípios/zonas, sem divergência para Solla, Lula, Jerônimo, comparecimento, brancos e nulos; resíduo de −0,023% nos nominais federais explicado por candidaturas que o TSE invalidou e o baseline de válidos não conta); cobertura de 417 municípios, 34.424 seções e 150 bairros de Salvador. Entregas commitadas: `docs/research/analise-expansao-secoes-solla-julio-2022.md` (1.315 linhas) e o PDF; dados e HTML ficam no cache gitignored. O plano S46 (`potencial-secao-story`) referencia o recorte como precedente de fonte. Regras de uso no próprio documento: as listas de seções de ataque não viram material público nem prioridade declarada — o dado indica onde, nunca como. diff --git a/docs/research/analise-expansao-secoes-solla-julio-2022.md b/docs/research/analise-expansao-secoes-solla-julio-2022.md new file mode 100644 index 00000000..23ec5197 --- /dev/null +++ b/docs/research/analise-expansao-secoes-solla-julio-2022.md @@ -0,0 +1,1315 @@ +# Onde está o voto que falta + +**O que as seções eleitorais de 2022 dizem sobre o voto de Lula e Jerônimo que não escolheu deputado — e onde Jorge Solla (1313) e o campo estadual têm mais espaço na reta final de 2026. Julio Pinheiro (13999) não disputou 2022; o lado estadual usa o cargo e o campo PT 13xxx como proxy.** +Gerado em 30/09/2026 — dados públicos TSE 2022 (1º turno). Documento interno de campanha. + +## O essencial + +_A leitura de trinta segundos e o mapa deste documento_ + +- **A premissa não se confirma** Os nominais para deputado (7.604.370 federais e 7.174.712 estaduais) superam o bloco Lula+Jerônimo (4.019.119): não há um exército de lulistas represado na proporcional. +- **O estoque real** Branco+nulo de 896.550 no federal (10,1% do comparecimento) e 920.537 no estadual (10,4%); excesso sobre a presidencial de 465.404 e 486.203. +- **Concentração** Salvador responde por 258.946 (15,9% do comparecimento local) no federal e 281.026 no estadual; a RMS soma 77.515 e 78.801. +- **Solla e campo** Solla tem LQ 1,25 em Salvador, 2,10 no Recôncavo e 7,91 no Vale do Jiquiriçá; o campo PT estadual é forte no Sudoeste Baiano (1,68) e no Médio Sudoeste (1,91). +- **Alvos diretos** As seções líderes em branco+nulo federal (Salvador ZE17 s507, 100 votos) e estadual (Salvador ZE4 s445, 118 votos) abrem as seções de alvos diretos, com a força da esquerda ao lado. + +> **Abreviações das tabelas** Bn = branco+nulo; Exc. = excesso sobre o branco+nulo da presidencial na mesma seção; Teto = mín(bloco L+J, branco+nulo do cargo); LQ = quociente local (1,00 = padrão do estado); Campo PT fed./est. = soma dos nominais de todos os candidatos 13xx/13xxx; Jer. = Jerônimo; Comp. = comparecimento. + +Roteiro: “A Bahia inteira” fixa a escala; “O cruzamento de seções” separa defesa, ataque e dobradinha; “Municípios” e “Seções em destaque” dão o volume; “Alvos simples” e “Esquerda forte” entregam a lista direta da reta final; “Salvador”, “RMS” e “Territórios de Identidade” descem a geografia; “Dia da eleição” traz a operação lícita; as leituras da Cientista Política e da Coordenação Geral fecham com crítica e prioridades; “Método” documenta validação e limites. + +## Como ler este relatório + +_O que é observável, o que é teto e o que ninguém consegue saber_ + +A unidade é a seção eleitoral de 2022 (1º turno), a menor unidade publicada pelo TSE. Toda seção tem voto nominal por candidato e aferição por cargo (comparecimento, nominais, legenda, brancos, nulos). Ninguém observa o voto individual: o que se mede é quantos votos cada cargo recebeu na mesma seção, nunca quem votou em quem. + +A premissa da pergunta — "muita gente votou Lula e Jerônimo e não votou para deputado" — não se confirma no agregado. Na Bahia, os votos nominais para deputado federal (7,60 mi) e para estadual (7,17 mi) são maiores que os votos de Lula (5,87 mi) e muito maiores que o bloco Lula+Jerônimo (4,02 mi, o menor dos dois por seção). O eleitorado que escolheu os dois nomes do campo é uma minoria dentro de quem votou para deputado: não existe um exército de eleitores de Lula que deixou a disputa proporcional em branco esperando para ser convertido — o que existe é uma fração que não escolheu nome nenhum (branco/nulo) e outra que escolheu nomes de outros campos. A pergunta certa, então, é onde a não-escolha se concentra e onde ela é anormal em relação à própria seção. + +A pergunta literal ("votou Lula e Jerônimo e não votou para o cargo") só pode ser respondida como intervalo, porque ninguém liga o voto individual. O piso é o mínimo que a matemática garante: Lula + Jerônimo − comparecimento − válidos do cargo, nunca negativo. O teto é o máximo admissível: o menor valor entre o bloco Lula+Jerônimo e os brancos+nulos do cargo. Somados por seção, o piso federal do estado é de apenas 1 voto e o teto, de 896 mil — o intervalo mostra que a maior parte da intuição não é verificável, e o dado útil é o próprio volume de brancos+nulos e o seu excesso sobre o que a mesma seção fez na eleição presidencial. + +O lado estadual tem uma ausência declarada: Julio Pinheiro (13999) não disputou 2022 — foi prefeito de Amargosa até 2020 e voltou à disputa em 2026. Não existe votação dele para cruzar. Por isso o recorte estadual usa duas camadas: a não-escolha do cargo (branco+nulo para deputado estadual) e o campo PT estadual — a soma dos votos nominais de todos os candidatos 13xxx, um proxy de onde a estrutura partidária já existe. Onde as duas coincidem, a dobradinha tem terreno; onde só a não-escolha existe, é terreno de construção. + +> **Limites que valem para todas as tabelas** O voto é do local de votação, não da casa do eleitor; o cadastro do TSE não liga o voto ao domicílio. Seções pequenas oscilam — por isso os cruzamentos de força relativa só entram com pelo menos 200 comparecentes e 120 nominais federais. "Excesso" é a não-escolha do cargo menos a não-escolha da presidencial na mesma seção (nunca negativo): mede o abandono típico do voto proporcional, isolando quem deixou o cargo em branco além do normal daquele eleitorado. Nenhum número aqui mede intenção de voto, transferência efetiva ou efeito de campanha: mede potencial geométrico do território. As listas são de seções, não de pessoas — e a campanha não deve expor nominalmente os bairros/seções de "ataque" como prioridade pública (a lista é interna). + +## A Bahia inteira + +_O teste da premissa e o tamanho real da não-escolha_ + +Em 2022, 8.866.458 eleitores compareceram na Bahia (1º turno). Lula teve 5.873.081 votos no estado e Jerônimo, 4.019.830; o bloco conservador Lula+Jerônimo soma 4.019.119. Para deputado federal, os votos nominais (em candidatos) foram 7.604.370 e as legendas, 353.293; para deputado estadual, 7.174.712 nominais e 762.279 de legenda. + +A não-escolha do cargo — votos brancos e nulos — foi de 896.550 para deputado federal (10,1% do comparecimento) e de 920.537 para deputado estadual (10,4%). Desse total, o que excede o padrão da mesma seção na eleição presidencial soma 465.404 no federal e 486.203 no estadual. Para a pergunta literal, o intervalo somado por seção vai de 1 a 896.469 no federal e de 7 a 920.296 no estadual. + +A "sobra de nomes" (bloco Lula+Jerônimo menos nominais do cargo) é de apenas 97 no federal e 1.543 no estadual: onde o bloco é grande, o cargo costuma ter mais nomes do que ele — a intuição de um grande contigente de lulistas sem voto para deputado não se sustenta. O que se sustenta é a não-escolha de 896.550 votos no federal e 920.537 no estadual: é esse o volume que a campanha disputa nos últimos dias. + +Nas urnas de 2022, Solla teve 128.968 votos (1,7% dos nominais federais; LQ 1,00 por definição). O campo PT estadual (todos os candidatos 13xxx, sem legenda) somou 1.073.154 votos (15,0% dos nominais estaduais). A pergunta deste relatório é onde, seção a seção, a não-escolha se concentra e cruza com a força de Solla e do campo. + +**Bahia — números de 2022 (1º turno)** + +| Território | Seções | Comp. | Lula | Jer. | Bloco L+J | Bn fed. | % não-esc. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------- | ------ | --------- | --------- | --------- | --------- | ------- | ---------- | --------- | --------- | ------- | -------- | ------- | --------- | --------- | --------- | ----- | +| Bahia | 34.424 | 8.866.458 | 5.873.081 | 4.019.830 | 4.019.119 | 896.550 | 10,1% | 465.404 | 896.469 | 128.968 | — | 920.537 | 486.203 | 920.296 | 1.073.154 | — | + +## Bahia — o cruzamento de seções + +_Não-escolha alta com Solla forte, com Solla fraco, com o campo PT e na dobradinha_ + +Dos 34.424 seções do estado, 27.693 entram nos cruzamentos (comparecimento ≥ 200 e 120 nominais federais). "Solla forte" é LQ ≥ 1,5 (uma vez e meia o padrão estadual dele); "Solla fraco", LQ ≤ 0,5. "Não-escolha alta" é o quartil superior do teto Lula+Jerônimo (≥ 40 votos — teto = mín(bloco, brancos+nulos)); para ataque, exigimos o decil superior (≥ 54) e ao menos 300 nominais federais, para não caçar ruído de seção pequena. A lista de excesso mostra as seções em que o abandono do cargo mais superou o abandono da presidencial na mesma urna. + +**Defender e converter — Solla forte e não-escolha federal alta (top 15)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 215 | 104 | 104 | 91 | 42 | 91 | 2,01 | 8 | 77 | 28 | 77 | 61 | 1,68 | +| Salvador — PERO VAZ · ZE 3 · seção 166 | 390 | 262 | 146 | 146 | 90 | 53 | 90 | 3,53 | 17 | 77 | 40 | 77 | 46 | 1,08 | +| Salvador — PARIPE · ZE 4 · seção 364 | 379 | 209 | 117 | 117 | 89 | 51 | 89 | 1,53 | 7 | 91 | 53 | 91 | 41 | 1,04 | +| Salvador — ITACARANHA · ZE 17 · seção 447 | 369 | 225 | 110 | 110 | 89 | 53 | 89 | 1,56 | 7 | 96 | 60 | 96 | 30 | 0,76 | +| Salvador — PERO VAZ · ZE 3 · seção 131 | 375 | 257 | 155 | 155 | 89 | 51 | 89 | 1,72 | 8 | 86 | 48 | 86 | 42 | 1,08 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 248 | 136 | 136 | 88 | 50 | 88 | 1,75 | 8 | 101 | 63 | 101 | 53 | 1,40 | +| Salvador — ITACARANHA · ZE 17 · seção 444 | 362 | 193 | 104 | 104 | 88 | 42 | 88 | 1,61 | 7 | 92 | 46 | 92 | 32 | 0,85 | +| Salvador — ITACARANHA · ZE 17 · seção 423 | 371 | 219 | 109 | 109 | 88 | 59 | 88 | 1,80 | 8 | 93 | 64 | 93 | 21 | 0,53 | +| Salvador — PIRAJÁ · ZE 8 · seção 623 | 338 | 237 | 118 | 118 | 88 | 58 | 88 | 1,80 | 7 | 80 | 50 | 80 | 49 | 1,43 | +| Salvador — ALTO DO CABRITO · ZE 17 · seção 404 | 345 | 215 | 103 | 103 | 88 | 55 | 88 | 2,70 | 11 | 97 | 64 | 97 | 28 | 0,82 | +| Salvador — PERO VAZ · ZE 3 · seção 355 | 383 | 275 | 161 | 161 | 88 | 58 | 88 | 1,72 | 8 | 92 | 62 | 92 | 35 | 0,87 | +| Salvador — PERO VAZ · ZE 3 · seção 285 | 378 | 265 | 132 | 132 | 88 | 54 | 88 | 1,51 | 7 | 78 | 44 | 78 | 40 | 0,99 | +| Salvador — URUGUAI · ZE 9 · seção 396 | 379 | 243 | 140 | 140 | 88 | 50 | 88 | 1,71 | 8 | 70 | 32 | 70 | 22 | 0,52 | +| Salvador — ITACARANHA · ZE 17 · seção 428 | 347 | 204 | 97 | 97 | 87 | 48 | 87 | 1,69 | 7 | 83 | 44 | 83 | 25 | 0,70 | + +**Atacar — Solla fraco (LQ ≤ 0,5) e não-escolha federal no decil superior (top 9)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — BARREIRAS · ZE 5 · seção 507 | 377 | 257 | 139 | 139 | 62 | 40 | 62 | 0,39 | 2 | 67 | 45 | 67 | 60 | 1,43 | +| Vitória da Conquista · ZE 41 · seção 180 | 363 | 139 | 81 | 81 | 57 | 43 | 57 | 0,39 | 2 | 56 | 42 | 56 | 58 | 1,35 | +| Salvador — CABULA · ZE 5 · seção 505 | 383 | 244 | 136 | 136 | 57 | 31 | 57 | 0,00 | 0 | 65 | 39 | 65 | 31 | 0,71 | +| Salvador — PIRAJÁ · ZE 8 · seção 581 | 388 | 235 | 110 | 110 | 57 | 43 | 57 | 0,37 | 2 | 72 | 58 | 72 | 31 | 0,70 | +| Salvador — PARQUE SÃO BRÁS · ZE 2 · seção 411 | 379 | 276 | 152 | 152 | 56 | 30 | 56 | 0,38 | 2 | 71 | 45 | 71 | 25 | 0,58 | +| Salvador — SETE DE ABRIL · ZE 11 · seção 635 | 367 | 253 | 121 | 121 | 55 | 28 | 55 | 0,19 | 1 | 64 | 37 | 64 | 16 | 0,39 | +| Feira de Santana · ZE 154 · seção 344 | 370 | 173 | 111 | 111 | 55 | 36 | 55 | 0,39 | 2 | 47 | 28 | 47 | 21 | 0,45 | +| Salvador — MATA ESCURA · ZE 5 · seção 455 | 375 | 267 | 132 | 132 | 55 | 33 | 55 | 0,39 | 2 | 74 | 52 | 74 | 10 | 0,24 | +| Vitória da Conquista · ZE 41 · seção 177 | 367 | 190 | 137 | 137 | 54 | 34 | 54 | 0,20 | 1 | 54 | 34 | 54 | 117 | 2,64 | + +**Onde o voto para deputado foi abandonado além do normal da presidencial (top 15)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — SUSSUARANA · ZE 14 · seção 464 | 359 | 227 | 125 | 125 | 93 | 68 | 93 | 0,92 | 4 | 93 | 68 | 93 | 29 | 0,76 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — PAU MIÚDO · ZE 3 · seção 389 | 380 | 248 | 109 | 109 | 93 | 67 | 93 | 0,65 | 3 | 85 | 59 | 85 | 33 | 0,81 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 225 | 104 | 104 | 91 | 66 | 91 | 0,82 | 3 | 97 | 72 | 97 | 26 | 0,82 | +| São Gonçalo dos Campos · ZE 108 · seção 45 | 336 | 293 | 207 | 207 | 80 | 66 | 80 | 1,22 | 5 | 72 | 58 | 72 | 20 | 0,58 | +| Salvador — RIBEIRA · ZE 9 · seção 44 | 362 | 225 | 112 | 112 | 89 | 65 | 89 | 1,18 | 5 | 89 | 65 | 89 | 24 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 1 | 365 | 254 | 125 | 125 | 86 | 65 | 86 | 1,13 | 5 | 70 | 49 | 70 | 36 | 0,89 | +| Salvador — LIBERDADE · ZE 18 · seção 14 | 369 | 250 | 140 | 140 | 88 | 64 | 88 | 0,88 | 4 | 77 | 53 | 77 | 41 | 1,04 | +| Salvador — SAN MARTIN · ZE 3 · seção 574 | 335 | 217 | 101 | 101 | 91 | 64 | 91 | 1,01 | 4 | 78 | 51 | 78 | 17 | 0,46 | +| Feira de Santana · ZE 156 · seção 465 | 356 | 217 | 129 | 129 | 80 | 63 | 80 | 0,89 | 4 | 51 | 34 | 51 | 18 | 0,41 | +| Salvador — SUSSUARANA · ZE 14 · seção 272 | 332 | 238 | 132 | 132 | 80 | 63 | 80 | 0,97 | 4 | 71 | 54 | 71 | 35 | 0,97 | + +**Campo PT estadual forte e não-escolha estadual alta (top 15)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERNAMBUÉS · ZE 16 · seção 429 | 347 | 233 | 108 | 108 | 80 | 53 | 80 | 1,17 | 5 | 90 | 63 | 90 | 55 | 1,54 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 371 | 387 | 260 | 126 | 126 | 73 | 36 | 73 | 0,61 | 3 | 89 | 52 | 89 | 86 | 2,05 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 370 | 369 | 208 | 106 | 106 | 65 | 23 | 65 | 0,41 | 2 | 88 | 46 | 88 | 68 | 1,81 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 373 | 361 | 227 | 96 | 96 | 57 | 29 | 57 | 0,61 | 3 | 86 | 58 | 86 | 75 | 1,99 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 369 | 354 | 229 | 124 | 124 | 63 | 24 | 63 | 0,00 | 0 | 86 | 47 | 86 | 88 | 2,36 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 452 | 351 | 224 | 123 | 123 | 73 | 44 | 73 | 0,89 | 4 | 79 | 50 | 79 | 57 | 1,50 | +| Salvador — BAIRRO DA PAZ · ZE 10 · seção 818 | 354 | 240 | 153 | 153 | 56 | 29 | 56 | 0,82 | 4 | 79 | 52 | 79 | 63 | 1,62 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 375 | 375 | 227 | 118 | 118 | 58 | 22 | 58 | 1,59 | 8 | 79 | 43 | 79 | 75 | 1,86 | +| Salvador — FAZENDA COUTOS · ZE 4 · seção 204 | 331 | 211 | 123 | 123 | 76 | 43 | 76 | 0,00 | 0 | 78 | 45 | 78 | 51 | 1,52 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 215 | 104 | 104 | 91 | 42 | 91 | 2,01 | 8 | 77 | 28 | 77 | 61 | 1,68 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 440 | 344 | 226 | 133 | 133 | 58 | 35 | 58 | 1,10 | 5 | 77 | 54 | 77 | 61 | 1,64 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 366 | 340 | 231 | 110 | 110 | 68 | 43 | 68 | 1,20 | 5 | 76 | 51 | 76 | 53 | 1,53 | +| Camaçari · ZE 170 · seção 103 | 333 | 188 | 115 | 115 | 69 | 37 | 69 | 0,00 | 0 | 75 | 43 | 75 | 58 | 1,63 | +| Salvador — PARIPE · ZE 4 · seção 426 | 307 | 205 | 115 | 115 | 71 | 48 | 71 | 0,80 | 3 | 75 | 52 | 75 | 49 | 1,60 | +| Salvador — PERNAMBUÉS · ZE 16 · seção 454 | 357 | 250 | 118 | 118 | 78 | 54 | 78 | 2,21 | 10 | 74 | 50 | 74 | 61 | 1,57 | + +**Campo PT estadual fraco e não-escolha estadual no decil superior — construção (top 2)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Feira de Santana · ZE 154 · seção 262 | 367 | 202 | 119 | 119 | 71 | 57 | 71 | 0,21 | 1 | 60 | 46 | 60 | 17 | 0,38 | +| Feira de Santana · ZE 154 · seção 128 | 372 | 181 | 118 | 118 | 61 | 35 | 61 | 0,58 | 3 | 57 | 31 | 57 | 19 | 0,42 | + +**Dobradinha — não-escolha federal e estadual altas na mesma seção (top 20)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 216 | 106 | 106 | 99 | 59 | 99 | 0,25 | 1 | 97 | 57 | 97 | 21 | 0,62 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 226 | 108 | 108 | 98 | 61 | 98 | 1,04 | 4 | 86 | 49 | 86 | 26 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 249 | 119 | 119 | 96 | 61 | 96 | 0,89 | 4 | 84 | 49 | 84 | 26 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 207 | 107 | 107 | 95 | 54 | 95 | 1,39 | 6 | 89 | 48 | 89 | 32 | 0,85 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 213 | 95 | 95 | 94 | 45 | 94 | 0,95 | 4 | 118 | 69 | 95 | 22 | 0,67 | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | +| Salvador — PERO VAZ · ZE 3 · seção 134 | 366 | 258 | 135 | 135 | 94 | 61 | 94 | 0,23 | 1 | 95 | 62 | 95 | 46 | 1,30 | +| Salvador — PLATAFORMA · ZE 17 · seção 337 | 379 | 229 | 107 | 107 | 93 | 50 | 93 | 0,00 | 0 | 96 | 53 | 96 | 18 | 0,46 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 227 | 111 | 111 | 93 | 58 | 93 | 1,43 | 6 | 100 | 65 | 100 | 24 | 0,71 | +| Salvador — SUSSUARANA · ZE 14 · seção 464 | 359 | 227 | 125 | 125 | 93 | 68 | 93 | 0,92 | 4 | 93 | 68 | 93 | 29 | 0,76 | +| Salvador — PAU MIÚDO · ZE 3 · seção 389 | 380 | 248 | 109 | 109 | 93 | 67 | 93 | 0,65 | 3 | 85 | 59 | 85 | 33 | 0,81 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 230 | 118 | 118 | 91 | 41 | 91 | 0,72 | 3 | 100 | 50 | 100 | 23 | 0,65 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 215 | 104 | 104 | 91 | 42 | 91 | 2,01 | 8 | 77 | 28 | 77 | 61 | 1,68 | +| Salvador — LIBERDADE · ZE 18 · seção 13 | 374 | 240 | 113 | 113 | 91 | 57 | 91 | 1,16 | 5 | 92 | 58 | 92 | 34 | 0,90 | + +## Bahia — municípios com mais não-escolha + +_O mapa de volume: onde o voto para deputado ficou em branco ou nulo_ + +**Top 20 municípios por teto federal (não-escolha e excesso ao lado)** + +| Município | Território | Seções | Comp. | Bloco L+J | Bn fed. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Teto est. | Campo PT | LQ PT | +| ---------------------- | ------------------------------ | ------ | --------- | --------- | ------- | --------- | --------- | ------ | -------- | ------- | --------- | -------- | ----- | +| Salvador | Metropolitano de Salvador | 5.023 | 1.627.906 | 547.531 | 258.946 | 155.048 | 258.881 | 27.264 | 1,25 | 281.026 | 280.790 | 163.231 | 0,89 | +| Feira de Santana | Portal do Sertão | 1.172 | 360.733 | 135.134 | 47.662 | 29.766 | 47.662 | 3.074 | 0,60 | 43.373 | 43.373 | 27.307 | 0,62 | +| Vitória da Conquista | Sudoeste Baiano | 734 | 211.323 | 74.023 | 24.142 | 14.484 | 24.142 | 5.005 | 1,65 | 23.504 | 23.504 | 46.877 | 1,84 | +| Camaçari | Metropolitano de Salvador | 513 | 158.632 | 58.518 | 20.361 | 10.833 | 20.361 | 715 | 0,32 | 22.559 | 22.559 | 30.176 | 1,61 | +| Lauro de Freitas | Metropolitano de Salvador | 361 | 123.303 | 46.821 | 14.995 | 8.745 | 14.995 | 1.929 | 1,10 | 14.932 | 14.932 | 13.755 | 0,91 | +| Alagoinhas | Litoral Norte e Agreste Baiano | 347 | 89.588 | 33.205 | 12.973 | 7.874 | 12.965 | 757 | 0,62 | 10.418 | 10.418 | 17.276 | 1,57 | +| Juazeiro | Sertão do São Francisco | 477 | 130.688 | 54.864 | 12.083 | 7.657 | 12.083 | 742 | 0,38 | 11.911 | 11.911 | 17.136 | 1,04 | +| Porto Seguro | Costa do Descobrimento | 287 | 80.198 | 28.684 | 9.932 | 6.276 | 9.932 | 639 | 0,57 | 9.598 | 9.598 | 5.637 | 0,59 | +| Ilhéus | Litoral Sul | 395 | 103.819 | 39.706 | 9.342 | 4.920 | 9.342 | 1.883 | 1,23 | 10.805 | 10.805 | 6.346 | 0,50 | +| Itabuna | Litoral Sul | 442 | 117.490 | 39.770 | 9.190 | 4.741 | 9.190 | 1.470 | 0,84 | 9.641 | 9.641 | 9.791 | 0,66 | +| Simões Filho | Metropolitano de Salvador | 245 | 70.532 | 27.425 | 9.013 | 5.231 | 9.013 | 771 | 0,78 | 8.014 | 8.014 | 4.417 | 0,51 | +| Jequié | Médio Rio de Contas | 342 | 93.720 | 41.765 | 8.445 | 3.722 | 8.445 | 1.181 | 0,84 | 8.753 | 8.753 | 17.869 | 1,54 | +| Teixeira de Freitas | Extremo Sul | 312 | 81.693 | 26.827 | 8.138 | 4.679 | 8.138 | 767 | 0,64 | 8.679 | 8.679 | 4.706 | 0,47 | +| Santo Antônio de Jesus | Recôncavo | 219 | 61.172 | 22.435 | 7.734 | 4.693 | 7.734 | 569 | 0,65 | 6.547 | 6.547 | 3.762 | 0,50 | +| Candeias | Metropolitano de Salvador | 185 | 53.040 | 25.706 | 7.191 | 4.390 | 7.191 | 374 | 0,50 | 6.965 | 6.965 | 3.276 | 0,51 | +| Valença | Baixo Sul | 186 | 51.386 | 18.529 | 7.121 | 3.468 | 7.121 | 430 | 0,61 | 6.950 | 6.950 | 3.117 | 0,53 | +| Barreiras | Bacia do Rio Grande | 309 | 85.085 | 32.695 | 7.034 | 4.172 | 7.034 | 288 | 0,23 | 7.808 | 7.808 | 4.497 | 0,42 | +| Paulo Afonso | Itaparica | 257 | 64.926 | 34.539 | 6.695 | 4.400 | 6.695 | 435 | 0,46 | 5.685 | 5.685 | 6.565 | 0,80 | +| Eunápolis | Costa do Descobrimento | 259 | 63.475 | 22.405 | 6.576 | 3.767 | 6.576 | 409 | 0,45 | 6.055 | 6.055 | 3.080 | 0,40 | +| Serrinha | Sisal | 206 | 51.235 | 24.801 | 6.444 | 3.571 | 6.444 | 360 | 0,50 | 5.559 | 5.559 | 11.179 | 1,81 | + +## Bahia — seções em destaque + +_Volume absoluto: teto Lula+Jerônimo, não-escolha e os maiores votos nominais_ + +**Top 25 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 216 | 106 | 106 | 99 | 59 | 99 | 0,25 | 1 | 97 | 57 | 97 | 21 | 0,62 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 226 | 108 | 108 | 98 | 61 | 98 | 1,04 | 4 | 86 | 49 | 86 | 26 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 249 | 119 | 119 | 96 | 61 | 96 | 0,89 | 4 | 84 | 49 | 84 | 26 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 207 | 107 | 107 | 95 | 54 | 95 | 1,39 | 6 | 89 | 48 | 89 | 32 | 0,85 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 213 | 95 | 95 | 94 | 45 | 94 | 0,95 | 4 | 118 | 69 | 95 | 22 | 0,67 | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | +| Salvador — PERO VAZ · ZE 3 · seção 134 | 366 | 258 | 135 | 135 | 94 | 61 | 94 | 0,23 | 1 | 95 | 62 | 95 | 46 | 1,30 | +| Salvador — PLATAFORMA · ZE 17 · seção 337 | 379 | 229 | 107 | 107 | 93 | 50 | 93 | 0,00 | 0 | 96 | 53 | 96 | 18 | 0,46 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 227 | 111 | 111 | 93 | 58 | 93 | 1,43 | 6 | 100 | 65 | 100 | 24 | 0,71 | +| Salvador — SUSSUARANA · ZE 14 · seção 464 | 359 | 227 | 125 | 125 | 93 | 68 | 93 | 0,92 | 4 | 93 | 68 | 93 | 29 | 0,76 | +| Salvador — PAU MIÚDO · ZE 3 · seção 389 | 380 | 248 | 109 | 109 | 93 | 67 | 93 | 0,65 | 3 | 85 | 59 | 85 | 33 | 0,81 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 230 | 118 | 118 | 91 | 41 | 91 | 0,72 | 3 | 100 | 50 | 100 | 23 | 0,65 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 215 | 104 | 104 | 91 | 42 | 91 | 2,01 | 8 | 77 | 28 | 77 | 61 | 1,68 | +| Salvador — LIBERDADE · ZE 18 · seção 13 | 374 | 240 | 113 | 113 | 91 | 57 | 91 | 1,16 | 5 | 92 | 58 | 92 | 34 | 0,90 | +| Salvador — ITACARANHA · ZE 17 · seção 441 | 349 | 204 | 104 | 104 | 91 | 56 | 91 | 1,47 | 6 | 97 | 62 | 97 | 25 | 0,73 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 225 | 104 | 104 | 91 | 66 | 91 | 0,82 | 3 | 97 | 72 | 97 | 26 | 0,82 | +| Salvador — SUSSUARANA · ZE 14 · seção 446 | 353 | 236 | 135 | 135 | 91 | 56 | 91 | 1,23 | 5 | 80 | 45 | 80 | 34 | 0,92 | +| Salvador — SAN MARTIN · ZE 3 · seção 574 | 335 | 217 | 101 | 101 | 91 | 64 | 91 | 1,01 | 4 | 78 | 51 | 78 | 17 | 0,46 | +| Salvador — LIBERDADE · ZE 18 · seção 202 | 384 | 252 | 119 | 119 | 91 | 62 | 91 | 1,28 | 6 | 85 | 56 | 85 | 39 | 0,94 | + +**Top 25 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — BOA VISTA DO LOBATO · ZE 15 · seção 562 | 367 | 210 | 106 | 106 | 88 | 18 | 88 | 0,44 | 2 | 111 | 41 | 106 | 23 | 0,67 | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 248 | 136 | 136 | 88 | 50 | 88 | 1,75 | 8 | 101 | 63 | 101 | 53 | 1,40 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 507 | 377 | 245 | 127 | 127 | 83 | 32 | 83 | 1,25 | 6 | 101 | 50 | 101 | 26 | 0,70 | +| Salvador — ÁGUAS CLARAS · ZE 11 · seção 714 | 359 | 238 | 137 | 137 | 88 | 49 | 88 | 0,94 | 4 | 101 | 62 | 101 | 31 | 0,92 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 230 | 118 | 118 | 91 | 41 | 91 | 0,72 | 3 | 100 | 50 | 100 | 23 | 0,65 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 227 | 111 | 111 | 93 | 58 | 93 | 1,43 | 6 | 100 | 65 | 100 | 24 | 0,71 | +| Salvador — SANTA CRUZ · ZE 13 · seção 289 | 362 | 247 | 130 | 130 | 79 | 42 | 79 | 1,77 | 8 | 99 | 62 | 99 | 35 | 0,96 | +| Salvador — PARIPE · ZE 4 · seção 302 | 365 | 228 | 112 | 112 | 82 | 36 | 82 | 3,47 | 15 | 99 | 53 | 99 | 40 | 1,15 | +| Salvador — ALTO DE COUTOS · ZE 4 · seção 404 | 347 | 211 | 109 | 109 | 84 | 42 | 84 | 0,94 | 4 | 99 | 57 | 99 | 28 | 0,84 | +| Salvador — PLATAFORMA · ZE 17 · seção 392 | 374 | 255 | 108 | 108 | 75 | 44 | 75 | 0,00 | 0 | 99 | 68 | 99 | 25 | 0,67 | +| Salvador — ITACARANHA · ZE 17 · seção 420 | 364 | 226 | 112 | 112 | 81 | 37 | 81 | 2,03 | 9 | 98 | 54 | 98 | 25 | 0,69 | +| Salvador — ALTO DA TEREZINHA · ZE 17 · seção 557 | 355 | 213 | 98 | 98 | 79 | 31 | 79 | 1,67 | 7 | 98 | 50 | 98 | 23 | 0,69 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 216 | 106 | 106 | 99 | 59 | 99 | 0,25 | 1 | 97 | 57 | 97 | 21 | 0,62 | +| Salvador — ITACARANHA · ZE 17 · seção 437 | 379 | 229 | 108 | 108 | 82 | 50 | 82 | 1,05 | 5 | 97 | 65 | 97 | 26 | 0,69 | +| Salvador — CASTELO BRANCO (1A ETAPA) · ZE 11 · seção 616 | 370 | 236 | 114 | 114 | 85 | 57 | 85 | 0,45 | 2 | 97 | 69 | 97 | 28 | 0,74 | +| Salvador — ITACARANHA · ZE 17 · seção 441 | 349 | 204 | 104 | 104 | 91 | 56 | 91 | 1,47 | 6 | 97 | 62 | 97 | 25 | 0,73 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 225 | 104 | 104 | 91 | 66 | 91 | 0,82 | 3 | 97 | 72 | 97 | 26 | 0,82 | +| Salvador — COUTOS · ZE 4 · seção 516 | 381 | 227 | 110 | 110 | 84 | 37 | 84 | 0,82 | 4 | 97 | 50 | 97 | 22 | 0,56 | +| Salvador — ALTO DO CABRITO · ZE 17 · seção 404 | 345 | 215 | 103 | 103 | 88 | 55 | 88 | 2,70 | 11 | 97 | 64 | 97 | 28 | 0,82 | +| Salvador — PLATAFORMA · ZE 17 · seção 337 | 379 | 229 | 107 | 107 | 93 | 50 | 93 | 0,00 | 0 | 96 | 53 | 96 | 18 | 0,46 | +| Salvador — ITACARANHA · ZE 17 · seção 429 | 353 | 217 | 105 | 105 | 81 | 45 | 81 | 1,15 | 5 | 96 | 60 | 96 | 26 | 0,75 | +| Salvador — ITACARANHA · ZE 17 · seção 447 | 369 | 225 | 110 | 110 | 89 | 53 | 89 | 1,56 | 7 | 96 | 60 | 96 | 30 | 0,76 | + +**Top 15 seções por votos de Solla (1313)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Bom Jesus da Lapa · ZE 71 · seção 212 | 277 | 248 | 239 | 239 | 10 | 0 | 10 | 44,28 | 187 | 5 | 0 | 5 | 18 | 0,53 | +| Bom Jesus da Lapa · ZE 71 · seção 267 | 270 | 226 | 215 | 215 | 8 | 0 | 8 | 41,88 | 174 | 9 | 0 | 9 | 14 | 0,40 | +| Seabra · ZE 88 · seção 168 | 276 | 229 | 215 | 215 | 7 | 0 | 7 | 37,90 | 162 | 11 | 0 | 11 | 137 | 4,22 | +| Santa Inês · ZE 38 · seção 148 | 257 | 209 | 185 | 185 | 13 | 0 | 13 | 37,16 | 150 | 12 | 0 | 12 | 154 | 4,72 | +| Santa Inês · ZE 38 · seção 150 | 259 | 215 | 189 | 189 | 16 | 1 | 16 | 35,27 | 137 | 21 | 6 | 21 | 145 | 4,62 | +| Amargosa · ZE 36 · seção 72 | 325 | 199 | 166 | 166 | 38 | 17 | 38 | 29,70 | 137 | 46 | 25 | 46 | 95 | 2,65 | +| Santa Inês · ZE 38 · seção 151 | 254 | 214 | 193 | 193 | 17 | 6 | 17 | 36,02 | 135 | 18 | 7 | 18 | 153 | 5,09 | +| Amargosa · ZE 36 · seção 193 | 298 | 233 | 175 | 175 | 28 | 13 | 28 | 29,82 | 132 | 31 | 16 | 31 | 98 | 2,82 | +| Santa Inês · ZE 38 · seção 135 | 238 | 187 | 169 | 169 | 16 | 0 | 16 | 35,76 | 131 | 14 | 0 | 14 | 142 | 4,68 | +| Santa Inês · ZE 38 · seção 149 | 248 | 204 | 175 | 175 | 15 | 3 | 15 | 33,73 | 127 | 17 | 5 | 17 | 117 | 4,23 | +| Santa Inês · ZE 38 · seção 134 | 239 | 186 | 163 | 163 | 20 | 13 | 20 | 34,72 | 126 | 18 | 11 | 18 | 126 | 4,32 | +| Amargosa · ZE 36 · seção 10 | 326 | 218 | 153 | 153 | 27 | 12 | 27 | 25,62 | 126 | 34 | 19 | 34 | 89 | 2,47 | +| Santa Inês · ZE 38 · seção 136 | 249 | 190 | 174 | 174 | 21 | 9 | 21 | 33,35 | 125 | 22 | 10 | 22 | 131 | 4,34 | +| Amargosa · ZE 36 · seção 19 | 271 | 211 | 167 | 167 | 9 | 0 | 9 | 29,25 | 124 | 16 | 1 | 16 | 100 | 3,36 | +| Santa Inês · ZE 38 · seção 140 | 251 | 197 | 175 | 175 | 15 | 3 | 15 | 34,17 | 124 | 18 | 6 | 18 | 114 | 4,10 | + +## Alvos simples — branco+nulo direto + +_A lista crua: onde o voto para o cargo ficou em branco/nulo, com a força da esquerda ao lado_ + +A leitura mais direta do pedido: ordenar as seções pelo número absoluto de votos em branco ou nulos, sem teto nem piso. No federal, é o estoque endereçável de Solla (1313); no estadual, do campo do PT — Julio Pinheiro (13999) não disputou 2022 e não tem baseline. O LQ esquerda compara a fatia do bloco Lula+Jerônimo na seção com a mesma fatia na Bahia (LQ 1,00 = padrão do estado); LQ PT fed/est compara o campo 13xx/13xxx com o padrão do campo. LQ acima de 1 significa acima do padrão — leitura relativa, nunca percentual absoluto. + +A ordem das colunas conta a história: branco+nulo mostra o volume; LQ esquerda mostra se a seção é do campo; Solla e campo PT mostram a captura atual. Seção com branco+nulo alto e LQ esquerda acima de 1 é onde pedir o número tem recepção — não promessa de voto. + +**Top 30 seções por branco+nulo federal — estoque direto para Solla** + +| Seção | Comp. | Bn fed. | Bloco L+J | LQ esq. | Solla | LQ Solla | Campo PT fed. | LQ PT fed. | +| ------------------------------------------------------- | ----- | ------- | --------- | ------- | ----- | -------- | ------------- | ---------- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 100 | 105 | 0,65 | 4 | 0,97 | 35 | 0,97 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 100 | 131 | 0,76 | 3 | 0,66 | 43 | 1,09 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 100 | 123 | 0,72 | 3 | 0,70 | 27 | 0,72 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 99 | 106 | 0,66 | 1 | 0,25 | 20 | 0,57 | +| Salvador — PLATAFORMA · ZE 17 · seção 311 | 335 | 99 | 83 | 0,55 | 1 | 0,28 | 22 | 0,70 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 99 | 102 | 0,64 | 3 | 0,76 | 24 | 0,69 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 98 | 108 | 0,70 | 4 | 1,04 | 25 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 98 | 134 | 0,79 | 4 | 0,91 | 41 | 1,07 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 96 | 119 | 0,69 | 4 | 0,89 | 43 | 1,10 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 96 | 126 | 0,79 | 3 | 0,77 | 34 | 1,00 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 95 | 107 | 0,66 | 6 | 1,39 | 39 | 1,03 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 94 | 95 | 0,58 | 4 | 0,95 | 22 | 0,60 | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 94 | 107 | 0,66 | 7 | 1,64 | 38 | 1,02 | +| Salvador — PERO VAZ · ZE 3 · seção 134 | 366 | 94 | 135 | 0,81 | 1 | 0,23 | 36 | 0,96 | +| Salvador — PLATAFORMA · ZE 17 · seção 314 | 354 | 93 | 86 | 0,54 | 2 | 0,53 | 19 | 0,58 | +| Salvador — PLATAFORMA · ZE 17 · seção 337 | 379 | 93 | 107 | 0,62 | 0 | 0,00 | 28 | 0,71 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 93 | 111 | 0,69 | 6 | 1,43 | 28 | 0,76 | +| Salvador — SUSSUARANA · ZE 14 · seção 464 | 359 | 93 | 125 | 0,77 | 4 | 0,92 | 39 | 1,03 | +| Salvador — PAU MIÚDO · ZE 3 · seção 389 | 380 | 93 | 109 | 0,63 | 3 | 0,65 | 37 | 0,91 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 91 | 118 | 0,72 | 3 | 0,72 | 28 | 0,77 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 91 | 104 | 0,67 | 8 | 2,01 | 28 | 0,80 | +| Salvador — LIBERDADE · ZE 18 · seção 13 | 374 | 91 | 113 | 0,67 | 5 | 1,16 | 32 | 0,85 | +| Salvador — ITACARANHA · ZE 17 · seção 438 | 367 | 91 | 90 | 0,54 | 4 | 0,92 | 21 | 0,55 | +| Salvador — ITACARANHA · ZE 17 · seção 441 | 349 | 91 | 104 | 0,66 | 6 | 1,47 | 29 | 0,81 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 91 | 104 | 0,71 | 3 | 0,82 | 27 | 0,84 | +| Salvador — SUSSUARANA · ZE 14 · seção 446 | 353 | 91 | 135 | 0,84 | 5 | 1,23 | 41 | 1,15 | +| Salvador — SAN MARTIN · ZE 3 · seção 574 | 335 | 91 | 101 | 0,67 | 4 | 1,01 | 23 | 0,67 | +| Salvador — LIBERDADE · ZE 18 · seção 202 | 384 | 91 | 119 | 0,68 | 6 | 1,28 | 48 | 1,17 | +| Salvador — PERIPERI · ZE 17 · seção 481 | 359 | 90 | 130 | 0,80 | 4 | 0,92 | 33 | 0,87 | +| Salvador — SÃO CRISTÓVÃO · ZE 12 · seção 264 | 363 | 90 | 125 | 0,76 | 6 | 1,38 | 29 | 0,76 | + +**Top 30 seções por branco+nulo estadual — estoque direto do campo do PT** + +| Seção | Comp. | Bn est. | Bloco L+J | LQ esq. | Campo PT est. | LQ PT est. | +| -------------------------------------------------------- | ----- | ------- | --------- | ------- | ------------- | ---------- | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 118 | 95 | 0,58 | 22 | 0,67 | +| Salvador — PLATAFORMA · ZE 17 · seção 311 | 335 | 112 | 83 | 0,55 | 14 | 0,45 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 111 | 102 | 0,64 | 30 | 0,90 | +| Salvador — BOA VISTA DO LOBATO · ZE 15 · seção 562 | 367 | 111 | 106 | 0,64 | 23 | 0,67 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 107 | 123 | 0,72 | 27 | 0,74 | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 105 | 105 | 0,65 | 33 | 0,93 | +| Salvador — ITACARANHA · ZE 17 · seção 438 | 367 | 105 | 90 | 0,54 | 22 | 0,62 | +| Salvador — PARIPE · ZE 4 · seção 479 | 351 | 104 | 85 | 0,53 | 36 | 1,02 | +| Salvador — ALTO DE COUTOS · ZE 4 · seção 577 | 351 | 103 | 94 | 0,59 | 30 | 0,90 | +| Salvador — PLATAFORMA · ZE 17 · seção 342 | 349 | 102 | 86 | 0,54 | 11 | 0,32 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 101 | 136 | 0,79 | 53 | 1,40 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 507 | 377 | 101 | 127 | 0,74 | 26 | 0,70 | +| Salvador — ÁGUAS CLARAS · ZE 11 · seção 714 | 359 | 101 | 137 | 0,84 | 31 | 0,92 | +| Salvador — ITACARANHA · ZE 17 · seção 568 | 334 | 100 | 94 | 0,62 | 23 | 0,71 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 100 | 118 | 0,72 | 23 | 0,65 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 100 | 111 | 0,69 | 24 | 0,71 | +| Salvador — SANTA CRUZ · ZE 13 · seção 289 | 362 | 99 | 130 | 0,79 | 35 | 0,96 | +| Salvador — PARIPE · ZE 4 · seção 302 | 365 | 99 | 112 | 0,68 | 40 | 1,15 | +| Salvador — ALTO DE COUTOS · ZE 4 · seção 404 | 347 | 99 | 109 | 0,69 | 28 | 0,84 | +| Salvador — PLATAFORMA · ZE 17 · seção 392 | 374 | 99 | 108 | 0,64 | 25 | 0,67 | +| Salvador — ITACARANHA · ZE 17 · seção 420 | 364 | 98 | 112 | 0,68 | 25 | 0,69 | +| Salvador — PLATAFORMA · ZE 17 · seção 312 | 359 | 98 | 90 | 0,55 | 23 | 0,64 | +| Salvador — ALTO DA TEREZINHA · ZE 17 · seção 557 | 355 | 98 | 98 | 0,61 | 23 | 0,69 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 97 | 106 | 0,66 | 21 | 0,62 | +| Salvador — ITACARANHA · ZE 17 · seção 437 | 379 | 97 | 108 | 0,63 | 26 | 0,69 | +| Salvador — CASTELO BRANCO (1A ETAPA) · ZE 11 · seção 616 | 370 | 97 | 114 | 0,68 | 28 | 0,74 | +| Salvador — ITACARANHA · ZE 17 · seção 441 | 349 | 97 | 104 | 0,66 | 25 | 0,73 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 97 | 104 | 0,71 | 26 | 0,82 | +| Salvador — COUTOS · ZE 4 · seção 516 | 381 | 97 | 110 | 0,64 | 22 | 0,56 | +| Salvador — ALTO DO CABRITO · ZE 17 · seção 404 | 345 | 97 | 103 | 0,66 | 28 | 0,82 | + +**Top 15 municípios por branco+nulo federal (estadual e força da esquerda ao lado)** + +| Município | Território | Bn fed. | Bn est. | LQ esq. | Solla | LQ Solla | Campo PT fed. | LQ PT fed. | Campo PT est. | LQ PT est. | +| ---------------------- | ------------------------------ | ------- | ------- | ------- | ------ | -------- | ------------- | ---------- | ------------- | ---------- | +| Salvador | Metropolitano de Salvador | 258.946 | 281.026 | 0,74 | 27.264 | 1,25 | 186.386 | 0,97 | 163.231 | 0,89 | +| Feira de Santana | Portal do Sertão | 47.662 | 43.373 | 0,83 | 3.074 | 0,60 | 78.566 | 1,76 | 27.307 | 0,62 | +| Vitória da Conquista | Sudoeste Baiano | 24.142 | 23.504 | 0,77 | 5.005 | 1,65 | 56.267 | 2,12 | 46.877 | 1,84 | +| Camaçari | Metropolitano de Salvador | 20.361 | 22.559 | 0,81 | 715 | 0,32 | 44.947 | 2,29 | 30.176 | 1,61 | +| Lauro de Freitas | Metropolitano de Salvador | 14.995 | 14.932 | 0,84 | 1.929 | 1,10 | 16.815 | 1,09 | 13.755 | 0,91 | +| Alagoinhas | Litoral Norte e Agreste Baiano | 12.973 | 10.418 | 0,82 | 757 | 0,62 | 20.924 | 1,95 | 17.276 | 1,57 | +| Juazeiro | Sertão do São Francisco | 12.083 | 11.911 | 0,93 | 742 | 0,38 | 5.760 | 0,34 | 17.136 | 1,04 | +| Porto Seguro | Costa do Descobrimento | 9.932 | 9.598 | 0,79 | 639 | 0,57 | 8.071 | 0,82 | 5.637 | 0,59 | +| Ilhéus | Litoral Sul | 9.342 | 10.805 | 0,84 | 1.883 | 1,23 | 11.149 | 0,83 | 6.346 | 0,50 | +| Itabuna | Litoral Sul | 9.190 | 9.641 | 0,75 | 1.470 | 0,84 | 11.307 | 0,74 | 9.791 | 0,66 | +| Simões Filho | Metropolitano de Salvador | 9.013 | 8.014 | 0,86 | 771 | 0,78 | 5.668 | 0,66 | 4.417 | 0,51 | +| Jequié | Médio Rio de Contas | 8.445 | 8.753 | 0,98 | 1.181 | 0,84 | 5.410 | 0,44 | 17.869 | 1,54 | +| Teixeira de Freitas | Extremo Sul | 8.138 | 8.679 | 0,72 | 767 | 0,64 | 8.268 | 0,79 | 4.706 | 0,47 | +| Santo Antônio de Jesus | Recôncavo | 7.734 | 6.547 | 0,81 | 569 | 0,65 | 7.637 | 1,00 | 3.762 | 0,50 | +| Candeias | Metropolitano de Salvador | 7.191 | 6.965 | 1,07 | 374 | 0,50 | 5.731 | 0,88 | 3.276 | 0,51 | + +## Esquerda forte, cargo em branco + +_Seções acima do padrão estadual no campo da esquerda e com voto do cargo em branco/nulo — as melhores para inserção_ + +O filtro pedido: a seção precisa ser particularmente forte no campo da esquerda (LQ esquerda ≥ 1,25, ou seja, 25% acima do padrão do estado) e ter branco+nulo no quartil superior das seções qualificadas (federal ≥ 40 e estadual ≥ 40). São as seções onde a recepção do campo existe e o cargo ficou vazio — a inserção do PT é facilitada porque o eleitor já votou Lula e Jerônimo ali. + +Para Solla, a lista federal traz também o campo PT federal (todos os 13xx, do qual ele é o maior nome). Para o lado estadual, a coluna é o campo PT 13xxx — proxy de onde a estrutura do PT existe, já que Julio Pinheiro não tem votação de 2022. + +**Federal — esquerda forte e branco+nulo alto (top 15)** + +| Seção | Comp. | Bn fed. | Bloco L+J | LQ esq. | Solla | LQ Solla | Campo PT fed. | LQ PT fed. | +| ------------------------------------------ | ----- | ------- | --------- | ------- | ----- | -------- | ------------- | ---------- | +| São Gonçalo dos Campos · ZE 108 · seção 45 | 336 | 80 | 207 | 1,36 | 5 | 1,22 | 23 | 0,64 | +| Caetité · ZE 63 · seção 188 | 308 | 69 | 182 | 1,30 | 2 | 0,51 | 104 | 3,01 | +| Caetité · ZE 63 · seção 202 | 327 | 63 | 209 | 1,41 | 2 | 0,46 | 93 | 2,46 | +| Lajedo do Tabocal · ZE 37 · seção 186 | 312 | 63 | 203 | 1,44 | 6 | 1,53 | 42 | 1,23 | +| Ituaçu · ZE 58 · seção 110 | 265 | 61 | 159 | 1,32 | 1 | 0,31 | 11 | 0,39 | +| São Gonçalo dos Campos · ZE 108 · seção 46 | 325 | 59 | 198 | 1,34 | 1 | 0,24 | 40 | 1,09 | +| Caetité · ZE 63 · seção 139 | 331 | 57 | 204 | 1,36 | 0 | 0,00 | 106 | 2,76 | +| Barra do Mendes · ZE 176 · seção 147 | 234 | 57 | 134 | 1,26 | 10 | 3,41 | 25 | 0,97 | +| Feira de Santana · ZE 154 · seção 312 | 357 | 57 | 204 | 1,26 | 3 | 0,62 | 121 | 2,87 | +| Salinas da Margarida · ZE 30 · seção 157 | 314 | 54 | 192 | 1,35 | 8 | 1,94 | 56 | 1,55 | +| Conceição do Almeida · ZE 184 · seção 53 | 346 | 54 | 209 | 1,33 | 12 | 2,55 | 14 | 0,34 | +| Santo Estêvão · ZE 143 · seção 212 | 312 | 54 | 179 | 1,27 | 6 | 1,41 | 78 | 2,09 | +| Caetité · ZE 63 · seção 24 | 345 | 53 | 199 | 1,27 | 0 | 0,00 | 99 | 2,43 | +| Jaguaquara · ZE 76 · seção 182 | 299 | 53 | 177 | 1,31 | 5 | 1,27 | 10 | 0,29 | +| Seabra · ZE 88 · seção 152 | 334 | 53 | 234 | 1,55 | 18 | 3,92 | 71 | 1,77 | + +**Estadual — esquerda forte e branco+nulo alto (top 15)** + +| Seção | Comp. | Bn est. | Bloco L+J | LQ esq. | Campo PT est. | LQ PT est. | +| ------------------------------------------ | ----- | ------- | --------- | ------- | ------------- | ---------- | +| São Gonçalo dos Campos · ZE 108 · seção 45 | 336 | 72 | 207 | 1,36 | 20 | 0,58 | +| Barra do Mendes · ZE 176 · seção 147 | 234 | 63 | 134 | 1,26 | 24 | 1,11 | +| Ituaçu · ZE 58 · seção 110 | 265 | 61 | 159 | 1,32 | 9 | 0,33 | +| Lajedo do Tabocal · ZE 37 · seção 186 | 312 | 61 | 203 | 1,44 | 37 | 1,15 | +| São Gonçalo dos Campos · ZE 108 · seção 46 | 325 | 61 | 198 | 1,34 | 20 | 0,61 | +| Conceição do Almeida · ZE 184 · seção 53 | 346 | 59 | 209 | 1,33 | 35 | 0,92 | +| Salvador — MATA ESCURA · ZE 5 · seção 385 | 226 | 58 | 163 | 1,59 | 48 | 2,15 | +| Seabra · ZE 88 · seção 152 | 334 | 58 | 234 | 1,55 | 88 | 2,39 | +| Seabra · ZE 88 · seção 204 | 320 | 58 | 189 | 1,30 | 51 | 1,41 | +| Jaguaquara · ZE 76 · seção 182 | 299 | 56 | 177 | 1,31 | 8 | 0,25 | +| Cardeal da Silva · ZE 144 · seção 79 | 304 | 54 | 193 | 1,40 | 34 | 1,02 | +| Seabra · ZE 88 · seção 38 | 323 | 54 | 201 | 1,37 | 58 | 1,62 | +| Caetité · ZE 63 · seção 188 | 308 | 53 | 182 | 1,30 | 16 | 0,46 | +| Feira de Santana · ZE 154 · seção 312 | 357 | 53 | 204 | 1,26 | 63 | 1,57 | +| Paripiranga · ZE 52 · seção 107 | 255 | 52 | 170 | 1,47 | 80 | 3,13 | + +> **Uso interno** Lista de trabalho da coordenação. Não vira material público nem mapa de prioridade exposto; o pedido é rede e número, dentro da lei. + +## Salvador + +_A capital em zonas, bairros e seções — onde o volume está_ + +Salvador compareceu com 1.627.906 em 2022. O bloco Lula+Jerônimo na cidade é de 547.531 e a não-escolha para deputado federal somou 258.946 votos (155.048 acima do padrão presidencial); no estadual, 281.026 (177.131 de excesso). Solla fez 27.264 na capital (2,1% dos nominais federais) e o campo PT estadual somou 163.231. + +**Salvador — por zona eleitoral (ordem de ZE)** + +| Território | Seções | Comp. | Lula | Jer. | Bloco L+J | Bn fed. | % não-esc. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------- | ------ | ------- | ------ | ------ | --------- | ------- | ---------- | --------- | --------- | ----- | -------- | ------- | --------- | --------- | -------- | ----- | +| ZE 1 | 218 | 62.489 | 35.706 | 20.893 | 20.893 | 6.264 | 10,0% | 4.292 | 6.264 | 1.298 | 1,43 | 6.872 | 4.900 | 6.872 | 7.519 | 0,97 | +| ZE 2 | 252 | 74.547 | 49.051 | 27.352 | 27.352 | 10.000 | 13,4% | 6.427 | 10.000 | 1.199 | 1,15 | 11.790 | 8.217 | 11.790 | 7.970 | 0,93 | +| ZE 3 | 276 | 91.018 | 60.393 | 31.892 | 31.892 | 17.380 | 19,1% | 10.556 | 17.380 | 1.257 | 1,07 | 17.182 | 10.358 | 17.182 | 8.293 | 0,82 | +| ZE 4 | 314 | 100.352 | 64.576 | 34.407 | 34.407 | 18.812 | 18,7% | 10.160 | 18.812 | 1.531 | 1,18 | 20.406 | 11.757 | 20.347 | 11.322 | 1,05 | +| ZE 5 | 229 | 71.095 | 46.704 | 25.935 | 25.935 | 10.911 | 15,3% | 6.716 | 10.911 | 893 | 0,92 | 12.021 | 7.826 | 12.021 | 6.084 | 0,75 | +| ZE 6 | 241 | 79.572 | 49.220 | 26.447 | 26.447 | 11.324 | 14,2% | 7.413 | 11.324 | 1.475 | 1,35 | 12.168 | 8.257 | 12.168 | 9.259 | 0,99 | +| ZE 7 | 244 | 77.593 | 48.663 | 26.871 | 26.871 | 10.281 | 13,2% | 6.524 | 10.281 | 1.774 | 1,64 | 11.568 | 7.811 | 11.568 | 8.451 | 0,93 | +| ZE 8 | 275 | 87.276 | 55.842 | 29.153 | 29.153 | 15.729 | 18,0% | 8.942 | 15.729 | 1.455 | 1,27 | 16.912 | 10.125 | 16.908 | 8.658 | 0,91 | +| ZE 9 | 254 | 79.818 | 49.063 | 24.032 | 24.032 | 15.500 | 19,4% | 9.374 | 15.496 | 1.265 | 1,24 | 15.567 | 9.441 | 15.559 | 5.640 | 0,64 | +| ZE 10 | 320 | 113.017 | 65.393 | 38.116 | 38.116 | 12.560 | 11,1% | 7.960 | 12.560 | 2.260 | 1,39 | 14.650 | 10.050 | 14.650 | 14.049 | 1,03 | +| ZE 11 | 285 | 97.411 | 62.934 | 33.092 | 33.092 | 17.144 | 17,6% | 10.010 | 17.144 | 1.460 | 1,14 | 18.457 | 11.323 | 18.457 | 8.386 | 0,79 | +| ZE 12 | 278 | 97.061 | 59.997 | 32.103 | 32.103 | 14.369 | 14,8% | 8.814 | 14.369 | 1.436 | 1,08 | 15.073 | 9.518 | 15.073 | 8.578 | 0,76 | +| ZE 13 | 267 | 90.093 | 46.618 | 26.420 | 26.420 | 9.517 | 10,6% | 6.021 | 9.517 | 1.721 | 1,32 | 11.208 | 7.712 | 11.208 | 11.203 | 1,02 | +| ZE 14 | 279 | 94.242 | 63.158 | 33.929 | 33.929 | 16.514 | 17,5% | 10.180 | 16.514 | 1.682 | 1,36 | 17.584 | 11.250 | 17.584 | 9.065 | 0,87 | +| ZE 15 | 246 | 74.565 | 47.911 | 24.515 | 24.515 | 13.165 | 17,7% | 6.760 | 13.165 | 1.289 | 1,31 | 15.413 | 9.008 | 15.405 | 5.788 | 0,72 | +| ZE 16 | 264 | 84.583 | 55.480 | 30.544 | 30.544 | 13.282 | 15,7% | 8.009 | 13.282 | 1.643 | 1,44 | 14.302 | 9.029 | 14.302 | 11.013 | 1,15 | +| ZE 17 | 262 | 85.769 | 53.962 | 26.075 | 26.075 | 17.037 | 19,9% | 9.097 | 16.976 | 990 | 0,93 | 18.829 | 10.889 | 18.672 | 6.359 | 0,70 | +| ZE 18 | 214 | 63.580 | 41.507 | 21.678 | 21.678 | 12.508 | 19,7% | 7.985 | 12.508 | 860 | 1,06 | 12.536 | 8.013 | 12.536 | 6.072 | 0,87 | +| ZE 19 | 305 | 103.825 | 66.550 | 34.077 | 34.077 | 16.649 | 16,0% | 9.808 | 16.649 | 1.776 | 1,27 | 18.488 | 11.647 | 18.488 | 9.522 | 0,82 | + +**Salvador — top 20 bairros (local de votação) por teto federal** + +| Bairro (TSE) | Seções | Comp. | Bloco L+J | Bn fed. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Teto est. | Campo PT | LQ PT | +| ------------------------ | ------ | ------ | --------- | ------- | --------- | --------- | ----- | -------- | ------- | --------- | -------- | ----- | +| PERIPERI | 130 | 39.944 | 12.967 | 7.734 | 4.485 | 7.734 | 528 | 1,04 | 8.027 | 8.018 | 4.112 | 0,95 | +| PERNAMBUÉS | 133 | 42.934 | 15.621 | 6.990 | 4.187 | 6.990 | 719 | 1,25 | 7.482 | 7.482 | 6.856 | 1,42 | +| LIBERDADE | 103 | 33.247 | 11.863 | 6.842 | 4.307 | 6.842 | 393 | 0,94 | 6.727 | 6.727 | 3.108 | 0,86 | +| PARIPE | 87 | 29.837 | 9.570 | 6.094 | 3.335 | 6.094 | 524 | 1,39 | 6.720 | 6.674 | 3.228 | 1,04 | +| ITAPUÃ | 117 | 40.809 | 13.763 | 5.897 | 3.658 | 5.897 | 591 | 1,05 | 6.854 | 6.854 | 3.928 | 0,85 | +| SÃO MARCOS | 111 | 36.491 | 12.482 | 5.684 | 3.632 | 5.684 | 860 | 1,74 | 6.272 | 6.272 | 3.778 | 0,92 | +| CABULA | 123 | 37.822 | 13.359 | 5.542 | 3.628 | 5.542 | 539 | 1,04 | 5.850 | 5.850 | 3.715 | 0,84 | +| SÃO CAETANO | 112 | 33.571 | 11.100 | 5.471 | 2.820 | 5.471 | 776 | 1,72 | 7.013 | 7.010 | 2.905 | 0,80 | +| BROTAS | 128 | 43.315 | 13.954 | 5.431 | 3.547 | 5.431 | 731 | 1,20 | 5.821 | 5.821 | 5.380 | 1,03 | +| RIBEIRA | 86 | 27.318 | 8.127 | 5.426 | 3.318 | 5.426 | 501 | 1,44 | 5.543 | 5.543 | 2.054 | 0,68 | +| PLATAFORMA | 79 | 26.546 | 7.755 | 5.290 | 2.784 | 5.232 | 249 | 0,78 | 5.864 | 5.756 | 1.672 | 0,59 | +| TANCREDO NEVES | 79 | 26.679 | 9.526 | 5.147 | 3.095 | 5.147 | 336 | 0,99 | 5.378 | 5.378 | 2.344 | 0,82 | +| FAZENDA GRANDE DO RETIRO | 84 | 28.205 | 9.709 | 5.106 | 3.009 | 5.106 | 400 | 1,08 | 4.832 | 4.832 | 2.164 | 0,68 | +| SÃO CRISTÓVÃO | 83 | 28.440 | 9.390 | 4.889 | 2.874 | 4.889 | 346 | 0,92 | 4.250 | 4.250 | 1.603 | 0,49 | +| PITUBA | 138 | 47.302 | 13.709 | 4.815 | 3.190 | 4.815 | 905 | 1,32 | 5.679 | 5.679 | 5.904 | 1,02 | +| CAJAZEIRAS | 83 | 28.415 | 8.747 | 4.777 | 2.880 | 4.777 | 478 | 1,26 | 5.586 | 5.586 | 2.672 | 0,86 | +| URUGUAI | 58 | 20.430 | 6.332 | 4.108 | 2.297 | 4.108 | 241 | 0,94 | 3.931 | 3.931 | 1.164 | 0,51 | +| PIRAJÁ | 57 | 19.883 | 6.357 | 3.889 | 2.194 | 3.889 | 338 | 1,32 | 3.917 | 3.917 | 2.289 | 1,05 | +| ITACARANHA | 50 | 17.486 | 5.071 | 3.797 | 2.048 | 3.794 | 230 | 1,07 | 4.177 | 4.137 | 1.237 | 0,68 | +| BOCA DO RIO | 79 | 27.157 | 9.317 | 3.752 | 2.127 | 3.752 | 443 | 1,17 | 4.497 | 4.497 | 2.615 | 0,85 | + +**Salvador — top 15 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 216 | 106 | 106 | 99 | 59 | 99 | 0,25 | 1 | 97 | 57 | 97 | 21 | 0,62 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 226 | 108 | 108 | 98 | 61 | 98 | 1,04 | 4 | 86 | 49 | 86 | 26 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 249 | 119 | 119 | 96 | 61 | 96 | 0,89 | 4 | 84 | 49 | 84 | 26 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 207 | 107 | 107 | 95 | 54 | 95 | 1,39 | 6 | 89 | 48 | 89 | 32 | 0,85 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 213 | 95 | 95 | 94 | 45 | 94 | 0,95 | 4 | 118 | 69 | 95 | 22 | 0,67 | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | +| Salvador — PERO VAZ · ZE 3 · seção 134 | 366 | 258 | 135 | 135 | 94 | 61 | 94 | 0,23 | 1 | 95 | 62 | 95 | 46 | 1,30 | +| Salvador — PLATAFORMA · ZE 17 · seção 337 | 379 | 229 | 107 | 107 | 93 | 50 | 93 | 0,00 | 0 | 96 | 53 | 96 | 18 | 0,46 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 227 | 111 | 111 | 93 | 58 | 93 | 1,43 | 6 | 100 | 65 | 100 | 24 | 0,71 | + +**Salvador — top 15 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — BOA VISTA DO LOBATO · ZE 15 · seção 562 | 367 | 210 | 106 | 106 | 88 | 18 | 88 | 0,44 | 2 | 111 | 41 | 106 | 23 | 0,67 | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 248 | 136 | 136 | 88 | 50 | 88 | 1,75 | 8 | 101 | 63 | 101 | 53 | 1,40 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 507 | 377 | 245 | 127 | 127 | 83 | 32 | 83 | 1,25 | 6 | 101 | 50 | 101 | 26 | 0,70 | +| Salvador — ÁGUAS CLARAS · ZE 11 · seção 714 | 359 | 238 | 137 | 137 | 88 | 49 | 88 | 0,94 | 4 | 101 | 62 | 101 | 31 | 0,92 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 513 | 360 | 230 | 118 | 118 | 91 | 41 | 91 | 0,72 | 3 | 100 | 50 | 100 | 23 | 0,65 | +| Salvador — ITACARANHA · ZE 17 · seção 435 | 356 | 227 | 111 | 111 | 93 | 58 | 93 | 1,43 | 6 | 100 | 65 | 100 | 24 | 0,71 | +| Salvador — SANTA CRUZ · ZE 13 · seção 289 | 362 | 247 | 130 | 130 | 79 | 42 | 79 | 1,77 | 8 | 99 | 62 | 99 | 35 | 0,96 | +| Salvador — PARIPE · ZE 4 · seção 302 | 365 | 228 | 112 | 112 | 82 | 36 | 82 | 3,47 | 15 | 99 | 53 | 99 | 40 | 1,15 | +| Salvador — ALTO DE COUTOS · ZE 4 · seção 404 | 347 | 211 | 109 | 109 | 84 | 42 | 84 | 0,94 | 4 | 99 | 57 | 99 | 28 | 0,84 | +| Salvador — PLATAFORMA · ZE 17 · seção 392 | 374 | 255 | 108 | 108 | 75 | 44 | 75 | 0,00 | 0 | 99 | 68 | 99 | 25 | 0,67 | +| Salvador — ITACARANHA · ZE 17 · seção 420 | 364 | 226 | 112 | 112 | 81 | 37 | 81 | 2,03 | 9 | 98 | 54 | 98 | 25 | 0,69 | +| Salvador — ALTO DA TEREZINHA · ZE 17 · seção 557 | 355 | 213 | 98 | 98 | 79 | 31 | 79 | 1,67 | 7 | 98 | 50 | 98 | 23 | 0,69 | + +**Salvador — Solla forte e não-escolha federal alta (top 12)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | +| Salvador — PIRAJÁ · ZE 8 · seção 622 | 342 | 215 | 104 | 104 | 91 | 42 | 91 | 2,01 | 8 | 77 | 28 | 77 | 61 | 1,68 | +| Salvador — PERO VAZ · ZE 3 · seção 166 | 390 | 262 | 146 | 146 | 90 | 53 | 90 | 3,53 | 17 | 77 | 40 | 77 | 46 | 1,08 | +| Salvador — PARIPE · ZE 4 · seção 364 | 379 | 209 | 117 | 117 | 89 | 51 | 89 | 1,53 | 7 | 91 | 53 | 91 | 41 | 1,04 | +| Salvador — ITACARANHA · ZE 17 · seção 447 | 369 | 225 | 110 | 110 | 89 | 53 | 89 | 1,56 | 7 | 96 | 60 | 96 | 30 | 0,76 | +| Salvador — PERO VAZ · ZE 3 · seção 131 | 375 | 257 | 155 | 155 | 89 | 51 | 89 | 1,72 | 8 | 86 | 48 | 86 | 42 | 1,08 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 248 | 136 | 136 | 88 | 50 | 88 | 1,75 | 8 | 101 | 63 | 101 | 53 | 1,40 | +| Salvador — ITACARANHA · ZE 17 · seção 444 | 362 | 193 | 104 | 104 | 88 | 42 | 88 | 1,61 | 7 | 92 | 46 | 92 | 32 | 0,85 | +| Salvador — ITACARANHA · ZE 17 · seção 423 | 371 | 219 | 109 | 109 | 88 | 59 | 88 | 1,80 | 8 | 93 | 64 | 93 | 21 | 0,53 | +| Salvador — PIRAJÁ · ZE 8 · seção 623 | 338 | 237 | 118 | 118 | 88 | 58 | 88 | 1,80 | 7 | 80 | 50 | 80 | 49 | 1,43 | +| Salvador — ALTO DO CABRITO · ZE 17 · seção 404 | 345 | 215 | 103 | 103 | 88 | 55 | 88 | 2,70 | 11 | 97 | 64 | 97 | 28 | 0,82 | +| Salvador — PERO VAZ · ZE 3 · seção 355 | 383 | 275 | 161 | 161 | 88 | 58 | 88 | 1,72 | 8 | 92 | 62 | 92 | 35 | 0,87 | + +**Salvador — Solla fraco e não-escolha federal alta — ataque (top 0)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | + +**Salvador — onde o voto para deputado foi mais abandonado (top 10)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — SUSSUARANA · ZE 14 · seção 464 | 359 | 227 | 125 | 125 | 93 | 68 | 93 | 0,92 | 4 | 93 | 68 | 93 | 29 | 0,76 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — PAU MIÚDO · ZE 3 · seção 389 | 380 | 248 | 109 | 109 | 93 | 67 | 93 | 0,65 | 3 | 85 | 59 | 85 | 33 | 0,81 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — TANCREDO NEVES · ZE 14 · seção 642 | 324 | 225 | 104 | 104 | 91 | 66 | 91 | 0,82 | 3 | 97 | 72 | 97 | 26 | 0,82 | +| Salvador — RIBEIRA · ZE 9 · seção 44 | 362 | 225 | 112 | 112 | 89 | 65 | 89 | 1,18 | 5 | 89 | 65 | 89 | 24 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 1 | 365 | 254 | 125 | 125 | 86 | 65 | 86 | 1,13 | 5 | 70 | 49 | 70 | 36 | 0,89 | + +**Salvador — dobradinha: não-escolha federal e estadual altas (top 12)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 216 | 106 | 106 | 99 | 59 | 99 | 0,25 | 1 | 97 | 57 | 97 | 21 | 0,62 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 217 | 102 | 102 | 99 | 67 | 99 | 0,76 | 3 | 111 | 79 | 102 | 30 | 0,90 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 226 | 108 | 108 | 98 | 61 | 98 | 1,04 | 4 | 86 | 49 | 86 | 26 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 255 | 134 | 134 | 98 | 68 | 98 | 0,91 | 4 | 88 | 58 | 88 | 32 | 0,80 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 249 | 119 | 119 | 96 | 61 | 96 | 0,89 | 4 | 84 | 49 | 84 | 26 | 0,65 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 233 | 126 | 126 | 96 | 67 | 96 | 0,77 | 3 | 79 | 50 | 79 | 37 | 1,02 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 207 | 107 | 107 | 95 | 54 | 95 | 1,39 | 6 | 89 | 48 | 89 | 32 | 0,85 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 213 | 95 | 95 | 94 | 45 | 94 | 0,95 | 4 | 118 | 69 | 95 | 22 | 0,67 | +| Salvador — RIBEIRA · ZE 9 · seção 243 | 358 | 212 | 107 | 107 | 94 | 57 | 94 | 1,64 | 7 | 92 | 55 | 92 | 17 | 0,46 | + +## Região Metropolitana de Salvador (demais municípios) + +_Fora da capital, com Salvador fora da conta_ + +Os 12 municípios da RMS (todos os do Território Metropolitano de Salvador exceto a capital) somam bloco Lula+Jerônimo de 251.093, não-escolha federal de 77.515 votos (44.247 de excesso sobre a presidencial) e não-escolha estadual de 78.801. Solla fez 7.693 na região e o campo PT estadual somou 77.438. + +**RMS — por município (ordem de teto federal)** + +| Município | Seções | Comp. | Bloco L+J | Bn fed. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Teto est. | Campo PT | LQ PT | +| ---------------------- | ------ | ------- | --------- | ------- | --------- | --------- | ----- | -------- | ------- | --------- | -------- | ----- | +| Camaçari | 513 | 158.632 | 58.518 | 20.361 | 10.833 | 20.361 | 715 | 0,32 | 22.559 | 22.559 | 30.176 | 1,61 | +| Lauro de Freitas | 361 | 123.303 | 46.821 | 14.995 | 8.745 | 14.995 | 1.929 | 1,10 | 14.932 | 14.932 | 13.755 | 0,91 | +| Simões Filho | 245 | 70.532 | 27.425 | 9.013 | 5.231 | 9.013 | 771 | 0,78 | 8.014 | 8.014 | 4.417 | 0,51 | +| Candeias | 185 | 53.040 | 25.706 | 7.191 | 4.390 | 7.191 | 374 | 0,50 | 6.965 | 6.965 | 3.276 | 0,51 | +| Dias d'Ávila | 156 | 42.236 | 16.201 | 6.062 | 3.573 | 6.062 | 519 | 0,89 | 5.699 | 5.699 | 4.221 | 0,84 | +| Pojuca | 84 | 22.464 | 8.859 | 4.142 | 2.428 | 4.142 | 207 | 0,71 | 4.164 | 4.164 | 3.867 | 1,58 | +| Mata de São João | 117 | 32.473 | 15.421 | 3.754 | 1.842 | 3.754 | 177 | 0,38 | 4.398 | 4.398 | 6.739 | 1,78 | +| São Francisco do Conde | 101 | 26.835 | 12.359 | 3.365 | 2.185 | 3.365 | 1.162 | 3,03 | 3.335 | 3.335 | 3.375 | 1,04 | +| São Sebastião do Passé | 101 | 27.876 | 13.932 | 3.076 | 1.815 | 3.076 | 226 | 0,57 | 2.730 | 2.730 | 2.205 | 0,64 | +| Vera Cruz | 102 | 26.973 | 12.428 | 2.894 | 1.685 | 2.894 | 1.106 | 2,84 | 2.916 | 2.916 | 3.549 | 1,07 | +| Itaparica | 57 | 14.798 | 7.007 | 1.462 | 771 | 1.462 | 168 | 0,78 | 1.749 | 1.749 | 900 | 0,50 | +| Madre de Deus | 44 | 13.199 | 6.416 | 1.200 | 749 | 1.200 | 339 | 1,71 | 1.340 | 1.340 | 958 | 0,57 | + +**RMS — top 12 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Candeias · ZE 127 · seção 344 | 310 | 219 | 101 | 101 | 84 | 58 | 84 | 0,27 | 1 | 69 | 43 | 69 | 3 | 0,09 | +| Pojuca · ZE 200 · seção 107 | 294 | 191 | 90 | 90 | 74 | 53 | 74 | 1,12 | 4 | 70 | 49 | 70 | 39 | 1,21 | +| Lauro de Freitas · ZE 180 · seção 381 | 364 | 240 | 163 | 163 | 73 | 35 | 73 | 0,63 | 3 | 58 | 20 | 58 | 38 | 0,89 | +| Camaçari · ZE 170 · seção 190 | 342 | 178 | 87 | 87 | 70 | 41 | 70 | 0,00 | 0 | 73 | 44 | 73 | 59 | 1,53 | +| Dias d'Ávila · ZE 186 · seção 117 | 328 | 220 | 125 | 125 | 70 | 44 | 70 | 0,23 | 1 | 66 | 40 | 66 | 23 | 0,65 | +| Camaçari · ZE 170 · seção 103 | 333 | 188 | 115 | 115 | 69 | 37 | 69 | 0,00 | 0 | 75 | 43 | 75 | 58 | 1,63 | +| Simões Filho · ZE 33 · seção 206 | 361 | 251 | 152 | 152 | 69 | 39 | 69 | 0,43 | 2 | 56 | 26 | 56 | 38 | 0,92 | +| Pojuca · ZE 200 · seção 21 | 281 | 190 | 104 | 104 | 68 | 36 | 68 | 0,30 | 1 | 69 | 37 | 69 | 58 | 2,14 | +| Dias d'Ávila · ZE 186 · seção 101 | 342 | 246 | 135 | 135 | 68 | 46 | 68 | 0,68 | 3 | 49 | 27 | 49 | 30 | 0,76 | +| Candeias · ZE 127 · seção 296 | 323 | 230 | 138 | 138 | 68 | 48 | 68 | 0,70 | 3 | 56 | 36 | 56 | 17 | 0,43 | +| Lauro de Freitas · ZE 180 · seção 373 | 343 | 225 | 134 | 134 | 67 | 33 | 67 | 0,89 | 4 | 56 | 22 | 56 | 36 | 0,88 | +| Pojuca · ZE 200 · seção 64 | 287 | 185 | 97 | 97 | 67 | 24 | 67 | 0,29 | 1 | 65 | 22 | 65 | 49 | 1,68 | + +**RMS — top 12 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Lauro de Freitas · ZE 180 · seção 426 | 305 | 193 | 138 | 138 | 61 | 26 | 61 | 3,02 | 12 | 76 | 41 | 76 | 37 | 1,18 | +| Camaçari · ZE 170 · seção 103 | 333 | 188 | 115 | 115 | 69 | 37 | 69 | 0,00 | 0 | 75 | 43 | 75 | 58 | 1,63 | +| Camaçari · ZE 170 · seção 190 | 342 | 178 | 87 | 87 | 70 | 41 | 70 | 0,00 | 0 | 73 | 44 | 73 | 59 | 1,53 | +| Camaçari · ZE 170 · seção 223 | 314 | 178 | 82 | 82 | 65 | 38 | 65 | 0,00 | 0 | 72 | 45 | 72 | 44 | 1,31 | +| Pojuca · ZE 200 · seção 13 | 308 | 211 | 124 | 124 | 62 | 32 | 62 | 1,28 | 5 | 70 | 40 | 70 | 52 | 1,68 | +| Camaçari · ZE 170 · seção 197 | 332 | 199 | 126 | 126 | 65 | 44 | 65 | 0,46 | 2 | 70 | 49 | 70 | 54 | 1,47 | +| Pojuca · ZE 200 · seção 107 | 294 | 191 | 90 | 90 | 74 | 53 | 74 | 1,12 | 4 | 70 | 49 | 70 | 39 | 1,21 | +| Camaçari · ZE 170 · seção 220 | 349 | 190 | 101 | 101 | 62 | 27 | 62 | 0,22 | 1 | 70 | 35 | 70 | 49 | 1,31 | +| Candeias · ZE 127 · seção 344 | 310 | 219 | 101 | 101 | 84 | 58 | 84 | 0,27 | 1 | 69 | 43 | 69 | 3 | 0,09 | +| Dias d'Ávila · ZE 186 · seção 113 | 351 | 223 | 119 | 119 | 66 | 44 | 66 | 1,28 | 6 | 69 | 47 | 69 | 27 | 0,69 | +| Pojuca · ZE 200 · seção 21 | 281 | 190 | 104 | 104 | 68 | 36 | 68 | 0,30 | 1 | 69 | 37 | 69 | 58 | 2,14 | +| Lauro de Freitas · ZE 180 · seção 391 | 377 | 223 | 134 | 134 | 54 | 30 | 54 | 0,74 | 4 | 69 | 45 | 69 | 47 | 1,08 | + +**RMS — dobradinha: não-escolha federal e estadual altas (top 10)** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Candeias · ZE 127 · seção 344 | 310 | 219 | 101 | 101 | 84 | 58 | 84 | 0,27 | 1 | 69 | 43 | 69 | 3 | 0,09 | +| Pojuca · ZE 200 · seção 107 | 294 | 191 | 90 | 90 | 74 | 53 | 74 | 1,12 | 4 | 70 | 49 | 70 | 39 | 1,21 | +| Lauro de Freitas · ZE 180 · seção 381 | 364 | 240 | 163 | 163 | 73 | 35 | 73 | 0,63 | 3 | 58 | 20 | 58 | 38 | 0,89 | +| Camaçari · ZE 170 · seção 190 | 342 | 178 | 87 | 87 | 70 | 41 | 70 | 0,00 | 0 | 73 | 44 | 73 | 59 | 1,53 | +| Dias d'Ávila · ZE 186 · seção 117 | 328 | 220 | 125 | 125 | 70 | 44 | 70 | 0,23 | 1 | 66 | 40 | 66 | 23 | 0,65 | +| Camaçari · ZE 170 · seção 103 | 333 | 188 | 115 | 115 | 69 | 37 | 69 | 0,00 | 0 | 75 | 43 | 75 | 58 | 1,63 | +| Simões Filho · ZE 33 · seção 206 | 361 | 251 | 152 | 152 | 69 | 39 | 69 | 0,43 | 2 | 56 | 26 | 56 | 38 | 0,92 | +| Pojuca · ZE 200 · seção 21 | 281 | 190 | 104 | 104 | 68 | 36 | 68 | 0,30 | 1 | 69 | 37 | 69 | 58 | 2,14 | +| Dias d'Ávila · ZE 186 · seção 101 | 342 | 246 | 135 | 135 | 68 | 46 | 68 | 0,68 | 3 | 49 | 27 | 49 | 30 | 0,76 | +| Candeias · ZE 127 · seção 296 | 323 | 230 | 138 | 138 | 68 | 48 | 68 | 0,70 | 3 | 56 | 36 | 56 | 17 | 0,43 | + +## Territórios de Identidade + +_Os 27 TIs na mesma régua — e os destaques de cada um_ + +A tabela compara os 27 Territórios de Identidade pela não-escolha absoluta e pela não-escolha relativa ao comparecimento. Território grande tem volume grande por construção; a coluna de percentual mostra onde o eleitorado abandonou mais o cargo, e a de excesso isola o abandono típico do voto proporcional. Salvador aparece dentro do Metropolitano de Salvador — a leitura da capital está na seção própria. + +**Os 27 Territórios de Identidade — 2022, 1º turno** + +| Território | Seções | Comp. | Lula | Jer. | Bloco L+J | Bn fed. | % não-esc. | Exc. fed. | Teto fed. | Solla | LQ Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------ | ------ | --------- | --------- | ------- | --------- | ------- | ---------- | --------- | --------- | ------ | -------- | ------- | --------- | --------- | -------- | ----- | +| Irecê | 1.175 | 265.790 | 200.253 | 153.475 | 153.474 | 17.609 | 6,6% | 8.079 | 17.609 | 2.028 | 0,50 | 16.384 | 6.932 | 16.384 | 26.840 | 0,79 | +| Velho Chico | 1.017 | 231.116 | 170.693 | 136.142 | 136.110 | 13.655 | 5,9% | 5.362 | 13.655 | 3.599 | 1,02 | 13.105 | 4.745 | 13.105 | 34.589 | 1,19 | +| Chapada Diamantina | 1.065 | 240.778 | 178.076 | 126.785 | 126.733 | 19.182 | 8,0% | 7.796 | 19.182 | 4.355 | 1,21 | 19.387 | 7.996 | 19.387 | 26.022 | 0,89 | +| Sisal | 1.635 | 384.543 | 279.051 | 210.693 | 210.686 | 30.238 | 7,9% | 12.858 | 30.238 | 2.216 | 0,38 | 29.135 | 11.523 | 29.135 | 50.339 | 1,05 | +| Litoral Sul | 1.816 | 431.781 | 243.577 | 172.315 | 172.313 | 31.287 | 7,2% | 13.809 | 31.287 | 7.452 | 1,15 | 33.890 | 16.254 | 33.890 | 52.095 | 0,97 | +| Baixo Sul | 845 | 211.559 | 135.873 | 88.986 | 88.985 | 18.939 | 9,0% | 7.153 | 18.939 | 1.527 | 0,49 | 19.784 | 7.760 | 19.784 | 20.543 | 0,81 | +| Extremo Sul | 1.069 | 251.779 | 130.956 | 97.227 | 97.157 | 19.640 | 7,8% | 9.264 | 19.640 | 2.483 | 0,66 | 21.443 | 10.838 | 21.443 | 21.066 | 0,68 | +| Médio Sudoeste da Bahia | 618 | 141.960 | 83.495 | 61.080 | 61.068 | 10.371 | 7,3% | 3.953 | 10.371 | 364 | 0,17 | 11.717 | 5.141 | 11.717 | 33.313 | 1,91 | +| Vale do Jiquiriçá | 807 | 189.551 | 130.441 | 103.456 | 103.455 | 17.298 | 9,1% | 7.132 | 17.298 | 22.110 | 7,91 | 18.281 | 7.985 | 18.281 | 29.885 | 1,32 | +| Sertão do São Francisco | 1.331 | 327.454 | 232.745 | 180.164 | 180.141 | 22.932 | 7,0% | 12.116 | 22.932 | 1.264 | 0,25 | 23.994 | 12.987 | 23.994 | 56.232 | 1,36 | +| Bacia do Rio Grande | 1.142 | 276.961 | 168.025 | 112.417 | 112.410 | 18.399 | 6,6% | 9.876 | 18.391 | 1.290 | 0,31 | 20.391 | 11.614 | 20.386 | 15.879 | 0,46 | +| Bacia do Paramirim | 447 | 86.620 | 65.565 | 47.345 | 47.343 | 6.350 | 7,3% | 2.454 | 6.350 | 1.336 | 1,03 | 6.283 | 2.397 | 6.283 | 4.500 | 0,42 | +| Sertão Produtivo | 1.237 | 311.564 | 217.132 | 171.511 | 171.287 | 26.671 | 8,6% | 11.970 | 26.671 | 2.485 | 0,54 | 25.648 | 10.890 | 25.648 | 24.694 | 0,65 | +| Piemonte do Paraguaçu | 681 | 158.736 | 111.915 | 78.978 | 78.974 | 13.647 | 8,6% | 5.139 | 13.647 | 4.597 | 1,96 | 13.494 | 4.871 | 13.494 | 15.482 | 0,80 | +| Bacia do Jacuípe | 759 | 174.797 | 121.444 | 92.042 | 92.042 | 16.082 | 9,2% | 6.588 | 16.082 | 1.334 | 0,52 | 16.597 | 6.935 | 16.597 | 27.954 | 1,33 | +| Piemonte da Diamantina | 518 | 123.057 | 83.215 | 59.758 | 59.758 | 9.176 | 7,5% | 3.346 | 9.176 | 712 | 0,39 | 9.179 | 3.306 | 9.179 | 20.826 | 1,38 | +| Semiárido Nordeste II | 1.078 | 257.159 | 193.505 | 141.021 | 141.010 | 14.498 | 5,6% | 4.779 | 14.498 | 755 | 0,19 | 17.487 | 7.112 | 17.487 | 46.430 | 1,45 | +| Litoral Norte e Agreste Baiano | 1.387 | 343.345 | 243.853 | 158.337 | 158.331 | 37.473 | 10,9% | 18.909 | 37.465 | 2.482 | 0,50 | 36.178 | 17.557 | 36.178 | 44.792 | 1,09 | +| Portal do Sertão | 2.053 | 586.076 | 381.647 | 255.279 | 255.279 | 73.452 | 12,5% | 44.552 | 73.452 | 6.953 | 0,84 | 68.350 | 39.464 | 68.350 | 48.844 | 0,69 | +| Sudoeste Baiano | 1.802 | 451.030 | 281.705 | 215.620 | 215.415 | 39.510 | 8,8% | 19.184 | 39.510 | 6.321 | 0,95 | 39.547 | 18.862 | 39.547 | 92.367 | 1,68 | +| Recôncavo | 1.383 | 353.172 | 254.836 | 163.450 | 163.450 | 37.385 | 10,6% | 21.278 | 37.385 | 10.759 | 2,10 | 35.150 | 19.119 | 35.150 | 44.488 | 1,03 | +| Médio Rio de Contas | 907 | 214.192 | 134.667 | 104.392 | 104.377 | 15.304 | 7,1% | 5.146 | 15.304 | 2.388 | 0,74 | 16.908 | 6.490 | 16.908 | 29.818 | 1,13 | +| Bacia do Rio Corrente | 596 | 132.936 | 91.009 | 70.829 | 70.810 | 8.866 | 6,7% | 3.303 | 8.866 | 1.945 | 0,96 | 8.685 | 3.090 | 8.685 | 18.242 | 1,11 | +| Itaparica | 423 | 105.505 | 80.464 | 58.543 | 58.539 | 8.177 | 7,8% | 4.792 | 8.177 | 546 | 0,34 | 7.502 | 3.982 | 7.502 | 13.068 | 0,97 | +| Piemonte Norte do Itapicuru | 701 | 164.240 | 112.041 | 79.378 | 79.365 | 12.021 | 7,3% | 4.939 | 12.021 | 1.352 | 0,55 | 11.063 | 4.149 | 11.063 | 15.221 | 0,73 | +| Metropolitano de Salvador | 7.089 | 2.240.267 | 1.431.740 | 798.624 | 798.624 | 336.461 | 15,0% | 199.295 | 336.396 | 34.957 | 1,14 | 359.827 | 222.667 | 359.591 | 240.669 | 0,93 | +| Costa do Descobrimento | 843 | 210.490 | 115.158 | 81.983 | 81.983 | 21.927 | 10,4% | 12.332 | 21.927 | 1.358 | 0,45 | 21.128 | 11.537 | 21.128 | 18.956 | 0,74 | + +**Irecê** — bloco 153.474, não-escolha federal 17.609 (excesso 8.079) e estadual 16.384 (excesso 6.932); Solla 2.028 (LQ 0,50), campo PT est. 26.840 (LQ 0,79). + +**Irecê — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Barra do Mendes · ZE 176 · seção 147 | 234 | 197 | 134 | 134 | 57 | 33 | 57 | 3,41 | 10 | 63 | 39 | 63 | 24 | 1,11 | +| Cafarnaum · ZE 55 · seção 257 | 276 | 178 | 138 | 138 | 51 | 32 | 51 | 0,28 | 1 | 49 | 30 | 49 | 31 | 1,09 | +| Ibititá · ZE 104 · seção 214 | 260 | 217 | 131 | 131 | 47 | 34 | 47 | 0,00 | 0 | 33 | 20 | 33 | 3 | 0,10 | + +**Irecê — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Barra do Mendes · ZE 176 · seção 147 | 234 | 197 | 134 | 134 | 57 | 33 | 57 | 3,41 | 10 | 63 | 39 | 63 | 24 | 1,11 | +| Cafarnaum · ZE 55 · seção 257 | 276 | 178 | 138 | 138 | 51 | 32 | 51 | 0,28 | 1 | 49 | 30 | 49 | 31 | 1,09 | +| Cafarnaum · ZE 55 · seção 224 | 305 | 188 | 131 | 131 | 40 | 23 | 40 | 0,23 | 1 | 42 | 25 | 42 | 39 | 1,06 | + +**Velho Chico** — bloco 136.110, não-escolha federal 13.655 (excesso 5.362) e estadual 13.105 (excesso 4.745); Solla 3.599 (LQ 1,02), campo PT est. 34.589 (LQ 1,19). + +**Velho Chico — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Riacho de Santana · ZE 113 · seção 97 | 299 | 231 | 163 | 163 | 58 | 46 | 58 | 0,00 | 0 | 53 | 41 | 53 | 53 | 1,58 | +| Bom Jesus da Lapa · ZE 71 · seção 276 | 293 | 197 | 160 | 160 | 54 | 31 | 54 | 3,80 | 15 | 39 | 16 | 39 | 3 | 0,08 | +| Bom Jesus da Lapa · ZE 71 · seção 282 | 308 | 188 | 153 | 153 | 46 | 35 | 46 | 1,16 | 5 | 24 | 13 | 24 | 7 | 0,17 | + +**Velho Chico — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Riacho de Santana · ZE 113 · seção 97 | 299 | 231 | 163 | 163 | 58 | 46 | 58 | 0,00 | 0 | 53 | 41 | 53 | 53 | 1,58 | +| Riacho de Santana · ZE 113 · seção 91 | 239 | 182 | 116 | 116 | 45 | 33 | 45 | 0,00 | 0 | 46 | 34 | 46 | 40 | 1,68 | +| Bom Jesus da Lapa · ZE 71 · seção 276 | 293 | 197 | 160 | 160 | 54 | 31 | 54 | 3,80 | 15 | 39 | 16 | 39 | 3 | 0,08 | + +**Chapada Diamantina** — bloco 126.733, não-escolha federal 19.182 (excesso 7.796) e estadual 19.387 (excesso 7.996); Solla 4.355 (LQ 1,21), campo PT est. 26.022 (LQ 0,89). + +**Chapada Diamantina — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Piatã · ZE 105 · seção 50 | 290 | 222 | 108 | 108 | 58 | 28 | 58 | 0,00 | 0 | 58 | 28 | 58 | 3 | 0,10 | +| Seabra · ZE 88 · seção 213 | 324 | 251 | 180 | 180 | 58 | 34 | 58 | 2,93 | 13 | 62 | 38 | 62 | 61 | 1,66 | +| Piatã · ZE 105 · seção 56 | 264 | 204 | 106 | 106 | 56 | 32 | 56 | 0,61 | 2 | 58 | 34 | 58 | 8 | 0,32 | + +**Chapada Diamantina — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Seabra · ZE 88 · seção 213 | 324 | 251 | 180 | 180 | 58 | 34 | 58 | 2,93 | 13 | 62 | 38 | 62 | 61 | 1,66 | +| Piatã · ZE 105 · seção 50 | 290 | 222 | 108 | 108 | 58 | 28 | 58 | 0,00 | 0 | 58 | 28 | 58 | 3 | 0,10 | +| Piatã · ZE 105 · seção 56 | 264 | 204 | 106 | 106 | 56 | 32 | 56 | 0,61 | 2 | 58 | 34 | 58 | 8 | 0,32 | + +**Sisal** — bloco 210.686, não-escolha federal 30.238 (excesso 12.858) e estadual 29.135 (excesso 11.523); Solla 2.216 (LQ 0,38), campo PT est. 50.339 (LQ 1,05). + +**Sisal — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Serrinha · ZE 150 · seção 9 | 327 | 196 | 130 | 130 | 73 | 53 | 73 | 0,72 | 3 | 46 | 26 | 46 | 78 | 1,97 | +| Serrinha · ZE 150 · seção 278 | 303 | 197 | 123 | 123 | 68 | 50 | 68 | 0,00 | 0 | 54 | 36 | 54 | 54 | 1,63 | +| Serrinha · ZE 150 · seção 170 | 350 | 246 | 158 | 158 | 64 | 43 | 64 | 1,29 | 6 | 54 | 33 | 54 | 63 | 1,62 | + +**Sisal — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Conceição do Coité · ZE 132 · seção 154 | 337 | 228 | 146 | 146 | 45 | 26 | 45 | 0,21 | 1 | 57 | 38 | 57 | 49 | 1,30 | +| Serrinha · ZE 150 · seção 72 | 329 | 204 | 142 | 142 | 61 | 19 | 61 | 0,46 | 2 | 56 | 14 | 56 | 86 | 2,41 | +| Serrinha · ZE 150 · seção 78 | 331 | 201 | 129 | 129 | 44 | 23 | 44 | 0,42 | 2 | 56 | 35 | 56 | 67 | 1,76 | + +**Litoral Sul** — bloco 172.313, não-escolha federal 31.287 (excesso 13.809) e estadual 33.890 (excesso 16.254); Solla 7.452 (LQ 1,15), campo PT est. 52.095 (LQ 0,97). + +**Litoral Sul — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Ilhéus · ZE 26 · seção 277 | 331 | 170 | 107 | 107 | 49 | 22 | 49 | 1,10 | 5 | 58 | 31 | 58 | 18 | 0,48 | +| Ilhéus · ZE 26 · seção 294 | 306 | 195 | 129 | 129 | 44 | 34 | 44 | 0,48 | 2 | 43 | 33 | 43 | 16 | 0,45 | +| Ilhéus · ZE 26 · seção 381 | 286 | 156 | 106 | 106 | 43 | 23 | 43 | 0,77 | 3 | 44 | 24 | 44 | 21 | 0,68 | + +**Litoral Sul — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Ilhéus · ZE 26 · seção 277 | 331 | 170 | 107 | 107 | 49 | 22 | 49 | 1,10 | 5 | 58 | 31 | 58 | 18 | 0,48 | +| Ilhéus · ZE 25 · seção 358 | 291 | 153 | 97 | 97 | 34 | 18 | 34 | 0,97 | 4 | 49 | 33 | 49 | 8 | 0,24 | +| Ilhéus · ZE 25 · seção 239 | 242 | 138 | 87 | 87 | 42 | 30 | 42 | 0,61 | 2 | 49 | 37 | 49 | 10 | 0,39 | + +**Baixo Sul** — bloco 88.985, não-escolha federal 18.939 (excesso 7.153) e estadual 19.784 (excesso 7.760); Solla 1.527 (LQ 0,49), campo PT est. 20.543 (LQ 0,81). + +**Baixo Sul — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Valença · ZE 31 · seção 234 | 267 | 179 | 94 | 94 | 80 | 26 | 80 | 0,34 | 1 | 72 | 18 | 72 | 4 | 0,17 | +| Valença · ZE 31 · seção 233 | 317 | 153 | 66 | 66 | 66 | 37 | 66 | 0,25 | 1 | 54 | 25 | 54 | 8 | 0,22 | +| Valença · ZE 31 · seção 223 | 339 | 185 | 96 | 96 | 63 | 38 | 63 | 0,00 | 0 | 60 | 35 | 60 | 10 | 0,26 | + +**Baixo Sul — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Valença · ZE 31 · seção 234 | 267 | 179 | 94 | 94 | 80 | 26 | 80 | 0,34 | 1 | 72 | 18 | 72 | 4 | 0,17 | +| Valença · ZE 31 · seção 209 | 321 | 170 | 95 | 95 | 57 | 27 | 57 | 0,47 | 2 | 63 | 33 | 63 | 10 | 0,28 | +| Valença · ZE 31 · seção 223 | 339 | 185 | 96 | 96 | 63 | 38 | 63 | 0,00 | 0 | 60 | 35 | 60 | 10 | 0,26 | + +**Extremo Sul** — bloco 97.157, não-escolha federal 19.640 (excesso 9.264) e estadual 21.443 (excesso 10.838); Solla 2.483 (LQ 0,66), campo PT est. 21.066 (LQ 0,68). + +**Extremo Sul — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Teixeira de Freitas · ZE 183 · seção 191 | 323 | 131 | 95 | 95 | 47 | 25 | 47 | 0,22 | 1 | 41 | 19 | 41 | 34 | 0,88 | +| Teixeira de Freitas · ZE 183 · seção 276 | 289 | 174 | 126 | 126 | 46 | 27 | 46 | 0,76 | 3 | 49 | 30 | 49 | 14 | 0,45 | +| Teixeira de Freitas · ZE 183 · seção 230 | 325 | 121 | 86 | 86 | 45 | 29 | 45 | 1,09 | 5 | 39 | 23 | 39 | 23 | 0,58 | + +**Extremo Sul — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Teixeira de Freitas · ZE 183 · seção 326 | 330 | 176 | 133 | 133 | 43 | 30 | 43 | 0,43 | 2 | 53 | 40 | 53 | 27 | 0,71 | +| Teixeira de Freitas · ZE 183 · seção 249 | 324 | 188 | 140 | 140 | 42 | 26 | 42 | 0,44 | 2 | 52 | 36 | 52 | 14 | 0,38 | +| Teixeira de Freitas · ZE 183 · seção 2 | 320 | 161 | 111 | 111 | 37 | 15 | 37 | 0,66 | 3 | 52 | 30 | 52 | 18 | 0,51 | + +**Médio Sudoeste da Bahia** — bloco 61.068, não-escolha federal 10.371 (excesso 3.953) e estadual 11.717 (excesso 5.141); Solla 364 (LQ 0,17), campo PT est. 33.313 (LQ 1,91). + +**Médio Sudoeste da Bahia — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Itapetinga · ZE 140 · seção 158 | 340 | 139 | 74 | 74 | 60 | 33 | 60 | 0,43 | 2 | 67 | 40 | 67 | 38 | 1,02 | +| Itapetinga · ZE 140 · seção 164 | 290 | 148 | 87 | 87 | 59 | 31 | 59 | 0,27 | 1 | 65 | 37 | 65 | 32 | 1,06 | +| Itapetinga · ZE 140 · seção 201 | 303 | 187 | 107 | 107 | 52 | 37 | 52 | 0,97 | 4 | 63 | 48 | 63 | 52 | 1,63 | + +**Médio Sudoeste da Bahia — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Itapetinga · ZE 140 · seção 158 | 340 | 139 | 74 | 74 | 60 | 33 | 60 | 0,43 | 2 | 67 | 40 | 67 | 38 | 1,02 | +| Itapetinga · ZE 140 · seção 164 | 290 | 148 | 87 | 87 | 59 | 31 | 59 | 0,27 | 1 | 65 | 37 | 65 | 32 | 1,06 | +| Itapetinga · ZE 140 · seção 201 | 303 | 187 | 107 | 107 | 52 | 37 | 52 | 0,97 | 4 | 63 | 48 | 63 | 52 | 1,63 | + +**Vale do Jiquiriçá** — bloco 103.455, não-escolha federal 17.298 (excesso 7.132) e estadual 18.281 (excesso 7.985); Solla 22.110 (LQ 7,91), campo PT est. 29.885 (LQ 1,32). + +**Vale do Jiquiriçá — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Lajedo do Tabocal · ZE 37 · seção 186 | 312 | 253 | 203 | 203 | 63 | 43 | 63 | 1,53 | 6 | 61 | 41 | 61 | 37 | 1,15 | +| Jaguaquara · ZE 76 · seção 182 | 299 | 210 | 177 | 177 | 53 | 35 | 53 | 1,27 | 5 | 56 | 38 | 56 | 8 | 0,25 | +| Mutuípe · ZE 109 · seção 112 | 265 | 179 | 116 | 116 | 50 | 29 | 50 | 14,25 | 51 | 45 | 24 | 45 | 62 | 2,00 | + +**Vale do Jiquiriçá — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Amargosa · ZE 36 · seção 201 | 323 | 220 | 155 | 155 | 49 | 29 | 49 | 21,58 | 97 | 62 | 42 | 62 | 82 | 2,31 | +| Lajedo do Tabocal · ZE 37 · seção 186 | 312 | 253 | 203 | 203 | 63 | 43 | 63 | 1,53 | 6 | 61 | 41 | 61 | 37 | 1,15 | +| Amargosa · ZE 36 · seção 9 | 326 | 212 | 155 | 155 | 41 | 33 | 41 | 23,84 | 112 | 56 | 48 | 56 | 83 | 2,28 | + +**Sertão do São Francisco** — bloco 180.141, não-escolha federal 22.932 (excesso 12.116) e estadual 23.994 (excesso 12.987); Solla 1.264 (LQ 0,25), campo PT est. 56.232 (LQ 1,36). + +**Sertão do São Francisco — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Juazeiro · ZE 47 · seção 270 | 301 | 210 | 165 | 165 | 52 | 37 | 52 | 4,52 | 18 | 48 | 33 | 48 | 46 | 1,31 | +| Juazeiro · ZE 48 · seção 225 | 340 | 191 | 106 | 106 | 51 | 42 | 51 | 0,21 | 1 | 42 | 33 | 42 | 45 | 1,06 | +| Juazeiro · ZE 48 · seção 249 | 291 | 167 | 96 | 96 | 49 | 32 | 49 | 0,25 | 1 | 46 | 29 | 46 | 25 | 0,71 | + +**Sertão do São Francisco — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Casa Nova · ZE 66 · seção 223 | 350 | 207 | 157 | 157 | 47 | 36 | 47 | 0,00 | 0 | 58 | 47 | 58 | 88 | 2,14 | +| Casa Nova · ZE 66 · seção 248 | 348 | 227 | 176 | 176 | 36 | 28 | 36 | 0,00 | 0 | 55 | 47 | 55 | 86 | 2,05 | +| Juazeiro · ZE 48 · seção 232 | 349 | 182 | 109 | 109 | 45 | 32 | 45 | 0,20 | 1 | 50 | 37 | 50 | 46 | 1,08 | + +**Bacia do Rio Grande** — bloco 112.410, não-escolha federal 18.399 (excesso 9.876) e estadual 20.391 (excesso 11.614); Solla 1.290 (LQ 0,31), campo PT est. 15.879 (LQ 0,46). + +**Bacia do Rio Grande — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Barreiras · ZE 75 · seção 158 | 297 | 192 | 130 | 130 | 47 | 38 | 47 | 0,49 | 2 | 46 | 37 | 46 | 12 | 0,35 | +| Santa Rita de Cássia · ZE 97 · seção 46 | 259 | 207 | 147 | 147 | 45 | 35 | 45 | 0,00 | 0 | 41 | 31 | 41 | 18 | 0,60 | +| Barreiras · ZE 70 · seção 444 | 341 | 156 | 102 | 102 | 43 | 28 | 43 | 0,20 | 1 | 40 | 25 | 40 | 29 | 0,68 | + +**Bacia do Rio Grande — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Barreiras · ZE 70 · seção 522 | 347 | 177 | 103 | 103 | 37 | 27 | 37 | 0,39 | 2 | 50 | 40 | 50 | 18 | 0,43 | +| Barreiras · ZE 75 · seção 161 | 299 | 190 | 131 | 131 | 40 | 31 | 40 | 0,00 | 0 | 48 | 39 | 48 | 12 | 0,34 | +| Barreiras · ZE 75 · seção 158 | 297 | 192 | 130 | 130 | 47 | 38 | 47 | 0,49 | 2 | 46 | 37 | 46 | 12 | 0,35 | + +**Bacia do Paramirim** — bloco 47.343, não-escolha federal 6.350 (excesso 2.454) e estadual 6.283 (excesso 2.397); Solla 1.336 (LQ 1,03), campo PT est. 4.500 (LQ 0,42). + +**Bacia do Paramirim — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paramirim · ZE 111 · seção 90 | 246 | 188 | 104 | 104 | 62 | 47 | 62 | 0,35 | 1 | 59 | 44 | 59 | 6 | 0,25 | +| Paramirim · ZE 111 · seção 267 | 309 | 230 | 129 | 129 | 38 | 15 | 38 | 0,90 | 4 | 39 | 16 | 39 | 8 | 0,23 | +| Macaúbas · ZE 65 · seção 307 | 284 | 201 | 135 | 135 | 37 | 19 | 37 | 0,76 | 3 | 37 | 19 | 37 | 18 | 0,56 | + +**Bacia do Paramirim — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ----------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paramirim · ZE 111 · seção 90 | 246 | 188 | 104 | 104 | 62 | 47 | 62 | 0,35 | 1 | 59 | 44 | 59 | 6 | 0,25 | +| Macaúbas · ZE 65 · seção 290 | 231 | 159 | 106 | 106 | 35 | 24 | 35 | 1,25 | 4 | 40 | 29 | 40 | 31 | 1,15 | +| Macaúbas · ZE 65 · seção 310 | 203 | 179 | 138 | 138 | 36 | 27 | 36 | 0,36 | 1 | 39 | 30 | 39 | 15 | 0,71 | + +**Sertão Produtivo** — bloco 171.287, não-escolha federal 26.671 (excesso 11.970) e estadual 25.648 (excesso 10.890); Solla 2.485 (LQ 0,54), campo PT est. 24.694 (LQ 0,65). + +**Sertão Produtivo — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Caetité · ZE 63 · seção 188 | 308 | 239 | 182 | 182 | 69 | 48 | 69 | 0,51 | 2 | 53 | 32 | 53 | 16 | 0,46 | +| Brumado · ZE 90 · seção 252 | 324 | 223 | 115 | 115 | 64 | 50 | 64 | 0,72 | 3 | 47 | 33 | 47 | 22 | 0,58 | +| Caetité · ZE 63 · seção 202 | 327 | 255 | 209 | 209 | 63 | 55 | 63 | 0,46 | 2 | 38 | 30 | 38 | 13 | 0,33 | + +**Sertão Produtivo — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Livramento de Nossa Senhora · ZE 101 · seção 224 | 314 | 234 | 169 | 169 | 38 | 22 | 38 | 1,11 | 5 | 65 | 49 | 65 | 31 | 0,94 | +| Ituaçu · ZE 58 · seção 110 | 265 | 177 | 159 | 159 | 61 | 48 | 61 | 0,31 | 1 | 61 | 48 | 61 | 9 | 0,33 | +| Caetité · ZE 63 · seção 137 | 359 | 237 | 179 | 179 | 60 | 41 | 60 | 0,20 | 1 | 59 | 40 | 59 | 16 | 0,39 | + +**Piemonte do Paraguaçu** — bloco 78.974, não-escolha federal 13.647 (excesso 5.139) e estadual 13.494 (excesso 4.871); Solla 4.597 (LQ 1,96), campo PT est. 15.482 (LQ 0,80). + +**Piemonte do Paraguaçu — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Itaberaba · ZE 42 · seção 294 | 332 | 184 | 116 | 116 | 64 | 40 | 64 | 5,24 | 23 | 55 | 31 | 55 | 36 | 0,92 | +| Ruy Barbosa · ZE 87 · seção 184 | 258 | 173 | 104 | 104 | 57 | 38 | 57 | 0,00 | 0 | 58 | 39 | 58 | 8 | 0,29 | +| Itaberaba · ZE 42 · seção 138 | 354 | 221 | 165 | 165 | 57 | 39 | 57 | 4,97 | 24 | 52 | 34 | 52 | 31 | 0,76 | + +**Piemonte do Paraguaçu — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Ruy Barbosa · ZE 87 · seção 184 | 258 | 173 | 104 | 104 | 57 | 38 | 57 | 0,00 | 0 | 58 | 39 | 58 | 8 | 0,29 | +| Itaberaba · ZE 42 · seção 294 | 332 | 184 | 116 | 116 | 64 | 40 | 64 | 5,24 | 23 | 55 | 31 | 55 | 36 | 0,92 | +| Itaberaba · ZE 42 · seção 138 | 354 | 221 | 165 | 165 | 57 | 39 | 57 | 4,97 | 24 | 52 | 34 | 52 | 31 | 0,76 | + +**Bacia do Jacuípe** — bloco 92.042, não-escolha federal 16.082 (excesso 6.588) e estadual 16.597 (excesso 6.935); Solla 1.334 (LQ 0,52), campo PT est. 27.954 (LQ 1,33). + +**Bacia do Jacuípe — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Ipirá · ZE 62 · seção 303 | 309 | 204 | 144 | 144 | 54 | 37 | 54 | 1,46 | 6 | 49 | 32 | 49 | 41 | 1,18 | +| Ipirá · ZE 62 · seção 222 | 318 | 217 | 144 | 144 | 50 | 34 | 50 | 2,28 | 10 | 50 | 34 | 50 | 42 | 1,13 | +| Capim Grosso · ZE 191 · seção 188 | 353 | 185 | 131 | 131 | 47 | 36 | 47 | 0,20 | 1 | 48 | 37 | 48 | 50 | 1,15 | + +**Bacia do Jacuípe — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Ipirá · ZE 62 · seção 293 | 279 | 198 | 150 | 150 | 43 | 21 | 43 | 0,54 | 2 | 61 | 39 | 61 | 26 | 0,86 | +| Ipirá · ZE 62 · seção 215 | 326 | 224 | 148 | 148 | 45 | 32 | 45 | 1,32 | 6 | 55 | 42 | 55 | 34 | 0,91 | +| Ipirá · ZE 62 · seção 124 | 310 | 210 | 131 | 131 | 42 | 24 | 42 | 1,83 | 8 | 54 | 36 | 54 | 37 | 1,06 | + +**Piemonte da Diamantina** — bloco 59.758, não-escolha federal 9.176 (excesso 3.346) e estadual 9.179 (excesso 3.306); Solla 712 (LQ 0,39), campo PT est. 20.826 (LQ 1,38). + +**Piemonte da Diamantina — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Jacobina · ZE 46 · seção 299 | 308 | 213 | 134 | 134 | 50 | 25 | 50 | 0,00 | 0 | 40 | 15 | 40 | 55 | 1,53 | +| Jacobina · ZE 46 · seção 333 | 317 | 226 | 158 | 158 | 47 | 29 | 47 | 0,23 | 1 | 44 | 26 | 44 | 53 | 1,40 | +| Jacobina · ZE 46 · seção 318 | 321 | 213 | 128 | 128 | 47 | 29 | 47 | 0,44 | 2 | 37 | 19 | 37 | 58 | 1,44 | + +**Piemonte da Diamantina — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Jacobina · ZE 46 · seção 290 | 284 | 177 | 112 | 112 | 46 | 31 | 46 | 0,00 | 0 | 48 | 33 | 48 | 41 | 1,28 | +| Jacobina · ZE 46 · seção 96 | 315 | 214 | 142 | 142 | 38 | 16 | 38 | 0,23 | 1 | 45 | 23 | 45 | 48 | 1,36 | +| Jacobina · ZE 46 · seção 333 | 317 | 226 | 158 | 158 | 47 | 29 | 47 | 0,23 | 1 | 44 | 26 | 44 | 53 | 1,40 | + +**Semiárido Nordeste II** — bloco 141.010, não-escolha federal 14.498 (excesso 4.779) e estadual 17.487 (excesso 7.112); Solla 755 (LQ 0,19), campo PT est. 46.430 (LQ 1,45). + +**Semiárido Nordeste II — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paripiranga · ZE 52 · seção 119 | 312 | 234 | 186 | 186 | 47 | 28 | 47 | 0,00 | 0 | 51 | 32 | 51 | 67 | 1,95 | +| Paripiranga · ZE 52 · seção 107 | 255 | 219 | 170 | 170 | 45 | 35 | 45 | 0,00 | 0 | 52 | 42 | 52 | 80 | 3,13 | +| Paripiranga · ZE 52 · seção 122 | 259 | 200 | 158 | 158 | 43 | 28 | 43 | 0,00 | 0 | 46 | 31 | 46 | 69 | 2,58 | + +**Semiárido Nordeste II — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paripiranga · ZE 52 · seção 107 | 255 | 219 | 170 | 170 | 45 | 35 | 45 | 0,00 | 0 | 52 | 42 | 52 | 80 | 3,13 | +| Paripiranga · ZE 52 · seção 119 | 312 | 234 | 186 | 186 | 47 | 28 | 47 | 0,00 | 0 | 51 | 32 | 51 | 67 | 1,95 | +| Paripiranga · ZE 52 · seção 132 | 279 | 230 | 172 | 172 | 35 | 25 | 35 | 0,00 | 0 | 46 | 36 | 46 | 70 | 2,16 | + +**Litoral Norte e Agreste Baiano** — bloco 158.331, não-escolha federal 37.473 (excesso 18.909) e estadual 36.178 (excesso 17.557); Solla 2.482 (LQ 0,50), campo PT est. 44.792 (LQ 1,09). + +**Litoral Norte e Agreste Baiano — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Alagoinhas · ZE 163 · seção 171 | 310 | 187 | 98 | 98 | 86 | 33 | 86 | 0,57 | 2 | 71 | 18 | 71 | 28 | 0,93 | +| Alagoinhas · ZE 163 · seção 233 | 317 | 185 | 98 | 98 | 70 | 48 | 70 | 0,25 | 1 | 48 | 26 | 48 | 48 | 1,26 | +| Alagoinhas · ZE 163 · seção 232 | 309 | 178 | 67 | 67 | 75 | 51 | 67 | 0,28 | 1 | 58 | 34 | 58 | 36 | 1,06 | + +**Litoral Norte e Agreste Baiano — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Catu · ZE 129 · seção 230 | 330 | 229 | 139 | 139 | 63 | 40 | 63 | 0,46 | 2 | 76 | 53 | 76 | 37 | 1,07 | +| Alagoinhas · ZE 163 · seção 171 | 310 | 187 | 98 | 98 | 86 | 33 | 86 | 0,57 | 2 | 71 | 18 | 71 | 28 | 0,93 | +| Catu · ZE 129 · seção 242 | 311 | 202 | 114 | 114 | 50 | 32 | 50 | 0,49 | 2 | 68 | 50 | 68 | 27 | 0,83 | + +**Portal do Sertão** — bloco 255.279, não-escolha federal 73.452 (excesso 44.552) e estadual 68.350 (excesso 39.464); Solla 6.953 (LQ 0,84), campo PT est. 48.844 (LQ 0,69). + +**Portal do Sertão — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| São Gonçalo dos Campos · ZE 108 · seção 45 | 336 | 293 | 207 | 207 | 80 | 66 | 80 | 1,22 | 5 | 72 | 58 | 72 | 20 | 0,58 | +| Feira de Santana · ZE 156 · seção 465 | 356 | 217 | 129 | 129 | 80 | 63 | 80 | 0,89 | 4 | 51 | 34 | 51 | 18 | 0,41 | +| Feira de Santana · ZE 157 · seção 273 | 358 | 191 | 118 | 118 | 78 | 47 | 78 | 0,65 | 3 | 68 | 37 | 68 | 18 | 0,44 | + +**Portal do Sertão — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| São Gonçalo dos Campos · ZE 108 · seção 144 | 304 | 204 | 130 | 130 | 69 | 51 | 69 | 1,81 | 7 | 77 | 59 | 77 | 18 | 0,57 | +| Feira de Santana · ZE 157 · seção 265 | 371 | 213 | 126 | 126 | 73 | 40 | 73 | 0,83 | 4 | 76 | 43 | 76 | 39 | 0,97 | +| São Gonçalo dos Campos · ZE 108 · seção 45 | 336 | 293 | 207 | 207 | 80 | 66 | 80 | 1,22 | 5 | 72 | 58 | 72 | 20 | 0,58 | + +**Sudoeste Baiano** — bloco 215.415, não-escolha federal 39.510 (excesso 19.184) e estadual 39.547 (excesso 18.862); Solla 6.321 (LQ 0,95), campo PT est. 92.367 (LQ 1,68). + +**Sudoeste Baiano — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Vitória da Conquista · ZE 41 · seção 182 | 339 | 178 | 110 | 110 | 70 | 49 | 70 | 0,68 | 3 | 67 | 46 | 67 | 81 | 2,14 | +| Vitória da Conquista · ZE 39 · seção 186 | 360 | 181 | 107 | 107 | 64 | 47 | 64 | 2,73 | 13 | 61 | 44 | 61 | 80 | 1,94 | +| Vitória da Conquista · ZE 39 · seção 292 | 359 | 215 | 121 | 121 | 63 | 50 | 63 | 1,87 | 9 | 53 | 40 | 53 | 82 | 1,88 | + +**Sudoeste Baiano — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Vitória da Conquista · ZE 41 · seção 184 | 357 | 170 | 112 | 112 | 57 | 32 | 57 | 1,20 | 6 | 69 | 44 | 69 | 88 | 2,20 | +| Vitória da Conquista · ZE 41 · seção 182 | 339 | 178 | 110 | 110 | 70 | 49 | 70 | 0,68 | 3 | 67 | 46 | 67 | 81 | 2,14 | +| Vitória da Conquista · ZE 41 · seção 273 | 337 | 191 | 140 | 140 | 61 | 40 | 61 | 1,35 | 6 | 65 | 44 | 65 | 87 | 2,39 | + +**Recôncavo** — bloco 163.450, não-escolha federal 37.385 (excesso 21.278) e estadual 35.150 (excesso 19.119); Solla 10.759 (LQ 2,10), campo PT est. 44.488 (LQ 1,03). + +**Recôncavo — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Santo Antônio de Jesus · ZE 56 · seção 220 | 323 | 167 | 89 | 89 | 65 | 31 | 65 | 0,71 | 3 | 55 | 21 | 55 | 18 | 0,47 | +| Santo Antônio de Jesus · ZE 202 · seção 205 | 298 | 210 | 105 | 105 | 64 | 50 | 64 | 1,28 | 5 | 48 | 34 | 48 | 17 | 0,48 | +| Santo Antônio de Jesus · ZE 202 · seção 206 | 289 | 178 | 82 | 82 | 63 | 51 | 63 | 0,27 | 1 | 47 | 35 | 47 | 17 | 0,51 | + +**Recôncavo — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Conceição do Almeida · ZE 184 · seção 53 | 346 | 264 | 209 | 209 | 54 | 34 | 54 | 2,55 | 12 | 59 | 39 | 59 | 35 | 0,92 | +| Muritiba · ZE 131 · seção 30 | 299 | 221 | 114 | 114 | 56 | 34 | 56 | 2,06 | 8 | 58 | 36 | 58 | 37 | 1,16 | +| Muritiba · ZE 131 · seção 45 | 303 | 198 | 112 | 112 | 58 | 29 | 58 | 1,01 | 4 | 57 | 28 | 57 | 31 | 0,93 | + +**Médio Rio de Contas** — bloco 104.377, não-escolha federal 15.304 (excesso 5.146) e estadual 16.908 (excesso 6.490); Solla 2.388 (LQ 0,74), campo PT est. 29.818 (LQ 1,13). + +**Médio Rio de Contas — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Jequié · ZE 23 · seção 354 | 302 | 172 | 116 | 116 | 56 | 30 | 56 | 0,00 | 0 | 47 | 21 | 47 | 31 | 0,86 | +| Jequié · ZE 22 · seção 260 | 318 | 213 | 174 | 174 | 46 | 33 | 46 | 0,67 | 3 | 43 | 30 | 43 | 102 | 2,64 | +| Jequié · ZE 22 · seção 239 | 327 | 186 | 150 | 150 | 46 | 28 | 46 | 0,66 | 3 | 50 | 32 | 50 | 55 | 1,42 | + +**Médio Rio de Contas — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Jequié · ZE 22 · seção 305 | 327 | 163 | 124 | 124 | 38 | 17 | 38 | 1,48 | 7 | 50 | 29 | 50 | 54 | 1,40 | +| Jequié · ZE 22 · seção 239 | 327 | 186 | 150 | 150 | 46 | 28 | 46 | 0,66 | 3 | 50 | 32 | 50 | 55 | 1,42 | +| Jequié · ZE 22 · seção 258 | 325 | 215 | 174 | 174 | 44 | 29 | 44 | 0,45 | 2 | 47 | 32 | 47 | 86 | 2,35 | + +**Bacia do Rio Corrente** — bloco 70.810, não-escolha federal 8.866 (excesso 3.303) e estadual 8.685 (excesso 3.090); Solla 1.945 (LQ 0,96), campo PT est. 18.242 (LQ 1,11). + +**Bacia do Rio Corrente — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Canápolis · ZE 99 · seção 37 | 288 | 197 | 176 | 176 | 49 | 21 | 49 | 0,00 | 0 | 45 | 17 | 45 | 58 | 1,78 | +| Canápolis · ZE 99 · seção 36 | 306 | 211 | 189 | 189 | 46 | 28 | 46 | 0,24 | 1 | 34 | 16 | 34 | 55 | 1,63 | +| São Félix do Coribe · ZE 72 · seção 188 | 290 | 157 | 108 | 108 | 41 | 24 | 41 | 2,65 | 11 | 38 | 21 | 38 | 16 | 0,46 | + +**Bacia do Rio Corrente — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Canápolis · ZE 99 · seção 37 | 288 | 197 | 176 | 176 | 49 | 21 | 49 | 0,00 | 0 | 45 | 17 | 45 | 58 | 1,78 | +| Correntina · ZE 124 · seção 124 | 299 | 135 | 101 | 101 | 35 | 25 | 35 | 0,24 | 1 | 39 | 29 | 39 | 6 | 0,17 | +| São Félix do Coribe · ZE 72 · seção 188 | 290 | 157 | 108 | 108 | 41 | 24 | 41 | 2,65 | 11 | 38 | 21 | 38 | 16 | 0,46 | + +**Itaparica** — bloco 58.539, não-escolha federal 8.177 (excesso 4.792) e estadual 7.502 (excesso 3.982); Solla 546 (LQ 0,34), campo PT est. 13.068 (LQ 0,97). + +**Itaparica — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paulo Afonso · ZE 84 · seção 369 | 346 | 243 | 160 | 160 | 60 | 45 | 60 | 0,00 | 0 | 53 | 38 | 53 | 25 | 0,60 | +| Paulo Afonso · ZE 84 · seção 379 | 326 | 234 | 170 | 170 | 59 | 42 | 59 | 0,93 | 4 | 43 | 26 | 43 | 36 | 0,91 | +| Paulo Afonso · ZE 84 · seção 383 | 300 | 212 | 138 | 138 | 58 | 41 | 58 | 0,00 | 0 | 42 | 25 | 42 | 20 | 0,57 | + +**Itaparica — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Paulo Afonso · ZE 84 · seção 369 | 346 | 243 | 160 | 160 | 60 | 45 | 60 | 0,00 | 0 | 53 | 38 | 53 | 25 | 0,60 | +| Paulo Afonso · ZE 84 · seção 392 | 302 | 219 | 147 | 147 | 52 | 30 | 52 | 0,00 | 0 | 49 | 27 | 49 | 29 | 0,88 | +| Paulo Afonso · ZE 181 · seção 295 | 295 | 232 | 158 | 158 | 45 | 37 | 45 | 0,25 | 1 | 45 | 37 | 45 | 38 | 1,10 | + +**Piemonte Norte do Itapicuru** — bloco 79.365, não-escolha federal 12.021 (excesso 4.939) e estadual 11.063 (excesso 4.149); Solla 1.352 (LQ 0,55), campo PT est. 15.221 (LQ 0,73). + +**Piemonte Norte do Itapicuru — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Senhor do Bonfim · ZE 45 · seção 209 | 315 | 190 | 125 | 125 | 53 | 29 | 53 | 0,47 | 2 | 55 | 31 | 55 | 21 | 0,58 | +| Senhor do Bonfim · ZE 45 · seção 300 | 255 | 141 | 87 | 87 | 53 | 26 | 53 | 0,30 | 1 | 44 | 17 | 44 | 10 | 0,34 | +| Senhor do Bonfim · ZE 45 · seção 252 | 303 | 176 | 117 | 117 | 52 | 32 | 52 | 1,04 | 4 | 50 | 30 | 50 | 19 | 0,54 | + +**Piemonte Norte do Itapicuru — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ------------------------------------ | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Senhor do Bonfim · ZE 45 · seção 209 | 315 | 190 | 125 | 125 | 53 | 29 | 53 | 0,47 | 2 | 55 | 31 | 55 | 21 | 0,58 | +| Senhor do Bonfim · ZE 45 · seção 313 | 281 | 152 | 95 | 95 | 50 | 38 | 50 | 0,80 | 3 | 51 | 39 | 51 | 13 | 0,40 | +| Senhor do Bonfim · ZE 45 · seção 252 | 303 | 176 | 117 | 117 | 52 | 32 | 52 | 1,04 | 4 | 50 | 30 | 50 | 19 | 0,54 | + +**Metropolitano de Salvador** — bloco 798.624, não-escolha federal 336.461 (excesso 199.295) e estadual 359.827 (excesso 222.667); Solla 34.957 (LQ 1,14), campo PT est. 240.669 (LQ 0,93). + +**Metropolitano de Salvador — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| ---------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 252 | 131 | 131 | 100 | 70 | 100 | 0,66 | 3 | 91 | 61 | 91 | 32 | 0,79 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | + +**Metropolitano de Salvador — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| -------------------------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 232 | 123 | 123 | 100 | 54 | 100 | 0,70 | 3 | 107 | 61 | 107 | 27 | 0,74 | +| Salvador — BOA VISTA DO LOBATO · ZE 15 · seção 562 | 367 | 210 | 106 | 106 | 88 | 18 | 88 | 0,44 | 2 | 111 | 41 | 106 | 23 | 0,67 | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 231 | 105 | 105 | 100 | 73 | 100 | 0,97 | 4 | 105 | 78 | 105 | 33 | 0,93 | + +**Costa do Descobrimento** — bloco 81.983, não-escolha federal 21.927 (excesso 12.332) e estadual 21.128 (excesso 11.537); Solla 1.358 (LQ 0,45), campo PT est. 18.956 (LQ 0,74). + +**Costa do Descobrimento — top 5 seções por teto Lula+Jerônimo no federal** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Porto Seguro · ZE 122 · seção 493 | 322 | 173 | 103 | 103 | 61 | 38 | 61 | 1,23 | 5 | 61 | 38 | 61 | 15 | 0,42 | +| Porto Seguro · ZE 122 · seção 576 | 291 | 115 | 61 | 61 | 59 | 43 | 59 | 0,00 | 0 | 53 | 37 | 53 | 10 | 0,30 | +| Porto Seguro · ZE 122 · seção 620 | 297 | 160 | 101 | 101 | 59 | 47 | 59 | 1,07 | 4 | 54 | 42 | 54 | 21 | 0,65 | + +**Costa do Descobrimento — top 5 seções por teto Lula+Jerônimo no estadual** + +| Seção | Comp. | Lula | Jer. | Bloco | Bn fed. | Exc. fed. | Teto fed. | LQ Solla | Solla | Bn est. | Exc. est. | Teto est. | Campo PT | LQ PT | +| --------------------------------- | ----- | ---- | ---- | ----- | ------- | --------- | --------- | -------- | ----- | ------- | --------- | --------- | -------- | ----- | +| Porto Seguro · ZE 122 · seção 493 | 322 | 173 | 103 | 103 | 61 | 38 | 61 | 1,23 | 5 | 61 | 38 | 61 | 15 | 0,42 | +| Porto Seguro · ZE 122 · seção 518 | 299 | 165 | 111 | 111 | 59 | 34 | 59 | 1,07 | 4 | 59 | 34 | 59 | 12 | 0,39 | +| Porto Seguro · ZE 122 · seção 434 | 311 | 195 | 137 | 137 | 59 | 39 | 59 | 0,25 | 1 | 58 | 38 | 58 | 25 | 0,76 | + +## Dia da eleição — operação dentro da lei + +_O que os dados autorizam planejar no domingo: colinha até sábado, fiscais e mobilização de rede_ + +> **O limite legal** No dia da eleição a propaganda de boca de urna é vedada — aglomeração, vestuário padronizado, alto-falante ou entrega de material ao eleitor (Lei 9.504/1997, art. 39, §5º, c/c art. 75; Código Eleitoral, art. 301). Este plano usa apenas instrumentos lícitos: pedido e colinha até sábado, fiscais partidários nos locais de votação no domingo, rede de lembretes antes do pleito e transporte só conforme as regras oficiais — a campanha não oferece transporte nem refeição a eleitor. + +Regra de ouro: no domingo, quem age é fiscal e mobilizador, não cabo eleitoral em campanha. O dado serve para distribuir presença onde o retorno é maior: as seções com mais branco+nulo e com o campo já forte. Nas 30 seções listadas no federal, o bloco Lula+Jerônimo soma 3.362 eleitores — esse é o público que a colinha (entregue até sábado) e o lembrete de rede endereçam; nas 30 do estadual, 3.200. + +Escala para dimensionar sem prometer: cada 1% do excesso federal sobre a presidencial vale ~4.654 votos no estado (5% ≈ 23.270, 10% ≈ 46.540); no estadual, 1% ≈ 4.862. Conversão não é estimável a partir do TSE — o número serve para calibrar esforço, não como meta. + +- **Colinha e material até sábado** Fechar e distribuir pela rede nas seções de maior branco+nulo (federal de 100 a 94 votos; estadual de 118 a 101). No domingo, nada de material ao eleitor. +- **Fiscais por local** Priorizar Salvador (ZE4, ZE3, ZE11, ZE17 pelos maiores tetos; ZE16, ZE4 pelo campo PT), Feira de Santana, Camaçari, Lauro de Freitas, Simões Filho, Candeias na RMS e os locais das seções listadas no interior. Fiscal observa e reporta; não faz campanha no local. +- **Rede até sábado 23h59** Lembrete do número (1313 federal; 13xxx estadual) por contato direto e grupos; registrar com data quem foi alcançado, sem sobrescrever valores. +- **Domingo** Comparecimento e ocorrências por seção viram relatório para o backtest; mobilização não aborda eleitor no local; transporte e alimentação apenas conforme regras oficiais. + +**Prioridade de posicionamento — 12 seções por branco+nulo federal** + +| Seção | Comp. | Bn fed. | Bloco L+J | LQ esq. | Solla | LQ Solla | Campo PT fed. | LQ PT fed. | +| ----------------------------------------- | ----- | ------- | --------- | ------- | ----- | -------- | ------------- | ---------- | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 100 | 105 | 0,65 | 4 | 0,97 | 35 | 0,97 | +| Salvador — LIBERDADE · ZE 18 · seção 199 | 382 | 100 | 131 | 0,76 | 3 | 0,66 | 43 | 1,09 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 100 | 123 | 0,72 | 3 | 0,70 | 27 | 0,72 | +| Salvador — PARIPE · ZE 4 · seção 427 | 352 | 99 | 106 | 0,66 | 1 | 0,25 | 20 | 0,57 | +| Salvador — PLATAFORMA · ZE 17 · seção 311 | 335 | 99 | 83 | 0,55 | 1 | 0,28 | 22 | 0,70 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 99 | 102 | 0,64 | 3 | 0,76 | 24 | 0,69 | +| Salvador — LIBERDADE · ZE 18 · seção 120 | 338 | 98 | 108 | 0,70 | 4 | 1,04 | 25 | 0,74 | +| Salvador — LIBERDADE · ZE 18 · seção 200 | 374 | 98 | 134 | 0,79 | 4 | 0,91 | 41 | 1,07 | +| Salvador — LIBERDADE · ZE 18 · seção 16 | 380 | 96 | 119 | 0,69 | 4 | 0,89 | 43 | 1,10 | +| Salvador — LIBERDADE · ZE 18 · seção 192 | 350 | 96 | 126 | 0,79 | 3 | 0,77 | 34 | 1,00 | +| Salvador — PERIPERI · ZE 4 · seção 492 | 360 | 95 | 107 | 0,66 | 6 | 1,39 | 39 | 1,03 | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 94 | 95 | 0,58 | 4 | 0,95 | 22 | 0,60 | + +**Prioridade de posicionamento — 12 seções por branco+nulo estadual** + +| Seção | Comp. | Bn est. | Bloco L+J | LQ esq. | Campo PT est. | LQ PT est. | +| ------------------------------------------------------- | ----- | ------- | --------- | ------- | ------------- | ---------- | +| Salvador — PARIPE · ZE 4 · seção 445 | 361 | 118 | 95 | 0,58 | 22 | 0,67 | +| Salvador — PLATAFORMA · ZE 17 · seção 311 | 335 | 112 | 83 | 0,55 | 14 | 0,45 | +| Salvador — PERIPERI · ZE 17 · seção 508 | 351 | 111 | 102 | 0,64 | 30 | 0,90 | +| Salvador — BOA VISTA DO LOBATO · ZE 15 · seção 562 | 367 | 111 | 106 | 0,64 | 23 | 0,67 | +| Salvador — COUTOS · ZE 4 · seção 515 | 376 | 107 | 123 | 0,72 | 27 | 0,74 | +| Salvador — PERIPERI · ZE 17 · seção 507 | 356 | 105 | 105 | 0,65 | 33 | 0,93 | +| Salvador — ITACARANHA · ZE 17 · seção 438 | 367 | 105 | 90 | 0,54 | 22 | 0,62 | +| Salvador — PARIPE · ZE 4 · seção 479 | 351 | 104 | 85 | 0,53 | 36 | 1,02 | +| Salvador — ALTO DE COUTOS · ZE 4 · seção 577 | 351 | 103 | 94 | 0,59 | 30 | 0,90 | +| Salvador — PLATAFORMA · ZE 17 · seção 342 | 349 | 102 | 86 | 0,54 | 11 | 0,32 | +| Salvador — PARIPE · ZE 4 · seção 356 | 378 | 101 | 136 | 0,79 | 53 | 1,40 | +| Salvador — BOA VISTA DE SÃO CAETANO · ZE 15 · seção 507 | 377 | 101 | 127 | 0,74 | 26 | 0,70 | + +> **Como usar a estimativa** O teto de alcance é a soma do bloco L+J nas seções priorizadas; o efeito depende da rede (contato, pedido completo, colinha na mão do simpatizante). Sem backtest de 2026 não há como estimar conversão — trate os percentuais como escala de esforço, não como projeção de votos. + +## Leitura da Cientista Política + +_Crítica do método e do que o dado permite afirmar_ + +A premissa que originou a análise — “muita gente votou Lula e Jerônimo e não votou para deputado” — não se confirma no agregado. Na Bahia, os nominais de deputado federal (7.604.370) e estadual (7.174.712) superam o bloco Lula+Jerônimo (4.019.119): não há um exército de lulistas represado na proporcional. O que existe é não-escolha do cargo — 896.550 votos em branco/nulo no federal (10,1% do comparecimento) e 920.537 no estadual (10,4%), com excesso sobre a presidencial de 465.404 e 486.203 na mesma seção. O alvo é o comparecente que fechou o majoritário e não completou o proporcional — não uma transferência que ninguém observa. + +Aritmética antes de retórica: teto não é estimativa. Somado por seção, o intervalo federal vai de 1 a 896.469 e o estadual termina em 920.296 — máximo admissível, nunca estoque recuperável; o piso quase zero confirma que ninguém liga voto individual. Quem trata o teto como meta, ou atribui a alguém voto fora da mesma urna, comete falácia ecológica. E escala: 1,70% dos nominais (Solla) e 14,96% (campo PT estadual) são descritivos, não KPI — a régua é o LQ. Por fim, 2022 é proxy imperfeito de 2026: a maré muda, as candidaturas são outras e o lado estadual não tem baseline — Julio Pinheiro (13999) não disputou 2022. + +> **O que este dado não permite afirmar** Três saltos são proibidos: transferência (não há vínculo entre cargos), intenção (não há pesquisa aqui) e efeito de campanha (o TSE não mede esforço). O excesso mede abandono do cargo acima do padrão da seção — não simpatia. E o voto é do local de votação, não da residência. + +- **Número-âncora** 896.550 federais (10,1%) e 920.537 estaduais (10,4%) de não-escolha, com excesso de 465.404 e 486.203. É o estoque da reta final — de comparecente, não de alienado. +- **Salvador concentra** 258.946 federais (15,9%) e 281.026 estaduais (17,3%), excesso de 155.048 e 177.131 — o maior mercado isolado do estado, onde Solla tem 27.264 votos (2,11% dos nominais, LQ 1,25). A capital se lê por zona, nunca pelo polígono municipal. +- **RMS e Metropolitano** A RMS soma 77.515/78.801 de não-escolha (12,7%/12,9%), excesso de 44.247/45.536, com Solla em LQ 0,89 e campo PT em LQ 1,05; o TI Metropolitano acumula teto de 336.396 e excesso de 199.295. +- **Onde Solla manda** Recôncavo (10.759; LQ 2,10; excesso federal 21.278), Vale do Jiquiriçá (22.110; LQ 7,91), Piemonte do Paraguaçu (4.597; LQ 1,96) e Litoral Sul (7.452; LQ 1,15): reduto relativo com não-escolha ao lado — defesa que converte. +- **Campo forte, Solla baixo** Sudoeste Baiano (PT est. LQ 1,68; não-escolha estadual 39.547), Médio Sudoeste (PT 1,91; Solla 0,17), Semiárido Nordeste II (PT 1,45; Solla 0,19), Sertão do São Francisco (PT 1,36; Solla 0,25), Sisal (PT 1,05; Solla 0,38) e Litoral Norte (PT 1,09; Solla 0,50). O voto de campo existe; a captura nominal de Solla, não. +- **Teto grande, estrutura fina** Portal do Sertão tem o 2º maior teto federal do estado (73.452; excesso 44.552), com Solla em LQ 0,84 e campo PT em LQ 0,69; Bacia do Rio Grande (não-escolha 18.399; PT 0,46; Solla 0,31) e Costa do Descobrimento (21.927; PT 0,74; Solla 0,45) são construção, não colheita. + +- **1. Fechar o pedido no núcleo** Onde Solla manda e a não-escolha é alta, o ganho é orientação, não conversão: Recôncavo (LQ 2,10; excesso 21.278), Vale do Jiquiriçá (7,91) e Salvador (1,25). É “pedido completo” no script das lideranças — voto com número — e material final pela rede (P1, I-A). +- **2. Salvador por zona** Maior estoque do estado (258.946/281.026), mas campo PT local em LQ 0,89: priorizar as zonas onde Solla e campo andam juntos — ZE16 (Solla 1,44; PT 1,15) e ZE4 (Solla 1,18; PT 1,05) — e checar a ZE17, maior não-escolha federal da cidade (17.037) com Solla em 0,93 (§6.5). +- **3. Ataque junto com o estadual** Sudoeste Baiano (PT 1,68), Médio Sudoeste (1,91), Semiárido Nordeste II (1,45) e Sertão do São Francisco (1,36): campo forte, Solla baixo. Recrutar liderança e casar dobradinha antes da agenda (P2/P11) — apoio difuso não vira voto nominal sozinho. +- **4. Portal do Sertão** Teto 73.452, excesso 44.552, Solla 0,84, PT 0,69. É a expansão que a conta pede e a que mais engana: sem rede de recepção, visita evapora (P6); com campo razoável, censo de rede via federação, responsável nomeado e só então giro (P2, J-A). +- **5. Dobradinha na mesma urna** Onde as duas não-escolhas são altas na mesma seção, o pedido é duplo: ZE17 s507 (teto 100; excesso federal 73; estadual 78), ZE18 s199 (100/70), ZE4 s515 (100/54) e ZE4 s427 (99/59). Mesmo giro e rede compartilhada com o estadual, sem prometer o que o proxy não mede (P12, J-C). +- **6. Rebaixar por escrito** Onde Solla e campo estão ambos abaixo do padrão, a não-escolha não é oportunidade: Bacia do Rio Grande (0,31/0,46), Costa do Descobrimento (0,45/0,74), Sertão Produtivo (0,54/0,65) e Irecê (0,50/0,79) são “perdida vestida de oportunidade” (K-B): N0/N1 registrado, sinais de reversão nomeados, sem exposição. +- **7. Frescor e registro até a urna** Pledge sem data decai; praça priorizada sem responsável entra na cobrança (O-E/O-F; P7). Sem o valor de agosto preservado não há backtest — a única calibração do pledge→voto. + +- **Não prometer transferência** O teto de 896.469/920.296 é limite matemático; o excesso de 465.404/486.203 não é voto do campo. Teto não é meta. +- **Não expor prioridades negativas** As seções de ataque (por exemplo, ZE5 s507 com Solla em 0,39; Vitória da Conquista ZE41 s180 em 0,39) são fila interna de trabalho. O mapa de onde não defendemos é informação do correligionário, não do público. +- **Não caçar hostil nem guerrear o correligionário** Persuasão de território hostil é ≈ 0; onde o campo PT é forte e Solla não (Médio Sudoeste 1,91/0,17; ZE41 s177 com PT em 2,64), o caminho é inteligência e herança aberta (P3), nunca guerra aberta — o custo envenena a lista de que todos dependem. +- **Não ler percentual absoluto nem prever 2026** 1,70% e 14,96% descrevem o agregado; o LQ orienta. Maré diferente, candidaturas diferentes e ausência de baseline estadual impedem projeção — o dado prioriza, não prevê. + +> **Teto não é estoque** O intervalo federal vai de 1 a 896.469 e o estadual termina em 920.296: é o que a matemática admite, não o que está disponível. Disputa-se a não-escolha observada — 896.550/920.537 — e o excesso sobre a presidencial — 465.404/486.203. + +> **Régua de bolso para a reta final** Enquanto houver simpatizante alcançável sem pedido completo feito, o voto mais barato está dentro da rede, não na estatística de alienação. Prioridade = volume em jogo × LQ × frescor; a lista decide, o mapa orienta. + +## Leitura da Coordenação Geral de campanha + +_O que fazer com isso nos últimos dias_ + +A reta final não é de persuasão: converter hostil rende ≈ 0. O ganho está em fazer quem já é do campo (bloco L+J de 4.019.119 na BA) COMPLETAR o voto no cargo: em 2022 foram 896.550 brancos+nulos no federal (10,1% do comparecimento) e 465.404 de excesso sobre a presidencial (teto de 896.469); no estadual, 920.537 (10,4%) e 486.203 de excesso. Com Solla em 128.968 (1,70% dos nominais, LQ 1,00), a conta se decide nesse estoque, não em voto novo. + +O estoque é grande e concentrado na capital, com não-escolha relativa bem acima do estado: Salvador tem 258.946 brancos+nulos no federal (15,9%) e 155.048 de excesso, contra 10,1% na BA; no estadual, 281.026 (17,3%) e 177.131. A RMS soma 77.515 (12,7%) e 44.247 no federal, e 78.801 (12,9%) e 45.536 no estadual. Nas 5.023 seções da capital (contra 34.424 na BA e 2.066 na RMS) o pedido completo por seção compra mais voto. + +- **Salvador: ZE17 e ZE18 (P2)** Maiores tetos do estado: s507 (bnFed 100, excFed 73), s199 (100 e 70) e s200 (98 e 68). ZE17 tem tetoFed 16.976, com Solla em LQ 0,93 e PT est em 0,70 (6.359 votos); ZE18 tem teto 12.508 (Solla 1,06). Campo forte, captura baixa. Fazer: checagem de rede em 48h, liderança antes da agenda, pedido completo por seção. Não fazer: palanque caro nem leitura de conversão de adversário. +- **Salvador: ZE16 (P11)** bnEst 14.302, campo PT em LQ 1,15 (11.013 votos) e seções muito acima do padrão: s369 (PT 88, LQ 2,36), s371 (86, 2,05), s373 (75, 1,99), s375 (75, 1,86), s370 (68, 1,81) e s429 (55, 1,54); Solla tem 1.643 (LQ 1,44). Organização forte com compromisso a converter. Fazer: pedido explícito nomeado e assembleia de apoio com número. Não fazer: forçar deliberação onde a base está dividida. +- **Salvador: redutos com estoque aberto (P1/I-A)** s622 (Solla LQ 2,01, bnFed 91), s166 (3,53 e 90), s243 (1,64 e 94), s131 (1,72 e 89), s356 (1,75 e 88), s423 e s623 (1,80 e 88). Ao redor, ZE4 tem o maior tetoFed da capital (18.812), ZE3 17.380, ZE11 17.144, ZE19 16.649 e ZE14 16.514. Fazer: ativação relacional do núcleo e pedido completo no script das lideranças. Não fazer: empilhar agenda em reduto no teto (P10). +- **Ataque com rede (P2): Feira, Conquista e ZE5** Feira de Santana ZE154 s344 (bnFed 55, excFed 36, Solla LQ 0,39, PT 0,45), Vitória da Conquista ZE41 s180 (57 e 43; Solla 0,39) e s177 (54; Solla 0,20; PT 2,64), Salvador ZE5 s507 (62; PT 1,43; Solla 0,39) e s505 (57; Solla 0,00). No interior, São Gonçalo dos Campos ZE108 s45 (bloco 207, bnFed 80, excFed 66). Fazer: recrutar organização antes da agenda. Não fazer: visita para abrir praça sem estrutura — evapora. +- **RMS por perfil** Camaçari é o maior: bnFed 20.361 e excFed 10.833, com Solla em LQ 0,32 e PT est em 1,61 (30.176); Lauro de Freitas 14.995 (Solla 1,10; PT 0,91); Simões Filho 9.013 (0,78; 0,51); Candeias 7.191 (0,50; 0,51). Mata de São João tem PT 1,78 com Solla 0,38; São Francisco do Conde (3,03) e Vera Cruz (2,84) são redutos relativos. Fazer: tratar município a município (P2/P12/P1). Não fazer: média da RMS como régua. +- **TIs para giro regional** Portal do Sertão tem o maior tetoFed do interior (73.452), com Solla 0,84 e PT 0,69; Sudoeste Baiano (39.510; PT 1,68; Solla 0,95); Recôncavo (37.385; Solla 2,10; PT 1,03); Litoral Norte e Agreste (37.465; Solla 0,50; PT 1,09); Litoral Sul (31.287; Solla 1,15; PT 0,97). Núcleo a defender no Vale do Jiquiriçá (Solla 22.110, LQ 7,91). Fazer: giro casado com 2–3 cidades-cabeça. Não fazer: pulverizar o TI município a município. + +O material por bairro na capital segue o top 10 de teto: PERIPERI (7.734), PERNAMBUÉS (6.990 — campo PT forte, LQ 1,42 e 6.856 votos), LIBERDADE (6.842), PARIPE (6.094, Solla 1,39), ITAPUÃ (5.897), SÃO MARCOS (5.684, Solla 1,74), CABULA (5.542), SÃO CAETANO (5.471, Solla 1,72), BROTAS (5.431) e RIBEIRA (5.426, Solla 1,44). + +Fora da capital, São Gonçalo dos Campos ZE108 s45 (bnFed 80, excFed 66 numa seção, bloco L+J de 207) merece checagem antes de giro grande. + +A régua da dobradinha é a não-escolha estadual: BA com 920.537 (10,4%) e 486.203 de excesso; Salvador com 281.026 (17,3%) e 177.131; RMS com 78.801 (12,9%) e 45.536. Julio Pinheiro (13999) não disputou 2022 e não tem baseline — a leitura usa o campo PT estadual (1.073.154; 14,96%; LQ 1,00) por TI e por seção, sem inventar número para ele. + +Onde o PT é forte e a não-escolha estadual é alta, defender/completar: ZE16 (PT 1,15; bnEst 14.302), ZE10 (PT 1,03; bnEst 14.650; s818 1,62) e os TIs Sudoeste Baiano (1,68), Médio Sudoeste (1,91), Semiárido Nordeste II (1,45), Piemonte da Diamantina (1,38) e Sertão do São Francisco (1,36). Onde o campo é fraco e a não-escolha é alta, construção com rede antes de agenda: Portal do Sertão (0,69), Litoral Norte e Agreste (0,50), ZE17 (0,70; bnEst 18.829), ZE9 (0,64; 15.567) e ZE15 (0,72; 15.413). Nas seções de dupla não-escolha (s507 100/105; s508 99/111; s515 100/107; s199 100/91), pedido completo nos dois cargos — sem promessa de transferência. + +- **Segunda — checagem de rede (48h)** Ligar para responsáveis das seções de maior teto (s507, s199, s515, s200, s508) e dos bairros do top 10; separar 'sem sinal' de 'sinal de nada'; gatilho de ausência dispara auditoria de registro, nunca ação de campo. +- **Terça e quarta — material e roteiro** Fechar material por bairro/ZE (PERIPERI, PERNAMBUÉS, LIBERDADE, PARIPE, SÃO MARCOS, SÃO CAETANO) e o script de pedido completo; registrar com data, sem sobrescrever valores. +- **Quinta — articulação com os estaduais** Reunião com o campo 13xxx por TI: PT forte + bnEst alta = defesa/completar; PT fraco + bnEst alta = construção de rede. Registrar o combinado por seção. +- **Sexta — fila da coordenação** Reunião de alocação pela lista (déficit descoberto), não pelo mapa; corte por escrito, com motivo e sinal de reversão, sob histerese de 2 semanas; a lista não sai da sala. +- **Sábado — agenda** Âncora em praças N3/N4 com recepção pronta; satélites contíguos de construção; nenhuma frente nova perto da urna — visita sem broker evapora. + +> **Guardrails da semana** Teto ≠ meta: teto é limite matemático, não estimativa — ninguém observa voto individual e o voto é do local de votação. A lista interna de ataque/construção não vira material público; externamente só existem 'campanha' e 'presença de mandato'. Sem promessa de transferência de voto: persuasão de hostil ≈ 0. Material e roteiro prontos; comunicação na janela legal do defeso. Não pulverizar agenda; reduto no teto não come agenda. Meta e potencial sobre válidos projetados do cargo — nunca aptos, nunca abstenção somada a brancos/nulos. + +Em uma linha: a semana compra voto fazendo quem já é do campo completar federal e estadual no mesmo local de votação — Salvador (258.946 de bnFed; 15,9%) com ZE17/ZE18/ZE16 na frente, top 10 de bairros no material, Feira/Conquista/ZE5 como ataque com rede, RMS e TIs conforme perfil. Sem novo convencimento nem lista pública. + +## Método, validação e proveniência + +_Reprodutibilidade e limites_ + +Fonte: Portal de Dados Abertos do TSE — resultados de 2022 (1º turno), arquivos votacao_secao_2022_BA, votacao_secao_2022_BR, detalhe_votacao_secao_2022 e eleitorado_local_votacao_2022. Extração em cache local; nenhum dado de campanha, banco ou pesquisa interna foi usado. + +Validação: as somas por seção foram conferidas contra o baseline TSE commitado no repositório (bahia-federal-baseline.json) para Solla 1313, Lula, Jerônimo, nominais, comparecimento, brancos e nulos, unidade a unidade (435 municípios/zonas, sem divergência). + +- Solla, Lula, Jerônimo, comparecimento, brancos e nulos conferem exatamente por município/zona contra src/lib/electionAggregates/bahia-federal-baseline.json (435 unidades). Nominais federais: resíduo de -768 votos em 3.335.535 (-0,023%) — o detalhe por seção inclui votos de candidaturas que o TSE invalidou e que o baseline (nominais válidos) não conta. +- 417 municípios, 34424 seções, 150 bairros de Salvador com votação; 5023/5140 seções de Salvador casadas com o cadastro de locais. + +**Arquivos-fonte (sha256 integral no JSON de dados)** + +| Arquivo | Bytes | +| ----------------------------------- | ------------- | +| votacao_secao_2022_BA.csv | 1.290.461.858 | +| votacao_secao_2022_BR.csv | 1.591.148.802 | +| detalhe_votacao_secao_2022_BA.csv | 63.454.123 | +| detalhe_votacao_munzona_2022_BA.csv | 639.767 | +| consulta_cand_2022_BA.csv | 915.088 | +| eleitorado_local_votacao_2022.csv | 407.088.783 | + +> **Regras de uso** Documento interno de análise. As listas de seções de "ataque" não devem virar material público nem ser expostas como prioridade da campanha. A leitura de conversão (rede, liderança, pedido do número) é operação de coordenação — o dado indica onde, nunca como. Nada aqui estima intenção de voto nem promete transferência. + +--- + +- Solla, Lula, Jerônimo, comparecimento, brancos e nulos conferem exatamente por município/zona contra src/lib/electionAggregates/bahia-federal-baseline.json (435 unidades). Nominais federais: resíduo de -768 votos em 3.335.535 (-0,023%) — o detalhe por seção inclui votos de candidaturas que o TSE invalidou e que o baseline (nominais válidos) não conta. +- 417 municípios, 34424 seções, 150 bairros de Salvador com votação; 5023/5140 seções de Salvador casadas com o cadastro de locais. diff --git a/docs/research/analise-expansao-secoes-solla-julio-2022.pdf b/docs/research/analise-expansao-secoes-solla-julio-2022.pdf new file mode 100644 index 00000000..b306a2f0 Binary files /dev/null and b/docs/research/analise-expansao-secoes-solla-julio-2022.pdf differ diff --git a/scripts/build-expansao-secoes-2022.mjs b/scripts/build-expansao-secoes-2022.mjs new file mode 100644 index 00000000..a64ac349 --- /dev/null +++ b/scripts/build-expansao-secoes-2022.mjs @@ -0,0 +1,2128 @@ +/** + * Análise de expansão por seção eleitoral — Jorge Solla 1313 (dep. federal) e + * Julio Pinheiro 13999 (dep. estadual), eleição 2022, 1º turno, Bahia. + * + * Pergunta de campanha (reta final 2026): onde há eleitor que votou Lula + * (presidente) e Jerônimo (governador) em 2022 e não escolheu deputado + * federal / estadual — e como isso cruza com as seções onde Solla e o campo PT + * são mais fortes. A unidade é a seção eleitoral (menor unidade publicada + * pelo TSE), agregada por município, zonas de Salvador, bairro do local de + * votação, Região Metropolitana de Salvador (RMS) e Território de Identidade. + * + * Métrica central — "sobra do bloco Lula+Jerônimo" para um cargo: + * bloco(s) = min(votos Lula, votos Jerônimo) (tamanho conservador + * do eleitorado que compareceu e escolheu o dois nomes) + * sobra(s, cargo) = max(0, bloco(s) - votos válidos do cargo em s) + * Ou seja: quantos votos válidos aquele cargo teve a menos do que o bloco + * presente na seção. É um TETO de transferência, não uma medida de intenção: + * ninguém observa quem votou em quem — a leitura é de potencial. + * + * Pergunta literal ("votou Lula e Jerônimo mas não votou para o cargo"): + * piso(s) = max(0, Lula + Jerônimo - comparecimento do cargo - válidos do cargo) + * teto(s) = min(min(Lula, Jerônimo), brancos+nulos do cargo) + * Somados por seção (nunca agregando antes de cortar), dão o intervalo do + * estado que se pode afirmar sem inventar voto individual. + * + * Fonte (portal de dados abertos do TSE, resultados 2022): + * votacao_secao_2022_BA.zip votos por candidato por seção (cargos estaduais) + * votacao_secao_2022_BR.zip votos de presidente por seção (escopo BRASIL) + * detalhe_votacao_secao_2022.zip aferição por seção × cargo (nominais, brancos, nulos) + * detalhe_votacao_munzona_2022.zip nominais válidos por zona (fonte do baseline do app) + * consulta_cand_2022.zip situação das candidaturas (INAPTO), calibrada por zona + * eleitorado_local_votacao_2022.zip seção → local → bairro (cadastro 2022) + * Os arquivos vivem no cache gitignored `data/tse-2022/` (zips + csv/). + * + * Uso: + * node --import=tsx/esm scripts/build-expansao-secoes-2022.mjs --compute + * node --import=tsx/esm scripts/build-expansao-secoes-2022.mjs + * + * `--compute` refaz a passagem pesada e grava o JSON de dados; sem a flag o + * script só renderiza (MD + PDF) a partir do JSON. A leitura é somente-leitura + * contra os CSVs públicos; nenhum acesso a banco. + */ + +import { chromium } from '@playwright/test' +import { createHash } from 'node:crypto' +import { createReadStream } from 'node:fs' +import { mkdir, readFile, writeFile } from 'node:fs/promises' +import { dirname, join } from 'node:path' +import { createInterface } from 'node:readline' +import { fileURLToPath } from 'node:url' + +import { dieWithLabel } from './lib/cli.mjs' + +const { bahiaIdentityTerritoryRecords, citiesForTerritory, territoryForCity } = + await import('../src/lib/bahiaTerritories.ts') +const { bahiaTseCityCodes } = await import('../src/lib/bahiaTseCityCodes.ts') +const { slugify } = await import('../src/lib/slug.ts') + +const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..') +const LABEL = 'build-expansao-secoes-2022' +const die = dieWithLabel(LABEL) + +const CSV_DIR = join(ROOT, 'data/tse-2022/csv') +const VOTE_BA_CSV = join(CSV_DIR, 'votacao_secao_2022_BA.csv') +const VOTE_BR_CSV = join(CSV_DIR, 'votacao_secao_2022_BR.csv') +const DETAIL_CSV = join(CSV_DIR, 'detalhe_votacao_secao_2022_BA.csv') +const LOCALS_CSV = join(CSV_DIR, 'eleitorado_local_votacao_2022.csv') +const CONSULTA_CSV = join(CSV_DIR, 'consulta_cand_2022_BA.csv') +const MUNZONA_CSV = join(CSV_DIR, 'detalhe_votacao_munzona_2022_BA.csv') +const ARTIFACT_PATH = join(ROOT, 'src/lib/electionAggregates/bahia-federal-baseline.json') +const DATA_PATH = join(ROOT, 'data/tse-2022/expansao-secoes-2022-dados.json') +const ESTRATEGIA_PATH = join(ROOT, 'data/tse-2022/expansao-secoes-2022-estrategia.json') +const REPORT_BASE = join(ROOT, 'docs/research/analise-expansao-secoes-solla-julio-2022') +const HTML_PATH = join(ROOT, 'data/tse-2022/expansao-secoes-2022.html') + +const SALVADOR_CODE = '38490' +const CARGOS = { GOVERNADOR: '3', FEDERAL: '6', ESTADUAL: '7' } +const NUMBERS = { LULA: 13, JERONIMO: 13, SOLLA: 1313, JULIO: 13999 } +const METROPOLITANO = 'Metropolitano de Salvador' +const GENERATED_AT = process.env.EXPANSAO_GENERATED_AT ?? new Date().toISOString() +const DATE_LABEL = GENERATED_AT.slice(0, 10).split('-').reverse().join('/') + +const int = new Intl.NumberFormat('pt-BR') +const nf = (value) => int.format(Math.round(value)) +const dec = (value, digits = 1) => value.toFixed(digits).replace('.', ',') +const pct = (value, digits = 1) => (Number.isFinite(value) ? `${dec(value * 100, digits)}%` : '—') +const share = (part, total) => (total > 0 ? part / total : null) +const clamp0 = (value) => (value > 0 ? value : 0) + +// --------------------------------------------------------------------------- +// CSV streaming (TSE: ISO-8859-1, `;`, todos os campos entre aspas) +// --------------------------------------------------------------------------- + +const parseCsvLine = (line) => { + const fields = [] + let current = '' + let quoted = false + for (let index = 0; index < line.length; index += 1) { + const char = line[index] + if (quoted) { + if (char === '"') { + if (line[index + 1] === '"') { + current += '"' + index += 1 + } else { + quoted = false + } + } else { + current += char + } + } else if (char === '"') { + quoted = true + } else if (char === ';') { + fields.push(current) + current = '' + } else { + current += char + } + } + fields.push(current) + return fields +} + +async function* csvRows(path, filter) { + const stream = createReadStream(path, { encoding: 'latin1' }) + const lines = createInterface({ input: stream, crlfDelay: Infinity }) + let header = null + for await (const line of lines) { + if (!header) { + header = parseCsvLine(line) + continue + } + if (!line || (filter && !filter(line))) continue + const fields = parseCsvLine(line) + const row = {} + header.forEach((name, index) => { + row[name] = fields[index] ?? '' + }) + yield row + } +} + +const num = (value) => { + const parsed = Number(value) + return Number.isFinite(parsed) ? parsed : 0 +} + +// --------------------------------------------------------------------------- +// Geografia +// --------------------------------------------------------------------------- + +const cityByTseCode = new Map( + Object.entries(bahiaTseCityCodes).map(([city, code]) => [String(code), city]), +) +const rmsCities = new Set(citiesForTerritory(METROPOLITANO).filter((city) => city !== 'Salvador')) +const territoryOrder = bahiaIdentityTerritoryRecords.map(({ name }) => name) + +// --------------------------------------------------------------------------- +// Compute +// --------------------------------------------------------------------------- + +const blankSection = (cityCode, cityName, zone, section) => ({ + cityCode, + cityName, + zone, + section, + bairro: null, + local: null, + aptos: 0, + fed: { comp: 0, nom: 0, leg: 0, branco: 0, nulo: 0, inactive: 0, inactiveRaw: 0 }, + est: { comp: 0, nom: 0, leg: 0, branco: 0, nulo: 0, inactive: 0, inactiveRaw: 0 }, + lula: 0, + jeronimo: 0, + presBranco: 0, + presNulo: 0, + solla: 0, + julio: 0, + ptEst: 0, + ptFed: 0, +}) + +const sectionKey = (cityCode, zone, section) => `${cityCode}|${Number(zone)}|${Number(section)}` + +async function loadSections() { + const sections = new Map() + for await (const row of csvRows(DETAIL_CSV)) { + if (row.NR_TURNO !== '1') continue + const cargo = row.CD_CARGO + if (cargo !== CARGOS.FEDERAL && cargo !== CARGOS.ESTADUAL) continue + const key = sectionKey(row.CD_MUNICIPIO, row.NR_ZONA, row.NR_SECAO) + let section = sections.get(key) + if (!section) { + section = blankSection( + row.CD_MUNICIPIO, + row.NM_MUNICIPIO, + num(row.NR_ZONA), + num(row.NR_SECAO), + ) + sections.set(key, section) + } + const tally = { + comp: num(row.QT_COMPARECIMENTO), + nom: num(row.QT_VOTOS_NOMINAIS), + leg: num(row.QT_VOTOS_LEGENDA), + branco: num(row.QT_VOTOS_BRANCOS), + nulo: num(row.QT_VOTOS_NULOS), + inactive: 0, + inactiveRaw: 0, + } + if (cargo === CARGOS.FEDERAL) { + section.fed = tally + section.aptos = num(row.QT_APTOS) + } else { + section.est = tally + } + } + return sections +} + +/** O arquivo BA mistura campos citados e não citados; aceita as duas formas. */ +const fieldHas = (line, value) => line.includes(`;${value};`) || line.includes(`;"${value}";`) + +/** + * Linhas de voto nominal (números de 4 e 5 dígitos) mais a do governador 13 + * (2 dígitos, desambiguada pelo nome). O filtro é só pré-seleção barata: a + * classificação fina acontece no parse, por cargo e número. + */ +const CANDIDATE_NUMBER_PATTERN = /;[1-9]\d{3,4};/ +const BA_VOTE_FILTER = (line) => + CANDIDATE_NUMBER_PATTERN.test(line) || (fieldHas(line, '13') && line.includes('JER')) + +/** Candidaturas INAPTO no cadastro de 2022 — votos não entram nos nominais válidos. */ +async function loadInactiveCandidates() { + const inactive = { federal: new Set(), state: new Set() } + for await (const row of csvRows(CONSULTA_CSV)) { + if (row.DS_SITUACAO_CANDIDATURA !== 'INAPTO') continue + if (row.CD_CARGO === CARGOS.FEDERAL) inactive.federal.add(num(row.NR_CANDIDATO)) + if (row.CD_CARGO === CARGOS.ESTADUAL) inactive.state.add(num(row.NR_CANDIDATO)) + } + return inactive +} + +async function loadBaVotes(sections, inactive) { + const seen = { jeronimo: new Set(), solla: new Set(), julio: new Set() } + let matched = 0 + let ptRows = 0 + let ptFedRows = 0 + let inactiveRows = 0 + for await (const row of csvRows(VOTE_BA_CSV, BA_VOTE_FILTER)) { + if (row.NR_TURNO !== '1') continue + const key = sectionKey(row.CD_MUNICIPIO, row.NR_ZONA, row.NR_SECAO) + const section = sections.get(key) + if (!section) continue + const number = num(row.NR_VOTAVEL) + const votes = num(row.QT_VOTOS) + if (row.CD_CARGO === CARGOS.GOVERNADOR && number === NUMBERS.JERONIMO) { + section.jeronimo += votes + seen.jeronimo.add(row.NM_VOTAVEL.trim()) + matched += 1 + } else if (row.CD_CARGO === CARGOS.FEDERAL && number === NUMBERS.SOLLA) { + section.solla += votes + seen.solla.add(row.NM_VOTAVEL.trim()) + matched += 1 + } else if (row.CD_CARGO === CARGOS.FEDERAL && number >= 1000 && inactive.federal.has(number)) { + section.fed.inactiveRaw += votes + section.fed.inactive += votes + inactiveRows += 1 + } else if (row.CD_CARGO === CARGOS.FEDERAL && number >= 1300 && number <= 1399) { + // Campo PT federal: todo candidato 13xx (inclui Solla 1313). + section.ptFed += votes + ptFedRows += 1 + } else if (row.CD_CARGO === CARGOS.ESTADUAL) { + if (number === NUMBERS.JULIO) { + section.julio += votes + seen.julio.add(row.NM_VOTAVEL.trim()) + matched += 1 + } else if (inactive.state.has(number)) { + section.est.inactiveRaw += votes + section.est.inactive += votes + inactiveRows += 1 + } else if (number >= 13000 && number <= 13999) { + // Campo PT estadual: todo candidato 13xxx (o partido 13 é o prefixo do número). + section.ptEst += votes + ptRows += 1 + } + } + } + return { + matched, + ptRows, + ptFedRows, + inactiveRows, + seen: Object.fromEntries(Object.entries(seen).map(([k, v]) => [k, [...v]])), + } +} + +async function loadPresidentVotes(sections) { + const names = new Set() + let matched = 0 + let blankNull = 0 + for await (const row of csvRows( + VOTE_BR_CSV, + (line) => + line.includes('"BA"') && + (line.includes('"13"') || line.includes(';"95";') || line.includes(';"96";')), + )) { + // BRASIL vem todo citado; o mesmo filtro amplo do BA não é necessário. + if (row.SG_UF !== 'BA' || row.NR_TURNO !== '1' || row.CD_CARGO !== '1') continue + const key = sectionKey(row.CD_MUNICIPIO, row.NR_ZONA, row.NR_SECAO) + const section = sections.get(key) + if (!section) continue + const number = num(row.NR_VOTAVEL) + const votes = num(row.QT_VOTOS) + if (number === NUMBERS.LULA) { + section.lula += votes + names.add(row.NM_VOTAVEL.trim()) + matched += 1 + } else if (number === 95) { + section.presBranco += votes + blankNull += votes + } else if (number === 96) { + section.presNulo += votes + blankNull += votes + } + } + return { matched, blankNull, names: [...names] } +} + +async function loadSalvadorBairros(sections) { + const bySection = new Map() + for await (const row of csvRows(LOCALS_CSV, (line) => line.includes('"38490"'))) { + if (row.SG_UF !== 'BA' || row.CD_MUNICIPIO !== SALVADOR_CODE) continue + const key = sectionKey(row.CD_MUNICIPIO, row.NR_ZONA, row.NR_SECAO) + if (bySection.has(key)) continue + bySection.set(key, { + bairro: row.NM_BAIRRO.trim(), + local: row.NM_LOCAL_VOTACAO.trim(), + }) + } + let attached = 0 + for (const [key, section] of sections) { + if (section.cityCode !== SALVADOR_CODE) continue + const hit = bySection.get(key) + if (!hit) continue + section.bairro = hit.bairro + section.local = hit.local + attached += 1 + } + return { registry: bySection.size, attached } +} + +/** Nominais válidos por zona no detalhe munzona — a mesma conta do baseline do app. */ +async function loadValidNominalByZone() { + const targets = new Map() + for await (const row of csvRows(MUNZONA_CSV)) { + if (row.NR_TURNO !== '1') continue + if (row.CD_CARGO !== CARGOS.FEDERAL && row.CD_CARGO !== CARGOS.ESTADUAL) continue + const key = `${row.CD_MUNICIPIO}|${Number(row.NR_ZONA)}` + const entry = targets.get(key) ?? { fed: null, est: null } + const value = num(row.QT_VOTOS_NOMINAIS_VALIDOS) + if (row.CD_CARGO === CARGOS.FEDERAL) entry.fed = (entry.fed ?? 0) + value + else entry.est = (entry.est ?? 0) + value + targets.set(key, entry) + } + return targets +} + +/** + * Calibra o desconto de votos INAPTO por seção para que cada zona feche + * exatamente com o detalhe munzona (a fonte do baseline). O cadastro atual de + * candidaturas não reproduz o status de totalização de 2022 — a escala por + * zona corrige a diferença preservando a distribuição das seções. + */ +function calibrateInactiveVotes(sections, validByZone) { + const zones = new Map() + for (const section of sections.values()) { + const key = `${section.cityCode}|${section.zone}` + const list = zones.get(key) ?? [] + list.push(section) + zones.set(key, list) + } + let adjusted = 0 + let missingTarget = 0 + for (const [key, list] of zones) { + const target = validByZone.get(key) + if (!target) { + missingTarget += 1 + continue + } + for (const slot of ['fed', 'est']) { + const targetValue = target[slot] + if (targetValue === null || targetValue === undefined) continue + const sumNom = list.reduce((sum, section) => sum + section[slot].nom, 0) + const sumRaw = list.reduce((sum, section) => sum + section[slot].inactiveRaw, 0) + const invalidTarget = Math.max(0, sumNom - targetValue) + if (sumRaw === invalidTarget) continue + const scaleBase = sumRaw > 0 ? sumRaw : sumNom + if (scaleBase === 0) continue + let assigned = 0 + let biggest = list[0] + for (const section of list) { + const base = sumRaw > 0 ? section[slot].inactiveRaw : section[slot].nom + const value = Math.round((base / scaleBase) * invalidTarget) + section[slot].inactive = value + assigned += value + const biggestBase = sumRaw > 0 ? biggest[slot].inactiveRaw : biggest[slot].nom + if (base > biggestBase) biggest = section + } + const residual = invalidTarget - assigned + if (residual !== 0) { + biggest[slot].inactive = Math.max(0, biggest[slot].inactive + residual) + } + adjusted += 1 + } + } + return { adjusted, missingTarget } +} + +// --------------------------------------------------------------------------- +// Agregações +// --------------------------------------------------------------------------- + +const blankAgg = (key, label, extra = {}) => ({ + key, + label, + sections: 0, + aptos: 0, + compFed: 0, + valFed: 0, + legFed: 0, + brancosFed: 0, + nulosFed: 0, + compEst: 0, + valEst: 0, + legEst: 0, + brancosEst: 0, + nulosEst: 0, + ptEst: 0, + ptFed: 0, + lula: 0, + jeronimo: 0, + blocoLJ: 0, + sobraFed: 0, + sobraEst: 0, + pisoFed: 0, + pisoEst: 0, + tetoFed: 0, + tetoEst: 0, + presBrancoNulo: 0, + excessoFed: 0, + excessoEst: 0, + solla: 0, + julio: 0, + ...extra, +}) + +function addSection(agg, section) { + const bloco = Math.min(section.lula, section.jeronimo) + const fedValid = Math.max(0, section.fed.nom - section.fed.inactive) + const estValid = Math.max(0, section.est.nom - section.est.inactive) + agg.sections += 1 + agg.aptos += section.aptos + agg.compFed += section.fed.comp + agg.valFed += fedValid + agg.legFed += section.fed.leg + agg.brancosFed += section.fed.branco + agg.nulosFed += section.fed.nulo + agg.compEst += section.est.comp + agg.valEst += estValid + agg.legEst += section.est.leg + agg.brancosEst += section.est.branco + agg.nulosEst += section.est.nulo + agg.lula += section.lula + agg.jeronimo += section.jeronimo + agg.blocoLJ += bloco + agg.sobraFed += clamp0(bloco - fedValid) + agg.sobraEst += clamp0(bloco - estValid) + agg.pisoFed += clamp0( + section.lula + section.jeronimo - section.fed.comp - fedValid - section.fed.leg, + ) + agg.pisoEst += clamp0( + section.lula + section.jeronimo - section.est.comp - estValid - section.est.leg, + ) + agg.tetoFed += Math.min(bloco, section.fed.branco + section.fed.nulo) + agg.tetoEst += Math.min(bloco, section.est.branco + section.est.nulo) + agg.presBrancoNulo += section.presBranco + section.presNulo + agg.excessoFed += clamp0( + section.fed.branco + section.fed.nulo - section.presBranco - section.presNulo, + ) + agg.excessoEst += clamp0( + section.est.branco + section.est.nulo - section.presBranco - section.presNulo, + ) + agg.solla += section.solla + agg.julio += section.julio + agg.ptEst += section.ptEst + agg.ptFed += section.ptFed +} + +function finishAgg(agg, reference = null) { + agg.sollaShare = share(agg.solla, agg.valFed) + agg.ptEstShare = share(agg.ptEst, agg.valEst) + agg.ptFedShare = share(agg.ptFed, agg.valFed) + agg.leftShare = share(agg.blocoLJ, agg.compFed) + agg.lulaShare = share(agg.lula, agg.compFed) + agg.jeronimoShare = share(agg.jeronimo, agg.compEst || agg.compFed) + agg.sobraFedShare = share(agg.sobraFed, agg.blocoLJ) + agg.sobraEstShare = share(agg.sobraEst, agg.blocoLJ) + agg.brancoNuloFed = agg.brancosFed + agg.nulosFed + agg.brancoNuloEst = agg.brancosEst + agg.nulosEst + agg.brancoNuloShareFed = share(agg.brancoNuloFed, agg.compFed) + agg.brancoNuloShareEst = share(agg.brancoNuloEst, agg.compEst || agg.compFed) + agg.excessoShareFed = share(agg.excessoFed, agg.compFed) + agg.excessoShareEst = share(agg.excessoEst, agg.compEst || agg.compFed) + if (reference) { + agg.lqSolla = agg.sollaShare / reference.sollaShare + agg.lqPt = agg.ptEstShare / reference.ptEstShare + agg.lqPtFed = agg.ptFedShare / reference.ptFedShare + agg.lqLeft = agg.leftShare / reference.leftShare + } + return agg +} + +const sectionMetrics = (section) => { + const bloco = Math.min(section.lula, section.jeronimo) + const fedValid = Math.max(0, section.fed.nom - section.fed.inactive) + const estValid = Math.max(0, section.est.nom - section.est.inactive) + const brancoNuloFed = section.fed.branco + section.fed.nulo + const brancoNuloEst = section.est.branco + section.est.nulo + return { + key: sectionKey(section.cityCode, section.zone, section.section), + city: cityByTseCode.get(String(section.cityCode)) ?? section.cityName, + cityCode: section.cityCode, + zone: section.zone, + section: section.section, + bairro: section.bairro, + local: section.local, + compFed: section.fed.comp, + valFed: fedValid, + valEst: estValid, + lula: section.lula, + jeronimo: section.jeronimo, + blocoLJ: bloco, + sobraFed: clamp0(bloco - fedValid), + sobraEst: clamp0(bloco - estValid), + pisoFed: clamp0( + section.lula + section.jeronimo - section.fed.comp - fedValid - section.fed.leg, + ), + pisoEst: clamp0( + section.lula + section.jeronimo - section.est.comp - estValid - section.est.leg, + ), + tetoFed: Math.min(bloco, brancoNuloFed), + tetoEst: Math.min(bloco, brancoNuloEst), + brancoNuloFed, + brancoNuloEst, + presBrancoNulo: section.presBranco + section.presNulo, + excessoFed: clamp0(brancoNuloFed - section.presBranco - section.presNulo), + excessoEst: clamp0(brancoNuloEst - section.presBranco - section.presNulo), + solla: section.solla, + ptEst: section.ptEst, + ptFed: section.ptFed, + sollaShare: share(section.solla, fedValid), + ptEstShare: share(section.ptEst, estValid), + ptFedShare: share(section.ptFed, fedValid), + leftShare: share(bloco, section.fed.comp), + } +} + +const percentile = (sorted, q) => + sorted.length === 0 ? 0 : sorted[Math.min(sorted.length - 1, Math.floor(q * sorted.length))] + +const sortBy = (list, field) => [...list].sort((left, right) => right[field] - left[field]) + +const pickSection = (metric) => ({ + city: metric.city, + zone: metric.zone, + section: metric.section, + bairro: metric.bairro, + local: metric.local, + compFed: metric.compFed, + lula: metric.lula, + jeronimo: metric.jeronimo, + blocoLJ: metric.blocoLJ, + valFed: metric.valFed, + sobraFed: metric.sobraFed, + valEst: metric.valEst, + sobraEst: metric.sobraEst, + pisoFed: metric.pisoFed, + pisoEst: metric.pisoEst, + tetoFed: metric.tetoFed, + tetoEst: metric.tetoEst, + brancoNuloFed: metric.brancoNuloFed, + brancoNuloEst: metric.brancoNuloEst, + presBrancoNulo: metric.presBrancoNulo, + excessoFed: metric.excessoFed, + excessoEst: metric.excessoEst, + solla: metric.solla, + ptEst: metric.ptEst, + ptFed: metric.ptFed, + sollaShare: metric.sollaShare, + ptEstShare: metric.ptEstShare, + ptFedShare: metric.ptFedShare, + leftShare: metric.leftShare, + lqSolla: metric.lqSolla ?? null, + lqPt: metric.lqPt ?? null, + lqPtFed: metric.lqPtFed ?? null, + lqLeft: metric.lqLeft ?? null, +}) + +function buildSectionLists(metrics, reference) { + const withLq = metrics.map((metric) => ({ + ...metric, + lqSolla: metric.valFed > 0 ? metric.sollaShare / reference.sollaShare : null, + lqPt: metric.valEst > 0 ? metric.ptEstShare / reference.ptEstShare : null, + lqPtFed: metric.valFed > 0 ? metric.ptFedShare / reference.ptFedShare : null, + lqLeft: metric.compFed > 0 ? metric.leftShare / reference.leftShare : null, + })) + const qualified = withLq.filter((metric) => metric.compFed >= 200 && metric.valFed >= 120) + const tetoFedSorted = qualified.map((metric) => metric.tetoFed).sort((a, b) => a - b) + const tetoEstSorted = qualified.map((metric) => metric.tetoEst).sort((a, b) => a - b) + const excessoFedSorted = qualified.map((metric) => metric.excessoFed).sort((a, b) => a - b) + const p75Fed = percentile(tetoFedSorted, 0.75) + const p90Fed = percentile(tetoFedSorted, 0.9) + const p75Est = percentile(tetoEstSorted, 0.75) + const p90Est = percentile(tetoEstSorted, 0.9) + const p75ExcessoFed = percentile(excessoFedSorted, 0.75) + const bnFedSorted = qualified.map((metric) => metric.brancoNuloFed).sort((a, b) => a - b) + const bnEstSorted = qualified.map((metric) => metric.brancoNuloEst).sort((a, b) => a - b) + const p75BnFed = percentile(bnFedSorted, 0.75) + const p75BnEst = percentile(bnEstSorted, 0.75) + const strong = (lq) => lq !== null && lq >= 1.5 + const weak = (lq) => lq !== null && lq <= 0.5 + + const cross = { + thresholds: { + p75Fed, + p90Fed, + p75Est, + p90Est, + p75ExcessoFed, + p75BnFed, + p75BnEst, + qualified: qualified.length, + }, + // Análise simples: esquerda relativamente forte na seção e cargo em branco/nulo. + leftFed: sortBy( + qualified.filter((metric) => metric.lqLeft >= 1.25 && metric.brancoNuloFed >= p75BnFed), + 'brancoNuloFed', + ), + leftEst: sortBy( + qualified.filter((metric) => metric.lqLeft >= 1.25 && metric.brancoNuloEst >= p75BnEst), + 'brancoNuloEst', + ), + fedDefesa: sortBy( + qualified.filter((metric) => strong(metric.lqSolla) && metric.tetoFed >= p75Fed), + 'tetoFed', + ), + fedAtaque: sortBy( + qualified.filter( + (metric) => weak(metric.lqSolla) && metric.tetoFed >= p90Fed && metric.valFed >= 300, + ), + 'tetoFed', + ), + estDefesa: sortBy( + qualified.filter((metric) => strong(metric.lqPt) && metric.tetoEst >= p75Est), + 'tetoEst', + ), + estAtaque: sortBy( + qualified.filter( + (metric) => weak(metric.lqPt) && metric.tetoEst >= p90Est && metric.valEst >= 300, + ), + 'tetoEst', + ), + // Onde o cargo foi abandonado MUITO acima do normal daquela seção na presidencial. + excessoFed: sortBy( + qualified.filter((metric) => metric.excessoFed >= p75ExcessoFed && metric.excessoFed >= 50), + 'excessoFed', + ), + dobradinha: sortBy( + qualified.filter((metric) => metric.tetoFed >= p75Fed && metric.tetoEst >= p75Est), + 'tetoFed', + ), + } + + return { + topBnFed: sortBy(qualified, 'brancoNuloFed'), + topBnEst: sortBy(qualified, 'brancoNuloEst'), + topTetoFed: sortBy(qualified, 'tetoFed'), + topTetoEst: sortBy(qualified, 'tetoEst'), + topSolla: sortBy(qualified, 'solla'), + cross, + } +} + +function summarizeSections(metrics) { + const sectionCount = metrics.length + const sum = (field) => metrics.reduce((total, metric) => total + metric[field], 0) + return { + sections: sectionCount, + sobraFed: sum('sobraFed'), + sobraEst: sum('sobraEst'), + pisoFed: sum('pisoFed'), + pisoEst: sum('pisoEst'), + tetoFed: sum('tetoFed'), + tetoEst: sum('tetoEst'), + brancoNuloFed: sum('brancoNuloFed'), + brancoNuloEst: sum('brancoNuloEst'), + excessoFed: sum('excessoFed'), + excessoEst: sum('excessoEst'), + presBrancoNulo: sum('presBrancoNulo'), + blocoLJ: sum('blocoLJ'), + } +} + +// --------------------------------------------------------------------------- +// Pipeline +// --------------------------------------------------------------------------- + +async function compute() { + console.log(`[${LABEL}] lendo aferição por seção...`) + const sections = await loadSections() + console.log(`[${LABEL}] seções: ${sections.size}`) + const inactive = await loadInactiveCandidates() + const { + matched: baMatched, + ptRows, + ptFedRows, + inactiveRows, + seen, + } = await loadBaVotes(sections, inactive) + const { matched: brMatched, names } = await loadPresidentVotes(sections) + const bairros = await loadSalvadorBairros(sections) + const validByZone = await loadValidNominalByZone() + const calibrated = calibrateInactiveVotes(sections, validByZone) + console.log( + `[${LABEL}] votos casados: BA=${baMatched} PT-fed=${ptFedRows} PT-est=${ptRows} INAPTO=${inactiveRows} BR=${brMatched}; ` + + `candidaturas INAPTO=${inactive.federal.size}+${inactive.state.size}; ` + + `calibração por zona ajustes=${calibrated.adjusted} sem fonte=${calibrated.missingTarget}; ` + + `bairros Salvador=${bairros.attached}/${bairros.registry}`, + ) + console.log(`[${LABEL}] nomes na urna:`, JSON.stringify({ ...seen, lula: names })) + + const missingTallies = [...sections.values()].filter( + (section) => section.fed.comp === 0 && section.est.comp === 0, + ) + if (missingTallies.length > 0) { + die( + `${missingTallies.length} seções sem aferição de comparecimento (chave ${missingTallies[0].cityCode}|${missingTallies[0].zone}|${missingTallies[0].section})`, + ) + } + + const byCity = new Map() + const byTerritory = new Map() + const salvadorZones = new Map() + const salvadorBairros = new Map() + const bySlug = new Map() + let unmappedCity = 0 + + for (const section of sections.values()) { + const canonicalCity = cityByTseCode.get(String(section.cityCode)) ?? null + const territory = canonicalCity ? (territoryForCity(canonicalCity) ?? null) : null + if (!canonicalCity || !territory) unmappedCity += 1 + + const cityKey = canonicalCity ?? String(section.cityCode) + const cityAgg = + byCity.get(cityKey) ?? blankAgg(cityKey, cityKey, { tseCode: section.cityCode, territory }) + byCity.set(cityKey, cityAgg) + addSection(cityAgg, section) + + if (territory) { + const territoryAgg = byTerritory.get(territory) ?? blankAgg(territory, territory) + byTerritory.set(territory, territoryAgg) + addSection(territoryAgg, section) + } + + if (section.cityCode === SALVADOR_CODE) { + const zoneAgg = + salvadorZones.get(section.zone) ?? + blankAgg(String(section.zone), `ZE ${section.zone}`, { zone: section.zone }) + salvadorZones.set(section.zone, zoneAgg) + addSection(zoneAgg, section) + if (section.bairro) { + const bairroKey = section.bairro + const bairroAgg = salvadorBairros.get(bairroKey) ?? blankAgg(bairroKey, bairroKey) + salvadorBairros.set(bairroKey, bairroAgg) + addSection(bairroAgg, section) + } + } + + if (canonicalCity === 'Salvador') { + const slug = `salvador-ze-${section.zone}` + const slugAgg = + bySlug.get(slug) ?? blankAgg(slug, slug, { city: canonicalCity, zone: section.zone }) + bySlug.set(slug, slugAgg) + addSection(slugAgg, section) + } else if (canonicalCity) { + const slug = slugify(canonicalCity) + const slugAgg = bySlug.get(slug) ?? blankAgg(slug, slug, { city: canonicalCity }) + bySlug.set(slug, slugAgg) + addSection(slugAgg, section) + } + } + if (unmappedCity > 0) die(`${unmappedCity} seções com município fora do cadastro canônico`) + + const baTotals = finishAgg(blankAgg('bahia', 'Bahia')) + for (const section of sections.values()) addSection(baTotals, section) + finishAgg(baTotals) + + for (const agg of byCity.values()) finishAgg(agg, baTotals) + for (const agg of byTerritory.values()) finishAgg(agg, baTotals) + for (const agg of salvadorZones.values()) finishAgg(agg, baTotals) + for (const agg of salvadorBairros.values()) finishAgg(agg, baTotals) + for (const agg of bySlug.values()) finishAgg(agg, baTotals) + + const metricsAll = [...sections.values()].map(sectionMetrics) + const metricsSalvador = metricsAll.filter((metric) => metric.cityCode === SALVADOR_CODE) + const metricsRms = metricsAll.filter( + (metric) => metric.city !== 'Salvador' && rmsCities.has(metric.city), + ) + const metricsByTerritory = new Map() + for (const metric of metricsAll) { + const territory = territoryForCity(metric.city) + if (!territory) continue + const list = metricsByTerritory.get(territory) ?? [] + list.push(metric) + metricsByTerritory.set(territory, list) + } + + const rmsAgg = finishAgg(blankAgg('rms', 'Demais municípios da RMS')) + for (const metric of metricsRms) { + const section = sections.get(metric.key) + addSection(rmsAgg, section) + } + finishAgg(rmsAgg, baTotals) + + const salvadorTotals = finishAgg(blankAgg('salvador', 'Salvador')) + for (const metric of metricsSalvador) addSection(salvadorTotals, sections.get(metric.key)) + finishAgg(salvadorTotals, baTotals) + + const sectionListsBa = buildSectionLists(metricsAll, baTotals) + const sectionListsSalvador = buildSectionLists(metricsSalvador, baTotals) + const sectionListsRms = buildSectionLists(metricsRms, baTotals) + + const territories = territoryOrder.map((name) => { + const agg = finishAgg(byTerritory.get(name) ?? blankAgg(name, name), baTotals) + const metrics = metricsByTerritory.get(name) ?? [] + const lists = buildSectionLists(metrics, baTotals) + const cities = [...byCity.values()] + .filter((city) => city.territory === name) + .sort((left, right) => right.tetoFed - left.tetoFed) + return { + name, + agg, + metrics: summarizeSections(metrics), + topTetoFed: lists.topTetoFed.slice(0, 3), + topTetoEst: lists.topTetoEst.slice(0, 3), + topSolla: lists.topSolla.slice(0, 3), + topCities: cities.slice(0, 5).map((city) => ({ + city: city.label, + sobraFed: city.sobraFed, + sobraEst: city.sobraEst, + solla: city.solla, + ptEst: city.ptEst, + lqSolla: city.lqSolla, + lqPt: city.lqPt, + })), + thresholds: lists.cross.thresholds, + } + }) + + const { municipalities: artifactMunicipalities } = JSON.parse( + await readFile(ARTIFACT_PATH, 'utf8'), + ) + const validation = [] + const driftGroups = new Map() + let drift = 0 + let nominalResidual = 0 + let nominalBaseline = 0 + for (const [slug, committed] of Object.entries(artifactMunicipalities)) { + const ours = bySlug.get(slug) + if (!ours) { + validation.push(`slug ${slug} ausente na apuração por seção`) + drift += 1 + continue + } + const checks = [ + ['Solla 2022', committed.votesByYear['2022'], ours.solla, 0], + ['Lula T1 2022', committed.majoritarian2022.president.votes, ours.lula, 0], + ['Jerônimo T1 2022', committed.majoritarian2022.governor.votes, ours.jeronimo, 0], + // O arquivo por seção inclui votos de candidaturas que o TSE invalidou; o + // baseline (detalhe munzona) só conta nominais válidos — resíduo tolerado. + ['nominais federais', committed.federalTallyByYear['2022'].votosValidos, ours.valFed, 0.01], + [ + 'comparecimento federal', + committed.federalTallyByYear['2022'].comparecimento, + ours.compFed, + 0, + ], + ['brancos federais', committed.federalTallyByYear['2022'].votosBranco, ours.brancosFed, 0], + ['nulos federais', committed.federalTallyByYear['2022'].votosNulo, ours.nulosFed, 0], + ] + for (const [label, expected, found, tolerance] of checks) { + if (expected === found) continue + const delta = found - expected + if (tolerance > 0 && Math.abs(delta) <= Math.max(5, expected * tolerance)) { + nominalResidual += delta + nominalBaseline += expected + continue + } + drift += 1 + const group = driftGroups.get(label) ?? { count: 0, examples: [] } + group.count += 1 + if (group.examples.length < 3) { + group.examples.push(`${slug}: ${nf(expected)} × ${nf(found)}`) + } + driftGroups.set(label, group) + } + } + if (drift > 0) { + die( + `divergência contra o baseline em ${drift} conferências — ` + + [...driftGroups] + .map(([label, group]) => `${label}: ${group.count} (${group.examples.join('; ')})`) + .join(' | '), + ) + } + validation.push( + `Solla, Lula, Jerônimo, comparecimento, brancos e nulos conferem exatamente por município/zona contra src/lib/electionAggregates/bahia-federal-baseline.json (${Object.keys(artifactMunicipalities).length} unidades). ` + + `Nominais federais: resíduo de ${nf(nominalResidual)} votos em ${nf(nominalBaseline)} (${pct(nominalResidual / nominalBaseline, 3)}) — o detalhe por seção inclui votos de candidaturas que o TSE invalidou e que o baseline (nominais válidos) não conta.`, + ) + validation.push( + `${byCity.size} municípios, ${sections.size} seções, ${salvadorBairros.size} bairros de Salvador com votação; ${bairros.attached}/${bairros.registry} seções de Salvador casadas com o cadastro de locais.`, + ) + if (byCity.size !== 417) + validation.push(`aviso: ${byCity.size} municípios apurados (esperado 417)`) + + const files = [] + for (const name of [ + 'votacao_secao_2022_BA.csv', + 'votacao_secao_2022_BR.csv', + 'detalhe_votacao_secao_2022_BA.csv', + 'detalhe_votacao_munzona_2022_BA.csv', + 'consulta_cand_2022_BA.csv', + 'eleitorado_local_votacao_2022.csv', + ]) { + const buffer = await readFile(join(CSV_DIR, name)) + files.push({ + name, + bytes: buffer.length, + sha256: createHash('sha256').update(buffer).digest('hex'), + }) + } + + const serializeAgg = (agg) => ({ ...agg }) + const data = { + generatedAt: GENERATED_AT, + method: { + unit: 'seção eleitoral (TSE 2022, 1º turno)', + bloco: + 'min(votos Lula 13 presidente, votos Jerônimo 13 governador) — tamanho conservador do eleitorado que escolheu os dois nomes', + naoEscolha: + 'brancos+nulos do cargo por seção (exato) — o eleitor compareceu e não escolheu nenhum nome; excesso = não-escolha do cargo − não-escolha da presidencial na mesma seção (nunca negativo)', + teto: 'teto = min(bloco Lula+Jerônimo, brancos+nulos do cargo) por seção — máximo de eleitores do bloco que podem ter deixado o cargo sem nome; soma por seção', + pisoTeto: + 'piso = max(0, Lula+Jerônimo−comparecimento do cargo−válidos do cargo, com válidos = nominais+legenda); somados por seção', + sobra: + 'max(0, bloco − nominais do cargo) por seção — referência de auditoria; é ~0 no estado porque os nominais do cargo superam o bloco', + campoPt: + 'campo PT estadual = soma dos votos nominais de todos os candidatos a deputado estadual com número 13xxx (prefixo do partido), por seção — proxy de presença partidária; não é a votação de Julio Pinheiro, que não disputou 2022', + limites: + 'o voto é do local de votação, não da residência; ninguém observa voto individual — nenhum número aqui mede intenção ou transferência efetiva', + }, + candidates: { + solla: { number: 1313, office: 'deputado_federal', baseline: '2022' }, + julio: { + number: 13999, + office: 'deputado_estadual', + baseline: null, + note: 'sem candidatura em 2022 (prefeito de Amargosa); o recorte estadual usa o cargo e o campo PT 13xxx', + }, + lula: { number: 13, office: 'presidente' }, + jeronimo: { number: 13, office: 'governador' }, + }, + totals: { + ba: serializeAgg(baTotals), + salvador: serializeAgg(salvadorTotals), + rms: serializeAgg(rmsAgg), + }, + cities: [...byCity.values()] + .map((agg) => ({ + city: agg.label, + territory: agg.territory, + sections: agg.sections, + compFed: agg.compFed, + valFed: agg.valFed, + valEst: agg.valEst, + lula: agg.lula, + jeronimo: agg.jeronimo, + blocoLJ: agg.blocoLJ, + sobraFed: agg.sobraFed, + sobraEst: agg.sobraEst, + pisoFed: agg.pisoFed, + pisoEst: agg.pisoEst, + tetoFed: agg.tetoFed, + tetoEst: agg.tetoEst, + brancoNuloFed: agg.brancoNuloFed, + brancoNuloEst: agg.brancoNuloEst, + excessoFed: agg.excessoFed, + excessoEst: agg.excessoEst, + presBrancoNulo: agg.presBrancoNulo, + solla: agg.solla, + ptEst: agg.ptEst, + ptFed: agg.ptFed, + sollaShare: agg.sollaShare, + ptEstShare: agg.ptEstShare, + lqSolla: agg.lqSolla, + lqPt: agg.lqPt, + lqPtFed: agg.lqPtFed, + lqLeft: agg.lqLeft, + })) + .sort((left, right) => right.tetoFed - left.tetoFed), + salvador: { + zones: [...salvadorZones.values()] + .sort((left, right) => left.zone - right.zone) + .map(serializeAgg), + bairros: [...salvadorBairros.values()] + .sort((left, right) => right.tetoFed - left.tetoFed) + .map(serializeAgg), + sections: { + topTetoFed: sectionListsSalvador.topTetoFed.slice(0, 15).map(pickSection), + topTetoEst: sectionListsSalvador.topTetoEst.slice(0, 15).map(pickSection), + topSolla: sectionListsSalvador.topSolla.slice(0, 15).map(pickSection), + cross: { + thresholds: sectionListsSalvador.cross.thresholds, + fedDefesa: sectionListsSalvador.cross.fedDefesa.slice(0, 12).map(pickSection), + fedAtaque: sectionListsSalvador.cross.fedAtaque.slice(0, 10).map(pickSection), + excessoFed: sectionListsSalvador.cross.excessoFed.slice(0, 10).map(pickSection), + estDefesa: sectionListsSalvador.cross.estDefesa.slice(0, 12).map(pickSection), + estAtaque: sectionListsSalvador.cross.estAtaque.slice(0, 12).map(pickSection), + leftFed: sectionListsSalvador.cross.leftFed.slice(0, 10).map(pickSection), + leftEst: sectionListsSalvador.cross.leftEst.slice(0, 10).map(pickSection), + dobradinha: sectionListsSalvador.cross.dobradinha.slice(0, 12).map(pickSection), + }, + }, + }, + rms: { + cities: [...byCity.values()] + .filter((agg) => rmsCities.has(agg.label)) + .sort((left, right) => right.tetoFed - left.tetoFed) + .map((agg) => ({ + city: agg.label, + sections: agg.sections, + compFed: agg.compFed, + blocoLJ: agg.blocoLJ, + sobraFed: agg.sobraFed, + sobraEst: agg.sobraEst, + tetoFed: agg.tetoFed, + tetoEst: agg.tetoEst, + brancoNuloFed: agg.brancoNuloFed, + brancoNuloEst: agg.brancoNuloEst, + excessoFed: agg.excessoFed, + excessoEst: agg.excessoEst, + solla: agg.solla, + ptEst: agg.ptEst, + ptFed: agg.ptFed, + sollaShare: agg.sollaShare, + ptEstShare: agg.ptEstShare, + lqSolla: agg.lqSolla, + lqPt: agg.lqPt, + lqPtFed: agg.lqPtFed, + lqLeft: agg.lqLeft, + })), + sections: { + topTetoFed: sectionListsRms.topTetoFed.slice(0, 12).map(pickSection), + topTetoEst: sectionListsRms.topTetoEst.slice(0, 12).map(pickSection), + topSolla: sectionListsRms.topSolla.slice(0, 10).map(pickSection), + cross: { + thresholds: sectionListsRms.cross.thresholds, + fedDefesa: sectionListsRms.cross.fedDefesa.slice(0, 10).map(pickSection), + fedAtaque: sectionListsRms.cross.fedAtaque.slice(0, 10).map(pickSection), + excessoFed: sectionListsRms.cross.excessoFed.slice(0, 10).map(pickSection), + estDefesa: sectionListsRms.cross.estDefesa.slice(0, 10).map(pickSection), + estAtaque: sectionListsRms.cross.estAtaque.slice(0, 10).map(pickSection), + leftFed: sectionListsRms.cross.leftFed.slice(0, 10).map(pickSection), + leftEst: sectionListsRms.cross.leftEst.slice(0, 10).map(pickSection), + dobradinha: sectionListsRms.cross.dobradinha.slice(0, 10).map(pickSection), + }, + }, + }, + territories: territories.map((entry) => ({ + name: entry.name, + agg: serializeAgg(entry.agg), + metrics: entry.metrics, + topTetoFed: entry.topTetoFed.map(pickSection), + topTetoEst: entry.topTetoEst.map(pickSection), + topSolla: entry.topSolla.map(pickSection), + topCities: entry.topCities, + thresholds: entry.thresholds, + })), + sections: { + ba: { + topBnFed: sectionListsBa.topBnFed.slice(0, 30).map(pickSection), + topBnEst: sectionListsBa.topBnEst.slice(0, 30).map(pickSection), + topTetoFed: sectionListsBa.topTetoFed.slice(0, 25).map(pickSection), + topTetoEst: sectionListsBa.topTetoEst.slice(0, 25).map(pickSection), + topSolla: sectionListsBa.topSolla.slice(0, 15).map(pickSection), + cross: { + thresholds: sectionListsBa.cross.thresholds, + fedDefesa: sectionListsBa.cross.fedDefesa.slice(0, 15).map(pickSection), + fedAtaque: sectionListsBa.cross.fedAtaque.slice(0, 15).map(pickSection), + excessoFed: sectionListsBa.cross.excessoFed.slice(0, 15).map(pickSection), + estDefesa: sectionListsBa.cross.estDefesa.slice(0, 15).map(pickSection), + estAtaque: sectionListsBa.cross.estAtaque.slice(0, 15).map(pickSection), + leftFed: sectionListsBa.cross.leftFed.slice(0, 15).map(pickSection), + leftEst: sectionListsBa.cross.leftEst.slice(0, 15).map(pickSection), + dobradinha: sectionListsBa.cross.dobradinha.slice(0, 20).map(pickSection), + }, + }, + salvador: { + topBnFed: sectionListsSalvador.topBnFed.slice(0, 15).map(pickSection), + topBnEst: sectionListsSalvador.topBnEst.slice(0, 15).map(pickSection), + topTetoFed: sectionListsSalvador.topTetoFed.slice(0, 15).map(pickSection), + topTetoEst: sectionListsSalvador.topTetoEst.slice(0, 15).map(pickSection), + topSolla: sectionListsSalvador.topSolla.slice(0, 15).map(pickSection), + cross: { + thresholds: sectionListsSalvador.cross.thresholds, + fedDefesa: sectionListsSalvador.cross.fedDefesa.slice(0, 12).map(pickSection), + fedAtaque: sectionListsSalvador.cross.fedAtaque.slice(0, 10).map(pickSection), + excessoFed: sectionListsSalvador.cross.excessoFed.slice(0, 10).map(pickSection), + estDefesa: sectionListsSalvador.cross.estDefesa.slice(0, 12).map(pickSection), + estAtaque: sectionListsSalvador.cross.estAtaque.slice(0, 12).map(pickSection), + dobradinha: sectionListsSalvador.cross.dobradinha.slice(0, 12).map(pickSection), + }, + }, + rms: { + topBnFed: sectionListsRms.topBnFed.slice(0, 12).map(pickSection), + topBnEst: sectionListsRms.topBnEst.slice(0, 12).map(pickSection), + topTetoFed: sectionListsRms.topTetoFed.slice(0, 12).map(pickSection), + topTetoEst: sectionListsRms.topTetoEst.slice(0, 12).map(pickSection), + topSolla: sectionListsRms.topSolla.slice(0, 10).map(pickSection), + cross: { + thresholds: sectionListsRms.cross.thresholds, + fedDefesa: sectionListsRms.cross.fedDefesa.slice(0, 10).map(pickSection), + fedAtaque: sectionListsRms.cross.fedAtaque.slice(0, 10).map(pickSection), + excessoFed: sectionListsRms.cross.excessoFed.slice(0, 10).map(pickSection), + estDefesa: sectionListsRms.cross.estDefesa.slice(0, 10).map(pickSection), + estAtaque: sectionListsRms.cross.estAtaque.slice(0, 10).map(pickSection), + dobradinha: sectionListsRms.cross.dobradinha.slice(0, 10).map(pickSection), + }, + }, + }, + validation, + files, + urnNames: { ...seen, lula: names }, + } + + await mkdir(dirname(DATA_PATH), { recursive: true }) + await writeFile(DATA_PATH, `${JSON.stringify(data, null, 2)}\n`) + console.log(`[${LABEL}] dados gravados em ${DATA_PATH}`) + return data +} + +// --------------------------------------------------------------------------- +// Relatório +// --------------------------------------------------------------------------- + +const alignRight = (head) => head.map((_, index) => (index === 0 ? 'left' : 'right')) + +const table = (caption, head, rows, options = {}) => ({ + type: 'table', + caption, + head, + rows, + align: options.align ?? alignRight(head), +}) + +const sectionLabel = (entry, options = {}) => + options.salvador || entry.bairro + ? `${entry.city} — ${entry.bairro ?? 'sem bairro'} · ZE ${entry.zone} · seção ${entry.section}` + : `${entry.city} · ZE ${entry.zone} · seção ${entry.section}` + +const orDash = (value, digits = 2) => + value === null || value === undefined ? '—' : dec(value, digits) + +const sectionTableRows = (entries, options = {}) => + entries.map((entry) => [ + sectionLabel(entry, options), + nf(entry.compFed), + nf(entry.lula), + nf(entry.jeronimo), + nf(entry.blocoLJ), + nf(entry.brancoNuloFed), + nf(entry.excessoFed), + nf(entry.tetoFed), + orDash(entry.lqSolla), + nf(entry.solla), + nf(entry.brancoNuloEst), + nf(entry.excessoEst), + nf(entry.tetoEst), + nf(entry.ptEst), + orDash(entry.lqPt), + ]) + +const SECTION_HEAD = [ + 'Seção', + 'Comp.', + 'Lula', + 'Jer.', + 'Bloco', + 'Bn fed.', + 'Exc. fed.', + 'Teto fed.', + 'LQ Solla', + 'Solla', + 'Bn est.', + 'Exc. est.', + 'Teto est.', + 'Campo PT', + 'LQ PT', +] + +const geoRow = (entry) => [ + entry.label, + nf(entry.sections), + nf(entry.compFed), + nf(entry.lula), + nf(entry.jeronimo), + nf(entry.blocoLJ), + nf(entry.brancoNuloFed), + entry.compFed > 0 ? pct(entry.brancoNuloFed / entry.compFed) : '—', + nf(entry.excessoFed), + nf(entry.tetoFed), + nf(entry.solla), + orDash(entry.lqSolla), + nf(entry.brancoNuloEst), + nf(entry.excessoEst), + nf(entry.tetoEst), + nf(entry.ptEst), + orDash(entry.lqPt), +] + +const GEO_HEAD = [ + 'Território', + 'Seções', + 'Comp.', + 'Lula', + 'Jer.', + 'Bloco L+J', + 'Bn fed.', + '% não-esc.', + 'Exc. fed.', + 'Teto fed.', + 'Solla', + 'LQ Solla', + 'Bn est.', + 'Exc. est.', + 'Teto est.', + 'Campo PT', + 'LQ PT', +] + +const SIMPLE_FED_HEAD = [ + 'Seção', + 'Comp.', + 'Bn fed.', + 'Bloco L+J', + 'LQ esq.', + 'Solla', + 'LQ Solla', + 'Campo PT fed.', + 'LQ PT fed.', +] + +const simpleFedRows = (entries) => + entries.map((entry) => [ + sectionLabel(entry), + nf(entry.compFed), + nf(entry.brancoNuloFed), + nf(entry.blocoLJ), + orDash(entry.lqLeft), + nf(entry.solla), + orDash(entry.lqSolla), + nf(entry.ptFed), + orDash(entry.lqPtFed), + ]) + +const SIMPLE_EST_HEAD = [ + 'Seção', + 'Comp.', + 'Bn est.', + 'Bloco L+J', + 'LQ esq.', + 'Campo PT est.', + 'LQ PT est.', +] + +const simpleEstRows = (entries) => + entries.map((entry) => [ + sectionLabel(entry), + nf(entry.compFed), + nf(entry.brancoNuloEst), + nf(entry.blocoLJ), + orDash(entry.lqLeft), + nf(entry.ptEst), + orDash(entry.lqPt), + ]) + +const bullets = (items) => ({ type: 'bullets', items }) +const paragraphs = (items) => ({ type: 'paragraphs', items }) +const note = (title, text) => ({ type: 'note', title, text }) + +const kpi = (label, value, detail) => ({ label, value, detail }) + +function buildReport(data, estrategia) { + const { totals, sections: lists, cities, salvador, rms, territories } = data + const ba = totals.ba + const totalErrors = lists.ba.cross.thresholds.qualified + const escalaFed1 = ba.excessoFed / 100 + const escalaEst1 = ba.excessoEst / 100 + const blocoNas30Fed = lists.ba.topBnFed.reduce((sum, row) => sum + row.blocoLJ, 0) + const blocoNas30Est = lists.ba.topBnEst.reduce((sum, row) => sum + row.blocoLJ, 0) + const zonasSalvadorTeto = [...salvador.zones] + .sort((left, right) => right.tetoFed - left.tetoFed) + .slice(0, 4) + .map((zone) => `ZE${zone.zone}`) + .join(', ') + const zonasSalvadorPt = [...salvador.zones] + .sort((left, right) => (right.lqPt ?? 0) - (left.lqPt ?? 0)) + .slice(0, 2) + .map((zone) => `ZE${zone.zone}`) + .join(', ') + const rmsTop = rms.cities + .slice(0, 4) + .map((city) => city.city) + .join(', ') + + const topCityRows = cities + .slice(0, 20) + .map((city) => [ + city.city, + city.territory, + nf(city.sections), + nf(city.compFed), + nf(city.blocoLJ), + nf(city.brancoNuloFed), + nf(city.excessoFed), + nf(city.tetoFed), + nf(city.solla), + orDash(city.lqSolla), + nf(city.brancoNuloEst), + nf(city.tetoEst), + nf(city.ptEst), + orDash(city.lqPt), + ]) + + const simpleCityRows = cities + .slice() + .sort((left, right) => right.brancoNuloFed - left.brancoNuloFed) + .slice(0, 15) + .map((city) => [ + city.city, + city.territory, + nf(city.brancoNuloFed), + nf(city.brancoNuloEst), + orDash(city.lqLeft), + nf(city.solla), + orDash(city.lqSolla), + nf(city.ptFed), + orDash(city.lqPtFed), + nf(city.ptEst), + orDash(city.lqPt), + ]) + + const territoryRows = territories.map((entry) => geoRow({ label: entry.name, ...entry.agg })) + const salvadorZoneRows = salvador.zones.map((zone) => geoRow(zone)) + const rmsRows = rms.cities.map((city) => [ + city.city, + nf(city.sections), + nf(city.compFed), + nf(city.blocoLJ), + nf(city.brancoNuloFed), + nf(city.excessoFed), + nf(city.tetoFed), + nf(city.solla), + orDash(city.lqSolla), + nf(city.brancoNuloEst), + nf(city.tetoEst), + nf(city.ptEst), + orDash(city.lqPt), + ]) + + const bairroRows = salvador.bairros + .slice(0, 20) + .map((bairro) => [ + bairro.label, + nf(bairro.sections), + nf(bairro.compFed), + nf(bairro.blocoLJ), + nf(bairro.brancoNuloFed), + nf(bairro.excessoFed), + nf(bairro.tetoFed), + nf(bairro.solla), + orDash(bairro.lqSolla), + nf(bairro.brancoNuloEst), + nf(bairro.tetoEst), + nf(bairro.ptEst), + orDash(bairro.lqPt), + ]) + + const strategyBlock = (entry, fallbackTitle) => + entry && Array.isArray(entry.blocks) && entry.blocks.length > 0 + ? entry.blocks + : [note(fallbackTitle, 'Seção a preencher com a leitura das personas.')] + + const report = { + title: 'Onde está o voto que falta', + subtitle: + 'O que as seções eleitorais de 2022 dizem sobre o voto de Lula e Jerônimo que não escolheu deputado — e onde Jorge Solla (1313) e o campo estadual têm mais espaço na reta final de 2026. Julio Pinheiro (13999) não disputou 2022; o lado estadual usa o cargo e o campo PT 13xxx como proxy.', + date: DATE_LABEL, + kpis: [ + kpi('Comparecimento 2022 (BA)', nf(ba.compFed), `${nf(ba.sections)} seções · turno 1`), + kpi('Bloco Lula+Jerônimo', nf(ba.blocoLJ), 'mín(mín(Lula,Jerônimo)) por seção'), + kpi( + 'Não-escolha federal', + nf(ba.brancoNuloFed), + `${pct(ba.brancoNuloShareFed)} do comparecimento · ${nf(ba.excessoFed)} acima da presidencial`, + ), + kpi( + 'Não-escolha estadual', + nf(ba.brancoNuloEst), + `${pct(ba.brancoNuloShareEst)} do comparecimento · ${nf(ba.excessoEst)} acima`, + ), + kpi('Solla 1313', nf(ba.solla), `${pct(ba.sollaShare)} dos nominais federais`), + kpi( + 'Campo PT estadual', + nf(ba.ptEst), + `${pct(ba.ptEstShare)} dos nominais estaduais · todos os 13xxx`, + ), + kpi( + 'Teto L+J → federal', + nf(ba.tetoFed), + `piso ${nf(ba.pisoFed)} · intervalo da pergunta literal`, + ), + kpi( + 'Teto L+J → estadual', + nf(ba.tetoEst), + `piso ${nf(ba.pisoEst)} · intervalo da pergunta literal`, + ), + ], + sections: [ + { + id: 'essencial', + title: 'O essencial', + subtitle: 'A leitura de trinta segundos e o mapa deste documento', + blocks: [ + bullets([ + { + label: 'A premissa não se confirma', + text: `Os nominais para deputado (${nf(ba.valFed)} federais e ${nf(ba.valEst)} estaduais) superam o bloco Lula+Jerônimo (${nf(ba.blocoLJ)}): não há um exército de lulistas represado na proporcional.`, + }, + { + label: 'O estoque real', + text: `Branco+nulo de ${nf(ba.brancoNuloFed)} no federal (${pct(ba.brancoNuloShareFed)} do comparecimento) e ${nf(ba.brancoNuloEst)} no estadual (${pct(ba.brancoNuloShareEst)}); excesso sobre a presidencial de ${nf(ba.excessoFed)} e ${nf(ba.excessoEst)}.`, + }, + { + label: 'Concentração', + text: `Salvador responde por ${nf(totals.salvador.brancoNuloFed)} (${pct(totals.salvador.brancoNuloShareFed)} do comparecimento local) no federal e ${nf(totals.salvador.brancoNuloEst)} no estadual; a RMS soma ${nf(totals.rms.brancoNuloFed)} e ${nf(totals.rms.brancoNuloEst)}.`, + }, + { + label: 'Solla e campo', + text: `Solla tem LQ 1,25 em Salvador, 2,10 no Recôncavo e 7,91 no Vale do Jiquiriçá; o campo PT estadual é forte no Sudoeste Baiano (1,68) e no Médio Sudoeste (1,91).`, + }, + { + label: 'Alvos diretos', + text: `As seções líderes em branco+nulo federal (${lists.ba.topBnFed[0].city} ZE${lists.ba.topBnFed[0].zone} s${lists.ba.topBnFed[0].section}, ${nf(lists.ba.topBnFed[0].brancoNuloFed)} votos) e estadual (${lists.ba.topBnEst[0].city} ZE${lists.ba.topBnEst[0].zone} s${lists.ba.topBnEst[0].section}, ${nf(lists.ba.topBnEst[0].brancoNuloEst)} votos) abrem as seções de alvos diretos, com a força da esquerda ao lado.`, + }, + ]), + note( + 'Abreviações das tabelas', + 'Bn = branco+nulo; Exc. = excesso sobre o branco+nulo da presidencial na mesma seção; Teto = mín(bloco L+J, branco+nulo do cargo); LQ = quociente local (1,00 = padrão do estado); Campo PT fed./est. = soma dos nominais de todos os candidatos 13xx/13xxx; Jer. = Jerônimo; Comp. = comparecimento.', + ), + paragraphs([ + 'Roteiro: “A Bahia inteira” fixa a escala; “O cruzamento de seções” separa defesa, ataque e dobradinha; “Municípios” e “Seções em destaque” dão o volume; “Alvos simples” e “Esquerda forte” entregam a lista direta da reta final; “Salvador”, “RMS” e “Territórios de Identidade” descem a geografia; “Dia da eleição” traz a operação lícita; as leituras da Cientista Política e da Coordenação Geral fecham com crítica e prioridades; “Método” documenta validação e limites.', + ]), + ], + }, + { + id: 'como-ler', + title: 'Como ler este relatório', + subtitle: 'O que é observável, o que é teto e o que ninguém consegue saber', + blocks: [ + paragraphs([ + 'A unidade é a seção eleitoral de 2022 (1º turno), a menor unidade publicada pelo TSE. Toda seção tem voto nominal por candidato e aferição por cargo (comparecimento, nominais, legenda, brancos, nulos). Ninguém observa o voto individual: o que se mede é quantos votos cada cargo recebeu na mesma seção, nunca quem votou em quem.', + 'A premissa da pergunta — "muita gente votou Lula e Jerônimo e não votou para deputado" — não se confirma no agregado. Na Bahia, os votos nominais para deputado federal (7,60 mi) e para estadual (7,17 mi) são maiores que os votos de Lula (5,87 mi) e muito maiores que o bloco Lula+Jerônimo (4,02 mi, o menor dos dois por seção). O eleitorado que escolheu os dois nomes do campo é uma minoria dentro de quem votou para deputado: não existe um exército de eleitores de Lula que deixou a disputa proporcional em branco esperando para ser convertido — o que existe é uma fração que não escolheu nome nenhum (branco/nulo) e outra que escolheu nomes de outros campos. A pergunta certa, então, é onde a não-escolha se concentra e onde ela é anormal em relação à própria seção.', + 'A pergunta literal ("votou Lula e Jerônimo e não votou para o cargo") só pode ser respondida como intervalo, porque ninguém liga o voto individual. O piso é o mínimo que a matemática garante: Lula + Jerônimo − comparecimento − válidos do cargo, nunca negativo. O teto é o máximo admissível: o menor valor entre o bloco Lula+Jerônimo e os brancos+nulos do cargo. Somados por seção, o piso federal do estado é de apenas 1 voto e o teto, de 896 mil — o intervalo mostra que a maior parte da intuição não é verificável, e o dado útil é o próprio volume de brancos+nulos e o seu excesso sobre o que a mesma seção fez na eleição presidencial.', + 'O lado estadual tem uma ausência declarada: Julio Pinheiro (13999) não disputou 2022 — foi prefeito de Amargosa até 2020 e voltou à disputa em 2026. Não existe votação dele para cruzar. Por isso o recorte estadual usa duas camadas: a não-escolha do cargo (branco+nulo para deputado estadual) e o campo PT estadual — a soma dos votos nominais de todos os candidatos 13xxx, um proxy de onde a estrutura partidária já existe. Onde as duas coincidem, a dobradinha tem terreno; onde só a não-escolha existe, é terreno de construção.', + ]), + note( + 'Limites que valem para todas as tabelas', + 'O voto é do local de votação, não da casa do eleitor; o cadastro do TSE não liga o voto ao domicílio. Seções pequenas oscilam — por isso os cruzamentos de força relativa só entram com pelo menos 200 comparecentes e 120 nominais federais. "Excesso" é a não-escolha do cargo menos a não-escolha da presidencial na mesma seção (nunca negativo): mede o abandono típico do voto proporcional, isolando quem deixou o cargo em branco além do normal daquele eleitorado. Nenhum número aqui mede intenção de voto, transferência efetiva ou efeito de campanha: mede potencial geométrico do território. As listas são de seções, não de pessoas — e a campanha não deve expor nominalmente os bairros/seções de "ataque" como prioridade pública (a lista é interna).', + ), + ], + }, + { + id: 'bahia', + title: 'A Bahia inteira', + subtitle: 'O teste da premissa e o tamanho real da não-escolha', + blocks: [ + paragraphs([ + `Em 2022, ${nf(ba.compFed)} eleitores compareceram na Bahia (1º turno). Lula teve ${nf(ba.lula)} votos no estado e Jerônimo, ${nf(ba.jeronimo)}; o bloco conservador Lula+Jerônimo soma ${nf(ba.blocoLJ)}. Para deputado federal, os votos nominais (em candidatos) foram ${nf(ba.valFed)} e as legendas, ${nf(ba.legFed)}; para deputado estadual, ${nf(ba.valEst)} nominais e ${nf(ba.legEst)} de legenda.`, + `A não-escolha do cargo — votos brancos e nulos — foi de ${nf(ba.brancoNuloFed)} para deputado federal (${pct(ba.brancoNuloShareFed)} do comparecimento) e de ${nf(ba.brancoNuloEst)} para deputado estadual (${pct(ba.brancoNuloShareEst)}). Desse total, o que excede o padrão da mesma seção na eleição presidencial soma ${nf(ba.excessoFed)} no federal e ${nf(ba.excessoEst)} no estadual. Para a pergunta literal, o intervalo somado por seção vai de ${nf(ba.pisoFed)} a ${nf(ba.tetoFed)} no federal e de ${nf(ba.pisoEst)} a ${nf(ba.tetoEst)} no estadual.`, + `A "sobra de nomes" (bloco Lula+Jerônimo menos nominais do cargo) é de apenas ${nf(ba.sobraFed)} no federal e ${nf(ba.sobraEst)} no estadual: onde o bloco é grande, o cargo costuma ter mais nomes do que ele — a intuição de um grande contigente de lulistas sem voto para deputado não se sustenta. O que se sustenta é a não-escolha de ${nf(ba.brancoNuloFed)} votos no federal e ${nf(ba.brancoNuloEst)} no estadual: é esse o volume que a campanha disputa nos últimos dias.`, + `Nas urnas de 2022, Solla teve ${nf(ba.solla)} votos (${pct(ba.sollaShare)} dos nominais federais; LQ 1,00 por definição). O campo PT estadual (todos os candidatos 13xxx, sem legenda) somou ${nf(ba.ptEst)} votos (${pct(ba.ptEstShare)} dos nominais estaduais). A pergunta deste relatório é onde, seção a seção, a não-escolha se concentra e cruza com a força de Solla e do campo.`, + ]), + table('Bahia — números de 2022 (1º turno)', GEO_HEAD, [geoRow(ba)]), + ], + }, + { + id: 'bahia-cruzamento', + title: 'Bahia — o cruzamento de seções', + subtitle: + 'Não-escolha alta com Solla forte, com Solla fraco, com o campo PT e na dobradinha', + blocks: [ + paragraphs([ + `Dos ${nf(ba.sections)} seções do estado, ${nf(totalErrors)} entram nos cruzamentos (comparecimento ≥ 200 e 120 nominais federais). "Solla forte" é LQ ≥ 1,5 (uma vez e meia o padrão estadual dele); "Solla fraco", LQ ≤ 0,5. "Não-escolha alta" é o quartil superior do teto Lula+Jerônimo (≥ ${nf(lists.ba.cross.thresholds.p75Fed)} votos — teto = mín(bloco, brancos+nulos)); para ataque, exigimos o decil superior (≥ ${nf(lists.ba.cross.thresholds.p90Fed)}) e ao menos 300 nominais federais, para não caçar ruído de seção pequena. A lista de excesso mostra as seções em que o abandono do cargo mais superou o abandono da presidencial na mesma urna.`, + ]), + table( + `Defender e converter — Solla forte e não-escolha federal alta (top ${lists.ba.cross.fedDefesa.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.fedDefesa), + ), + table( + `Atacar — Solla fraco (LQ ≤ 0,5) e não-escolha federal no decil superior (top ${lists.ba.cross.fedAtaque.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.fedAtaque), + ), + table( + `Onde o voto para deputado foi abandonado além do normal da presidencial (top ${lists.ba.cross.excessoFed.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.excessoFed), + ), + table( + `Campo PT estadual forte e não-escolha estadual alta (top ${lists.ba.cross.estDefesa.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.estDefesa), + ), + table( + `Campo PT estadual fraco e não-escolha estadual no decil superior — construção (top ${lists.ba.cross.estAtaque.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.estAtaque), + ), + table( + `Dobradinha — não-escolha federal e estadual altas na mesma seção (top ${lists.ba.cross.dobradinha.length})`, + SECTION_HEAD, + sectionTableRows(lists.ba.cross.dobradinha), + ), + ], + }, + { + id: 'bahia-municipios', + title: 'Bahia — municípios com mais não-escolha', + subtitle: 'O mapa de volume: onde o voto para deputado ficou em branco ou nulo', + blocks: [ + table( + 'Top 20 municípios por teto federal (não-escolha e excesso ao lado)', + [ + 'Município', + 'Território', + 'Seções', + 'Comp.', + 'Bloco L+J', + 'Bn fed.', + 'Exc. fed.', + 'Teto fed.', + 'Solla', + 'LQ Solla', + 'Bn est.', + 'Teto est.', + 'Campo PT', + 'LQ PT', + ], + topCityRows, + ), + ], + }, + { + id: 'bahia-secoes', + title: 'Bahia — seções em destaque', + subtitle: 'Volume absoluto: teto Lula+Jerônimo, não-escolha e os maiores votos nominais', + blocks: [ + table( + `Top ${lists.ba.topTetoFed.length} seções por teto Lula+Jerônimo no federal`, + SECTION_HEAD, + sectionTableRows(lists.ba.topTetoFed), + ), + table( + `Top ${lists.ba.topTetoEst.length} seções por teto Lula+Jerônimo no estadual`, + SECTION_HEAD, + sectionTableRows(lists.ba.topTetoEst), + ), + table( + `Top ${lists.ba.topSolla.length} seções por votos de Solla (1313)`, + SECTION_HEAD, + sectionTableRows(lists.ba.topSolla), + ), + ], + }, + { + id: 'alvos-simples', + title: 'Alvos simples — branco+nulo direto', + subtitle: + 'A lista crua: onde o voto para o cargo ficou em branco/nulo, com a força da esquerda ao lado', + blocks: [ + paragraphs([ + 'A leitura mais direta do pedido: ordenar as seções pelo número absoluto de votos em branco ou nulos, sem teto nem piso. No federal, é o estoque endereçável de Solla (1313); no estadual, do campo do PT — Julio Pinheiro (13999) não disputou 2022 e não tem baseline. O LQ esquerda compara a fatia do bloco Lula+Jerônimo na seção com a mesma fatia na Bahia (LQ 1,00 = padrão do estado); LQ PT fed/est compara o campo 13xx/13xxx com o padrão do campo. LQ acima de 1 significa acima do padrão — leitura relativa, nunca percentual absoluto.', + 'A ordem das colunas conta a história: branco+nulo mostra o volume; LQ esquerda mostra se a seção é do campo; Solla e campo PT mostram a captura atual. Seção com branco+nulo alto e LQ esquerda acima de 1 é onde pedir o número tem recepção — não promessa de voto.', + ]), + table( + `Top ${lists.ba.topBnFed.length} seções por branco+nulo federal — estoque direto para Solla`, + SIMPLE_FED_HEAD, + simpleFedRows(lists.ba.topBnFed), + ), + table( + `Top ${lists.ba.topBnEst.length} seções por branco+nulo estadual — estoque direto do campo do PT`, + SIMPLE_EST_HEAD, + simpleEstRows(lists.ba.topBnEst), + ), + table( + 'Top 15 municípios por branco+nulo federal (estadual e força da esquerda ao lado)', + [ + 'Município', + 'Território', + 'Bn fed.', + 'Bn est.', + 'LQ esq.', + 'Solla', + 'LQ Solla', + 'Campo PT fed.', + 'LQ PT fed.', + 'Campo PT est.', + 'LQ PT est.', + ], + simpleCityRows, + ), + ], + }, + { + id: 'esquerda-forte', + title: 'Esquerda forte, cargo em branco', + subtitle: + 'Seções acima do padrão estadual no campo da esquerda e com voto do cargo em branco/nulo — as melhores para inserção', + blocks: [ + paragraphs([ + `O filtro pedido: a seção precisa ser particularmente forte no campo da esquerda (LQ esquerda ≥ 1,25, ou seja, 25% acima do padrão do estado) e ter branco+nulo no quartil superior das seções qualificadas (federal ≥ ${nf(lists.ba.cross.thresholds.p75BnFed)} e estadual ≥ ${nf(lists.ba.cross.thresholds.p75BnEst)}). São as seções onde a recepção do campo existe e o cargo ficou vazio — a inserção do PT é facilitada porque o eleitor já votou Lula e Jerônimo ali.`, + 'Para Solla, a lista federal traz também o campo PT federal (todos os 13xx, do qual ele é o maior nome). Para o lado estadual, a coluna é o campo PT 13xxx — proxy de onde a estrutura do PT existe, já que Julio Pinheiro não tem votação de 2022.', + ]), + table( + `Federal — esquerda forte e branco+nulo alto (top ${lists.ba.cross.leftFed.length})`, + SIMPLE_FED_HEAD, + simpleFedRows(lists.ba.cross.leftFed), + ), + table( + `Estadual — esquerda forte e branco+nulo alto (top ${lists.ba.cross.leftEst.length})`, + SIMPLE_EST_HEAD, + simpleEstRows(lists.ba.cross.leftEst), + ), + note( + 'Uso interno', + 'Lista de trabalho da coordenação. Não vira material público nem mapa de prioridade exposto; o pedido é rede e número, dentro da lei.', + ), + ], + }, + { + id: 'salvador', + title: 'Salvador', + subtitle: 'A capital em zonas, bairros e seções — onde o volume está', + blocks: [ + paragraphs([ + `Salvador compareceu com ${nf(salvador.zones.reduce((sum, zone) => sum + zone.compFed, 0))} em 2022. O bloco Lula+Jerônimo na cidade é de ${nf(salvador.zones.reduce((sum, zone) => sum + zone.blocoLJ, 0))} e a não-escolha para deputado federal somou ${nf(salvador.zones.reduce((sum, zone) => sum + zone.brancoNuloFed, 0))} votos (${nf(salvador.zones.reduce((sum, zone) => sum + zone.excessoFed, 0))} acima do padrão presidencial); no estadual, ${nf(salvador.zones.reduce((sum, zone) => sum + zone.brancoNuloEst, 0))} (${nf(salvador.zones.reduce((sum, zone) => sum + zone.excessoEst, 0))} de excesso). Solla fez ${nf(salvador.zones.reduce((sum, zone) => sum + zone.solla, 0))} na capital (${pct( + share( + salvador.zones.reduce((sum, zone) => sum + zone.solla, 0), + salvador.zones.reduce((sum, zone) => sum + zone.valFed, 0), + ), + )} dos nominais federais) e o campo PT estadual somou ${nf(salvador.zones.reduce((sum, zone) => sum + zone.ptEst, 0))}.`, + ]), + table('Salvador — por zona eleitoral (ordem de ZE)', GEO_HEAD, salvadorZoneRows), + table( + 'Salvador — top 20 bairros (local de votação) por teto federal', + [ + 'Bairro (TSE)', + 'Seções', + 'Comp.', + 'Bloco L+J', + 'Bn fed.', + 'Exc. fed.', + 'Teto fed.', + 'Solla', + 'LQ Solla', + 'Bn est.', + 'Teto est.', + 'Campo PT', + 'LQ PT', + ], + bairroRows, + ), + table( + `Salvador — top ${salvador.sections.topTetoFed.length} seções por teto Lula+Jerônimo no federal`, + SECTION_HEAD, + sectionTableRows(salvador.sections.topTetoFed, { salvador: true }), + ), + table( + `Salvador — top ${salvador.sections.topTetoEst.length} seções por teto Lula+Jerônimo no estadual`, + SECTION_HEAD, + sectionTableRows(salvador.sections.topTetoEst, { salvador: true }), + ), + table( + `Salvador — Solla forte e não-escolha federal alta (top ${salvador.sections.cross.fedDefesa.length})`, + SECTION_HEAD, + sectionTableRows(salvador.sections.cross.fedDefesa, { salvador: true }), + ), + table( + `Salvador — Solla fraco e não-escolha federal alta — ataque (top ${salvador.sections.cross.fedAtaque.length})`, + SECTION_HEAD, + sectionTableRows(salvador.sections.cross.fedAtaque, { salvador: true }), + ), + table( + `Salvador — onde o voto para deputado foi mais abandonado (top ${salvador.sections.cross.excessoFed.length})`, + SECTION_HEAD, + sectionTableRows(salvador.sections.cross.excessoFed, { salvador: true }), + ), + table( + `Salvador — dobradinha: não-escolha federal e estadual altas (top ${salvador.sections.cross.dobradinha.length})`, + SECTION_HEAD, + sectionTableRows(salvador.sections.cross.dobradinha, { salvador: true }), + ), + ], + }, + { + id: 'rms', + title: 'Região Metropolitana de Salvador (demais municípios)', + subtitle: 'Fora da capital, com Salvador fora da conta', + blocks: [ + paragraphs([ + `Os ${rmsRows.length} municípios da RMS (todos os do Território Metropolitano de Salvador exceto a capital) somam bloco Lula+Jerônimo de ${nf(rms.cities.reduce((sum, city) => sum + city.blocoLJ, 0))}, não-escolha federal de ${nf(rms.cities.reduce((sum, city) => sum + city.brancoNuloFed, 0))} votos (${nf(rms.cities.reduce((sum, city) => sum + city.excessoFed, 0))} de excesso sobre a presidencial) e não-escolha estadual de ${nf(rms.cities.reduce((sum, city) => sum + city.brancoNuloEst, 0))}. Solla fez ${nf(rms.cities.reduce((sum, city) => sum + city.solla, 0))} na região e o campo PT estadual somou ${nf(rms.cities.reduce((sum, city) => sum + city.ptEst, 0))}.`, + ]), + table( + 'RMS — por município (ordem de teto federal)', + [ + 'Município', + 'Seções', + 'Comp.', + 'Bloco L+J', + 'Bn fed.', + 'Exc. fed.', + 'Teto fed.', + 'Solla', + 'LQ Solla', + 'Bn est.', + 'Teto est.', + 'Campo PT', + 'LQ PT', + ], + rmsRows, + ), + table( + `RMS — top ${rms.sections.topTetoFed.length} seções por teto Lula+Jerônimo no federal`, + SECTION_HEAD, + sectionTableRows(rms.sections.topTetoFed), + ), + table( + `RMS — top ${rms.sections.topTetoEst.length} seções por teto Lula+Jerônimo no estadual`, + SECTION_HEAD, + sectionTableRows(rms.sections.topTetoEst), + ), + table( + `RMS — dobradinha: não-escolha federal e estadual altas (top ${rms.sections.cross.dobradinha.length})`, + SECTION_HEAD, + sectionTableRows(rms.sections.cross.dobradinha), + ), + ], + }, + { + id: 'territorios', + title: 'Territórios de Identidade', + subtitle: 'Os 27 TIs na mesma régua — e os destaques de cada um', + blocks: [ + paragraphs([ + 'A tabela compara os 27 Territórios de Identidade pela não-escolha absoluta e pela não-escolha relativa ao comparecimento. Território grande tem volume grande por construção; a coluna de percentual mostra onde o eleitorado abandonou mais o cargo, e a de excesso isola o abandono típico do voto proporcional. Salvador aparece dentro do Metropolitano de Salvador — a leitura da capital está na seção própria.', + ]), + table('Os 27 Territórios de Identidade — 2022, 1º turno', GEO_HEAD, territoryRows), + ...territories.flatMap((entry) => [ + paragraphs([ + `**${entry.name}** — bloco ${nf(entry.agg.blocoLJ)}, não-escolha federal ${nf(entry.agg.brancoNuloFed)} (excesso ${nf(entry.agg.excessoFed)}) e estadual ${nf(entry.agg.brancoNuloEst)} (excesso ${nf(entry.agg.excessoEst)}); Solla ${nf(entry.agg.solla)} (LQ ${orDash(entry.agg.lqSolla)}), campo PT est. ${nf(entry.agg.ptEst)} (LQ ${orDash(entry.agg.lqPt)}).`, + ]), + table( + `${entry.name} — top 5 seções por teto Lula+Jerônimo no federal`, + SECTION_HEAD, + sectionTableRows(entry.topTetoFed), + ), + table( + `${entry.name} — top 5 seções por teto Lula+Jerônimo no estadual`, + SECTION_HEAD, + sectionTableRows(entry.topTetoEst), + ), + ]), + ], + }, + { + id: 'dia-eleicao', + title: 'Dia da eleição — operação dentro da lei', + subtitle: + 'O que os dados autorizam planejar no domingo: colinha até sábado, fiscais e mobilização de rede', + blocks: [ + note( + 'O limite legal', + 'No dia da eleição a propaganda de boca de urna é vedada — aglomeração, vestuário padronizado, alto-falante ou entrega de material ao eleitor (Lei 9.504/1997, art. 39, §5º, c/c art. 75; Código Eleitoral, art. 301). Este plano usa apenas instrumentos lícitos: pedido e colinha até sábado, fiscais partidários nos locais de votação no domingo, rede de lembretes antes do pleito e transporte só conforme as regras oficiais — a campanha não oferece transporte nem refeição a eleitor.', + ), + paragraphs([ + `Regra de ouro: no domingo, quem age é fiscal e mobilizador, não cabo eleitoral em campanha. O dado serve para distribuir presença onde o retorno é maior: as seções com mais branco+nulo e com o campo já forte. Nas 30 seções listadas no federal, o bloco Lula+Jerônimo soma ${nf(blocoNas30Fed)} eleitores — esse é o público que a colinha (entregue até sábado) e o lembrete de rede endereçam; nas 30 do estadual, ${nf(blocoNas30Est)}.`, + `Escala para dimensionar sem prometer: cada 1% do excesso federal sobre a presidencial vale ~${nf(escalaFed1)} votos no estado (5% ≈ ${nf(escalaFed1 * 5)}, 10% ≈ ${nf(escalaFed1 * 10)}); no estadual, 1% ≈ ${nf(escalaEst1)}. Conversão não é estimável a partir do TSE — o número serve para calibrar esforço, não como meta.`, + ]), + bullets([ + { + label: 'Colinha e material até sábado', + text: `Fechar e distribuir pela rede nas seções de maior branco+nulo (federal de ${nf(lists.ba.topBnFed[0]?.brancoNuloFed ?? 0)} a ${nf(lists.ba.topBnFed[11]?.brancoNuloFed ?? 0)} votos; estadual de ${nf(lists.ba.topBnEst[0]?.brancoNuloEst ?? 0)} a ${nf(lists.ba.topBnEst[11]?.brancoNuloEst ?? 0)}). No domingo, nada de material ao eleitor.`, + }, + { + label: 'Fiscais por local', + text: `Priorizar Salvador (${zonasSalvadorTeto} pelos maiores tetos; ${zonasSalvadorPt} pelo campo PT), Feira de Santana, ${rmsTop} na RMS e os locais das seções listadas no interior. Fiscal observa e reporta; não faz campanha no local.`, + }, + { + label: 'Rede até sábado 23h59', + text: 'Lembrete do número (1313 federal; 13xxx estadual) por contato direto e grupos; registrar com data quem foi alcançado, sem sobrescrever valores.', + }, + { + label: 'Domingo', + text: 'Comparecimento e ocorrências por seção viram relatório para o backtest; mobilização não aborda eleitor no local; transporte e alimentação apenas conforme regras oficiais.', + }, + ]), + table( + 'Prioridade de posicionamento — 12 seções por branco+nulo federal', + SIMPLE_FED_HEAD, + simpleFedRows(lists.ba.topBnFed.slice(0, 12)), + ), + table( + 'Prioridade de posicionamento — 12 seções por branco+nulo estadual', + SIMPLE_EST_HEAD, + simpleEstRows(lists.ba.topBnEst.slice(0, 12)), + ), + note( + 'Como usar a estimativa', + 'O teto de alcance é a soma do bloco L+J nas seções priorizadas; o efeito depende da rede (contato, pedido completo, colinha na mão do simpatizante). Sem backtest de 2026 não há como estimar conversão — trate os percentuais como escala de esforço, não como projeção de votos.', + ), + ], + }, + { + id: 'estrategia-cientifica', + title: 'Leitura da Cientista Política', + subtitle: 'Crítica do método e do que o dado permite afirmar', + blocks: strategyBlock(estrategia?.cientificaPolitica, 'A preencher'), + }, + { + id: 'estrategia-coordenacao', + title: 'Leitura da Coordenação Geral de campanha', + subtitle: 'O que fazer com isso nos últimos dias', + blocks: strategyBlock(estrategia?.coordenacaoGeral, 'A preencher'), + }, + { + id: 'metodo', + title: 'Método, validação e proveniência', + subtitle: 'Reprodutibilidade e limites', + blocks: [ + paragraphs([ + 'Fonte: Portal de Dados Abertos do TSE — resultados de 2022 (1º turno), arquivos votacao_secao_2022_BA, votacao_secao_2022_BR, detalhe_votacao_secao_2022 e eleitorado_local_votacao_2022. Extração em cache local; nenhum dado de campanha, banco ou pesquisa interna foi usado.', + `Validação: as somas por seção foram conferidas contra o baseline TSE commitado no repositório (bahia-federal-baseline.json) para Solla 1313, Lula, Jerônimo, nominais, comparecimento, brancos e nulos, unidade a unidade (${nf(cities.length + 18)} municípios/zonas, sem divergência).`, + ]), + bullets(data.validation.map((check) => ({ label: '', text: check }))), + table( + 'Arquivos-fonte (sha256 integral no JSON de dados)', + ['Arquivo', 'Bytes'], + data.files.map((file) => [file.name, nf(file.bytes)]), + { align: ['left', 'right'] }, + ), + note( + 'Regras de uso', + 'Documento interno de análise. As listas de seções de "ataque" não devem virar material público nem ser expostas como prioridade da campanha. A leitura de conversão (rede, liderança, pedido do número) é operação de coordenação — o dado indica onde, nunca como. Nada aqui estima intenção de voto nem promete transferência.', + ), + ], + }, + ], + } + return report +} + +// --------------------------------------------------------------------------- +// Render +// --------------------------------------------------------------------------- + +const renderTableMd = (block) => { + const head = block.head + const rows = block.rows.map((row) => row.map((cell) => String(cell).replaceAll('|', '\\|'))) + const widths = head.map((cell, index) => + Math.max(String(cell).length, ...rows.map((row) => row[index].length)), + ) + const pad = (text, index) => text + ' '.repeat(widths[index] - text.length) + return [ + `**${block.caption}**`, + '', + `| ${head.map(pad).join(' | ')} |`, + `| ${widths.map((width) => '-'.repeat(width)).join(' | ')} |`, + ...rows.map((row) => `| ${row.map(pad).join(' | ')} |`), + ].join('\n') +} + +const renderBlocksMd = (blocks) => + blocks + .map((block) => { + switch (block.type) { + case 'paragraphs': + return block.items.join('\n\n') + case 'bullets': + return block.items + .map((item) => `- ${item.label ? `**${item.label}** ` : ''}${item.text}`) + .join('\n') + case 'note': + return `> **${block.title}** ${block.text}` + case 'table': + return renderTableMd(block) + default: + return '' + } + }) + .join('\n\n') + +const htmlEscape = (value) => + String(value) + .replaceAll('&', '&') + .replaceAll('<', '<') + .replaceAll('>', '>') + .replaceAll('"', '"') + +const renderBlocksHtml = (blocks) => + blocks + .map((block) => { + switch (block.type) { + case 'paragraphs': + return block.items + .map( + (item) => + `
${htmlEscape(item).replaceAll(/\*\*(.+?)\*\*/g, '$1')}
`, + ) + .join('') + case 'bullets': + return `${htmlEscape(block.text)}
| ${htmlEscape(cell)} | `).join('')}
|---|
| ${htmlEscape(cell)} | `) + .join('')}
${htmlEscape(section.subtitle)}
` : ''} + ${renderBlocksHtml(section.blocks)} +${htmlEscape(report.subtitle)}
+