What won it for Lula
Lula finished the 1st round 2.22 million votes behind Flávio Bolsonaro and won the 2nd by 4.43 million. The gap between them moved by 6.66 million votes. Almost none of it came from Flávio voters who switched sides, and little of it, on net, came from the voters of the eliminated candidates. The comeback came mostly from people who had not chosen anyone for president in the 1st round: those who voted blank, spoiled their ballot or did not vote.
Daniel Pessini Sobreira · October 26, 2026, updated October 27 · final TSE count for both rounds (100% of polling stations)
- +6.3MBlank, spoiled and absent voters in the 1st round: most of the comeback, by the estimate (between 6.0M and 6.5M, depending on the method).
- +0.3MVoters of Cury, Renan, Caiado and Zema: Cury's leaned to Lula, Caiado's and Zema's to Flávio. On net, nearly a tie (between +0.12M and +0.44M).
- ≈ 0Direct switches: Lula and Flávio kept about 99% of their 1st-round voters, and switches between the two cancelled out (net +0.09M to +0.15M).
1 · The exact arithmetic
14.1 million new votes went to the two. Lula took 74%
From the 1st to the 2nd round, Lula gained 10.38 million votes and Flávio 3.72 million. These 14.10 million additional votes have only three possible sources, and the sum matches the TSE totals:
This arithmetic is exact, but it is net: it does not separate people who switched candidates from those who were undecided. A Flávio voter who moved to Lula and a Lula voter who moved to Flávio cancel out in it. To learn where the votes came from, one has to look at how each place changed, and that is what the next sections do.
2 · Where the comeback came from
From the 1st-round margin to the 2nd, group by group
The chart starts from Lula's 1st-round deficit (−2.22M) and adds what each group of 1st-round voters contributed to the gap between the two in the 2nd. The contributions come from an ecological inference (explained in the method): for each region, we estimate what share of each 1st-round group went to Lula, to Flávio, to a blank or spoiled ballot and to abstention, using the country's 497,897 polling stations. Hover over a bar to see the interval.
Loading the chart…
The 1st-round blank and spoiled ballots are the largest block: +3.83M in the gap (from 3.65M in the state-level estimate to 3.93M). One possible explanation is that some of these voters did not mark a president in the 1st round, when the voting machine asked for six votes, and marked Lula in the 2nd, when there were one or two. Blank and spoiled 1st-round ballots were more frequent in municipalities with intermediate margins and in those favourable to Lula (correlation of 0.31 with his margin). By the estimate, 65% of them voted for Lula, 1% for Flávio and 34% voted blank or spoiled their ballot again.
Those who did not vote in the 1st round come next: +2.43M (2.42M to 2.65M). The vast majority of absentees stayed away again (88%), but of those who turned out, almost all voted for Lula (9.1% of the whole group went to Lula and 1.8% to Flávio).
The eliminated candidates' voters split. Augusto Cury's gave Lula +0.84M, and Renan Santos's +0.05M (up to +0.14M in the state-level estimate). Ronaldo Caiado's took 0.49M away, and those of Zema and the others 0.14M. In total, the eliminated candidates yielded Lula +0.27M, little next to the 6.66M swing. Direct switches between the two netted +0.09M, practically zero.
3 · Vote transfers
Where each 1st-round vote went in the 2nd round
Each bar is a group of 1st-round voters, split by what they did in the 2nd: Lula, Flávio, blank or spoiled, or did not vote. Change the region to see how the same group behaved in each part of the country.
Loading the chart…
Nationally, Augusto Cury's voters (3.44M) went 54% to Lula, 29% to Flávio and 16% to a blank or spoiled ballot. In the South, the split reverses: 42% went to Flávio. Ronaldo Caiado's (2.60M) went 52% to Flávio and 33% to Lula, except in the Northeast, where 54% voted for Lula. Renan Santos's (2.67M) split almost evenly (40% Lula, 38% Flávio).
Some of the eliminated candidates' voters, from 13% to 18% among those of Cury, Renan and Caiado, chose neither of the two and voted blank or spoiled their ballot. That is why blank and spoiled ballots fell so little (1.82M): most of the 1st-round ones went to Lula, and their place was partly taken by the eliminated candidates' voters.
Estimates by region, with a 90% interval from a municipal bootstrap (200 resamples), shown when hovering over each segment. Small groups (Zema and others, 0.59M) have unstable estimates.
4 · Where the comeback happened
Two thirds of the gain came from the big cities
There is no estimate here: it is the change, municipality by municipality, in the vote gap between Lula and Flávio, added up. The Southeast accounted for 2.86M (43%) and the Northeast for 2.56M (39%) of Lula's 6.64M net gain.
To look beyond regions, we grouped the 5,542 municipalities by political and social profile (margin and third-party vote in the 1st round, swing, change in turnout, education, religion, age, income and size) with k-means. The 5 types that came out (silhouette of 0.24, which indicates overlapping groups rather than sharp boundaries) show where the comeback weighed in votes: the 940 big cities and regional hubs, with 104.5M voters, delivered 4.36M of the net gain, 66% of the total.
| Type (largest cities) | Municipalities | Voters | Margin 1st → 2nd | Swing | Turnout | Third parties 1st r. | College | Evangelicals | Lula's gain |
|---|---|---|---|---|---|---|---|---|---|
| Big cities and regional hubsSão Paulo (SP), Rio de Janeiro (RJ), Brasília (DF), Belo Horizonte (MG) | 940 | 104.5M | −13.5 → −6.6 | +6.9 | +2.2 | 8.9% | 20.7% | 28.6% | +4.36M |
| Northeast where Lula already won comfortablyJuazeiro do Norte (CE), Juazeiro (BA), Timon (MA), Nossa Senhora do Socorro (SE) | 1,803 | 26.9M | +44.7 → +47.7 | +3.0 | +2.0 | 4.5% | 8.0% | 17.8% | +1.48M |
| Interior where Flávio ledItamaraju (BA), Diamantina (MG), Santos Dumont (MG), São Francisco do Conde (BA) | 2,006 | 14.1M | −20.9 → −15.4 | +5.5 | +2.2 | 6.6% | 11.9% | 23.2% | +0.38M |
| Young North and Northeast, with falling turnoutSão José de Ribamar (MA), Cametá (PA), Barcarena (PA), Bragança (PA) | 564 | 9.3M | +16.8 → +21.2 | +4.4 | −2.8 | 4.6% | 7.7% | 33.7% | +0.34M |
| Goiás and the Federal District area, high Caiado voteAparecida de Goiânia (GO), Luziânia (GO), Águas Lindas de Goiás (GO), Valparaíso de Goiás (GO) | 229 | 2.9M | −19.4 → −12.5 | +6.9 | +1.4 | 15.8% | 13.6% | 32.5% | +0.08M |
Averages weighted by the electorate. Margin and swing in percentage points of the votes cast for Lula and Flávio; turnout, change in points; third parties, % of valid 1st-round votes. Nationally: margin −2.6 → +3.4, swing +6.0, college 16.9%, evangelicals 26.6%.
5 · What explains the comeback
The swing was larger where there were more unclaimed votes and more young voters
To separate the factors, we regressed each municipality's swing (points Lula's margin moved) on the 1st-round vote, the electorate's profile, religion, income, size and region. All variables are standardized: each dot shows how many more (or fewer) points of swing go with one more standard deviation of the variable, holding the others fixed. The electorate-weighted model explains 70% of the variation across municipalities.
Loading the chart…
How much each group of factors explains
R² split by the Shapley value (average contribution of each group across all orders of entry into the model).
Loading the chart…
- The starting point weighs most. Where Lula already won comfortably in the 1st round, the margin moved less (−2.18 points per standard deviation): there were fewer voters left to win. The 1st-round vote, taken together, accounts for the largest share of what the model explains.
- Unclaimed votes. Holding everything else fixed, the swing was larger where there were more blank and spoiled ballots (+0.42), more votes for Cury (+0.35) and also for Caiado (+0.22) in the 1st round. This matches the bridge in section 2: what was up for grabs were the votes that had gone to neither of the two.
- Young people and women. Municipalities with younger electorates swung more (+0.71 for the 16-to-24 share), and those with more men swung less (−0.80). The same shows up in the October polls, which had Lula growing among young voters. But where there are more young people, turnout fell more (−1.49 points per standard deviation).
- Religion, education, income and size weigh little. The evangelical share has no effect of its own on the swing once the rest is controlled for (−0.04, not significant), although it is associated with a larger drop in turnout (−0.31). The sign of education changes with the model's weighting, and income and size have small effects.
- The Southeast swung more than all of this predicts. Compared with a Southeast municipality with the same profile, one in the North swung 1.3 points less, one in the South 0.9 and one in the Northeast 0.6.
Least squares weighted by the 1st-round electorate, with robust standard errors (HC3), 5,542 municipalities (those with all variables). Correlations across places say nothing about how each person voted and do not prove causation. The unweighted version and the spatial-error model (section 6) appear in the same chart.
6 · Spatial analysis
The comeback has a geography: Moran's I of 0.56
Neighbouring municipalities swung in similar ways. Global Moran's I, which ranges from −1 (opposite neighbours) to +1 (identical neighbours) and is close to zero when there is no pattern, is 0.56 for the swing (z = 88, p < 0.001 with 999 permutations). Each municipality's neighbours are its 8 nearest. The map shows the municipality types, the local clusters (LISA) and the hot spots of Lula's gain (Getis-Ord Gi*).
Loading the map…
Local clusters (LISA)
Local Moran tests, municipality by municipality, whether a place and its neighbours form a block. There are 1,149 high-high municipalities (large swing surrounded by large swing), with 70.8M voters, mostly in inland São Paulo, Minas Gerais, Rio de Janeiro, Goiás and Santa Catarina, where Flávio was strong and lost ground. The 1,125 low-low ones (18.3M voters) are mostly in Bahia, Piauí, northern Minas Gerais and the sertão: places where Lula already had almost all the votes and the margin moved little.
Hot spots of Lula's gain (Gi*)
Gi* looks at something else: where Lula's net gain, measured as a share of the electorate, is concentrated. The 1,402 municipalities in hot spots (95% or 99%), with 63.5M voters, added up to 3.69M of the net gain. They lie in the São Paulo and Rio metropolitan areas and in much of the Northeast's coast and agreste. The 1,337 cold spots are in Rio Grande do Sul, Santa Catarina, Paraná, Goiás and Mato Grosso, and also across much of Amazonas, Pará and Rondônia, where turnout fell.
Moran scatterplot
Each dot is a municipality: on the horizontal axis, its swing; on the vertical, the average of its 8 neighbours, both standardized. The slope of the line is Moran's I. Colours follow LISA.
The scatterplot appears together with the map.
Autocorrelation of other variables
| Variable | Moran's I | z | p | Geary's C |
|---|---|---|---|---|
| Swing (2nd-round margin − 1st-round margin) | 0.56 | 88 | < 0.001 | 0.44 |
| Lula's margin in the 1st round | 0.90 | 138 | < 0.001 | 0.11 |
| Lula's margin in the 2nd round | 0.90 | 144 | < 0.001 | 0.11 |
| Change in turnout | 0.71 | 112 | < 0.001 | 0.29 |
| Third-party votes in the 1st round | 0.80 | 126 | < 0.001 | 0.21 |
| Lula's net gain (% of electorate) | 0.67 | 104 | < 0.001 | 0.34 |
| Evangelicals (2022 Census) | 0.65 | 101 | < 0.001 | 0.36 |
| Voters with a college degree | 0.53 | 84 | < 0.001 | 0.46 |
Geary's C below 1 indicates similar neighbours. Weights of the 8 nearest neighbours, row-standardized; p from 999 permutations.
Do the factors survive geography?
The residuals of the section 5 regression are still autocorrelated (Moran's I of 0.29): part of the swing is explained by proximity, not by the measured variables. So we also estimated a spatial-error model. It absorbs this dependence (λ = 0.64; the residuals' Moran's I falls to −0.03) and fits better (AIC of 20,452 against 21,687 for the ordinary regression; the spatial-lag model comes in at 20,662). The main factors keep their sign and significance: 1st-round margin (−1.79), blank and spoiled (+0.41), Cury (+0.15), Caiado (+0.18), young voters (+0.17) and men (−0.35). GDP per capita loses strength (+0.08, against +0.27 without the spatial term).
Bivariate Moran shows that a municipality's swing has little to do with the change in turnout among its neighbours (I = 0.06) and more to do with the evangelical share around it (I = 0.23). This second association disappears once the other factors enter the model: it reflects geography (the inland Southeast and Center-West), not an effect of religion.
7 · The polls and the Tinoco hypothesis
The polling error and the Tinoco hypothesis
None of the instruments tracking the election anticipated the size of the comeback. On the eve of the vote, the polling average had Flávio 1.1 points ahead on the margin; Lula won by 3.6. The polls underestimated Lula by about 4.7 points of margin, a strong bias, all in the same direction. Polymarket gave Lula 20.5% on Sunday morning and this Placar 18%. The result landed above the upper bound of the model's 95% interval.
In the 1st round, the error had gone the other way, and in a particular way:
| 1st round, % of valid votes | Final polling average | Result | Difference |
|---|---|---|---|
| Lula | 45.8 | 45.16 | −0.6 |
| Flávio | 43.1 | 47.03 | +3.9 |
| Other candidates | 11.0 | 7.8 | −3.2 |
The polls got Lula right and missed Flávio by almost exactly what the smaller candidates lost. The most common reading, and the one this Placar used until then, was to treat this as a polling bias against Flávio that would recur in the 2nd round: the model carried 25% of the 1st-round error over to the 2nd-round polls.
The votes confirm the hypothesis. Section 3 shows that, in the 2nd round, the eliminated candidates' voters did not go en bloc to Flávio: Cury's leaned to Lula, Caiado's and Zema's to Flávio, and the net came to +0.27M for Lula. Flávio kept about 99% of his voters and grew by 3.72M, far less than Lula. The tactical vote he benefited from had already been counted in the 1st round. Without the Tinoco hypothesis, the model would have been even further off. With it, it erred less, but it erred: the 2nd-round polling bias ran against Lula, and was stronger than any correction anticipated.
What the polls missed was, by this analysis, the group that decided the election: those who did not choose a president in the 1st round, by voting blank, spoiling their ballot or staying home, and chose Lula in the 2nd. Why this group escaped the polls cannot be determined from ballot-box data. It remains a hypothesis for pollsters and for this Placar to check.
Sources: this Placar's editorial and method (version history, v56 of 10/22/2026); TSE results.
8 · Conclusion
So, what won it for Lula?
- Those who had chosen no one. The 6.66M swing in the gap came mostly from voters who in the 1st round voted blank, spoiled their ballot or did not vote, and who voted for Lula in the 2nd. By the estimate, this group added between 6.0M and 6.5M to the gap.
- It was not side-switching. Almost all of Lula's and Flávio's voters voted the same way again. Flávio's campaign did not lose its base; it failed to grow enough beyond it.
- The eliminated candidates were a wash. Cury's votes leaned to Lula, Caiado's and Zema's to Flávio. Added up, they almost cancelled out. With 74% of the new votes, Lula was well above the 58% he needed.
- The comeback was urban and in the Southeast. Big cities and regional hubs delivered 66% of the net gain. The Southeast swung more than its municipalities' profile predicted, and the Northeast, where Lula already won, widened his lead.
- The polls were wrong, and the Tinoco hypothesis pointed the right way. The polling average underestimated Lula by about 4.7 points of margin. The Tinoco hypothesis, that the 1st-round error was tactical voting and would not recur, was confirmed by how the eliminated candidates' votes split, and it moved the Placar from 15% to 21% for Lula.
- Young voters, women and unclaimed votes. With everything else fixed, the swing was larger where the electorate is younger and more female and where there were more blank, spoiled and third-party votes in the 1st round. Religion, education and income explain little after these factors.
This analysis describes places, not people: it does not say why each voter decided, and it does not measure the effect of any campaign. For the result by region, state and municipality, see the editorial and the results panel.
Method, limits and data
How we did the math
- Data. 2nd round: final TSE count (100% of polling stations, 10/25/2026, 11:26 pm), by municipality and, in cities the TSE reports by zone, by electoral zone (6,106 units). 1st round: TSE ballot-box reports (Open Data, bweb), each candidate's vote by polling station, summed into the same units. For the transfers: votes by polling station in both rounds (TSE, Open Data, file of 10/26/2026), 497,897 polling stations, with each round's electorate from the polling-place register. Votes abroad enter only the national count. 2026 electorate profile (TSE), religion (2022 Census, IBGE) and 2023 municipal GDP per capita (IBGE, tables 5938 and 6579, 2024 population estimate).
- Transfers (sections 2 and 3). Constrained Goodman regression: for each region, the matrix of rates (8 1st-round groups × 4 2nd-round destinations) that best reproduces each polling station's result, with rates between 0 and 1 and each group summing to 100%, weighted by the electorate. 1st-round groups: Lula, Flávio, Augusto Cury, Renan Santos, Ronaldo Caiado, Zema and the other candidates, blank or spoiled, did not vote. The matrix reproduces the national 2nd-round total with an error of 0.02M for Lula and 0.04M for Flávio. 90% intervals from a municipal bootstrap (200 resamples). Check: the same calculation by state (27 matrices).
- Validation with 2022. The same calculation for 2022 with polling stations and with cities and zones. Rates and contributions (polling stations / cities and zones):
| 2022 1st round | → Lula | → Bolsonaro | → Blank/spoiled | → Did not vote | Contribution to the swing |
|---|---|---|---|---|---|
| Lula | 97% / 99% | 0% / 0% | 1% / 0% | 2% / 1% | −1.58M / −0.65M |
| Bolsonaro | 0% / 0% | 100% / 100% | 0% / 0% | 0% / 0% | 0.00M / 0.00M |
| Other candidates | 37% / 38% | 43% / 41% | 18% / 18% | 2% / 3% | −0.59M / −0.33M |
| Blank or spoiled | 9% / 0% | 29% / 35% | 60% / 65% | 2% / 0% | −1.06M / −1.89M |
| Did not vote | 2% / 0% | 4% / 3% | 1% / 0% | 93% / 96% | −0.67M / −1.07M |
- Determinants (section 5). Least squares with standardized variables, weighted by the electorate and unweighted, HC3 standard errors; region effects with the Southeast as reference; importance by group from the Shapley value of R² (64 combinations of groups).
- Types (section 4). k-means on 9 standardized variables (margin, swing, turnout, third parties, education, evangelicals, young voters, GDP per capita and size), k from 4 to 8 tested by silhouette; the result was k = 5.
- Spatial (section 6). Municipal centroids; weights of the 8 nearest neighbours, row-standardized. Global Moran's I and Geary's C, LISA (p < 0.05) and Getis-Ord Gi* with 999 permutations; bivariate Moran; spatial-error and spatial-lag models by maximum likelihood (PySAL spreg), unweighted.
- Limits. Ecological inference: the rates describe groups of places and can be wrong when behaviour varies within each region. There is no individual vote data. The exact arithmetic in section 1 is net. Until 10/26 the transfers were estimated by city and electoral zone, because the TSE had not yet published 2nd-round results by polling station; since 10/27 they are estimated by polling station. The other parts of the analysis remain at the municipal level.
- Files. vitoria.json (arithmetic, transfers, models, spatial indices, types) and vitoria-municipios.json (by municipality: type, LISA, Gi*, swing, spatial lag, residual, net gain in votes, state and name).