Who will win the 2027 French presidential election?

Bayesian poll-aggregation forecast. This is work in progress, I would love your feedback.

How to read this forecast

  • All panels are interactive: hover over the plots to read more information.
  • This model uses polls to simulate the upcoming French presidential election 1,000 times.
  • The panel Who wins the presidency? reports the share of simulations won by each candidate.
  • The panel First-round vote intention over time shows the polls used in the model, which tell us where candidates appear to stand today.
  • The panel First-round in 1,000 simulated elections displays the first-round scores in 1,000 simulations.
  • The last panel, Most likely runoff match-ups, shows the simulated runoff results in the most frequent pairings coming out of the simulated first rounds.
  • Note 1: past French elections tell me how uncertain the estimates should become between now and election day.
  • Note 2 candidate withdrawals are scenarios, not just predictions. They layer an explicit assumption about where a departing candidate's voters go on top of the poll-driven forecast.

Who wins the presidency?

Each dot is one simulated election, placed in the row of the candidate who won it — so the width of each cloud is that candidate's chance of winning. Hover a dot to see that simulation's first-round result and the runoff it produced. ()

First-round vote intention over time

Lines are the model's estimate; shaded bands are the 80% credible interval, widening toward election day. Dots are individual polls, each shown at the candidate's reported share (including alternatives not in the selected line-up).

First round in 1,000 simulated elections

Each dot is one simulated first-round result. The two candidates with the highest scores advance to the runoff, so candidates clustered near the top are fighting for the second qualifying spot.

Most likely runoff match-ups

The runoffs that occur most often across simulations. Each dot is one simulated runoff, placed by the RN candidate's second-round share and coloured by the winner; the dashed line is the 50% threshold. Hover a dot for that runoff's result.

Model: weekly random-walk aggregation of first-round polls (softmax over the candidates in each poll, with pollster house effects), chained to a Bradley–Terry runoff model. Priors for opinion drift, poll error and house effects are calibrated on the 2012, 2017, and 2022 elections. Shares are among expressed votes. Turnout and undecideds are not modelled separately. Built with R, Stan and D3.js.