Weighted aggregator · probabilistic model · 2026 presidential election

Placar 2026

The first-round result (Oct 4), compared with the polls and the model's forecast, and what the polls and the counted vote say about the runoff (Oct 25). The dashboard combines 221 runoff polls and 75 first-round polls from 22 pollsters, corrects each one's known deviation, discounts the group's historical error and simulates the election 400,000 times. First come the two results; then, what drives the race; finally, what's under the hood.
Updated
Oct 25, 2026, 1:23 p.m.
1st round Oct 4 · 2nd round Oct 25
Daniel Pessini Sobreira · model, data and dashboard
Editorial · runoff result · October 25

The comeback the polls didn't see

Lula goes from 2 points behind in the first round to beating Flávio Bolsonaro by 3.6 points. The vote shifted in 97% of municipalities, most in the Southeast and where Flávio was strongest. Polls, betting markets and Placar itself, which gave Lula 18%, all missed together.

51.8%Lula48.2%Flávio4.4 millionvotes apart+5.6 pointsof swing since the first round
Read the editorial and the results dashboard →
Analysis · the votes of the 1st and 2nd rounds

What won it for Lula

The 6.66 million-vote swing in the gap came mostly from people who did not choose a president in the 1st round: blank and spoiled ballots and those who did not vote. Lula's and Flávio's voters voted the same way again, and the eliminated candidates' voters split. With ecological inference, regressions, municipality types, Moran's I, LISA and Getis-Ord, and the Tinoco hypothesis on the polling error.

+6.3Mblank, spoiled and absent in the 1st round≈ 0direct switches between the two73.6%of the new votes went to LulaI = 0.56Moran's I of the swing
Read the analysis, with charts and maps →
Analysis · the 10,882 polling places in the capitals

The comeback neighbourhood by neighbourhood in the state capitals

With the result of every polling station in both rounds, the map of each capital shows where the margin moved towards Lula. The comeback reached almost every neighbourhood, but it was larger where more people had voted blank or spoiled their ballot in the 1st round, and smaller in the central neighbourhoods where the vote was already settled.

98.7%of capital-city voters in polling places where the margin moved towards Lula256neighbourhoods switched to Lula; none to Flávio+3.0 to +7.8points of swing, from fewest to most blank and spoiled ballots
See the map of the capitals →
Analysis · polls, markets, social media and the comeback

What the polls and the markets missed

The last 18 runoff polls all underestimated Lula, by an average of 5.3 points of margin, the largest error since 2006. Polymarket paid 20% on Lula on election morning. What was left out: blank and null votes and first-round absentees, the comeback on social media and a WhatsApp channel that grew from 50,000 to 10.9 million followers.

16 of 18final polls had Flávio ahead+3.6Lula's margin at the ballot box, against −1.8 in the poll average20%Lula's chance on Polymarket on the morning of Oct 25
Read the analysis →
Article · the mobilization hypothesis

The scare that mobilized

In the same 442,458 polling stations, turnout rose +1.92 points from the first round to the runoff in 2026, against +0.35 in 2022, and rose more where Lula was strong. Janones's channel went from 55,000 to 1 million followers in 33 hours. The tests, the data and what the hypothesis does not explain.

+1.57points of turnout above the 2022 pattern+1.2 → +2.1from the most pro-Flávio to the most pro-Lula polling stations+0.33point in cities with events, against similar cities
Read the article →
Article · the social media and fandom hypothesis

The digital comeback

Lula's reach on Instagram jumped the day after the first round, before the change of strategy, and the new strategy brought volume, not reach per video. Polling stations with more young voters swung more, and more still in connected cities. Meta's failures do not show up in the numbers. The tests and what they do not prove.

×3.8relative reach per reel the day after the first round7.9 → 12.1Lula reels per day+0.20 → +0.33effect of young voters, from the least to the most connected quartile
Read the article →
Analysis · the geography of the vote

The country of bubbles

How far apart do Lula voters and Flávio voters live? We measured the neighborhood of each of the country's 92,000 polling places in 2018, 2022 and 2026, and of the 338 cities with more than 100,000 inhabitants. Brazil has become less divided between neighbors since 2018, the separation is mostly regional, and the 2026 comeback crossed the bubbles.

15.9 → 9.7points of isolation, from 2018 to 202615%of the separation happens within cities1.8 → 7.1in Nova Lima, the city that closed in the most
Read the analysis →
1
The results
In 30 seconds: each candidate's chance in the runoff, what happened in the first round and how the race might end. The numbers are model estimates, presented the same way for both candidates.
Runoff · October 25 · who wins?

Flávio is ahead on election day. Chance of winning: Lula 18%, Flávio 82%.

The first-round counted vote, with the transfer declared by other candidates' voters (PoderData Oct 12; PoderData Oct 21; Quaest Oct 20), gives a starting margin of -2.7 for Lula. 57 polls conducted after Oct 4 are already in the margin. In 2014 and 2018 the left-wing candidate gained 6 to 10 points in the polls over the runoff campaign; the campaign is over.

Lula18%82%Flávio
Lula by more than 4 points2% Lula by up to 416% Flávio by up to 457% Flávio by more than 425%
Each candidate's chance of winning, in 100 elections simulated from today's scenario. Each band is a slice of the 400,000 simulations; the two light bands in the middle, close results, add up to 73%.
Adjusted marginTwo weeks ago: -2.0. Today: -0.9 in the polls (-1.3 including the first-round counted vote). A 1.1-point move toward Lula. Last week's trend: Toward Lula, slowing.
Latest pollsGerp (fieldwork through Oct 24): Lula 46 × Flávio 49
Palver (calibration v3) (fieldwork through Oct 24): Lula 49 × Flávio 50
Datafolha (fieldwork through Oct 24): Lula 47 × Flávio 48
Betting marketsPolymarket: Lula 20.5% on Oct 25, 8 a.m. (Flávio 79.5%, US$197 million). Since Sep 8: 59% → 40% (Sep 21) → 41% (Sep 30) → 38% (Oct 1) → 36% (Oct 3) → 15% (Oct 4, after the result) → 16% (Oct 5, evening) → 12% (Oct 10, after Datafolha, AtlasIntel and PoderData) → 12% (Oct 11, steady after Vox Brasil and Ipespe). → 17% (Oct 15) → 22% (Oct 16, after Datafolha 47 x 45, Quaest 46 x 44 and PoderData 50 x 50). → 23% (Oct 17, evening) → 20% (Oct 18, before the Band debate). → 23.5% (Oct 19, after PoderData, AtlasIntel, BTG/Nexus and Futura). → 21.5% (Oct 20, 1 p.m., after Real Time Big Data, Alfa and França). → 20.5% (Oct 21, 7:20 a.m., after Meio/Ideia; 19.5% overnight). → 21.5% (Oct 21, 4:34 p.m., after Quaest, Palver and Futura; 22.5% at 12:03 p.m.). → 21.5% (Oct 22, 9 a.m., after Gerp, Veritá and PoderData 51 x 49; 20.5% on the night of Oct 21). → 22.5% (Oct 22, 5 p.m., after Indexa 50.6 x 49.4; 21.5% to 22.5% through the day). → 22.5% (Oct 23, 3 a.m., after Datafolha 50 x 50 and Vox 50.6 x 49.4; steady since the afternoon of Oct 22). → 23.5% (Oct 23, 11 a.m., after Real Time Big Data 52 x 48, Alfa 52 x 48 and Ipespe 50.5 x 49.5). → 23.5% (Oct 23, 3 p.m., steady in the afternoon, after Vox, Real Time Big Data, Alfa, Ipespe and Veritá). → 20.5% (Oct 24, 3 a.m., after the Globo debate and Veritá 51.3 x 48.7). → 18% (Oct 24, 11 a.m., before Datafolha, AtlasIntel and Quaest; only Instituto França 51.4 x 48.6 and DataTrends 51.9 x 48.1 in valid votes). → 17.5% (Oct 24, 6 p.m., after CNT/MDA 50.7 x 49.3, Gerp 52 x 48 and Palver 50 x 49; 83.7% for Flávio at 5 p.m.; still without Datafolha, AtlasIntel and Quaest). → 20.5% (Oct 25, 8 a.m., election day, after Datafolha 51 x 49, Quaest 51 x 49, AtlasIntel 50.8 x 49.2, BTG/Nexus 50.5 x 49.5, Futura 50.1 x 49.9, Veritá 51.6 x 48.4, PoderData 51 x 49 and Colectta 49.7 x 50.3; 83.7% for Flávio on the afternoon of Oct 24).
What happened on October 4 · first round · official TSE result

Flávio finished the first round ahead, 47.03% to 45.16%: the polls had Lula +2.7 and the model expected Flávio in first with a 59% chance

The eve-of-election polls had Lula 2.7 points ahead on average. The model, which discounted their historical error, expected Flávio 0.7 ahead and gave him a 59% chance of finishing first. The actual gap was 1.9 points. Why Flávio pulled ahead and how far off the polls were is covered in the Comeback and Polls vs. ballots sections.
Counted by the TSE
Flávio 47.03% · Lula 45.16%
56,104,503 × 53,879,538 votes · gap of 2,224,965 · final count (100% of polling stations), read at 2:58 a.m. on Oct 5
What the model forecast (Oct 3)
Flávio in first: 59%
expected margin −0.7 (80% between −5.3 and +3.8); the result landed at the 37th percentile of the forecast
What the polls showed
Lula +2.7 on average
error of +4.6 points on the margin: Lula measured almost without error (+0.3), Flávio −4.2
Turnout and other results
Abstention 21.1%
2022: 20.9% · Cury 2.89% in third (the model gave a 49% chance) · blank 1.8% and spoiled 2.9% of votes
Candidate by candidate: votes, eve-of-election polls and model forecast
CandidateVotesCounted (valid)Polls (Oct 3)Model: median (80%)Poll errorModel errorWithin the 80%?
Lula (PT)53,879,53845.16%45.545.0 (42.3–47.6)+0.3−0.2yes
Flávio Bolsonaro (PL)56,104,50347.03%42.845.7 (42.9–48.5)−4.2−1.3yes
Augusto Cury (Avante)3,448,5692.89%3.82.8 (1.7–4.5)+0.9−0.1yes
Renan Santos (Missão)2,675,8872.24%3.22.4 (1.4–3.9)+1.0+0.2yes
Ronaldo Caiado (PSD)2,605,1482.18%3.02.3 (1.3–3.7)+0.8+0.1yes
Romeu Zema (Novo)326,4880.27%0.70.4 (0.1–1.1)+0.4+0.1yes
Others (6 candidates)260,6550.22%1.10.7 (0.3–1.6)+0.9+0.5no
Margin Lula − Flávio−2,224,965−1.87+2.7−0.7 (−5.3 to +3.8)+4.6+1.2yes

Error = forecast minus counted, in points of valid votes. Source: TSE, resultados.tse.jus.br, election 6257, final count, read at 2:58 a.m. on Oct 5 (100.00% of polling stations). Forecast: previsoes_1turno_congeladas.json, final run of Oct 3. "Others" came in below the interval (0.22 vs. a floor of 0.3): it is the only candidate outside the 80% band.

Live count · runoff · October 25

On the night of October 25, this dashboard will project the result from the first ballot boxes

Starting at 5 p.m., the dashboard reads the TSE results CDN every minute and compares each municipality and zone with its own first round. With about 2% of polling stations counted, the projection stabilizes; in the 2022 replay it called the winner at 6:00 p.m., with 28% counted, while the TSE partial count still showed the loser ahead.

Starts at 5 p.m.
Oct 25
the TSE releases the count once polls close; this section then updates every minute
Starting point
−2.2
Placar forecast frozen on the eve, Oct 24 (Lula − Flávio in valid votes); before the first ballot box, this is the projection
Replay: 2022 runoff
0.26 p.p.
mean projection error from 5% counted onward; result called at 6:00 p.m. with 28% counted (correct)
Replay: 2026 first round
0.13 p.p.
mean projection error from 5% counted onward; result called at 6:48 p.m. with 52% counted (correct)
Read the full analysis≈ 5 min read

How the model projects

It is not the average of what has come in

The TSE partial count is not a sample of the country: small municipalities and the South and Center-West finish first; state capitals and the Northeast, later. In 2022, the runoff partial count showed Bolsonaro ahead until 68% was counted, and Lula won by 1.8. The model does not use the partial count as an estimate: it compares what has come in with what the same unit did in the first round, 3 weeks earlier, and projects the difference (the swing) onto what remains.

Unit: municipality or zone, with a baseline from the polling stations already in

The TSE publishes votes by municipality and, in the 190 municipalities with more than one electoral zone, by zone. Within a municipality, the polling stations that report first are not random either. So the baseline for a partially counted municipality is the first-round result in the stations that have probably already come in: polling places in the order they arrived in the first round, until they cover the same share of the electorate. The error of this rule was measured in the 2022 replay and enters as uncertainty, larger when the unit is just starting.

National → region → state, automatically

Each unit's swing is modeled as a national effect + region + state + profile (first-round vote, size, third way, turnout), with Bayesian shrinkage: with few units the national rule holds, anchored on Placar's own forecast; as states accumulate data, the state effects loosen. It is the progression that Rodrigo Mahlmeister's model applied in the first round, here estimated from the data instead of set by hand.

Uncertainty and the call

Intervals by bootstrap of the counted units (resampling states and, within them, municipalities), plus the uncertainty of the national level and the noise of units not yet in, with a calibration factor from the 2022 replay. The dashboard "calls" the result when the probability exceeds 99.5% for three consecutive cycles and the 95% interval lies entirely on one side. Below 2% of polling stations the projection is shown as unstable.

In the replay of the 2022 runoff, with the actual arrival order of the tallies, the TSE partial count showed Bolsonaro ahead until about two-thirds of the count; this model's projection had a mean error of 0.26 pp from 5% counted onward, covered the final result in 84% of readings with the 80% interval and would have called the winner at 6:00 p.m., with 28.3% of polling stations counted. In the 2026 first round, reproduced with the 2022 baseline, the mean error was 0.13 pp and the call would have come at 6:48 p.m. (51.8% counted); the TSE partial count took until about 92% counted to get within 1 point of the result.

2022 runoff (Oct 30), baseline 2022 first round

−10−5+0+50%20%40%60%80%100%call at 6:00 p.m. (28% counted)final result +1.8

Gray line: TSE partial count (Lula − Flávio/Bolsonaro in valid votes). Dark line: model projection; band: 80% interval. Dashed: final result (+1.80). Comparison baseline: margin +5.7; model prior: +4.0 (prior = average of the final 2022 polls (Lula +4 in valid votes; result +1.8)).

