Correlations between candidates and blocs
Experimental
Experimental. This layer is experimental and does not feed into the probability of winning. No model class of the statistics engine covers the correlation of shares that sum to 100%: this estimate is home-made, with block-bootstrap intervals. Samples are short.
Weekly changes in estimated support (the Opinion tab's model), 78 weeks between 24 Apr 2025 and 22 Oct 2026. 80% intervals by block bootstrap with blocks of 4 weeks, fixed seed, 400 draws.
Log-ratio correlation (free of the sum constraint)
Correlation of the weekly changes of each candidate's log-ratio against the reference candidate (Marine Le Pen), who therefore does not appear in the table. Value shrunk towards zero (intensity 0.64); hover over a cell for the 80% interval. Pale cell: the interval contains zero. "·": fewer than 8 common weeks.
Experimental
| Bruno Retailleau | Édouard Philippe | Éric Zemmour | Fabien Roussel | Gabriel Attal | Jean-Luc Mélenchon | Marine Tondelier | Nathalie Arthaud | Nicolas Dupont-Aignan | Raphaël Glucksmann | |
|---|---|---|---|---|---|---|---|---|---|---|
| Bruno Retailleau | 1 | 0.08 | 0.21 | −0.16 | −0.03 | −0.11 | −0.02 | −0.15 | −0.15 | −0.16 |
| Édouard Philippe | 0.08 | 1 | 0.05 | 0.13 | 0.07 | 0.14 | 0.21 | −0.02 | −0.02 | −0.27 |
| Éric Zemmour | 0.21 | 0.05 | 1 | −0.12 | −0.19 | 0.08 | −0.11 | −0.12 | 0.00 | −0.15 |
| Fabien Roussel | −0.16 | 0.13 | −0.12 | 1 | 0.08 | 0.04 | 0.18 | 0.23 | 0.12 | 0.01 |
| Gabriel Attal | −0.03 | 0.07 | −0.19 | 0.08 | 1 | 0.00 | 0.10 | −0.04 | 0.11 | 0.10 |
| Jean-Luc Mélenchon | −0.11 | 0.14 | 0.08 | 0.04 | 0.00 | 1 | −0.01 | −0.12 | 0.21 | −0.11 |
| Marine Tondelier | −0.02 | 0.21 | −0.11 | 0.18 | 0.10 | −0.01 | 1 | 0.14 | −0.06 | −0.16 |
| Nathalie Arthaud | −0.15 | −0.02 | −0.12 | 0.23 | −0.04 | −0.12 | 0.14 | 1 | −0.03 | 0.08 |
| Nicolas Dupont-Aignan | −0.15 | −0.02 | 0.00 | 0.12 | 0.11 | 0.21 | −0.06 | −0.03 | 1 | 0.13 |
| Raphaël Glucksmann | −0.16 | −0.27 | −0.15 | 0.01 | 0.10 | −0.11 | −0.16 | 0.08 | 0.13 | 1 |
How to read this table. Each cell crosses two candidates: blue when their weekly changes move together, orange when they move opposite ways, pale when the 80% interval contains zero. The value is printed in the cell.
Learn more
We start from the path estimated by the Opinion tab's model, read every week, then compute the correlations of week-to-week changes. The project's statistics engine has no model class for this: the method is described in docs/covariance.md. Values are shrunk towards zero because the series are short; a single figure proves nothing, the overall picture does.
Between blocs
Same computation on the summed shares of each bloc's candidates (blocs of the Parties page; candidates with no known bloc are excluded). First matrix: shares (sum constraint included); second: log-ratios against the National right bloc.
Experimental
Shares
| Centre | National right | Left | Right | |
|---|---|---|---|---|
| Centre | 0.2 | −0.1 | −0.1 | −0.0 |
| National right | −0.1 | 0.1 | 0.0 | 0.0 |
| Left | −0.1 | 0.0 | 0.1 | −0.0 |
| Right | −0.0 | 0.0 | −0.0 | 0.0 |
Log-ratios
| Centre | Left | Right | |
|---|---|---|---|
| Centre | 1 | 0.10 | 0.03 |
| Left | 0.10 | 1 | −0.34 |
| Right | 0.03 | −0.34 | 1 |
Candidates by bloc : Centre (Édouard Philippe, Gabriel Attal) · National right (Marine Le Pen, Éric Zemmour) · Left (Jean-Luc Mélenchon, Raphaël Glucksmann, Marine Tondelier, Fabien Roussel, Nathalie Arthaud) · Right (Bruno Retailleau, Nicolas Dupont-Aignan)
Substitution: if a candidate gains 1 point…
Row: the candidate who gains 1 point in a week. Columns: points lost on average by each of the others (a negative value means they gain too). Each row sums to 1.00 by construction. Hover for the 80% interval and the pro-rata split by current shares (neutral benchmark); the gap to that benchmark is the non-mechanical part.
Experimental
| Candidate | Weeks | Bruno Retailleau | Édouard Philippe | Éric Zemmour | Fabien Roussel | Gabriel Attal | Jean-Luc Mélenchon | Marine Le Pen | Marine Tondelier | Nathalie Arthaud | Nicolas Dupont-Aignan | Raphaël Glucksmann | Sum |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bruno Retailleau | 22 | · | −0.49 | −0.47 | 0.00 | 1.49 | −0.17 | −0.67 | −0.06 | −0.01 | −0.04 | 1.42 | 1.00 |
| Édouard Philippe | 21 | −0.19 | · | −0.01 | −0.03 | 0.81 | −0.39 | −0.61 | −0.13 | 0.00 | −0.04 | 1.59 | 1.00 |
| Éric Zemmour | 20 | −0.76 | −0.04 | · | −0.05 | 3.42 | −0.58 | −1.07 | 0.11 | −0.02 | −0.07 | 0.06 | 1.00 |
| Fabien Roussel | 22 | 0.10 | −3.51 | −1.40 | · | 12.04 | −2.46 | −5.18 | −0.93 | −0.42 | −0.32 | 3.10 | 1.00 |
| Gabriel Attal | 16 | 0.07 | 0.10 | 0.10 | 0.01 | · | 0.22 | 0.40 | 0.00 | 0.00 | 0.03 | 0.05 | 1.00 |
| Jean-Luc Mélenchon | 22 | −0.12 | −0.73 | −0.25 | −0.04 | 3.25 | · | −1.52 | −0.02 | 0.01 | −0.09 | 0.52 | 1.00 |
| Marine Le Pen | 22 | −0.17 | −0.41 | −0.17 | −0.03 | 2.13 | −0.55 | · | −0.05 | −0.01 | −0.06 | 0.32 | 1.00 |
| Marine Tondelier | 21 | −0.41 | −2.36 | 0.47 | −0.15 | 0.16 | −0.23 | −1.35 | · | −0.12 | −0.08 | 5.08 | 1.00 |
| Nathalie Arthaud | 22 | −0.73 | 0.69 | −1.15 | −1.11 | 7.57 | 1.50 | −3.10 | −1.95 | · | −0.19 | −0.52 | 1.00 |
| Nicolas Dupont-Aignan | 20 | −2.73 | −6.58 | −2.70 | −0.51 | 34.08 | −8.83 | −15.99 | −0.81 | −0.12 | · | 5.20 | 1.00 |
| Raphaël Glucksmann | 22 | 0.15 | 0.44 | 0.00 | 0.01 | 0.11 | 0.08 | 0.13 | 0.08 | −0.00 | 0.01 | · | 1.00 |
How to read this table. Read a row: when this candidate gains 1 point in a week, the others lose on average the amounts shown, which always add up to 1.
Learn more
This is a regression of the others' changes on the candidate's own, over the whole path. The tooltip also gives the "neutral" split, pro rata to current shares; only the gap to that split says something about behaviour. A seldom-polled candidate gives fragile figures: look at the interval.
Read with caution
Short samples: a few dozen weeks, weekly changes smoothed by the model (hence autocorrelated, hence the reduced effective n), and weeks without a poll for a candidate, which are excluded. The model's prior treats candidates as independent: true correlations are probably understated. Log-ratios depend on the reference candidate. The sum-to-100% effect is structural: it shows up in shares even if voters behaved independently. Correlation is not causation.