AFOS Analytics
Real-time political pricing
Prediction markets × polls × news
no smoothed averages
The week of July 20-24 answered the question Issue №9 left open, and the answer went against the market. In the winner contract, Flávio Bolsonaro went from 26.90% on Monday to 23.10% on Friday, a fall of −3.80pp, giving back with interest the 3.20pp the previous issue reported as a rise with no polling backing. Lula rose 1.00pp, from 60.50% to 61.50%, and the gap widened from +33.60pp to +38.40pp, up 4.80pp in the week. Four national polls were published in the window and all four pointed the same way as the price: Real Time Big Data and Indexa on July 21, Gerp on July 22 and the Datafolha on July 24 (BR-01166/2026, n=2,004, conf. 0.90), which measured a first round of 40 × 32 and a runoff of 48 × 43. Issue №9's base scenario predicted exactly that, Flávio consolidating below 26%, and it happened. The new finding of this window is elsewhere, in the placement contracts. In the same week, Flávio's second place contract fell −6.00pp, from 80.00% to 74.00%, while his third place contract rose +4.00pp, from 4.60% to 8.60%. The market began assigning non-trivial probability to him not reaching the runoff, something no previous issue has recorded. On the other side of that ledger is Renan Santos, formalized as a candidate by Missão on July 20, the first day of the window: he rose +3.30pp in the winner contract, from 8.50% to 11.80%, and +6.00pp in third place, to 67.00%, while three of the four national polls in the week measured him at 3%. The presidential contract has accumulated USD 115.95M. The next window brings four national polls in five days and the close of the convention deadline on August 5.
1.Executive Summary
Issue №9 closed with a dated question: whether the Datafolha of July 24 would arbitrate the divergence of direction between a rising market and two polls measuring Flávio falling. The July 20-24 window answered, and it answered against the market. Flávio fell 3.80pp in the winner contract, more than the 3.20pp he had risen, and the four national polls published in the week converged with that direction. The Datafolha put him at 32% in the first round, between the Quaest's 28% and the PoderData's 34% cited in the previous issue, which settles that window's house effect without vindicating either end. We record the base scenario hitting explicitly, because the same standard requires recording the misses: we predicted consolidation below 26% and the close was 23.10%. What the window produced that is new is not in the winner contract but in the placement contracts. Flávio's two contracts disagreed with each other again, as Issue №9 had already flagged, but now with inverted sign and greater magnitude: second place gave up 6.00pp and third place rose 4.00pp. The consistent reading is that the market began pricing a scenario in which he does not reach the runoff. On the other side, Renan Santos was formalized as a candidate on July 20 and rose 3.30pp in the winner contract and 6.00pp in third place, against three national polls that measured him at 3%. Market snapshot July 26, 5:30pm BRT.
2.Why AFOS does not smooth
Four national polls in the same week is the situation where aggregation looks most defensible and is most destructive. The average of the four would give Flávio ~33.25% in the first round, a figure no institute measured, and would erase a spread of eight points between the lowest and the highest house in the same five-day window.
Why it matters: Issue №9 recorded a divergence of direction between price and polling and said the next window would arbitrate. It did, and it was the price that moved. An average of the four national polls would have produced ~33% and turned the week into another case of a lukewarm spread against the contract's 23.10%. What the decomposition shows is that the distance between the houses (eight points on Flávio, six on Renan) is greater than the distance between the average and the price, meaning house noise dominates the signal aggregation would try to extract. Mandatory and repeated methodological caveat: market price is probability of victory, not vote share, and the two quantities do not subtract from one another. The legitimate comparison is of direction and of conviction. Second caveat: Gerp is a house with a history of being an outlier favourable to Flávio in this panel's archive, and citing it without that context would be an omission.
We record what weakens this issue's thesis, because the standard is to report both sides. Flávio's fall in the window is consistent with the correction of a rally with no backing, but it is also consistent with a reaction to the week's own news flow, which brought criticism from the centrão about his political management on July 21 and Michelle's confirmed absence from the convention on July 23. Five sessions do not separate technical correction from reaction to an event, and we have no way to attribute. What we do have is the coincidence of direction between four independent measurements and the price, which is more than Issue №9 had, and less than a demonstrated cause.
The same framework we apply to Brazil, measuring the distance between the prediction market and the polls and checking the signal against the actual election result, has already been tested against eleven elections across four continents: India (2024, Lok Sabha, the most recent case in the archive and the only one where market and polls erred together in the same direction), France (2024, legislative), South Korea (2025, the first case in Asia), Peru and Colombia (2026), Chile, Germany and Canada (2025) and the United Kingdom, Mexico and the United States (2024). In some cases the signal was convergence, in others divergence, and the method reports both with no retroactive adjustment. The full dataset, with methodology and code, is open under Apache 2.0 and has a permanent DOI at the Harvard Dataverse.
3.Weighted scenarios for the week
Scenarios for the July 27-31 window, which brings four national polls in five days (Nexus on July 27, AtlasIntel on July 28 with n=5,000, PoderData on July 30 and Vox Brasil on July 31) and the close of the convention deadline on August 5. Three of those four had fieldwork open on July 26, so they are the first to measure the electorate after the PL convention on July 25 and the PSD convention on July 26.
The four national polls in the window confirm the Datafolha's level, with Flávio between 30% and 33%, and his winner contract stabilises in the 23% to 25% band with no new floor break. The gap oscillates between +36pp and +39pp with no clear trend, after five sessions of continuous widening. The placement contracts are the place to watch: if Flávio's third place holds above 8%, the hypothesis that he might not reach the runoff stops being an artefact of a thin book and becomes a price with persistence. Net-neutral for BRL: it confirms the prevailing regime.
The AtlasIntel of July 28 (n=5,000), the largest sample in the window and the first big one with fieldwork entirely after both conventions, measures Flávio recovering into the 35% range or the runoff in a statistical tie. In that case the July 20-24 fall will have been an overshoot and the market repriced ahead of the information arriving, inverting this issue's reading for the second time in two weeks. The signature would be compression of the gap below +33pp with simultaneous recovery of the second place contract above 78%. Risk of repricing in assets sensitive to electoral risk, and the cleanest test since the start of the cycle, because the sample is large and the fieldwork is clean.
The convention deadline closes on August 5 with a ticket-level fact that reprices the placement contracts. Flávio left his own convention on July 25 without a running mate, after Tereza Cristina declined, and Zema reaches the end of the deadline in the same situation. A weighty running-mate decision, an unexpected federation or a withdrawal in the third-way pack moves the second place contract more than any poll in the window. These are contracts with volume two to three orders of magnitude smaller than the winner contract, therefore fast repricing with little flow. On July 26 the Senate seats book swung 1.00pp in thirteen minutes on USD 292 thousand accumulated, which is the exact illustration of that risk.
4.Indicator Grid
| Contract | Current | Δ week | Vol USD acc. | Implied reading |
|---|---|---|---|---|
| Flávio · winner | 23.10% | ↓3.80pp in the week | 7.67M | Gave back more than the 3.20pp he rose in the previous window. The four national polls of the week pointed the same way, which had not happened since Issue №7 |
| Gap Lula × Flávio | +38.40pp | ↑4.80pp in the week | 115.95M | Five sessions of continuous widening. Three quarters of the move came from Flávio's side, not Lula's. It kept widening post-window, to +39.60pp on July 25 |
| Flávio · third place, first round | 8.60% | ↑4.00pp in the week | 22k | Nearly doubled. The market began assigning non-trivial probability to him not reaching the runoff, and that is unprecedented in this panel |
| Flávio · second place, first round | 74.00% | ↓6.00pp in the week | 207k | Largest weekly fall in this contract since Issue №1. It mirrors his third place move and reinforces that this is not noise from a single book |
| Lula · winner | 61.50% | ↑1.00pp in the week | 7.65M | Anchored at 60.50% from Monday to Thursday and rose only on Friday. Broke through to 62.50% on July 25, the top of this panel's series |
| Renan Santos · winner | 11.80% | ↑3.30pp in the week | 8.53M | Formalized as a candidate by Missão on July 20, the first day of the window. He rose against three national polls that measured him at 3%, and gave it back post-window, to 9.55% on July 26 |
| Renan · third place, first round | 67.00% | ↑6.00pp in the week | 157k | Recovered the 2.50pp lost in Issue №8 and more. The market consolidated his position in the pack while the polling kept him at 3% |
| Michelle Bolsonaro · winner | 0.90% | ↓0.80pp in the week | 9.26M | Lost almost half her price in the week she confirmed her absence from the PL convention. Fourth largest volume in the book with no declared presidential pre-candidacy |
| Ronaldo Caiado · winner | 1.80% | ↑0.40pp in the week | 5.14M | Measures 4% in the Datafolha and 3% in Gerp. He was formalized by the PSD on July 26, post-window, and his price fell 0.15pp in that same session |
| STF impeach < 2027 | 3.40% | noise range | 83k | Three orders of magnitude below the presidential market. It did not move even when a foreign head of state attacked a justice on July 25, post-window |
5.Liquidity and market structure
The volume structure of this book has not changed in nature since Issue №9 and remains the figure that most misleads a newcomer. The three largest accumulated volumes are still in contracts priced below 0.20%: Tarcísio (USD 13.63M at 0.15%), Carlos Massa (USD 10.37M at 0.05%) and Eduardo Bolsonaro (USD 10.35M at 0.05%). These are old positions never unwound, legacy volume and not current traction. The reading rule applies to any use of this book: accumulated volume measures historical interest, not current conviction. The relevant change in the window is in fifth place: Renan Santos kept the volume lead among live contenders, with USD 8.53M against Flávio's USD 7.67M and Lula's USD 7.65M, and this time he rose in price alongside the flow, inverting the orderly-correction pattern Issue №9 described. Flow and price moving together is what distinguishes repricing from accommodation, and that is why his post-window give-back, from 11.80% to 9.55% between July 25 and 26, deserves the next issue.
The 5 largest accumulated volumes account for ~USD 52.14M (~45%) of the presidential market (total USD 115.95M). The week's cross-read of price × volume: Flávio's 3.80pp fall happened with his volume practically level with Lula's (USD 7.67M against USD 7.65M), meaning it was not a thin-book move, and that is the main evidence that the correction had real flow behind it. In the placement contracts the reading is the opposite and needs to be stated: his third place holds USD 22 thousand and his second place USD 207 thousand, against the USD 7.67M of the winner contract. The most interesting move of this issue is therefore the one with the least financial backing, and no structural conclusion should be drawn from it before a second window. A low-volume spike (USD <500k) in an individual contract should still be treated as noise until recurring flow confirms it.
6.Calendar of price-relevant prints
| Date | Sample | Why it matters | |
|---|---|---|---|
| Mon Jul 27 | Nexus Pesquisa (national) | n=2,000 · BR-01489/2026 · conf. 0.70 | First national poll after the PL and PSD conventions; tests whether Flávio's fall in the window continues in the polling |
| Tue Jul 28 | AtlasIntel (national) | n=5,000 · BR-08602/2026 · conf. 0.90 | The print that arbitrates this issue. Largest sample and highest reliability in the window, with fieldwork entirely after both conventions |
| Thu Jul 30 | PoderData (national) | n=2,400 · BR-07845/2026 · conf. 0.70 | The house that in Issue №9 marked the top of the interval on Flávio (34%); its own series allows checking whether the retreat is general or house-specific |
| Fri Jul 31 | Vox Brasil (national) | n=2,100 · BR-01084/2026 · conf. 0.70 | Closes the window; a fourth national read in five days allows measuring house dispersion with four points in the same week |
| Wed Aug 5 | Close of the party convention deadline | not a poll · legal deadline | Last day to define ticket and running mate. Moves the placement contracts, the lowest volume and most sensitive in the panel |
Source: TSE register via the AFOS API. The 'registered ≠ published' status still applies: the dates are those declared by the institutes in the filing, and institutes may delay or cancel release. The July 27 to August 2 window holds 31 filings with sample ≥ 1,000; the table lists the four with national scope, and the other 27, nearly all state-level with samples between 1,000 and 2,700, fall outside this brief by scope and not for lack of a filing. Confirmation of actual release requires two primary sources before citing any result.
7.Watch list, week triggers
- The AtlasIntel of July 28 arbitrates this issue. It is the largest sample in the window (n=5,000, conf. 0.90) and the first big one with fieldwork entirely after the PL convention on July 25 and the PSD convention on July 26. If it measures Flávio in the 35% range, the July 20-24 fall will have been an overshoot and this issue's reading inverts. If it measures between 30% and 33%, it confirms the Datafolha's level and the correction is established.
- Flávio's two placement contracts moved together and in opposite directions to expectation. Second place fell 6.00pp and third place rose 4.00pp in the same window. That is the market pricing a scenario in which he does not reach the runoff, and it is unprecedented in this panel. Size caveat: the two books total USD 229 thousand against USD 7.67M in the winner contract. If third place holds above 8% for another window, it stops being an artefact of depth.
- Renan rose in price and flow together, and has already given it back. He was formalized on July 20, rose 3.30pp in the winner contract and 6.00pp in third place during the window, keeping the largest volume among live contenders (USD 8.53M). Post-window he gave it back to 9.55% on July 26, after the Datafolha measured him at 3%. The distance between 9.55% implied probability and 3% declared voting intention remains the widest on the panel.
- Three candidacy launches in seven days, and three different price responses. Renan on July 20 rose over the week; Flávio on July 25 fell 0.10pp in that same session; Caiado on July 26 fell 0.15pp in that same session. Three occurrences do not make a pattern and no cause is demonstrated in any of them, but the deadline runs to August 5 and the panel will record the ones still to come.
- The gap widened for five consecutive sessions and then pulled back. It went from +33.60pp on July 20 to +38.40pp on July 24, continued to +39.60pp on July 25, and pulled back to +38.80pp on July 26. The top lasted one session. Watch whether the +36pp to +39pp band becomes a level or was a peak, because the difference between those two readings changes what can be said about how settled the race is.
8.Methodology
AFOS Tradeoff aggregates three signals without averaging them into a composite: Polymarket (USD-denominated, ~30min latency), polls registered with the TSE (declared voting intention, variable frequency) and 400+ press sources (event flow). When the three diverge, the divergence is the signal, not the consensus. USD volume is reported alongside implied probability to separate conviction from artificial spikes. Liquidity (book depth) is not cited inline: low liquidity on Polymarket does not mean the price is wrong, the market is continuously arbitraged.
Weekly deltas in this issue come from snapshots persisted in our own database, not from retroactive reconstruction, and use the last point of each day. That produces differences of hundredths relative to the AFOS Daily, which reports the intraday capture of the moment it is written: the July 25 gap appears here as +39.60pp and in that day's Daily as +39.65pp, and both readings are correct within their own convention. We record this because the alternative is the reader discovering it alone and not knowing which to believe.
A methodological note on superlatives, valid for the whole series: the public history API caps queries at 90 days, so any 'widest of the cycle' checked through it measures 90 days. The maximum claims in this issue were checked directly against the database and are written as widest of the series, with the window declared, never as widest of the cycle.
9.Additional reading · macro coverage
Relevant articles and sections from the week in reference outlets. AFOS Tradeoff is a primary source (Polymarket + TSE + polls); the references below are complementary reading for macro context alignment. Note: some operate behind a paywall.
- Folha de S.Paulo · Citing threats, Missão brings forward its convention and formalizes Renan Santos as a presidential candidate (July 20)(paywall), www1.folha.uol.com.br/poder/2026/07/citando-ameacas-missao-antecipa-convencao-e-oficializa-renan-santos-como-candidato-a-presidencia.shtml
- Folha de S.Paulo · With no alliance, Flávio reaches his convention under criticism from the centrão over favouring family and weak political management (July 21)(paywall), www1.folha.uol.com.br/poder/2026/07/sem-alianca-flavio-chega-a-convencao-sob-critica-do-centrao-de-favorecimento-a-familia-e-inabilidade.shtml
- Folha de S.Paulo · Kassio prepares a new model for poll registration, and experts point to manipulation risks (July 23)(paywall), www1.folha.uol.com.br/poder/2026/07/kassio-prepara-novo-modelo-de-registro-de-pesquisas-e-especialistas-apontam-riscos-de-manipulacao.shtml
- Folha de S.Paulo · Double tariff of 37.5% will hit nearly 4,000 products and BRL 55 billion in exports, says CNI (July 24)(paywall), www1.folha.uol.com.br/mercado/2026/07/tarifa-dupla-de-375-atingira-quase-quatro-mil-produtos-e-r-55-bilhoes-em-exportacoes-diz-cni.shtml
- Folha de S.Paulo · Government discusses new measures for sectors hit by the tariff package (July 23)(paywall), www1.folha.uol.com.br/colunas/painel/2026/07/governo-discute-novas-medidas-aos-setores-afetados-por-tarifaco.shtml
- Folha de S.Paulo · Flávio Bolsonaro tries to shake off isolation and a run of bad news to energise voters at the PL convention (July 24)(paywall), www1.folha.uol.com.br/poder/2026/07/flavio-bolsonaro-tenta-driblar-isolamento-e-mare-de-mas-noticias-para-reanimar-eleitores-em-convencao-do-pl.shtml
Macro context references. This issue's primary signal (Flávio's 3.80pp fall between July 20 and 24 confirmed by the four national polls in the window, and the pair of opposite moves in his placement contracts, −6.00pp in second place and +4.00pp in third) is direct observation of Polymarket pricing cross-referenced with the TSE register, not derived from the articles above.
Get it by email
AFOS Tradeoff is the weekly read on Brazilian political risk, for people who decide on data rather than headlines.
No spam. Unsubscribe anytime.
After signing up you choose whether to receive it in English, Portuguese or Spanish.