2026 first round (Oct 4), baseline 2022 first round

−10−5+00%20%40%60%80%100%call at 6:48 p.m. (52% counted)final result −2.0

Gray line: TSE partial count (Lula − Flávio/Bolsonaro in valid votes). Dark line: model projection; band: 80% interval. Dashed: final result (−1.99). Comparison baseline: margin +5.7; model prior: +2.7 (prior = average of first-round polls on the eve (Lula +2.7 head-to-head; result −1.9)).

Calibration, data and limits

Polling-station base: TSE polling-station tallies (open data) from the 2022 first and second rounds and the 2026 first round, with the time each tally was received, which gives the actual order of the count. Live: JSON files from the TSE results CDN (election 6258), national, by state, by municipality and by zone, read every minute with ETag. The TSE's list of tallied polling stations does not record the tally time (in the first round, the time recorded was when the voting-machine files were published, in a batch, hours later), so the composition of the partial count is inferred from the first-round order.

Share of the unit countedTypical error of the proxy baseline (logit)
up to 10%0.355
up to 25%0.191
up to 50%0.117
up to 75%0.075
up to 90%0.045
up to 100%0.016
up to 100%0.007

Similar initiatives in 2026: Rodrigo Mahlmeister (polling place, hierarchical regression; nailed the first round at 5:32 p.m. with 2.2% counted), Luís Meloni/FEA-USP (municipality and zone, delta by state; mean error of 0.2 pp on the night of Oct 4), Agulha 2026 (Burgarelli, Duarte and Bramatti), Tinfoil/e26 and the open project open-apuracao. This model belongs to the same family; the difference lies in the baseline of the polling stations already counted and in the explicit calibration through the replay.

Limits: the model assumes that the structure of the vote between the first and second rounds changes smoothly and predictably with the unit's profile; an event that shifts the vote of a specific group (a region, a type of city) is only captured once that region starts counting. The official and definitive source is always the TSE.

Today's numbers
Adjusted poll margin
-1.3 points
Positive = Lula ahead · negative = Flávio ahead, in valid votes. Uncertainty ±2.3 (95%) · 2 weeks ago, polls only: -2.0 · average of the latest poll from each pollster: -1.0
Chance of winning (ensemble)
Lula 18% · Flávio 82%
Poll model (75%) and betting markets (25%; Polymarket: Lula 20%). Track record of incumbent presidents: reference only (53%)
Polls only
Lula 17% · Flávio 83%
Discounts the polls' historical error (+0.8 pp pro-PT). Without the discount: Lula 27% · result within ±1.5 pp: 34%
Two-week trend
Toward Lula, slowing
7 days: +0.3 · 14 days: +1.1 · polls vs. the same pollster's previous one: 20 toward Lula, 10 toward Flávio, 7 unchanged
In four sentences
How to read this dashboard: four ideas in one minute
  1. A poll is not the result. Each one interviews about 2,000 people, and polls conducted in the same week can differ by 3 to 5 points. That's why the dashboard combines them all and looks at the trend, never at a single poll.
  2. "Margin" here is the difference between the two, in points of valid votes (excluding blank and spoiled ballots, as in the TSE count). +3 = Lula 3 points ahead; −3 = Flávio 3 points ahead.
  3. Chance is not the result. "Lula 18% · Flávio 82%" means that, in 100 elections played out from today's scenario, each would win in that proportion. The candidate with the lower chance wins often: a 1-in-3 event happens as often as rolling a 1 or a 2 on a die.
  4. The details are at the end. Words with a dotted underline have an explanation when you hover or tap; the icon explains charts and numbers. Part 3 covers the method, each pollster's biases and a glossary.
Runoff simulation history

Lula's headline chance went from 40% on Sep 17 to 30% on the eve of the first round, fell to 17% with the counted vote and stands at 18%

In one sentence: 80 model runs have been published since Sep 17. After the first round, Lula's headline chance ranged between 11% (Oct 13) and 21% (Oct 22); polls only, without the market, it is at 17% today, and Polymarket at 20%.

How to read. Each point is a model run published on the dashboard, at the time it was published, with Lula's chance of winning the runoff against Flávio. The solid line is the headline chance (ensemble: 75% the model, 25% the betting market). The thin line is the chance from polls only, the main model; the dashed line is the parallel MCMC model (since Oct 5), and the dotted gold line is the Polymarket price used in each run. Points with a ring mark method changes (6 in the period): there the chance changed because of the model, not because of new polls. Hover over or tap the chart to see each run and what changed in it.
headline (ensemble)polls only MCMCPolymarketmethod change
See all 80 runs in a table
PublishedHeadlinePolls onlyMCMCPolymarketWhat changed
Oct 25 1:24 p.m.18%17%23%20%Run for this dashboard update
Oct 25 9:50 a.m.18%17%24%20%Includes PoderData (Oct 23-24), Futura (Oct 23-24), Veritá (Oct 19-23) and Colectta (Oct 23); Polymarket as of Oct 25, 8 a.m.
Oct 25 12:04 a.m.16%16%22%18%Includes AtlasIntel/Bloomberg (Oct 18-23)
Oct 24 7:22 p.m.18%18%22%18%Includes BTG/Nexus (Oct 23-24)
Oct 24 7:20 p.m.18%18%22%18%Includes Quaest (Oct 23-24)
Oct 24 6:37 p.m.17%17%21%18%Includes Datafolha (Oct 23-24)
Oct 24 6:07 p.m.17%17%22%18%Includes CNT/MDA (Oct 21-23), Gerp (Oct 22-24) and Palver (Oct 22-24); Polymarket as of Oct 24, 6 p.m.
Oct 24 11:32 a.m.16%16%18%18%Includes Instituto França (Oct 21-23) and DataTrends (Oct 19-21); Polymarket as of Oct 24, 11 a.m.
Oct 23 5:06 p.m.20%18%22%24%Includes Veritá (Oct 18-22); Polymarket as of Oct 23, 3 p.m.
Oct 23 12:56 p.m.19%18%20%24%Includes Real Time Big Data, Alfa and Ipespe (rounds through Oct 22); Polymarket as of Oct 23, 11 a.m.
Oct 23 7:28 a.m.21%20%29%22%Includes Vox Brasil (Oct 20-22) and new "Votes up for grabs" section by segment
Oct 22 7:14 p.m.21%20%25%22%Includes Datafolha (Oct 20-22): 46 x 47, 50 x 50 in valid votes
Oct 22 7:02 p.m.21%20%25%22%Includes Indexa/Broadcast (Oct 20-21); Polymarket as of the afternoon of Oct 22
Oct 22 10:40 a.m.21%21%27%22%method v56: the runoff discount no longer inherits the first-round error (tactical voting)
Oct 22 9:23 a.m.15%13%18%22%Includes PoderData (Oct 19-21) and Veritá (Oct 15-19); Polymarket as of the morning of Oct 22
Oct 21 7:33 p.m.15%12%14%22%Includes Gerp (Oct 19-21) and Quaest DF (Oct 17-20); Polymarket as of the afternoon of Oct 21
Oct 21 10:50 a.m.14%12%15%20%Includes Futura/100% Cidades (Oct 19-20) in the runoff database as a new series (v2)
Oct 21 10:20 a.m.14%12%15%20%Includes Quaest (Oct 17-20) and Palver (Oct 18-20) in the runoff database
Oct 21 7:52 a.m.14%12%15%20%Includes Meio/Ideia (Oct 15-19) in the runoff database; Polymarket and events of Oct 20-21
Oct 20 7:16 p.m.15%13%15%22%Includes Gerp (tracking Oct 15-19) in the runoff database
Oct 20 3:01 p.m.15%13%15%22%Includes Alfa (Oct 15-19) and Instituto França (Oct 16-20) in the runoff database; Polymarket and events of Oct 20
Oct 20 9:02 a.m.16%14%19%24%Includes Real Time Big Data (Oct 15-19) and DataTrends (Oct 15-17) in the runoff database
Oct 19 9:38 p.m.18%16%25%24%Full update of Oct 19: Futura with totals, 4 state polls, Polymarket, events and runoff issues
Oct 19 9:19 p.m.17%16%25%20%Includes Futura/100% Cidades (Oct 16-17) in the runoff database
Oct 19 10:37 a.m.16%15%23%20%Includes PoderData/Aya (Oct 16-18) and AtlasIntel/Bloomberg (Oct 13-18) in the runoff database
Oct 19 7:14 a.m.18%17%33%20%"Polls since the first round" section: trend chart with selector and summary line; includes BTG/Nexus (Oct 16-18)
Oct 18 12:02 p.m.18%17%34%20%method Audit of Oct 18: fixes the logic of the model, the gauge and the dashboard text
Oct 18 11:47 a.m.17%16%34%20%Includes Vox Brasil (Oct 15-17) in the runoff database and updates Polymarket
Oct 17 7:38 p.m.18%16%26%22%Includes Ipespe/Abrapel (Oct 13-15) and Veritá (Oct 12-16) in the runoff database
Oct 16 8:15 p.m.17%16%21%22%Includes Gerp (Oct 14-16) in the runoff database
Oct 16 3:27 p.m.17%16%23%22%Includes CNT/MDA and Futura from Oct 13-15 and confirms PoderData against its report
Oct 16 9:58 a.m.16%15%21%22%Audits the post-first-round polls against the technical reports and includes PoderData from Oct 13-15
Oct 15 7:02 p.m.16%18%21%12%Includes Indexa/Broadcast (Oct 13-14) in the runoff database
Oct 15 6:40 p.m.17%18%26%12%Includes Datafolha (Oct 13-14) in the runoff database
Oct 15 9:37 a.m.17%19%32%12%Includes Palver (Oct 10-13) and checks the post-first-round database against the official reports
Oct 14 6:20 p.m.15%16%18%12%Includes national Quaest/Globo (Oct 10-13) and Quaest state polls for AC, AM and RN (Oct 9-12)
Oct 13 10:34 p.m.15%16%18%12%Includes DataTrends (Oct 7-9), PoderData-AM (Oct 8-11) and AtlasIntel state polls (Sep 27-Oct 2)
Oct 13 12:05 p.m.16%17%19%12%Includes Gerp (Oct 8-12) and Futura/Apex (Oct 7-10) in the runoff database
Oct 13 9:42 a.m.15%16%19%12%Uses PoderData's post-first-round transfer in the third-way migration
Oct 13 9:00 a.m.12%12%15%12%Includes PoderData/Aya (Oct 10-12) in the runoff database
Oct 13 8:52 a.m.11%10%10%12%Includes BTG/Nexus (Oct 10-12) and Quaest-DF (Oct 8-11) in the database
Oct 11 5:22 p.m.11%11%12%12%Updates the Oct 11 run and Polymarket as of Oct 11
Oct 10 5:49 p.m.12%12%11%12%Updates with Ipespe (Oct 6-8) and Polymarket as of Oct 10
Oct 9 3:42 p.m.14%13%12%16%Includes Instituto França (Sep 28-Oct 2) in the runoff database
Oct 9 1:26 p.m.14%13%11%16%Updates with post-first-round Vox Brasil (Oct 5-7)
Oct 9 9:35 a.m.12%11%10%16%Updates with AtlasIntel (Oct 3-8) and runoff scenarios generated from the data
Oct 8 6:53 p.m.14%13%13%16%Updates with post-first-round AtlasIntel (Oct 3), PoderData and Datafolha
Oct 8 10:38 a.m.15%14%14%16%Updates with post-first-round PoderData and adds the map of the vote abroad
Oct 6 8:45 a.m.18%19%20%16%Adds a vote-migration model using a Markov chain + Monte Carlo
Oct 5 10:26 p.m.19%20%21%16%Updates the day after the first round: endorsements, market and municipalities
Oct 5 3:47 p.m.19%20%21%15%Adds a parallel MCMC runoff model and Vercel Analytics
Oct 5 6:48 a.m.19%20%—15%Updates the first-round result with the TSE's final count (100%)
Oct 4 11:13 p.m.18%18%—15%Updates the first-round result with the TSE count at 99.99% (11:12 p.m.)
Oct 4 11:02 p.m.17%18%—15%Official first-round result, analysis of the comeback, model accuracy and methodological history
Oct 3 8:47 p.m.30%28%—36%Adds eve-of-election Datafolha, Quaest and Futura (evening) and freezes the first-round forecast
Oct 3 6:34 p.m.32%30%—38%method Statistical audit of the model and update time on the dashboard
Oct 3 6:12 p.m.34%30%—38%Adds CNT/MDA, Palver and DataTrends (eve, afternoon)
Oct 3 11:11 a.m.35%31%—38%method Audit of the aggregator and state map with pollster selector
Oct 3 11:11 a.m.48%50%—38%Adds PoderData and Gerp from Oct 3 (eve of the first round)
Oct 3 11:11 a.m.46%47%—38%Adds first-round map by state (Quaest Sep 20-28) and Vox Brasil Oct 1
Oct 1 7:11 p.m.47%48%—38%Adds Datafolha Sep 28-Oct 1 (Lula 48 x Flávio 45; first round 42 x 38)
Oct 1 12:09 p.m.45%45%—38%Updates market (Polymarket 38%) and checks news from Sep 26-29
Oct 1 9:20 a.m.46%45%—41%Adds Real Time Big Data Sep 26-30 and updates news (Globo debate)
Sep 30 8:06 p.m.46%45%—41%Adds Futura Sep 25-29 and updates market (Polymarket 41%)
Sep 30 11:42 a.m.47%47%—42%method Model v3: aggregator audit, anchored state space, recalibrated bias, first-round section
Sep 30 10:46 a.m.38%24%—42%Adds Meio/Ideia Sep 25-28
Sep 29 1:22 p.m.38%25%—42%Adds American Analytics/Times Brasil-CNBC Sep 15-20
Sep 29 9:17 a.m.38%25%—42%Adds AtlasIntel Sep 23-28 and the escalation of the Aparecida case
Sep 28 3:02 p.m.39%27%—42%Adds BTG/Nexus Sep 25-27 and Quaest negatives Sep 24-27
Sep 28 10:53 a.m.38%24%—42%Adds Quaest Sep 24-27 (42x42) and updates scandals from Sep 26-28
Sep 26 10:42 a.m.38%25%—43%Adds Real Time Big Data from Sep 19-23 and analyzes betting, Aparecida and Carbono Oculto
Sep 24 8:00 p.m.39%27%—42%method Model v2: state polls, Kalman filter and new factors
Sep 24 7:06 p.m.37%24%—42%Adds Datafolha from Sep 22-23 and improves responsiveness (laptop/phone)
Sep 24 11:28 a.m.36%23%—42%Adds PoderData/Aya poll from Sep 20-23 and updates markets
Sep 23 9:13 a.m.36%22%—41%Adds AtlasIntel/Bloomberg poll from Sep 17-22 (statistical tie) and updates markets
Sep 21 8:24 p.m.36%24%—40%Adds Quaest and Palver polls from Sep 17-20
Sep 21 8:30 a.m.37%25%—41%Adds BTG/Nexus poll from Sep 18-20
Sep 18 9:08 p.m.38%26%—43%Adds Gerp and Futura/Apex polls from Sep 14-16
Sep 17 8:39 p.m.40%29%—45%Adds Datafolha poll from Sep 15-16 and updates negatives/approval
Sep 17 12:54 p.m.40%28%—45%First version: 2026 election poll aggregator
Polls since the first round

