Where Lula gained ground in the runoff

In 2026, the candidate who placed second in Brazil’s first presidential round went on to win the runoff for the first time. Where did Lula gain ground, and what local patterns accompanied his comeback? Explore these questions through election results and population data for municipalities, state capitals, states and Brazil as a whole.

Explore how votes, Lula’s margin and turnout changed between the two rounds of 2026, and compare the runoff with those of 2018 and 2022. The maps place these changes alongside income, education, religion and other population characteristics from IBGE’s 2022 Demographic Census.

The vote migration model estimates possible flows between rounds by comparing polling-section results. The Sankey diagram shows these flows adjusted to the observed totals. A separate section examines polling sections that closed after 17:10, showing where their votes were cast and comparing their results with sections that closed earlier in the same municipality.

Election results and closing times come from Brazil’s Superior Electoral Court (TSE). The maps describe patterns across areas, while the migration model presents estimated flows under stated assumptions. Understanding how individual voters changed their choices requires individual data.

5,230 / 5,571 municipalities improved Lula’s margin+1.17m margin gain in sections with stable or falling turnout

Change in Lula minus Flávio margin by municipalityMunicipalities are colored by the selected measure. Use the municipality search for exact values and sample coverage.

No data / outside selected sampleExactly zero change

How should possible vote transfers be interpreted?

Section results let us compare local patterns in candidate support, turnout and blank or null voting. For example, we can examine whether Lula gained more ground where an eliminated candidate had stronger first-round support. These comparisons describe relationships between local totals.

The same section totals can arise from different individual choices. Imagine a section with 100 voters. In the first round, Lula and Flávio each receive 40 votes, an eliminated candidate receives ten, and ten ballots are invalid. In the runoff, Lula receives 50 votes, Flávio receives 40, and ten ballots are invalid. The table shows two ways this could happen.

TrajectoryTen eliminated-candidate votersTen initially invalid-ballot voters
AVote for LulaKeep casting invalid ballots
BCast invalid ballotsVote for Lula

Both paths give Lula ten additional votes and leave the invalid-ballot total unchanged. In path A, all ten voters who supported the eliminated candidate choose Lula. In path B, they all cast invalid ballots, while the voters who initially cast invalid ballots choose Lula. Both paths are compatible with the complete section results.

Turnout also records a net change. A fall in abstention means more people voted overall. Some may have returned to vote while others stopped participating. The accounting panel shows how net changes in turnout and blank or null ballots relate to the finalists’ combined gains.

The model on this page adds assumptions about the flows to produce estimates. Assessing those assumptions requires information beyond election totals. The local comparisons and Census adjustment here describe associations between local outcomes. The example shows how different individual choices can produce the same associations across areas.

How to read the comparisons

The 2026 comparison uses sections with the same number of registered voters and the same composition of aggregated sections in both rounds. For 2018 and 2022, the default comparison uses complete area totals. The alternative matches sections with the same code and allows electorate changes of up to 20%, with an additional sensitivity check at 10%. Areas with low matching coverage are shown with diagonal hatching. Complete totals follow the municipal boundaries in place at each election, so municipal comparisons cover areas that existed in the initial year. Haddad was the PT candidate in 2018, and the 2022 Census describes population characteristics measured after that election.

Rates for municipalities, states and Brazil are calculated by adding the relevant counts before dividing. Comparisons between election years use each election’s own registered electorate. Shares of valid votes instead use the valid-vote total for each period. The comparable national sample covers voting within Brazil, while complete national totals also include votes cast overseas.

The 2022 Census indicators use official survey weights. Average household income per person is weighted by the number of residents in occupied permanent private households. Education indicators cover people aged 25 and over, while religion indicators use valid responses from people aged 10 and over. Household indicators cover occupied permanent private households. State and national rates combine the weighted numerators and denominators.

The Census adjustment compares municipalities while accounting for log population, income per person, urbanization, university completion, the shares of older and evangelical residents, initial electoral conditions and state. The map shows the difference between the observed margin change and the model’s prediction. Boa Esperança do Norte was created after Census 2022. Including it in this comparison requires a Census profile aligned with the new municipality’s boundaries.

The maps describe results for areas. Drawing conclusions about individual choices from those results raises an ecological inference problem, because relationships across areas can differ from relationships between people (Robinson, 1950). Studying individual voting paths requires data that follow the same voters. Investigating causal mechanisms also requires a research design suited to that question. Census estimates use survey weights to represent the population, with a denominator appropriate to each indicator.

Sources: Federal Senate — outcome and historic reversal, TSE 2026, TSE 2022, TSE 2018, IBGE Censo 2022.