Analysis of opening choices across recent FIDE Candidates Tournaments, using game data from Lichess broadcasts.
Games are grouped into "opening families" by taking the name before the first colon in the Lichess opening annotation (e.g. "Ruy Lopez: Berlin Defense, Anti-Berlin Variation" becomes "Ruy Lopez").
168 games total.
| Opening Family | 2022 | 2024 | 2026 | Total |
|---|---|---|---|---|
| Ruy Lopez | 13 | 14 | 0 | 27 |
| Queen's Gambit Declined | 1 | 5 | 20 | 26 |
| Sicilian Defense | 11 | 9 | 4 | 24 |
| Petrov's Defense | 6 | 7 | 6 | 19 |
| English Opening | 4 | 0 | 8 | 12 |
| Italian Game | 5 | 5 | 1 | 11 |
| Catalan Opening | 5 | 1 | 3 | 9 |
| Nimzo-Indian Defense | 3 | 2 | 2 | 7 |
| Four Knights Game | 3 | 1 | 1 | 5 |
| French Defense | 0 | 3 | 2 | 5 |
112 games total. The 2022 Women's Candidates used a knockout format rather than a round-robin, so it is not included.
| Opening Family | 2024 | 2026 | Total |
|---|---|---|---|
| Sicilian Defense | 6 | 13 | 19 |
| Italian Game | 6 | 11 | 17 |
| Ruy Lopez | 10 | 5 | 15 |
| Queen's Gambit Declined | 7 | 5 | 12 |
| Petrov's Defense | 2 | 2 | 4 |
| Catalan Opening | 4 | 0 | 4 |
| Scotch Game | 1 | 3 | 4 |
| French Defense | 2 | 1 | 3 |
| Caro-Kann Defense | 1 | 2 | 3 |
| Grunfeld Defense | 2 | 1 | 3 |
224 games total.
| Opening Family | 2024 | 2026 | Total |
|---|---|---|---|
| Queen's Gambit Declined | 12 | 25 | 37 |
| Sicilian Defense | 15 | 17 | 32 |
| Ruy Lopez | 24 | 5 | 29 |
| Italian Game | 11 | 12 | 23 |
| Petrov's Defense | 9 | 8 | 17 |
| English Opening | 0 | 10 | 10 |
| Catalan Opening | 5 | 3 | 8 |
| French Defense | 5 | 3 | 8 |
| Nimzo-Indian Defense | 3 | 3 | 6 |
| Tarrasch Defense | 3 | 1 | 4 |
All game data is fetched live from the Lichess Broadcast API. The Jupyter notebook candidates_openings.ipynb contains the full data pipeline and interactive Plotly charts.
uv run jupyter lab