Since the first round, 57 polls from 19 pollsters: the aggregate went from Flávio +2.4 to Flávio +0.9 in valid votes

In one sentence: the summary line combines all polls with each pollster's correction and today stands at Lula 49.5% × Flávio 50.5% of valid votes (Flávio +0.9, ±1.3 on the margin), vs. Flávio +2.4 on Oct 7 — 1.5 points toward Lula. In the simple average of recent polls, without correction, the margin is Flávio +2.0: the pollsters that polled most in this phase show Flávio doing better than those with a calibrated track record.

How to read. Each poll with fieldwork after Oct 4 appears twice, on the date its fieldwork ended: the slate dot is Lula, the terracotta dot is Flávio, in valid votes. The solid lines are the summary: the model's day-by-day adjusted margin, with each pollster's house effect correction, and the band around it is the 95% uncertainty. Use the buttons to choose pollsters: the summary doesn't change (it always uses all polls), but a dashed line appears with the simple average of the selected ones only, uncorrected. With up to four pollsters selected, each one's waves are shown connected. Hover over or tap a dot to see the poll; anywhere else on the chart, to see that day's aggregate.
Polls on the chart
57 of 57
19 pollsters · fieldwork from Oct 7 to Oct 24
Summary today
49.5% Lula
Flávio 50.5% · Flávio +0.9 (±1.3)
Since Oct 7
+1.5 on the margin
from Flávio +2.4 to Flávio +0.9
Simple average of selected
Flávio +2.0
today, all polls
Lula · pollFlávio · poll summary (adjusted margin, 95% band)
See all 57 polls in a table
PollsterFieldwork throughnLula × Flávio (totals)Blank/spoiledUndecidedValid
Quaest24/103,70245.0 × 46.08.01.049.5 × 50.5source
PoderData24/104,00047.0 × 49.03.01.049.0 × 51.0source
Palver24/105,00049.0 × 50.01.00.049.5 × 50.5source
Gerp24/102,40046.0 × 49.01.03.048.4 × 51.6source
Futura24/102,00047.9 × 48.22.31.649.8 × 50.2source
Datafolha24/104,05047.0 × 48.03.02.049.5 × 50.5source
BTG/Nexus24/102,00046.0 × 47.05.21.849.5 × 50.5source
Veritá23/1015,55446.5 × 49.41.42.748.5 × 51.5source
CNT/MDA23/102,03245.0 × 46.35.82.949.3 × 50.7source
Instituto França23/101,53743.1 × 45.67.43.948.6 × 51.4source
Colectta23/103,00046.5 × 46.04.43.150.3 × 49.7source
AtlasIntel23/104,99048.4 × 49.91.7—49.2 × 50.8source
Vox Brasil22/102,10045.4 × 44.36.04.350.6 × 49.4source
Veritá22/1015,55447.5 × 50.21.40.948.6 × 51.4source
Real Time Big Data22/102,00045.0 × 49.05.01.047.9 × 52.1source
Ipespe22/101,50047.0 × 48.03.02.049.5 × 50.5source
Datafolha22/102,52046.0 × 47.05.02.049.5 × 50.5source
Alfa Inteligencia22/102,70046.0 × 49.92.02.148.0 × 52.0source
PoderData21/104,00048.0 × 49.03.01.049.5 × 50.5source
Indexa21/102,00044.1 × 45.29.11.649.4 × 50.6source
Gerp21/102,40045.0 × 50.02.02.047.4 × 52.6source
DataTrends21/102,00046.0 × 50.04.01.047.9 × 52.1source
Quaest20/102,15444.0 × 45.09.02.049.4 × 50.6source
Palver20/105,00048.0 × 50.01.00.049.0 × 51.0source
Instituto França20/103,00039.6 × 41.010.68.849.2 × 50.8source
Futura20/102,00046.8 × 48.92.02.348.9 × 51.1source
Veritá19/1015,55448.2 × 49.71.40.749.2 × 50.8source
Real Time Big Data19/102,00045.0 × 48.05.02.048.4 × 51.6source
Meio/Ideia19/101,50046.0 × 48.03.42.648.9 × 51.1source
Gerp19/102,40045.0 × 50.02.03.047.4 × 52.6source
Alfa Inteligencia19/102,70045.9 × 48.83.51.848.5 × 51.5source
PoderData18/103,00046.0 × 49.04.02.048.4 × 51.6source
BTG/Nexus18/102,00245.9 × 46.54.72.949.7 × 50.3source
AtlasIntel18/104,99847.6 × 49.82.6—48.9 × 51.1source
Vox Brasil17/102,10046.4 × 44.65.03.951.0 × 49.0source
Futura17/102,00047.5 × 48.32.41.949.6 × 50.4source
DataTrends17/102,00046.0 × 49.04.01.048.4 × 51.6source
Veritá16/1015,55447.7 × 49.71.51.149.0 × 51.0source
Gerp16/102,40045.0 × 50.02.03.047.4 × 52.6source
PoderData15/103,00047.0 × 47.04.02.050.0 × 50.0source
CNT/MDA15/102,01445.9 × 46.84.92.449.5 × 50.5source
Ipespe15/101,50046.0 × 48.03.03.048.9 × 51.1source
Futura15/102,00047.5 × 49.01.52.149.2 × 50.8source
Indexa14/102,00042.0 × 44.012.02.048.8 × 51.2source
Datafolha14/102,52045.0 × 47.06.02.048.9 × 51.1source
Quaest13/102,15444.0 × 46.09.01.048.9 × 51.1source
Palver13/105,00049.0 × 50.01.00.049.5 × 50.5source
PoderData12/103,00046.0 × 48.05.02.048.9 × 51.1source
Gerp12/102,40044.0 × 53.01.03.045.4 × 54.6source
BTG/Nexus12/102,00245.0 × 48.05.02.048.4 × 51.6source
Futura10/102,00046.6 × 50.01.71.748.2 × 51.8source
DataTrends9/102,00044.0 × 50.05.01.046.8 × 53.2source
Ipespe8/101,50044.0 × 49.05.03.047.3 × 52.7source
AtlasIntel8/105,02645.7 × 51.13.2—47.2 × 52.8source
Vox Brasil7/102,10044.2 × 42.73.49.750.9 × 49.1source
PoderData7/103,00044.0 × 49.05.02.047.3 × 52.7source
Datafolha7/102,52045.0 × 49.05.01.047.9 × 52.1source
Trend gauge · post-first-round polls only

Runoff polls are moving toward Lula: 1.2 points per week

In one sentence: with the 57 polls conducted after Oct 4, the Lula − Flávio margin is moving +1.2 points per week (±0.4; a strong signal, with the prior that holds the line steady while there are few polls). Three days ago the reading was +1.4 (45 polls); it is election day: Lula goes to the ballot box starting from −0.9 at poll level, and what decides it now is poll error, not pace.

How to read. The gauge doesn't say who is ahead: it says where the polls are heading. It is the slope of the Lula − Flávio margin (valid votes) in polls with fieldwork after Oct 4, in points per week, estimated within each pollster: the line has one intercept per series, so each poll is compared only with the same firm's other waves and the house effect cancels out without having to be estimated (pollsters with a single wave don't tilt the line). Left: the movement favors Flávio, who leads; right: it favors Lula. While there are few polls over few days, the slope is pulled toward zero by a prior of ±3 points per week (the size of the moves in the 2014 to 2022 runoffs); each new poll loosens that brake. The faded needle is the reading from 3 days ago, with the polls available then: the distance between the two needles is the direction of the gauge itself. The gray band outside the arc is the uncertainty (±1 standard error) and the dashed amber mark is the pace Lula would need to sustain through Oct 25 to pull ahead.
Flávio surging Flávio widening Stable Lula closing in Comeback under way Slope uncertainty: ±0.4 pp/week (1 standard error) −4 −3 −2 −1 0 +1 +2 +3 +4 Reading from 3 days ago: +1.4 pp/week +1.2 pp/week Flávio surging Flávio widening Stable Lula closing in Comeback under way Slope uncertainty: ±0.4 pp/week (1 standard error) −4 −2 0 +2 +4 Reading from 3 days ago: +1.4 pp/week +1.2 pp/week
Today's reading
+1.2 pp/week
Lula closing in · ±0.4 · 57 polls since Oct 5
3 days ago
+1.4 pp/week
Lula closing in · 45 polls
Pace needed to pull ahead
— pp/week
Lula starts from −0.9 at poll level and has reached election day
Same series, latest change
6 → Lula · 6 → Flávio
16 series with two waves after the first round (change panel)
The polls behind the gauge
poll (margin adjusted for house effect, for the drawing only; size = weight)— trend line (slope with fixed effects per series)
−6 −5 −4 −3 −2 −1 0 +1 +2 +3 +4 5/10 7/10 9/10 11/10 13/10 15/10 17/10 19/10 21/10 23/10 25/10 Datafolha (fieldwork through Oct 7): Lula 45.0 × Flávio 49.0 · margin −4.3, adjusted −4.3 (house effect +0.0) PoderData (fieldwork through Oct 7): Lula 44.0 × Flávio 49.0 · margin −5.4, adjusted −4.2 (house effect −1.2) Vox Brasil (fieldwork through Oct 7): Lula 44.2 × Flávio 42.7 · margin +1.7, adjusted +2.4 (house effect −0.7) AtlasIntel (fieldwork through Oct 8): Lula 45.7 × Flávio 51.1 · margin −5.6, adjusted −5.3 (house effect −0.2) Ipespe (fieldwork through Oct 8): Lula 44.0 × Flávio 49.0 · margin −5.4, adjusted −4.5 (house effect −0.9) DataTrends (fieldwork through Oct 9): Lula 44.0 × Flávio 50.0 · margin −6.4, adjusted −5.5 (house effect −0.9) Futura (fieldwork through Oct 10): Lula 46.6 × Flávio 50.0 · margin −3.5, adjusted −1.6 (house effect −1.9) BTG/Nexus (fieldwork through Oct 12): Lula 45.0 × Flávio 48.0 · margin −3.2, adjusted −2.7 (house effect −0.6) Gerp (fieldwork through Oct 12): Lula 44.0 × Flávio 53.0 · margin −9.3, adjusted −5.4 (house effect −3.8) PoderData (fieldwork through Oct 12): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −0.9 (house effect −1.2) Palver (v3) (fieldwork through Oct 13): Lula 49.0 × Flávio 50.0 · margin −1.0, adjusted −0.7 (house effect −0.3) Quaest (fieldwork through Oct 13): Lula 44.0 × Flávio 46.0 · margin −2.2, adjusted −1.7 (house effect −0.5) Datafolha (fieldwork through Oct 14): Lula 45.0 × Flávio 47.0 · margin −2.2, adjusted −2.2 (house effect +0.0) Indexa (fieldwork through Oct 14): Lula 42.0 × Flávio 44.0 · margin −2.3, adjusted −2.9 (house effect +0.5) Futura (fieldwork through Oct 15): Lula 47.5 × Flávio 49.0 · margin −1.6, adjusted +0.3 (house effect −1.9) Ipespe (fieldwork through Oct 15): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −1.3 (house effect −0.9) CNT/MDA (v2) (fieldwork through Oct 15): Lula 45.9 × Flávio 46.8 · margin −1.0, adjusted −0.7 (house effect −0.3) PoderData (fieldwork through Oct 15): Lula 47.0 × Flávio 47.0 · margin +0.0, adjusted +1.2 (house effect −1.2) Gerp (fieldwork through Oct 16): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Veritá (fieldwork through Oct 16): Lula 47.7 × Flávio 49.7 · margin −2.1, adjusted +0.6 (house effect −2.7) DataTrends (fieldwork through Oct 17): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted −2.2 (house effect −0.9) Futura (fieldwork through Oct 17): Lula 47.5 × Flávio 48.3 · margin −0.8, adjusted +1.1 (house effect −1.9) Vox Brasil (fieldwork through Oct 17): Lula 46.4 × Flávio 44.6 · margin +2.0, adjusted +2.7 (house effect −0.7) AtlasIntel (fieldwork through Oct 18): Lula 47.6 × Flávio 49.8 · margin −2.3, adjusted −2.0 (house effect −0.2) BTG/Nexus (fieldwork through Oct 18): Lula 45.9 × Flávio 46.5 · margin −0.6, adjusted −0.1 (house effect −0.6) PoderData (fieldwork through Oct 18): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted −1.9 (house effect −1.2) Alfa Inteligencia (fieldwork through Oct 19): Lula 45.9 × Flávio 48.8 · margin −3.1, adjusted −3.2 (house effect +0.1) Gerp (fieldwork through Oct 19): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Meio/Ideia (fieldwork through Oct 19): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −1.7 (house effect −0.4) Real Time Big Data (fieldwork through Oct 19): Lula 45.0 × Flávio 48.0 · margin −3.2, adjusted −2.4 (house effect −0.8) Veritá (fieldwork through Oct 19): Lula 48.2 × Flávio 49.7 · margin −1.5, adjusted +1.1 (house effect −2.7) Futura (v2) (fieldwork through Oct 20): Lula 46.8 × Flávio 48.9 · margin −2.2, adjusted −1.8 (house effect −0.4) Instituto França (fieldwork through Oct 20): Lula 39.6 × Flávio 41.0 · margin −1.6, adjusted −1.4 (house effect −0.2) Palver (v3) (fieldwork through Oct 20): Lula 48.0 × Flávio 50.0 · margin −2.0, adjusted −1.7 (house effect −0.3) Quaest (fieldwork through Oct 20): Lula 44.0 × Flávio 45.0 · margin −1.1, adjusted −0.6 (house effect −0.5) DataTrends (fieldwork through Oct 21): Lula 46.0 × Flávio 50.0 · margin −4.2, adjusted −3.2 (house effect −0.9) Gerp (fieldwork through Oct 21): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Indexa (fieldwork through Oct 21): Lula 44.1 × Flávio 45.2 · margin −1.2, adjusted −1.8 (house effect +0.5) PoderData (fieldwork through Oct 21): Lula 48.0 × Flávio 49.0 · margin −1.0, adjusted +0.2 (house effect −1.2) Alfa Inteligencia (fieldwork through Oct 22): Lula 46.0 × Flávio 49.9 · margin −4.1, adjusted −4.2 (house effect +0.1) Datafolha (fieldwork through Oct 22): Lula 46.0 × Flávio 47.0 · margin −1.1, adjusted −1.1 (house effect +0.0) Ipespe (fieldwork through Oct 22): Lula 47.0 × Flávio 48.0 · margin −1.1, adjusted −0.2 (house effect −0.9) Real Time Big Data (fieldwork through Oct 22): Lula 45.0 × Flávio 49.0 · margin −4.3, adjusted −3.5 (house effect −0.8) Veritá (fieldwork through Oct 22): Lula 47.5 × Flávio 50.2 · margin −2.8, adjusted −0.1 (house effect −2.7) Vox Brasil (fieldwork through Oct 22): Lula 45.4 × Flávio 44.3 · margin +1.2, adjusted +1.9 (house effect −0.7) AtlasIntel (fieldwork through Oct 23): Lula 48.4 × Flávio 49.9 · margin −1.5, adjusted −1.3 (house effect −0.2) Colectta (fieldwork through Oct 23): Lula 46.5 × Flávio 46.0 · margin +0.5, adjusted +0.3 (house effect +0.2) Instituto França (fieldwork through Oct 23): Lula 43.1 × Flávio 45.6 · margin −2.8, adjusted −2.6 (house effect −0.2) CNT/MDA (v2) (fieldwork through Oct 23): Lula 45.0 × Flávio 46.3 · margin −1.4, adjusted −1.1 (house effect −0.3) Veritá (fieldwork through Oct 23): Lula 46.5 × Flávio 49.4 · margin −3.1, adjusted −0.4 (house effect −2.7) BTG/Nexus (fieldwork through Oct 24): Lula 46.0 × Flávio 47.0 · margin −1.1, adjusted −0.5 (house effect −0.6) Datafolha (fieldwork through Oct 24): Lula 47.0 × Flávio 48.0 · margin −1.1, adjusted −1.1 (house effect +0.0) Futura (v2) (fieldwork through Oct 24): Lula 47.9 × Flávio 48.2 · margin −0.3, adjusted +0.1 (house effect −0.4) Gerp (fieldwork through Oct 24): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted +0.7 (house effect −3.8) Palver (v3) (fieldwork through Oct 24): Lula 49.0 × Flávio 50.0 · margin −1.0, adjusted −0.7 (house effect −0.3) PoderData (fieldwork through Oct 24): Lula 47.0 × Flávio 49.0 · margin −2.1, adjusted −0.9 (house effect −1.2) Quaest (fieldwork through Oct 24): Lula 45.0 × Flávio 46.0 · margin −1.1, adjusted −0.6 (house effect −0.5) −6 −4 −2 0 +2 +4 5/10 9/10 13/10 17/10 21/10 25/10 Datafolha (fieldwork through Oct 7): Lula 45.0 × Flávio 49.0 · margin −4.3, adjusted −4.3 (house effect +0.0) PoderData (fieldwork through Oct 7): Lula 44.0 × Flávio 49.0 · margin −5.4, adjusted −4.2 (house effect −1.2) Vox Brasil (fieldwork through Oct 7): Lula 44.2 × Flávio 42.7 · margin +1.7, adjusted +2.4 (house effect −0.7) AtlasIntel (fieldwork through Oct 8): Lula 45.7 × Flávio 51.1 · margin −5.6, adjusted −5.3 (house effect −0.2) Ipespe (fieldwork through Oct 8): Lula 44.0 × Flávio 49.0 · margin −5.4, adjusted −4.5 (house effect −0.9) DataTrends (fieldwork through Oct 9): Lula 44.0 × Flávio 50.0 · margin −6.4, adjusted −5.5 (house effect −0.9) Futura (fieldwork through Oct 10): Lula 46.6 × Flávio 50.0 · margin −3.5, adjusted −1.6 (house effect −1.9) BTG/Nexus (fieldwork through Oct 12): Lula 45.0 × Flávio 48.0 · margin −3.2, adjusted −2.7 (house effect −0.6) Gerp (fieldwork through Oct 12): Lula 44.0 × Flávio 53.0 · margin −9.3, adjusted −5.4 (house effect −3.8) PoderData (fieldwork through Oct 12): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −0.9 (house effect −1.2) Palver (v3) (fieldwork through Oct 13): Lula 49.0 × Flávio 50.0 · margin −1.0, adjusted −0.7 (house effect −0.3) Quaest (fieldwork through Oct 13): Lula 44.0 × Flávio 46.0 · margin −2.2, adjusted −1.7 (house effect −0.5) Datafolha (fieldwork through Oct 14): Lula 45.0 × Flávio 47.0 · margin −2.2, adjusted −2.2 (house effect +0.0) Indexa (fieldwork through Oct 14): Lula 42.0 × Flávio 44.0 · margin −2.3, adjusted −2.9 (house effect +0.5) Futura (fieldwork through Oct 15): Lula 47.5 × Flávio 49.0 · margin −1.6, adjusted +0.3 (house effect −1.9) Ipespe (fieldwork through Oct 15): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −1.3 (house effect −0.9) CNT/MDA (v2) (fieldwork through Oct 15): Lula 45.9 × Flávio 46.8 · margin −1.0, adjusted −0.7 (house effect −0.3) PoderData (fieldwork through Oct 15): Lula 47.0 × Flávio 47.0 · margin +0.0, adjusted +1.2 (house effect −1.2) Gerp (fieldwork through Oct 16): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Veritá (fieldwork through Oct 16): Lula 47.7 × Flávio 49.7 · margin −2.1, adjusted +0.6 (house effect −2.7) DataTrends (fieldwork through Oct 17): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted −2.2 (house effect −0.9) Futura (fieldwork through Oct 17): Lula 47.5 × Flávio 48.3 · margin −0.8, adjusted +1.1 (house effect −1.9) Vox Brasil (fieldwork through Oct 17): Lula 46.4 × Flávio 44.6 · margin +2.0, adjusted +2.7 (house effect −0.7) AtlasIntel (fieldwork through Oct 18): Lula 47.6 × Flávio 49.8 · margin −2.3, adjusted −2.0 (house effect −0.2) BTG/Nexus (fieldwork through Oct 18): Lula 45.9 × Flávio 46.5 · margin −0.6, adjusted −0.1 (house effect −0.6) PoderData (fieldwork through Oct 18): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted −1.9 (house effect −1.2) Alfa Inteligencia (fieldwork through Oct 19): Lula 45.9 × Flávio 48.8 · margin −3.1, adjusted −3.2 (house effect +0.1) Gerp (fieldwork through Oct 19): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Meio/Ideia (fieldwork through Oct 19): Lula 46.0 × Flávio 48.0 · margin −2.1, adjusted −1.7 (house effect −0.4) Real Time Big Data (fieldwork through Oct 19): Lula 45.0 × Flávio 48.0 · margin −3.2, adjusted −2.4 (house effect −0.8) Veritá (fieldwork through Oct 19): Lula 48.2 × Flávio 49.7 · margin −1.5, adjusted +1.1 (house effect −2.7) Futura (v2) (fieldwork through Oct 20): Lula 46.8 × Flávio 48.9 · margin −2.2, adjusted −1.8 (house effect −0.4) Instituto França (fieldwork through Oct 20): Lula 39.6 × Flávio 41.0 · margin −1.6, adjusted −1.4 (house effect −0.2) Palver (v3) (fieldwork through Oct 20): Lula 48.0 × Flávio 50.0 · margin −2.0, adjusted −1.7 (house effect −0.3) Quaest (fieldwork through Oct 20): Lula 44.0 × Flávio 45.0 · margin −1.1, adjusted −0.6 (house effect −0.5) DataTrends (fieldwork through Oct 21): Lula 46.0 × Flávio 50.0 · margin −4.2, adjusted −3.2 (house effect −0.9) Gerp (fieldwork through Oct 21): Lula 45.0 × Flávio 50.0 · margin −5.3, adjusted −1.4 (house effect −3.8) Indexa (fieldwork through Oct 21): Lula 44.1 × Flávio 45.2 · margin −1.2, adjusted −1.8 (house effect +0.5) PoderData (fieldwork through Oct 21): Lula 48.0 × Flávio 49.0 · margin −1.0, adjusted +0.2 (house effect −1.2) Alfa Inteligencia (fieldwork through Oct 22): Lula 46.0 × Flávio 49.9 · margin −4.1, adjusted −4.2 (house effect +0.1) Datafolha (fieldwork through Oct 22): Lula 46.0 × Flávio 47.0 · margin −1.1, adjusted −1.1 (house effect +0.0) Ipespe (fieldwork through Oct 22): Lula 47.0 × Flávio 48.0 · margin −1.1, adjusted −0.2 (house effect −0.9) Real Time Big Data (fieldwork through Oct 22): Lula 45.0 × Flávio 49.0 · margin −4.3, adjusted −3.5 (house effect −0.8) Veritá (fieldwork through Oct 22): Lula 47.5 × Flávio 50.2 · margin −2.8, adjusted −0.1 (house effect −2.7) Vox Brasil (fieldwork through Oct 22): Lula 45.4 × Flávio 44.3 · margin +1.2, adjusted +1.9 (house effect −0.7) AtlasIntel (fieldwork through Oct 23): Lula 48.4 × Flávio 49.9 · margin −1.5, adjusted −1.3 (house effect −0.2) Colectta (fieldwork through Oct 23): Lula 46.5 × Flávio 46.0 · margin +0.5, adjusted +0.3 (house effect +0.2) Instituto França (fieldwork through Oct 23): Lula 43.1 × Flávio 45.6 · margin −2.8, adjusted −2.6 (house effect −0.2) CNT/MDA (v2) (fieldwork through Oct 23): Lula 45.0 × Flávio 46.3 · margin −1.4, adjusted −1.1 (house effect −0.3) Veritá (fieldwork through Oct 23): Lula 46.5 × Flávio 49.4 · margin −3.1, adjusted −0.4 (house effect −2.7) BTG/Nexus (fieldwork through Oct 24): Lula 46.0 × Flávio 47.0 · margin −1.1, adjusted −0.5 (house effect −0.6) Datafolha (fieldwork through Oct 24): Lula 47.0 × Flávio 48.0 · margin −1.1, adjusted −1.1 (house effect +0.0) Futura (v2) (fieldwork through Oct 24): Lula 47.9 × Flávio 48.2 · margin −0.3, adjusted +0.1 (house effect −0.4) Gerp (fieldwork through Oct 24): Lula 46.0 × Flávio 49.0 · margin −3.2, adjusted +0.7 (house effect −3.8) Palver (v3) (fieldwork through Oct 24): Lula 49.0 × Flávio 50.0 · margin −1.0, adjusted −0.7 (house effect −0.3) PoderData (fieldwork through Oct 24): Lula 47.0 × Flávio 49.0 · margin −2.1, adjusted −0.9 (house effect −1.2) Quaest (fieldwork through Oct 24): Lula 45.0 × Flávio 46.0 · margin −1.1, adjusted −0.6 (house effect −0.5)

Daily trend-pointer reading: Oct 8: +0.0 · Oct 9: +0.0 · Oct 10: +0.0 · Oct 11: +0.0 · Oct 12: +1.7 · Oct 13: +1.7 · Oct 14: +1.8 · Oct 15: +2.7 · Oct 16: +3.0 · Oct 17: +2.4 · Oct 18: +2.0 · Oct 19: +2.1 · Oct 20: +1.8 · Oct 21: +1.7 · Oct 22: +1.4 · Oct 23: +1.3 · Oct 24: +1.2 · Oct 25: +1.2. With few polls the slope is sensitive to each new wave; the uncertainty band says by how much.

See the polls since the first round, with the house correction and repeated waves
PollsterFieldwork throughnLula × FlávioMarginHouse effectAdjusted
Quaest24/103,70245.0 × 46.0−1.1−0.5−0.6
PoderData24/104,00047.0 × 49.0−2.1−1.2−0.9
Palver (v3)24/105,00049.0 × 50.0−1.0−0.3−0.7
Gerp24/102,40046.0 × 49.0−3.2−3.8+0.7
Futura (v2)24/102,00047.9 × 48.2−0.3−0.4+0.1
Datafolha24/104,05047.0 × 48.0−1.1+0.0−1.1
BTG/Nexus24/102,00046.0 × 47.0−1.1−0.6−0.5
Veritá23/1015,55446.5 × 49.4−3.1−2.7−0.4
CNT/MDA (v2)23/102,03245.0 × 46.3−1.4−0.3−1.1
Instituto França23/101,53743.1 × 45.6−2.8−0.2−2.6
Colectta23/103,00046.5 × 46.0+0.5+0.2+0.3
AtlasIntel23/104,99048.4 × 49.9−1.5−0.2−1.3
Ipespe22/101,50047.0 × 48.0−1.1−0.9−0.2
Alfa Inteligencia22/102,70046.0 × 49.9−4.1+0.1−4.2
Datafolha22/102,52046.0 × 47.0−1.1+0.0−1.1
Veritá22/1015,55447.5 × 50.2−2.8−2.7−0.1
Real Time Big Data22/102,00045.0 × 49.0−4.3−0.8−3.5
Vox Brasil22/102,10045.4 × 44.3+1.2−0.7+1.9
PoderData21/104,00048.0 × 49.0−1.0−1.2+0.2
Indexa21/102,00044.1 × 45.2−1.2+0.5−1.8
Gerp21/102,40045.0 × 50.0−5.3−3.8−1.4
DataTrends21/102,00046.0 × 50.0−4.2−0.9−3.2
Quaest20/102,15444.0 × 45.0−1.1−0.5−0.6
Palver (v3)20/105,00048.0 × 50.0−2.0−0.3−1.7
Instituto França20/103,00039.6 × 41.0−1.6−0.2−1.4
Futura (v2)20/102,00046.8 × 48.9−2.2−0.4−1.8
Real Time Big Data19/102,00045.0 × 48.0−3.2−0.8−2.4
Veritá19/1015,55448.2 × 49.7−1.5−2.7+1.1
Meio/Ideia19/101,50046.0 × 48.0−2.1−0.4−1.7
Alfa Inteligencia19/102,70045.9 × 48.8−3.1+0.1−3.2
Gerp19/102,40045.0 × 50.0−5.3−3.8−1.4
PoderData18/103,00046.0 × 49.0−3.2−1.2−1.9
BTG/Nexus18/102,00245.9 × 46.5−0.6−0.6−0.1
AtlasIntel18/104,99847.6 × 49.8−2.3−0.2−2.0
Vox Brasil17/102,10046.4 × 44.6+2.0−0.7+2.7
Futura17/102,00047.5 × 48.3−0.8−1.9+1.1
DataTrends17/102,00046.0 × 49.0−3.2−0.9−2.2
Veritá16/1015,55447.7 × 49.7−2.1−2.7+0.6
Gerp16/102,40045.0 × 50.0−5.3−3.8−1.4
Futura15/102,00047.5 × 49.0−1.6−1.9+0.3
CNT/MDA (v2)15/102,01445.9 × 46.8−1.0−0.3−0.7
Ipespe15/101,50046.0 × 48.0−2.1−0.9−1.3
PoderData15/103,00047.0 × 47.0+0.0−1.2+1.2
Indexa14/102,00042.0 × 44.0−2.3+0.5−2.9
Datafolha14/102,52045.0 × 47.0−2.2+0.0−2.2
Quaest13/102,15444.0 × 46.0−2.2−0.5−1.7
Palver (v3)13/105,00049.0 × 50.0−1.0−0.3−0.7
PoderData12/103,00046.0 × 48.0−2.1−1.2−0.9
Gerp12/102,40044.0 × 53.0−9.3−3.8−5.4
BTG/Nexus12/102,00245.0 × 48.0−3.2−0.6−2.7
Futura10/102,00046.6 × 50.0−3.5−1.9−1.6
DataTrends9/102,00044.0 × 50.0−6.4−0.9−5.5
Ipespe8/101,50044.0 × 49.0−5.4−0.9−4.5
AtlasIntel8/105,02645.7 × 51.1−5.6−0.2−5.3
Vox Brasil7/102,10044.2 × 42.7+1.7−0.7+2.4
PoderData7/103,00044.0 × 49.0−5.4−1.2−4.2
Datafolha7/102,52045.0 × 49.0−4.3+0.0−4.3
  • BTG/Nexus: 46 × 46 (Oct 18) → 46 × 47 (Oct 24), margin −0.4
  • Datafolha: 46 × 47 (Oct 22) → 47 × 48 (Oct 24), margin +0.0
  • Futura (v2): 47 × 49 (Oct 20) → 48 × 48 (Oct 24), margin +1.9
  • Gerp: 45 × 50 (Oct 21) → 46 × 49 (Oct 24), margin +2.1 (excluded: tracking: waves 3 days apart share interviews (minimum 5))
  • Palver (v3): 48 × 50 (Oct 20) → 49 × 50 (Oct 24), margin +1.0
  • PoderData: 48 × 49 (Oct 21) → 47 × 49 (Oct 24), margin −1.1
  • Quaest: 44 × 45 (Oct 20) → 45 × 46 (Oct 24), margin +0.0
  • CNT/MDA (v2): 46 × 47 (Oct 15) → 45 × 46 (Oct 23), margin −0.5
  • Veritá: 48 × 50 (Oct 22) → 46 × 49 (Oct 23), margin −0.3 (excluded: tracking: waves 1 day apart share interviews (minimum 5))
  • Instituto França: 40 × 41 (Oct 20) → 43 × 46 (Oct 23), margin −1.2
  • AtlasIntel: 48 × 50 (Oct 18) → 48 × 50 (Oct 23), margin +0.7
  • Alfa Inteligencia: 46 × 49 (Oct 19) → 46 × 50 (Oct 22), margin −1.0
  • Ipespe: 46 × 48 (Oct 15) → 47 × 48 (Oct 22), margin +1.1
  • Real Time Big Data: 45 × 48 (Oct 19) → 45 × 49 (Oct 22), margin −1.0
  • Vox Brasil: 46 × 45 (Oct 17) → 45 × 44 (Oct 22), margin −0.8
  • Indexa: 42 × 44 (Oct 14) → 44 × 45 (Oct 21), margin +1.1
  • DataTrends: 46 × 49 (Oct 17) → 46 × 50 (Oct 21), margin −1.0
  • Futura: 48 × 49 (Oct 15) → 48 × 48 (Oct 17), margin +0.7
Change panel · differences within each pollster, post-first-round waves only

Wave by wave, runoff polls have stopped moving: +0.4 point per week within each pollster

In one sentence: across the 30 differences between consecutive waves in 16 series with fieldwork after Oct 4, the Lula − Flávio margin (valid votes) moves +0.4 point per week (±0.9; sign indistinguishable from zero), with more weight on the newest difference and on the one with the smallest error. Movement slowing down (long window +0.8, short +0.4). 17 of 30 differences toward Lula, 8 toward Flávio, 5 flat. In the literal version, using only the latest difference for each of the 16 pollsters, the average is −0.0 per wave (+0.0 with more weight on the newest).

How to read it. This panel does not look at the level of any poll, only at the difference between two consecutive waves from the same pollster. The difference cancels out whatever is constant within a pollster (method, weighting, question wording, house effect), so it measures direction better than level; in exchange, it adds up the sampling error of both waves (two polls of 2,000 yield a difference with an error of ~3 points in valid votes). That is why each difference is weighted by its error and by recency (3-day half-life: each pollster's newest wave is what counts, and one from a week ago weighs 10%). Series that changed their yardstick (Futura v2, Palver v3, CNT/MDA v2) are not paired with the old series; Gerp's tracking only pairs waves 5 or more days apart, because neighboring waves share interviews. The aggregate is the mean of the drift prior in the hero's "with momentum" reading, shrunk by half. Nothing here changes the headline.
Aggregate of the differences
+0.4 pp/week
±0.9 · 3-day half-life · 30 differences from 16 series
Long window
+0.8 pp/week
10-day half-life · slowing down (long window +0.8, short +0.4)
Only each pollster's latest difference
+0.0 pp/wave
simple mean −0.0 · 16 pollsters
Agreement
17 → Lula · 8 → Flávio
5 flat (|Δ| < 0.5) · differences included in the aggregate
difference toward Lulatoward Flávioflat— daily weighted average (±1 standard error) · size = weight · dashed = outside the aggregate
−4 −3 −2 −1 0 +1 +2 +3 +4 +5 12/10 13/10 14/10 15/10 16/10 17/10 18/10 19/10 20/10 21/10 22/10 23/10 24/10 25/10 BTG/Nexus: 46 × 46 (Oct 18) → 46 × 47 (Oct 24): margin −0.4 over 6 days (−0.5 per week; error of the difference ±3.3) Datafolha: 46 × 47 (Oct 22) → 47 × 48 (Oct 24): margin +0.0 over 2 days (+0.1 per week; error of the difference ±2.6) Futura (v2): 47 × 49 (Oct 20) → 48 × 48 (Oct 24): margin +1.9 over 4 days (+3.3 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 21) → 46 × 49 (Oct 24): margin +2.1 over 3 days (+4.9 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Palver (v3): 48 × 50 (Oct 20) → 49 × 50 (Oct 24): margin +1.0 over 4 days (+1.8 per week; error of the difference ±3.4) PoderData: 48 × 49 (Oct 21) → 47 × 49 (Oct 24): margin −1.1 over 3 days (−2.5 per week; error of the difference ±2.3) Quaest: 44 × 45 (Oct 20) → 45 × 46 (Oct 24): margin +0.0 over 4 days (+0.0 per week; error of the difference ±2.9) AtlasIntel: 48 × 50 (Oct 18) → 48 × 50 (Oct 23): margin +0.7 over 5 days (+1.0 per week; error of the difference ±2.9) Instituto França: 40 × 41 (Oct 20) → 43 × 46 (Oct 23): margin −1.2 over 3 days (−2.8 per week; error of the difference ±3.4) CNT/MDA (v2): 46 × 47 (Oct 15) → 45 × 46 (Oct 23): margin −0.5 over 8 days (−0.4 per week; error of the difference ±3.3) Veritá: 48 × 50 (Oct 22) → 46 × 49 (Oct 23): margin −0.3 over 1 day (−2.4 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 1 day apart share interviews (minimum 5) Alfa: 46 × 49 (Oct 19) → 46 × 50 (Oct 22): margin −1.0 over 3 days (−2.3 per week; error of the difference ±2.8) Datafolha: 45 × 47 (Oct 14) → 46 × 47 (Oct 22): margin +1.1 over 8 days (+1.0 per week; error of the difference ±2.9) Ipespe: 46 × 48 (Oct 15) → 47 × 48 (Oct 22): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.8) Real Time Big Data: 45 × 48 (Oct 19) → 45 × 49 (Oct 22): margin −1.0 over 3 days (−2.4 per week; error of the difference ±3.3) Veritá: 48 × 50 (Oct 19) → 48 × 50 (Oct 22): margin −1.2 over 3 days (−2.9 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Vox Brasil: 46 × 45 (Oct 17) → 45 × 44 (Oct 22): margin −0.8 over 5 days (−1.1 per week; error of the difference ±3.2) DataTrends: 46 × 49 (Oct 17) → 46 × 50 (Oct 21): margin −1.0 over 4 days (−1.8 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 19) → 45 × 50 (Oct 21): margin +0.0 over 2 days (+0.0 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 2 days apart share interviews (minimum 5) Indexa: 42 × 44 (Oct 14) → 44 × 45 (Oct 21): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.4) PoderData: 46 × 49 (Oct 18) → 48 × 49 (Oct 21): margin +2.1 over 3 days (+5.0 per week; error of the difference ±2.5) Palver (v3): 49 × 50 (Oct 13) → 48 × 50 (Oct 20): margin −1.0 over 7 days (−1.0 per week; error of the difference ±3.4) Quaest: 44 × 46 (Oct 13) → 44 × 45 (Oct 20): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 16) → 45 × 50 (Oct 19): margin +0.0 over 3 days (+0.0 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Veritá: 48 × 50 (Oct 16) → 48 × 50 (Oct 19): margin +0.5 over 3 days (+1.2 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) AtlasIntel: 46 × 51 (Oct 8) → 48 × 50 (Oct 18): margin +3.3 over 10 days (+2.3 per week; error of the difference ±2.9) BTG/Nexus: 45 × 48 (Oct 12) → 46 × 46 (Oct 18): margin +2.6 over 6 days (+3.0 per week; error of the difference ±3.3) PoderData: 47 × 47 (Oct 15) → 46 × 49 (Oct 18): margin −3.2 over 3 days (−7.4 per week; error of the difference ±2.7) DataTrends: 44 × 50 (Oct 9) → 46 × 49 (Oct 17): margin +3.2 over 8 days (+2.8 per week; error of the difference ±3.2) Futura: 48 × 49 (Oct 15) → 48 × 48 (Oct 17): margin +0.7 over 2 days (+2.5 per week; error of the difference ±3.2) Vox Brasil: 44 × 43 (Oct 7) → 46 × 45 (Oct 17): margin +0.3 over 10 days (+0.2 per week; error of the difference ±3.3) Gerp: 44 × 53 (Oct 12) → 45 × 50 (Oct 16): margin +4.0 over 4 days (+7.0 per week; error of the difference ±2.9) · outside the aggregate: tracking: waves 4 days apart share interviews (minimum 5) Futura: 47 × 50 (Oct 10) → 48 × 49 (Oct 15): margin +2.0 over 5 days (+2.8 per week; error of the difference ±3.2) Ipespe: 44 × 49 (Oct 8) → 46 × 48 (Oct 15): margin +3.2 over 7 days (+3.2 per week; error of the difference ±3.8) PoderData: 46 × 48 (Oct 12) → 47 × 47 (Oct 15): margin +2.1 over 3 days (+5.0 per week; error of the difference ±2.7) Datafolha: 45 × 49 (Oct 7) → 45 × 47 (Oct 14): margin +2.1 over 7 days (+2.1 per week; error of the difference ±2.9) PoderData: 44 × 49 (Oct 7) → 46 × 48 (Oct 12): margin +3.2 over 5 days (+4.5 per week; error of the difference ±2.7) −4 −3 −2 −1 0 +1 +2 +3 +4 +5 12/10 14/10 16/10 18/10 20/10 22/10 24/10 BTG/Nexus: 46 × 46 (Oct 18) → 46 × 47 (Oct 24): margin −0.4 over 6 days (−0.5 per week; error of the difference ±3.3) Datafolha: 46 × 47 (Oct 22) → 47 × 48 (Oct 24): margin +0.0 over 2 days (+0.1 per week; error of the difference ±2.6) Futura (v2): 47 × 49 (Oct 20) → 48 × 48 (Oct 24): margin +1.9 over 4 days (+3.3 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 21) → 46 × 49 (Oct 24): margin +2.1 over 3 days (+4.9 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Palver (v3): 48 × 50 (Oct 20) → 49 × 50 (Oct 24): margin +1.0 over 4 days (+1.8 per week; error of the difference ±3.4) PoderData: 48 × 49 (Oct 21) → 47 × 49 (Oct 24): margin −1.1 over 3 days (−2.5 per week; error of the difference ±2.3) Quaest: 44 × 45 (Oct 20) → 45 × 46 (Oct 24): margin +0.0 over 4 days (+0.0 per week; error of the difference ±2.9) AtlasIntel: 48 × 50 (Oct 18) → 48 × 50 (Oct 23): margin +0.7 over 5 days (+1.0 per week; error of the difference ±2.9) Instituto França: 40 × 41 (Oct 20) → 43 × 46 (Oct 23): margin −1.2 over 3 days (−2.8 per week; error of the difference ±3.4) CNT/MDA (v2): 46 × 47 (Oct 15) → 45 × 46 (Oct 23): margin −0.5 over 8 days (−0.4 per week; error of the difference ±3.3) Veritá: 48 × 50 (Oct 22) → 46 × 49 (Oct 23): margin −0.3 over 1 day (−2.4 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 1 day apart share interviews (minimum 5) Alfa: 46 × 49 (Oct 19) → 46 × 50 (Oct 22): margin −1.0 over 3 days (−2.3 per week; error of the difference ±2.8) Datafolha: 45 × 47 (Oct 14) → 46 × 47 (Oct 22): margin +1.1 over 8 days (+1.0 per week; error of the difference ±2.9) Ipespe: 46 × 48 (Oct 15) → 47 × 48 (Oct 22): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.8) Real Time Big Data: 45 × 48 (Oct 19) → 45 × 49 (Oct 22): margin −1.0 over 3 days (−2.4 per week; error of the difference ±3.3) Veritá: 48 × 50 (Oct 19) → 48 × 50 (Oct 22): margin −1.2 over 3 days (−2.9 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Vox Brasil: 46 × 45 (Oct 17) → 45 × 44 (Oct 22): margin −0.8 over 5 days (−1.1 per week; error of the difference ±3.2) DataTrends: 46 × 49 (Oct 17) → 46 × 50 (Oct 21): margin −1.0 over 4 days (−1.8 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 19) → 45 × 50 (Oct 21): margin +0.0 over 2 days (+0.0 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 2 days apart share interviews (minimum 5) Indexa: 42 × 44 (Oct 14) → 44 × 45 (Oct 21): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.4) PoderData: 46 × 49 (Oct 18) → 48 × 49 (Oct 21): margin +2.1 over 3 days (+5.0 per week; error of the difference ±2.5) Palver (v3): 49 × 50 (Oct 13) → 48 × 50 (Oct 20): margin −1.0 over 7 days (−1.0 per week; error of the difference ±3.4) Quaest: 44 × 46 (Oct 13) → 44 × 45 (Oct 20): margin +1.1 over 7 days (+1.1 per week; error of the difference ±3.2) Gerp: 45 × 50 (Oct 16) → 45 × 50 (Oct 19): margin +0.0 over 3 days (+0.0 per week; error of the difference ±3.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) Veritá: 48 × 50 (Oct 16) → 48 × 50 (Oct 19): margin +0.5 over 3 days (+1.2 per week; error of the difference ±2.0) · outside the aggregate: tracking: waves 3 days apart share interviews (minimum 5) AtlasIntel: 46 × 51 (Oct 8) → 48 × 50 (Oct 18): margin +3.3 over 10 days (+2.3 per week; error of the difference ±2.9) BTG/Nexus: 45 × 48 (Oct 12) → 46 × 46 (Oct 18): margin +2.6 over 6 days (+3.0 per week; error of the difference ±3.3) PoderData: 47 × 47 (Oct 15) → 46 × 49 (Oct 18): margin −3.2 over 3 days (−7.4 per week; error of the difference ±2.7) DataTrends: 44 × 50 (Oct 9) → 46 × 49 (Oct 17): margin +3.2 over 8 days (+2.8 per week; error of the difference ±3.2) Futura: 48 × 49 (Oct 15) → 48 × 48 (Oct 17): margin +0.7 over 2 days (+2.5 per week; error of the difference ±3.2) Vox Brasil: 44 × 43 (Oct 7) → 46 × 45 (Oct 17): margin +0.3 over 10 days (+0.2 per week; error of the difference ±3.3) Gerp: 44 × 53 (Oct 12) → 45 × 50 (Oct 16): margin +4.0 over 4 days (+7.0 per week; error of the difference ±2.9) · outside the aggregate: tracking: waves 4 days apart share interviews (minimum 5) Futura: 47 × 50 (Oct 10) → 48 × 49 (Oct 15): margin +2.0 over 5 days (+2.8 per week; error of the difference ±3.2) Ipespe: 44 × 49 (Oct 8) → 46 × 48 (Oct 15): margin +3.2 over 7 days (+3.2 per week; error of the difference ±3.8) PoderData: 46 × 48 (Oct 12) → 47 × 47 (Oct 15): margin +2.1 over 3 days (+5.0 per week; error of the difference ±2.7) Datafolha: 45 × 49 (Oct 7) → 45 × 47 (Oct 14): margin +2.1 over 7 days (+2.1 per week; error of the difference ±2.9) PoderData: 44 × 49 (Oct 7) → 46 × 48 (Oct 12): margin +3.2 over 5 days (+4.5 per week; error of the difference ±2.7)

Daily aggregate (pp per week, using the differences that existed on each day): Oct 16: +3.1 · Oct 17: +1.8 · Oct 18: +1.7 · Oct 19: +1.7 · Oct 20: +1.2 · Oct 21: +1.2 · Oct 22: +0.8 · Oct 23: +0.5 · Oct 24: +0.4 · Oct 25: +0.4. It is election day: the campaign is over and the pace no longer moves the margin.

See all 37 differences, pollster by pollster
PollsterWavesDaysLula × FlávioΔ marginpp/weekErrorIn the aggregate
BTG/Nexus18/10 → 24/10646 × 46 → 46 × 47−0.4−0.5±3.3yes
Datafolha22/10 → 24/10246 × 47 → 47 × 48+0.0+0.1±2.6yes
Futura (v2)20/10 → 24/10447 × 49 → 48 × 48+1.9+3.3±3.2yes
Gerp21/10 → 24/10345 × 50 → 46 × 49+2.1+4.9±3.0no: tracking: waves 3 days apart share interviews (minimum 5)
Palver (v3)20/10 → 24/10448 × 50 → 49 × 50+1.0+1.8±3.4yes
PoderData21/10 → 24/10348 × 49 → 47 × 49−1.1−2.5±2.3yes
Quaest20/10 → 24/10444 × 45 → 45 × 46+0.0+0.0±2.9yes
AtlasIntel18/10 → 23/10548 × 50 → 48 × 50+0.7+1.0±2.9yes
Instituto França20/10 → 23/10340 × 41 → 43 × 46−1.2−2.8±3.4yes
CNT/MDA (v2)15/10 → 23/10846 × 47 → 45 × 46−0.5−0.4±3.3yes
Veritá22/10 → 23/10148 × 50 → 46 × 49−0.3−2.4±2.0no: tracking: waves 1 day apart share interviews (minimum 5)
Alfa19/10 → 22/10346 × 49 → 46 × 50−1.0−2.3±2.8yes
Datafolha14/10 → 22/10845 × 47 → 46 × 47+1.1+1.0±2.9yes
Ipespe15/10 → 22/10746 × 48 → 47 × 48+1.1+1.1±3.8yes
Real Time Big Data19/10 → 22/10345 × 48 → 45 × 49−1.0−2.4±3.3yes
Veritá19/10 → 22/10348 × 50 → 48 × 50−1.2−2.9±2.0no: tracking: waves 3 days apart share interviews (minimum 5)
Vox Brasil17/10 → 22/10546 × 45 → 45 × 44−0.8−1.1±3.2yes
DataTrends17/10 → 21/10446 × 49 → 46 × 50−1.0−1.8±3.2yes
Gerp19/10 → 21/10245 × 50 → 45 × 50+0.0+0.0±3.0no: tracking: waves 2 days apart share interviews (minimum 5)
Indexa14/10 → 21/10742 × 44 → 44 × 45+1.1+1.1±3.4yes
PoderData18/10 → 21/10346 × 49 → 48 × 49+2.1+5.0±2.5yes
Palver (v3)13/10 → 20/10749 × 50 → 48 × 50−1.0−1.0±3.4yes
Quaest13/10 → 20/10744 × 46 → 44 × 45+1.1+1.1±3.2yes
Gerp16/10 → 19/10345 × 50 → 45 × 50+0.0+0.0±3.0no: tracking: waves 3 days apart share interviews (minimum 5)
Veritá16/10 → 19/10348 × 50 → 48 × 50+0.5+1.2±2.0no: tracking: waves 3 days apart share interviews (minimum 5)
AtlasIntel8/10 → 18/101046 × 51 → 48 × 50+3.3+2.3±2.9yes
BTG/Nexus12/10 → 18/10645 × 48 → 46 × 46+2.6+3.0±3.3yes
PoderData15/10 → 18/10347 × 47 → 46 × 49−3.2−7.4±2.7yes
DataTrends9/10 → 17/10844 × 50 → 46 × 49+3.2+2.8±3.2yes
Futura15/10 → 17/10248 × 49 → 48 × 48+0.7+2.5±3.2yes
Vox Brasil7/10 → 17/101044 × 43 → 46 × 45+0.3+0.2±3.3yes
Gerp12/10 → 16/10444 × 53 → 45 × 50+4.0+7.0±2.9no: tracking: waves 4 days apart share interviews (minimum 5)
Futura10/10 → 15/10547 × 50 → 48 × 49+2.0+2.8±3.2yes
Ipespe8/10 → 15/10744 × 49 → 46 × 48+3.2+3.2±3.8yes
PoderData12/10 → 15/10346 × 48 → 47 × 47+2.1+5.0±2.7yes
Datafolha7/10 → 14/10745 × 49 → 45 × 47+2.1+2.1±2.9yes
PoderData7/10 → 12/10544 × 49 → 46 × 48+3.2+4.5±2.7yes
Rejection, wave by wave

In one sentence: the gap "rejection of Flávio − rejection of Lula" moves +1.0 point per week (±1.0) across the 14 differences in 8 series with rejection measured after Oct 4; positive favors Lula. Rejection tends to move ahead of the vote: it measures the ceiling, not the choice. Available room (people who neither vote for the candidate nor reject him) in the latest wave from the most recent pollsters: Datafolha Oct 24: Lula 7%, Flávio 7%; Futura (v2) Oct 24: Lula 6%, Flávio 5%; Alfa Oct 22: Lula 9%, Flávio 6%; Ipespe Oct 22: Lula 6%, Flávio 4%; Vox Brasil Oct 22: Lula 10%, Flávio 9%; Gerp Oct 21: Lula 6%, Flávio 4%. Excluded from the base: Real Time Big Data asks "whom would you not vote for" with an "I reject both" option (28% on Oct 15–19), which is not comparable to the others.

PollsterWavesRejection of LulaRejection of FlávioΔ of the gapLula's roomFlávio's room
Datafolha22/10 → 24/1045 → 4646 → 45−2.09 → 77 → 7
Futura (v2)20/10 → 24/1047 → 4645 → 47+2.56 → 66 → 5
Alfa19/10 → 22/1046 → 4545 → 44+0.08 → 96 → 6
Datafolha14/10 → 22/1047 → 4549 → 46−1.08 → 94 → 7
Vox Brasil17/10 → 22/1045 → 4545 → 47+2.38 → 1010 → 9
Gerp19/10 → 21/1049 → 4946 → 46+0.06 → 64 → 4
PoderData18/10 → 21/1048 → 4744 → 45+2.06 → 57 → 6
Quaest13/10 → 20/1053 → 4754 → 52+4.03 → 90 → 3
Gerp16/10 → 19/1049 → 4946 → 46+0.06 → 64 → 4
BTG/Nexus12/10 → 18/1051 → 4847 → 47+3.04 → 65 → 7
PoderData15/10 → 18/1046 → 4845 → 44−3.07 → 68 → 7
Futura15/10 → 17/1047 → 4746 → 46−0.55 → 55 → 6
Vox Brasil7/10 → 17/1045 → 4544 → 45+1.011 → 813 → 10
Gerp12/10 → 16/1053 → 4942 → 46+8.03 → 65 → 4
PoderData12/10 → 15/1046 → 4644 → 45+1.08 → 78 → 8
Datafolha7/10 → 14/1046 → 4749 → 49−1.09 → 82 → 4
PoderData7/10 → 12/1046 → 4643 → 44+1.010 → 88 → 8
Votes up for grabs · who is still deciding and how each candidate fares in each segment

Between 10 and 14 million votes are still in play, 8 times Flávio's current lead; the contest is concentrated among women, high-school-educated voters and pardos

In one sentence: averaging the latest wave from 19 pollsters with fieldwork between Oct 19 and Oct 24, 2.0% are undecided and 4.0% vote blank or spoiled; adding the share who say they could still change (PoderData and Quaest), 7.9% to 11.2% of those who will vote are in play, 10 to 14 million voters, against a gap of ~1.5 million valid votes in Flávio's favor in the model's adjusted margin (−1.3 pp). The segments where neither candidate leads by more than 6 points in valid votes (Datafolha Oct 22): women (49 × 44); high school (44 × 49); pardos (46 × 47); 60 or older (49 × 44); 45 to 59 (47 × 48).

How to read it. "Up for grabs" is arithmetic, not a model: undecided + the blank/spoiled voters who say they could still change (42%) + those who have already chosen Lula or Flávio and say they could still change (PoderData: 6% and 3%, the floor; Quaest: 9% and 7%, the ceiling), applied to first-round turnout (125.3 million). In the chart, each row is a segment: the dot is Lula's margin over Flávio in valid votes in the Oct 22 Datafolha, the gray line starts from the Oct 7 wave (only when it moved half a point or more), the ring is PoderData from Oct 19–21 and the yellow band is the ±6-point zone, where neither side is comfortable. On the right, the bar shows who has no candidate (blank, spoiled or undecided) and the number estimates the votes up for grabs in the segment. The margin of error for each breakdown is 3 to 6 points.
Undecided + blank/spoiled
6.0%
average of the latest wave from 19 pollsters (Oct 19–Oct 24): 2.0% undecided, 4.0% blank/spoiled
Declared vote that could change
6–9% Lula · 3–7% Flávio
of each candidate's voters (PoderData Oct 19–21 · Quaest Oct 17–20); 42% of blank/spoiled voters could also change
Votes for candidates eliminated in the first round
9.3 million
Cury, Renan, Caiado, Zema and others; today they give Flávio a net −1.2M (PoderData and Quaest average)
Non-aligned (Datafolha)
32 × 40
Lula × Flávio · 28% without a candidate; ~16% of the electorate (estimated)
Lula aheadFlávio aheadbattleground zone (±6)— from Oct 7 to Oct 22 · ○ PoderData · % = share of the electorate
Flávio +40 Flávio +20 0 Lula +20 Lula +40 no candidateup for grabs Sex Female · 53% PoderData Oct 19–21: Lula 55 × Flávio 41 (margin +15 in valid votes) Female: Datafolha Oct 22 Lula 49 × Flávio 44, blank/spoiled 5, undecided 2 → margin +5 in valid votes; on Oct 7: 50 × 44 (+6); segment = 53% of the electorate, ~6.6 million votes up for grabs 7% 6.6M Male · 47% PoderData Oct 19–21: Lula 39 × Flávio 57 (margin −19 in valid votes) Male: Datafolha Oct 22 Lula 44 × Flávio 50, blank/spoiled 5, undecided 1 → margin −6 in valid votes; on Oct 7: 41 × 53 (−13); segment = 47% of the electorate, ~5.3 million votes up for grabs 6% 5.3M Age 16 to 24 · 12% PoderData Oct 19–21: Lula 52 × Flávio 43 (margin +9 in valid votes) 16 to 24: Datafolha Oct 22 Lula 47 × Flávio 42, blank/spoiled 10, undecided 1 → margin +6 in valid votes; on Oct 7: 43 × 50 (−8); segment = 12% of the electorate, ~1.6 million votes up for grabs 11% 1.6M 25 to 34 · 19% 25 to 34: Datafolha Oct 22 Lula 46 × Flávio 47, blank/spoiled 7, undecided 1 → margin −1 in valid votes; on Oct 7: 42 × 50 (−9); segment = 19% of the electorate, ~2.3 million votes up for grabs 8% 2.3M 35 to 44 · 20% 35 to 44: Datafolha Oct 22 Lula 42 × Flávio 53, blank/spoiled 4, undecided 1 → margin −12 in valid votes; on Oct 7: 45 × 49 (−4); segment = 20% of the electorate, ~2.1 million votes up for grabs 5% 2.1M 45 to 59 · 26% PoderData Oct 19–21: Lula 45 × Flávio 51 (margin −6 in valid votes) 45 to 59: Datafolha Oct 22 Lula 47 × Flávio 48, blank/spoiled 3, undecided 2 → margin −1 in valid votes; on Oct 7: 45 × 48 (−3); segment = 26% of the electorate, ~2.9 million votes up for grabs 5% 2.9M 60 or older · 24% PoderData Oct 19–21: Lula 46 × Flávio 50 (margin −4 in valid votes) 60 or older: Datafolha Oct 22 Lula 49 × Flávio 44, blank/spoiled 5, undecided 2 → margin +5 in valid votes; on Oct 7: 50 × 46 (+4); segment = 24% of the electorate, ~2.9 million votes up for grabs 7% 2.9M Education Primary school · 37% PoderData Oct 19–21: Lula 55 × Flávio 40 (margin +16 in valid votes) Primary school: Datafolha Oct 22 Lula 53 × Flávio 40, blank/spoiled 5, undecided 2 → margin +14 in valid votes; on Oct 7: 55 × 41 (+15); segment = 37% of the electorate, ~4.7 million votes up for grabs 7% 4.7M High school · 46% PoderData Oct 19–21: Lula 44 × Flávio 53 (margin −9 in valid votes) High school: Datafolha Oct 22 Lula 44 × Flávio 49, blank/spoiled 6, undecided 1 → margin −5 in valid votes; on Oct 7: 39 × 53 (−15); segment = 46% of the electorate, ~5.3 million votes up for grabs 7% 5.3M College · 17% PoderData Oct 19–21: Lula 47 × Flávio 50 (margin −3 in valid votes) College: Datafolha Oct 22 Lula 43 × Flávio 51, blank/spoiled 5, undecided 1 → margin −9 in valid votes; on Oct 7: 46 × 49 (−3); segment = 17% of the electorate, ~1.9 million votes up for grabs 6% 1.9M Household income Up to 2 min. wages · 46% PoderData Oct 19–21: Lula 54 × Flávio 41 (margin +14 in valid votes) Up to 2 min. wages: Datafolha Oct 22 Lula 54 × Flávio 39, blank/spoiled 5, undecided 2 → margin +16 in valid votes; on Oct 7: 52 × 41 (+12); segment = 46% of the electorate, ~5.8 million votes up for grabs 7% 5.8M 2 to 5 min. wages · 33% PoderData Oct 19–21: Lula 44 × Flávio 54 (margin −10 in valid votes) 2 to 5 min. wages: Datafolha Oct 22 Lula 39 × Flávio 54, blank/spoiled 6, undecided 1 → margin −16 in valid votes; on Oct 7: 38 × 56 (−19); segment = 33% of the electorate, ~3.8 million votes up for grabs 7% 3.8M Over 5 min. wages · 21% PoderData Oct 19–21: Lula 41 × Flávio 57 (margin −16 in valid votes) Over 5 min. wages: Datafolha Oct 22 Lula 40 × Flávio 54, blank/spoiled 5, undecided 1 → margin −15 in valid votes; on Oct 7: 39 × 55 (−17); segment = 21% of the electorate, ~2.3 million votes up for grabs 6% 2.3M Religion Catholic · 44% PoderData Oct 19–21: Lula 52 × Flávio 45 (margin +7 in valid votes) Catholic: Datafolha Oct 22 Lula 55 × Flávio 39, blank/spoiled 5, undecided 2 → margin +17 in valid votes; on Oct 7: 53 × 41 (+13); segment = 44% of the electorate, ~5.6 million votes up for grabs 7% 5.6M Evangelical · 30% PoderData Oct 19–21: Lula 32 × Flávio 65 (margin −34 in valid votes) Evangelical: Datafolha Oct 22 Lula 26 × Flávio 69, blank/spoiled 4, undecided 1 → margin −45 in valid votes; on Oct 7: 25 × 69 (−47); segment = 30% of the electorate, ~3.0 million votes up for grabs 5% 3.0M Region Southeast · 42% PoderData Oct 19–21: Lula 43 × Flávio 52 (margin −9 in valid votes) Southeast: Datafolha Oct 22 Lula 41 × Flávio 51, blank/spoiled 6, undecided 2 → margin −11 in valid votes; on Oct 7: 42 × 50 (−9); segment = 42% of the electorate, ~5.3 million votes up for grabs 8% 5.3M South · 14% PoderData Oct 19–21: Lula 36 × Flávio 60 (margin −25 in valid votes) South: Datafolha Oct 22 Lula 33 × Flávio 58, blank/spoiled 7, undecided 2 → margin −27 in valid votes; on Oct 7: 35 × 58 (−25); segment = 14% of the electorate, ~1.9 million votes up for grabs 9% 1.9M Northeast · 27% PoderData Oct 19–21: Lula 64 × Flávio 33 (margin +32 in valid votes) Northeast: Datafolha Oct 22 Lula 65 × Flávio 30, blank/spoiled 4, undecided 1 → margin +37 in valid votes; on Oct 7: 61 × 35 (+27); segment = 27% of the electorate, ~3.1 million votes up for grabs 5% 3.1M Center-West/North · 16% PoderData Oct 19–21: Lula 41 × Flávio 57 (margin −16 in valid votes) Center-West/North: Datafolha Oct 22 Lula 41 × Flávio 53, blank/spoiled 4, undecided 1 → margin −13 in valid votes; on Oct 7: 37 × 58 (−22); segment = 16% of the electorate, ~1.7 million votes up for grabs 5% 1.7M Race White · 44% White: Datafolha Oct 22 Lula 43 × Flávio 51, blank/spoiled 4, undecided 2 → margin −9 in valid votes; on Oct 7: 39 × 55 (−17); segment = 44% of the electorate, ~5.2 million votes up for grabs 6% 5.2M Pardo (mixed-race) · 45% Pardo (mixed-race): Datafolha Oct 22 Lula 46 × Flávio 47, blank/spoiled 5, undecided 1 → margin −1 in valid votes; on Oct 7: 47 × 48 (−1); segment = 45% of the electorate, ~5.1 million votes up for grabs 6% 5.1M Black · 10% Black: Datafolha Oct 22 Lula 57 × Flávio 37, blank/spoiled 5, undecided 1 → margin +21 in valid votes; on Oct 7: 56 × 37 (+20); segment = 10% of the electorate, ~1.2 million votes up for grabs 6% 1.2M F+40 F+20 0 L+20 L+40 Sex Female · 53% PoderData Oct 19–21: Lula 55 × Flávio 41 (margin +15 in valid votes) Female: Datafolha Oct 22 Lula 49 × Flávio 44, blank/spoiled 5, undecided 2 → margin +5 in valid votes; on Oct 7: 50 × 44 (+6); segment = 53% of the electorate, ~6.6 million votes up for grabs 7% Male · 47% PoderData Oct 19–21: Lula 39 × Flávio 57 (margin −19 in valid votes) Male: Datafolha Oct 22 Lula 44 × Flávio 50, blank/spoiled 5, undecided 1 → margin −6 in valid votes; on Oct 7: 41 × 53 (−13); segment = 47% of the electorate, ~5.3 million votes up for grabs 6% Age 16 to 24 · 12% PoderData Oct 19–21: Lula 52 × Flávio 43 (margin +9 in valid votes) 16 to 24: Datafolha Oct 22 Lula 47 × Flávio 42, blank/spoiled 10, undecided 1 → margin +6 in valid votes; on Oct 7: 43 × 50 (−8); segment = 12% of the electorate, ~1.6 million votes up for grabs 11% 25 to 34 · 19% 25 to 34: Datafolha Oct 22 Lula 46 × Flávio 47, blank/spoiled 7, undecided 1 → margin −1 in valid votes; on Oct 7: 42 × 50 (−9); segment = 19% of the electorate, ~2.3 million votes up for grabs 8% 35 to 44 · 20% 35 to 44: Datafolha Oct 22 Lula 42 × Flávio 53, blank/spoiled 4, undecided 1 → margin −12 in valid votes; on Oct 7: 45 × 49 (−4); segment = 20% of the electorate, ~2.1 million votes up for grabs 5% 45 to 59 · 26% PoderData Oct 19–21: Lula 45 × Flávio 51 (margin −6 in valid votes) 45 to 59: Datafolha Oct 22 Lula 47 × Flávio 48, blank/spoiled 3, undecided 2 → margin −1 in valid votes; on Oct 7: 45 × 48 (−3); segment = 26% of the electorate, ~2.9 million votes up for grabs 5% 60 or older · 24% PoderData Oct 19–21: Lula 46 × Flávio 50 (margin −4 in valid votes) 60 or older: Datafolha Oct 22 Lula 49 × Flávio 44, blank/spoiled 5, undecided 2 → margin +5 in valid votes; on Oct 7: 50 × 46 (+4); segment = 24% of the electorate, ~2.9 million votes up for grabs 7% Education Primary school · 37% PoderData Oct 19–21: Lula 55 × Flávio 40 (margin +16 in valid votes) Primary school: Datafolha Oct 22 Lula 53 × Flávio 40, blank/spoiled 5, undecided 2 → margin +14 in valid votes; on Oct 7: 55 × 41 (+15); segment = 37% of the electorate, ~4.7 million votes up for grabs 7% High school · 46% PoderData Oct 19–21: Lula 44 × Flávio 53 (margin −9 in valid votes) High school: Datafolha Oct 22 Lula 44 × Flávio 49, blank/spoiled 6, undecided 1 → margin −5 in valid votes; on Oct 7: 39 × 53 (−15); segment = 46% of the electorate, ~5.3 million votes up for grabs 7% College · 17% PoderData Oct 19–21: Lula 47 × Flávio 50 (margin −3 in valid votes) College: Datafolha Oct 22 Lula 43 × Flávio 51, blank/spoiled 5, undecided 1 → margin −9 in valid votes; on Oct 7: 46 × 49 (−3); segment = 17% of the electorate, ~1.9 million votes up for grabs 6% Household income Up to 2 min. wages · 46% PoderData Oct 19–21: Lula 54 × Flávio 41 (margin +14 in valid votes) Up to 2 min. wages: Datafolha Oct 22 Lula 54 × Flávio 39, blank/spoiled 5, undecided 2 → margin +16 in valid votes; on Oct 7: 52 × 41 (+12); segment = 46% of the electorate, ~5.8 million votes up for grabs 7% 2 to 5 min. wages · 33% PoderData Oct 19–21: Lula 44 × Flávio 54 (margin −10 in valid votes) 2 to 5 min. wages: Datafolha Oct 22 Lula 39 × Flávio 54, blank/spoiled 6, undecided 1 → margin −16 in valid votes; on Oct 7: 38 × 56 (−19); segment = 33% of the electorate, ~3.8 million votes up for grabs 7% Over 5 min. wages · 21% PoderData Oct 19–21: Lula 41 × Flávio 57 (margin −16 in valid votes) Over 5 min. wages: Datafolha Oct 22 Lula 40 × Flávio 54, blank/spoiled 5, undecided 1 → margin −15 in valid votes; on Oct 7: 39 × 55 (−17); segment = 21% of the electorate, ~2.3 million votes up for grabs 6% Religion Catholic · 44% PoderData Oct 19–21: Lula 52 × Flávio 45 (margin +7 in valid votes) Catholic: Datafolha Oct 22 Lula 55 × Flávio 39, blank/spoiled 5, undecided 2 → margin +17 in valid votes; on Oct 7: 53 × 41 (+13); segment = 44% of the electorate, ~5.6 million votes up for grabs 7% Evangelical · 30% PoderData Oct 19–21: Lula 32 × Flávio 65 (margin −34 in valid votes) Evangelical: Datafolha Oct 22 Lula 26 × Flávio 69, blank/spoiled 4, undecided 1 → margin −45 in valid votes; on Oct 7: 25 × 69 (−47); segment = 30% of the electorate, ~3.0 million votes up for grabs 5% Region Southeast · 42% PoderData Oct 19–21: Lula 43 × Flávio 52 (margin −9 in valid votes) Southeast: Datafolha Oct 22 Lula 41 × Flávio 51, blank/spoiled 6, undecided 2 → margin −11 in valid votes; on Oct 7: 42 × 50 (−9); segment = 42% of the electorate, ~5.3 million votes up for grabs 8% South · 14% PoderData Oct 19–21: Lula 36 × Flávio 60 (margin −25 in valid votes) South: Datafolha Oct 22 Lula 33 × Flávio 58, blank/spoiled 7, undecided 2 → margin −27 in valid votes; on Oct 7: 35 × 58 (−25); segment = 14% of the electorate, ~1.9 million votes up for grabs 9% Northeast · 27% PoderData Oct 19–21: Lula 64 × Flávio 33 (margin +32 in valid votes) Northeast: Datafolha Oct 22 Lula 65 × Flávio 30, blank/spoiled 4, undecided 1 → margin +37 in valid votes; on Oct 7: 61 × 35 (+27); segment = 27% of the electorate, ~3.1 million votes up for grabs 5% Center-West/North · 16% PoderData Oct 19–21: Lula 41 × Flávio 57 (margin −16 in valid votes) Center-West/North: Datafolha Oct 22 Lula 41 × Flávio 53, blank/spoiled 4, undecided 1 → margin −13 in valid votes; on Oct 7: 37 × 58 (−22); segment = 16% of the electorate, ~1.7 million votes up for grabs 5% Race White · 44% White: Datafolha Oct 22 Lula 43 × Flávio 51, blank/spoiled 4, undecided 2 → margin −9 in valid votes; on Oct 7: 39 × 55 (−17); segment = 44% of the electorate, ~5.2 million votes up for grabs 6% Pardo (mixed-race) · 45% Pardo (mixed-race): Datafolha Oct 22 Lula 46 × Flávio 47, blank/spoiled 5, undecided 1 → margin −1 in valid votes; on Oct 7: 47 × 48 (−1); segment = 45% of the electorate, ~5.1 million votes up for grabs 6% Black · 10% Black: Datafolha Oct 22 Lula 57 × Flávio 37, blank/spoiled 5, undecided 1 → margin +21 in valid votes; on Oct 7: 56 × 37 (+20); segment = 10% of the electorate, ~1.2 million votes up for grabs 6%

What has moved since the first runoff wave (Datafolha Oct 7 → Oct 22, valid-vote margin): toward Lula among 16 to 24-year-olds (−8 → +6), high school (−15 → −5), Northeast (+27 → +37), Center-West/North (−22 → −13); toward Flávio among 35 to 44-year-olds (−4 → −12), college (−3 → −9). Lula's largest net gains come from the Northeast (+12.0M), Catholics (+8.8M), up to 2 minimum wages (+8.6M); Flávio's, from evangelicals (+16.2M), 2 to 5 minimum wages (+6.2M), Southeast (+5.2M) (net = segment size × Lula − Flávio difference × first-round turnout; the breakdowns overlap and do not add up).

See the table of all segments
SegmentElectorateDatafolha Oct 7Datafolha Oct 22Blank/spoiled · undecidedValid-vote marginΔ since Oct 7PoderData Oct 21Up for grabs (M)Net Lula − Flávio (M)
Sex · size: TSE 2026
Female53%50 × 4449 × 445 · 2+5−155 × 416.6+3.3
Male47%41 × 5344 × 505 · 1−6+639 × 575.3−3.5
Age · size: TSE 2026
16 to 2412%43 × 5047 × 4210 · 1+6+1352 × 431.6+0.8
25 to 3419%42 × 5046 × 477 · 1−1+8—2.3−0.2
35 to 4420%45 × 4942 × 534 · 1−12−7—2.1−2.7
45 to 5926%45 × 4847 × 483 · 2−1+245 × 512.9−0.3
60 or older24%50 × 4649 × 445 · 2+5+146 × 502.9+1.5
Education · size: PoderData sample
Primary school37%55 × 4153 × 405 · 2+14−155 × 404.7+6.0
High school46%39 × 5344 × 496 · 1−5+1044 × 535.3−2.9
College17%46 × 4943 × 515 · 1−9−547 × 501.9−1.7
Household income · size: PoderData sample
Up to 2 min. wages46%52 × 4154 × 395 · 2+16+454 × 415.8+8.6
2 to 5 min. wages33%38 × 5639 × 546 · 1−16+344 × 543.8−6.2
Over 5 min. wages21%39 × 5540 × 545 · 1−15+241 × 572.3−3.7
Religion · size: PoderData sample
Catholic44%53 × 4155 × 395 · 2+17+452 × 455.6+8.8
Evangelical30%25 × 6926 × 694 · 1−45+232 × 653.0−16.2
Region · size: TSE 2026
Southeast42%42 × 5041 × 516 · 2−11−243 × 525.3−5.2
South14%35 × 5833 × 587 · 2−27−336 × 601.9−4.5
Northeast27%61 × 3565 × 304 · 1+37+1064 × 333.1+12.0
Center-West/North16%37 × 5841 × 534 · 1−13+941 × 571.7−2.4
Race · size: Census 2022
White44%39 × 5543 × 514 · 2−9+9—5.2−4.4
Pardo (mixed-race)45%47 × 4846 × 475 · 1−1−0—5.1−0.6
Black10%56 × 3757 × 375 · 1+21+1—1.2+2.6
Political identification · size: derived from Datafolha
Bolsonaro supporters40%3 × 951 × 962 · 1−98−4—3.4−47.5
Non-aligned16%32 × 4532 × 4023 · 5−11+6—3.7−1.6
PT supporters44%91 × 792 × 62 · 1+88+2—5.0+47.8
The votes that were outside the runoff

How many voters chose another candidate, voted blank or spoiled, or did not vote on Oct 4 (TSE), and what they say now (Lula × Flávio, with blank/spoiled and undecided; margins of error of 6 to 24 points in these breakdowns). The net multiplies the size by the side that takes more, without discounting those who will not vote; for those who stayed home on Oct 4 there is no net, because abstention tends to repeat between rounds (20.9% and 20.6% in 2022) and only part of it swaps places with those who will stop showing up.

In the first roundVotersPoderData Oct 19–21Quaest Oct 17–20Net Lula − Flávio
Cury3.4M48 × 42, 8 bl/sp, 2 dk48 × 33, 16 bl/sp, 3 dk+0.36M
Renan2.7M34 × 49, 17 bl/sp, 1 dk25 × 51, 24 bl/sp, 0 dk−0.55M
Caiado2.6M30 × 49, 20 bl/sp, 1 dk21 × 57, 22 bl/sp, 0 dk−0.72M
Zema and others0.6M20 × 70, 6 bl/sp, 4 dk—−0.29M
Blank or spoiled6.0M46 × 23, 7 bl/sp, 24 dk40 × 36, 21 bl/sp, 3 dk+0.81M
Did not vote33.5M48 × 39, 11 bl/sp, 3 dk40 × 36, 21 bl/sp, 3 dkdepends on who turns out
Who might not vote

If each voter turns out with the probability they report (certain = 1, maybe = ½), Flávio's voters turn out at 98.0% and Lula's at 96.5%: the valid-vote margin would go from −1.8 to −2.6 (−0.8 pp). Certainty about voting is lower precisely in the groups where Lula does best: 90% among 16 to 24-year-olds and 93% among those earning up to 2 minimum wages, versus 97% among those 45 or older (PoderData Oct 19–21). Among those who did not vote in the first round, only 69% say they will definitely vote; among those currently voting blank or spoiled, 56%. That is why Sunday mobilization matters more for Lula than for Flávio, and abstention in the 2022 runoff (20.6%) stayed close to the first round's (20.9%): it rarely changes much between rounds.

What to watch on election Sunday
Scenarios

Four scenarios for October 25: the most likely is a narrow Flávio win, in 57% of simulations; Lula wins in 18%

In one sentence: today's adjusted margin (Flávio +1.3) falls in the "Narrow Flávio win" card; adding the polls' historical error and the uncertainty until Oct 25, 82% of simulations end with Flávio ahead. Polls taken after the first round, in valid votes: Futura (education weighted by PNAD) Oct 24, Flávio +0.3; PoderData Oct 24, Flávio +2.1; BTG/Nexus Oct 24, Flávio +1.1; Quaest Oct 24, Flávio +1.1; Datafolha Oct 24, Flávio +1.1; Palver (v3 calibration) Oct 24, Flávio +1.0; Gerp Oct 24, Flávio +3.2; Colectta Oct 23, Lula +0.5 (the 8 most recent of 57).

How to read it. Each card is a slice of the simulations, and the four add up to 100%. The "Signals" list says what to watch in upcoming polls to tell which scenario the election is heading into.
Probabilities derived directly from the distribution of the ensemble (not qualitative estimates). The two central scenarios — a result within 4 pp either way — add up to 73%; within them, 30% end with a margin under 1.5 pp, the zone where results get contested, as in 2022.
Lula by more than 4 pp2%

Clear Lula lead

Full comeback by Oct 25: Lula wins back third-way voters and first-round abstainers, and the polls stop erring against Flávio. A 52 × 48 result or wider for Lula.

Signals
  • Adjusted margin at +4 or more at the ballot box: a 5.3-point swing from today's
  • Lula wins the battle for third-way voters (in the Oct 6–7 Datafolha: 46% Flávio × 32% Lula)
  • Turnout rises in the Northeast, where Lula leads 61% to 35% (Datafolha)
Lula by 0 to 4 pp16%

Narrow Lula win

Lula recovers the few points he lost in the first round and the polls get it right. A result between 50 × 50 and 52 × 48 for Lula.

Signals
  • Adjusted margin above +0.8 (the break-even point) in the final week
  • Government approval above today's 34% (excellent + good)
  • Cury's and the Centrão's endorsements of Flávio do not translate into votes
Flávio by 0 to 4 pp57%

Narrow Flávio win

The first-round picture repeats: Flávio keeps the lead, but the third way splits and part of it votes blank. A result between 50 × 50 and 52 × 48 for Flávio.

Signals
  • Adjusted margin between −4 and +0.8: today it is at -1.3 (Flávio +1.3)
  • Post-first-round polls stable around today's range (Futura (education weighted by PNAD) Oct 24, Flávio +0.3 · PoderData Oct 24, Flávio +2.1 · BTG/Nexus Oct 24, Flávio +1.1 · Quaest Oct 24, Flávio +1.1 · Datafolha Oct 24, Flávio +1.1 · Palver (v3 calibration) Oct 24, Flávio +1.0 · Gerp Oct 24, Flávio +3.2 · Colectta Oct 23, Lula +0.5 (the 8 most recent of 57))
  • Third-way blank and spoiled voters (15% in Datafolha) do not migrate
Flávio by more than 4 pp25%

Clear Flávio lead

The right consolidates around Flávio with the Centrão's endorsements, and polling error once again underestimates him, as in the 2014 and 2022 runoffs and in this year's first round. A 52 × 48 result or wider for Flávio.

Signals
  • Adjusted margin below −4
  • Third-way transfer consolidates: Cury (Oct 8), União Brasil, PP, Republicanos and Novo with Flávio
  • Polls repeat the first-round error, when they overestimated Lula
2
What drives the race
In one minute: the conclusion of each analysis. The What drives it page has the charts, tables and full text of each one.
Analysis · Runoff

What drives the runoff: the expectation of victory, turnout and the end of the 6x1 schedule

since the pro-Lula rallies of Oct 11 to 13, the pooled poll margin went from −4.2 to −2.0 points in valid votes, and the 7 pollsters with a wave before and after, same method, together record +2.9 points; it is not possible to separate the effect of the streets from the end of the 6x1 schedule and the natural wear on the first-round winner…

Read the full analysis
Analysis · First round

Why Flávio pulled ahead

the comeback came in two stages. In September, the consolidation of the anti-PT vote took Flávio from 35.7% to 43.0% of valid votes in the polls; on election day, a last mile of 4.1 points, which the polls did not capture, put him in front. Lula stayed where the polls measured him: at his ceiling.

Read the full analysis
Polls × ballot boxes

The polls got Lula right and missed Flávio by 4.2 points: who missed, by how much and where

the polls measured Lula well and everything else poorly: in the final week Lula came out with an average error of −0.6 point, Flávio with −4.2 and the other candidates with +4.8; the voter the polls still placed in the third way voted for Flávio.

Read the full analysis
The race over time

The polls' adjusted margin stands at 1.3 points for Flávio, and the trend over the past week favors Lula, slowing down

the line summarizing all polls is now at -0.9 points for Lula, versus -2.0 two weeks ago — movement toward Lula, still within the margin of uncertainty.

Read the full analysis
The state map

In state runoff polls taken after the first round, Flávio leads in 4 states and Lula in 2: what that says about the national margin

adding up the states with recent polling (8% of the electorate), the estimated national margin is +3.6 points for Lula, versus -0.9 in national polls — the state-level reading is 4.5 points more favorable to Lula. It does not yet enter the simulation (coverage 8% < 30%).

Read the full analysis
The municipal map

Lula lost the lead in 459 municipalities since 2022 and now leads in 2,663; Flávio, in 2,906

Of the 3,123 municipalities where Lula led in the 2022 runoff, he finished the 2026 first round ahead in 2,663. 459 municipalities (5,956,147 voters) flipped from Lula to Flávio, and 1 went the other way.

Read the full analysis
The vote abroad

Lula won abroad by 4.1 points, but 63% of the 917,000 eligible voters did not vote

916,534 Brazilians are eligible to vote abroad, in 186 cities in 133 countries. In the first round, Lula took 47.6% of valid votes abroad and Flávio, 43.5%; Lula led in 85 cities and Flávio in 59 (in the other 42, a tie or no votes). But 63% of eligible voters did not vote: they are…

Read the full analysis
Generations · is there a new generation of voters further to the right?

Partly: the generation furthest to the right is the 25-to-44 group, not the youngest

Hypothesis: a cohort of voters has been shaped to vote on the right, shows up more strongly in 2026 and does not end there. Here it is tested against eve-of-election polls broken down by age (Datafolha, 2010 to 2026), the TSE voter registry and the vote by…

Read the full analysis
Variables

Government approval is the variable that moves the margin most: from -2.6 to +2.5 points for Lula, depending on the scenario

government approval is what moves the margin most: each additional point of approval is worth about 0.8 point of margin for Lula.

Read the full analysis
Trend

Rejection: Lula 46% × Flávio 45% in Datafolha (Oct 23–24) and 47% × 52% in Quaest (Oct 17–20); Flávio is the most rejected

Lula and Flávio are each rejected by almost half the electorate (Datafolha Oct 23–24: 46% × 45%), and that ceiling limits how much more either can grow.

Read the full analysis
Trend

Between 4.8% and 14% of the electorate has not yet chosen or plans to vote blank or spoiled, depending on the pollster (data through Oct 3; post-first-round polls only report blank, spoiled and undecided combined, in the table above)

between 4.8% and 14% of the electorate has not yet chosen or plans to vote blank/spoiled, depending on the pollster — little for a big comeback, but enough to decide a close election.

Read the full analysis
Turnout

Each additional point of abstention costs Lula about 0.25 point of margin: who stays home and whom it costs

one in five voters typically stays home, and those who do are poorer and less educated, groups in which Lula leads. That is why each additional point of abstention costs Lula about 0.25 point of margin. The effect is real but limited: even 25% abstention, well above…

Read the full analysis
Migration

Where the 33 million who stayed home, the 9 million third-way voters and the 6 million blank and spoiled voters go

Without a targeted campaign, migration takes the margin to −2.7 points (80% between −3.5 and −2.0). A strong person-to-person canvassing campaign, with 500,000 initial volunteers and the effectiveness the literature measures, yields a net +32,000 votes and moves the margin by 0.0 points; the maximum, +0.1. The…

Read the full analysis
Scandals and late-campaign events · STF, Master, Dark Horse, betting sites, Aparecida and Carbono Oculto

The scandals did not change the poll margin; betting markets reacted to the STF crisis

so far, the scandals have not changed the poll margin — those who say the Dark Horse case pushes them away from Flávio were, in general, not voting for him already —, but betting markets reacted to the STF crisis against Lula. In the home stretch (Sep 24–26), three new events leaned slightly toward…

Read the full analysis
Alternative scenario

Flávio is Lula's toughest opponent: against the other right-wing names, Lula did better

against any other right-wing name, Lula does better; Flávio is the most competitive opponent and is in the runoff in 100% of simulations.

Read the full analysis
3
Under the hood
For those who want to check: how the model works, the polls and their weights, the method, each pollster's bias, the full datasets and the code.