# 2023 Zürich cantonal elections

The 2023 Zürich cantonal elections were held on 12 February 2023 to elect the seven members of the cantonal Executive Council and the 180 members of the Cantonal Council.
All seven incumbents in the Executive Council were re-elected, with the bourgeois alliance holding a majority of four; in the Cantonal Council the "Climate alliance" retained a narrow majority of 91.

## Electoral system
### Executive Council

The Executive Council contains 7 members elected using a two-round majoritarian system. In the first round, electors have up to seven votes and the 7 most-voted candidates reaching an overall majority (>50%) are elected. If seats remain to be filled, a runoff is held where electors have as many votes as seats remaining, and the candidates with the most votes (simple plurality) are elected.

### Cantonal Council

The Cantonal Council is elected using open-list proportional representation, with canton-wide apportionment of seats and allocation into 18 constituencies (biproportional apportionment). In each constituency, voters have as many votes as there are seats to fill (panachage is permitted); these votes each count both for the candidate and for the list they stand in. These votes counts are divided by the seats count to give fictional electors counts which can be summed up fairly throughout the canton.
Using the fictional electors counts, each party above the threshold (reaching 5% in at least one constituency) is apportioned seats canton-wide, which are then shared among their constituency lists. In each constituency list, the seats are attributed to the candidates reaching the most votes.
Number of seats by constituency :
| Constituency | Constituency | Seats | Change |
| I | Zürich city districts 1 & 2 | 5 | = |
| II | Zürich city districts 3 & 9 | 12 | = |
| III | Zürich city districts 4 & 5 | 5 | = |
| IV | Zürich city districts 6 & 10 | 8 | −1 |
| V | Zürich city districts 7 & 8 | 6 | = |
| VI | Zürich city districts 11 & 12 | 12 | = |
| VII | Dietikon | 11 | = |
| VIII | Affoltern | 7 | +1 |
| IX | Horgen | 15 | = |
| X | Meilen | 12 | = |
| XI | Hinwil | 11 | = |
| XII | Uster | 16 | = |
| XIII | Pfäffikon | 7 | = |
| XIV | Winterthur city | 13 | = |
| XV | Winterthur land | 7 | = |
| XVI | Andelfingen | 4 | = |
| XVII | Bülach | 18 | = |
| XVIII | Dielsdorf | 11 | = |

### Date

Cantonal elections in Zürich are typically held in April or late March, but the presence of both a federal referendum date on 12 March and holidays meant the cantonal elections had to be pusher earlier, to mid-February. Had a second round been needed, it would have been held on 16 April.

## Candidates
### Executive Council

All seven incumbents ran for re-election: Mario Fehr (ind.), Jacqueline Fehr (SP), Ernst Stocker (SVP), Sylvia Steiner (CVP), Carmen Walker Späh (FDP), Martin Neukom (Grüne), and Natalie Rickli (SVP). Mario Fehr was elected in 2011 then re-elected in 2015 and 2019 as a social democrat, but left the party in 2021 and contested this election as an independent.
The FDP fielded Peter Grünenfelder as their second candidate in hope of retaking their seat lost in 2015; the SP fielded Priska Seiler Graf as their second candidate to compensate for Mario Fehr's defection. Benno Scherrer runs for the Green-Liberals, hoping to take a seat as the fourth-largest party in the cantonal council.
Minor candidates were Anne-Claude Hensch for the Alternative List, Daniel Sommer for the EVP; Patrick Jetzer for Aufrecht and Josua Dietrich for the Free List both ran as opponents to Covid restrictions. Former SVP member Hans-Peter Amrein also ran as an independent, as did Bernhard Schmidt and Peter Vetsch.
Candidacies could be submitted until 28 November 2022, 17 candidates ran in total.

### Cantonal Council

The table below lists contesting parties represented in the Cantonal Council before the election.
| Name | Name | Name | Ideology | 2019 result | 2019 result | Incumbent seats |
| Name | Name | Name | Ideology | Votes (%) | Seats | Incumbent seats |
| | SVP | Swiss People's Party Schweizerische Volkspartei | National conservatism Right-wing populism | 24.5% | 45 / 180 | 44 / 180 |
| | SP | Social Democratic Party Sozialdemokratische Partei | Social democracy Democratic socialism | 19.3% | 35 / 180 | 34 / 180 |
| | FDP | FDP.The Liberals FDP.Die Liberalen | Classical liberalism Conservative liberalism | 15.7% | 29 / 180 | 29 / 180 |
| | GLP | Green Liberal Party Grünliberale Partei | Green liberalism Social liberalism | 12.9% | 23 / 180 | 24 / 180 |
| | GPS | Green Party Grüne Partei | Green politics Progressivism | 11.9% | 22 / 180 | 22 / 180 |
| | DM | The Centre Die Mitte | Christian democracy Social conservatism | 5.8% | 8 / 180 | 9 / 180 |
| | EVP | Evangelical People's Party Evangelische Volkspartei | Christian democracy Social conservatism | 4.2% | 8 / 180 | 8 / 180 |
| | AL | Alternative List Alternative Liste | Socialism | 3.2% | 6 / 180 | 6 / 180 |
| | EDU | Federal Democratic Union Eidgenössisch-Demokratische Union | National conservatism | 2.3% | 4 / 180 | 3 / 180 |
| | Ind. | Independents | – | – | 0 / 180 | 1 / 180 |
* ↑ Merger of the Christian Democratic People's Party and of the Conservative Democratic Party.
Lists could be submitted until 5 December 2022. 13 parties contested this election, as many as in 2019, with 1687 candidates in total in the canton.
The SVP, SP, FDP, GLP, Greens, and Mitte all ran full slates of 180 candidates, while the EVP (177 candidates), AL (139), EDU (132), and Aufrecht/Free List (132) also ran in all 18 constituencies. The Party of Labour (23 candidates) only contests in the constituencies of the city of Zürich, and the lists Yes to stop growth and SansPapierPolitiques both consist of a single candidate.

## Campaign

Approximate campaign budget for each candidate :
| Candidate | Budget (CHF) |
| Hans-Peter Amrein (Ind.) | 300,000 |
| Peter Grünenfelder (FDP) | 300,000 |
| Benno Scherrer (GLP) | 200,000 |
| Jacqueline Fehr (SP) | 160,000 |
| Carmen Walker Späh (FDP) | 150,000 |
| Ernst Stocker (SVP) | 145,000 |
| Martin Neukom (Greens) | 140,000 |
| Silvia Steiner (Mitte) | 135,000 |
| Priska Seiler Graf (SP) | 125,000 |
| Mario Fehr (Ind.) | 120,000 |
| Natalie Rickli (SVP) | 100,000 |
| Anne-Claude Hensch (AL) | 100,000 |
| Patrick Jetzer (Aufrecht) | 60,000 |
| Peter Vetsch (Ind.) | 10,500 |
The 2019 cantonal elections had been a “green wave” as both the GLP and Greens gained over five percentage points in the Cantonal Council. The parties of the loose "Climate Alliance" (SP, GLP, Greens, EVP, AL) had won an overall majority for the first time, with 94 seats (out of 180). The BDP, which failed to pass the threshold in 2019, merged with the CVP to form Die Mitte (The Centre).
As in previous elections, the bourgeois parties (SVP, FDP, Mitte) ran running as an alliance for the executive council. The SP, Greens, and AL also recommend each-other's candidates under the name “Progressive Alliance”. Both were more cohesive alliances than in previous elections; the GLP and other parties were in no alliance for the Executive Council.
Education policy was an important issue in the campaign; although surveys saw climate and the environment as the most important issue, followed by immigration and asylum, pensions and social security, and health care. An explanation is electoral strategy, since the lowest-polling incumbent, Sylvia Steiner, was leading the education department. New candidates Priska Seiler Graf, Peter Grünenfelder, and Benno Scherrer have criticized her education policy.

## Opinion polls
### Executive Council

| Polling firm | Fieldwork date | Sample size | M. Fehr Ind. | Rickli SVP | Stocker SVP | Neukom GPS | J. Fehr SP | Späh FDP | Steiner DM | P. S. Graf SP | Grünen­felder FDP | Scherrer glp | Hensch AL | Sommer EVP | Amrein Ind. | Jetzer Aufrecht |
| Sotomo/Tages-Anzeiger | 24 Nov – 8 Dec 2021 | 2'500 | 58 | 57 | 53 | 44 | 40 | 40 | 36 | 36 | 28 | 25 | 14 | 10 | 9 | – |
| GfS Bern/NZZ | 24 Nov – 8 Dec 2021 | 2'500 | 59 | 54 | 54 | 49 | 42 | 41 | 37 | 30 | 29 | 22 | 14 | 9 | – | 4 |

### Cantonal Council

| Polling firm | Fieldwork date | Sample size | SVP | SP | FDP | glp | GPS | DM | EVP | AL | EDU | Others | Lead |
| Sotomo/Tages-Anzeiger | 24 Nov – 8 Dec 2021 | 2'500 | 24.0 | 17.8 | 16.7 | 14.4 | 10.4 | 6.8 | 4.2 | 3.2 | – | 2.5 | 6.2 |
| GfS Bern/NZZ | 24 Nov – 8 Dec 2021 | 2'500 | 24.0 | 18.1 | 16.1 | 14.3 | 11.5 | 6.3 | 4.1 | 3.5 | 1.9 | 0.2 | 5.9 |
| 2019 election | 24 Mar 2019 | – | 24.5 | 19.3 | 15.7 | 12.9 | 11.9 | 5.8 | 4.2 | 3.2 | 2.3 | 1.7 | 5.2 |
* ↑ Includes results from the CVP and BDP in 2019, before their merger.

## Results
### Executive Council

Note: percentages here are calculated based on the number of valid votes (excluding blank and invalid votes) so that the absolute majority is at exactly 50%, but may result in candidates reaching over 100% of the valid votes.
Results of the 2023 Zürich Executive Council election :
| Candidate | Candidate | Party | Votes | % |
| | Mario Fehr | Ind. | 192,711 | 74.20 |
| | Natalie Rickli | SVP | 181,842 | 70.02 |
| | Ernst Stocker | SVP | 177,639 | 68.40 |
| | Martin Neukom | Grüne | 161,864 | 62.33 |
| | Jacqueline Fehr | SP | 148,610 | 57.22 |
| | Sylvia Steiner | DM | 146,242 | 56.31 |
| | Carmen Walker Späh | FDP | 145,444 | 56.00 |
| | Priska Seiler Graf | SP | 120,586 | 46.43 |
| | Peter Grünenfelder | FDP | 108,395 | 41.74 |
| | Benno Scherrer | GLP | 93,603 | 36.04 |
| | Anne-Claude Hensch | AL | 70,189 | 27.03 |
| | Hans-Peter Amrein | Ind. | 62,025 | 23.88 |
| | Daniel Sommer | EVP | 42,961 | 16.54 |
| | Josua Dietrich | Free List | 28,622 | 11.02 |
| | Peter Vetsch | Ind. | 28,040 | 10.80 |
| | Florian Wegmann | Ind. | 23,521 | 9.06 |
| | Bernhard Schmidt | Ind. | 21,861 | 8.42 |
| | Patrick Jetzer | Aufrecht | 17,130 | 6.60 |
| Scattered votes | Scattered votes | Scattered votes | 46,672 | 17.97 |
| Total | Total | Total | 1,817,957 | 78.77 |
| Blank votes | Blank votes | Blank votes | 482,438 | 20.90 |
| Invalid votes | Invalid votes | Invalid votes | 7,589 | 0.33 |
| Total votes | Total votes | Total votes | 2,307,984 | 7× |
| Blank ballots | Blank ballots | Blank ballots | 2,285 | 0.69 |
| Invalid ballots | Invalid ballots | Invalid ballots | 525 | 0.16 |
| Total ballots | Total ballots | Total ballots | 332,522 | – |
| Registered voters/Turnout | Registered voters/Turnout | Registered voters/Turnout | 929,203 | 35.79 |
| Source: zh.ch, Election protocol |||||
* 1 2 3 4 5 6 7 Incumbent
All seven incumbents were re-elected without the need for a second round. Mario Fehr topped the polls with 74%, nine points below his 2019 results but nonetheless an increase of twenty thousand votes. He was followed by the two SVP candidates Natalie Rickli and Ernst Stocker, both seeing large increases in votes compared to 2019. Green councillor Martin Neukom finished 4th after being the surprise of 2019, ahead of SP councillor Jacqueline Fehr, while Sylvia Steiner and Carmen Walker Späh both defended their seats with over 56%, a margin of twenty-five thousand votes over Priska Seiler Graf who failed to swing the majority in the executive to the left.

### Cantonal Council

Results of the 2023 Zürich Cantonal Council election :
| Party | Party | Votes | % | +/– | Seats | +/– |
| | Swiss People's Party | 79,287 | 24.92 | +0.45 | 46 | +1 |
| | Social Democratic Party | 61,480 | 19.32 | +0.01 | 36 | +1 |
| | FDP.The Liberals | 50,456 | 15.86 | +0.19 | 29 | – |
| | Green Liberal Party | 40,562 | 12.75 | −0.16 | 24 | +1 |
| | Green Party | 33,200 | 10.43 | −1.48 | 19 | −3 |
| | The Centre | 19,178 | 6.03 | +0.21 | 11 | +3 |
| | Evangelical People's Party | 12,277 | 3.86 | −0.38 | 7 | −1 |
| | Alternative List | 8,342 | 2.62 | −0.53 | 5 | −1 |
| | Aufrecht / Free List | 6,838 | 2.15 | New | 0 | New |
| | Federal Democratic Union | 6,028 | 1.89 | −0.38 | 3 | −1 |
| | Labour Party | 437 | 0.14 | −0.04 | 0 | ±0 |
| | Yes to stop growth | 71 | 0.02 | New | 0 | New |
| | SansPapierPolitiques | 60 | 0.02 | New | 0 | New |
| Total | Total | 318,216 | 100.00 | – | 180 | – |
| Valid votes | Valid votes | 320,141 | 98.69 | | | |
| Invalid votes | Invalid votes | 3,968 | 1.22 | | | |
| Blank votes | Blank votes | 296 | 0.09 | | | |
| Total votes | Total votes | 324,405 | 100.00 | | | |
| Registered voters/turnout | Registered voters/turnout | 929,203 | 34.91 | | | |
| Source: app.statistik.zh.ch, election protocol |||||||
This election saw little movement for most parties. The most significant changes were the Green Party losing three seats, while The Centre (merger of the CVP and BDP) re-gained three, mainly owing to the inclusion of former BDP votes that failed to pass the threshold in 2019. The SVP retained the first place and gained one seat, as did the Social-Democrats and the Green-Liberals; the EVP, AL, and EDU all lost one seat each, and the FDP's number of seats remained consistent. No new party passed the threshold, Aufrecht and the Free List came closest but did not win any seats.
The "Climate Alliance" (SP, GLP, Greens, EVP, AL) lost three seats overall but maintained a narrow majority of a single seat, while the bourgeois parties (SVP, FDP, CVP) gained four seats but failed to re-gain the majority. This puts once again the Green-Liberals as kingmakers for various legislative majorities in the elected Cantonal Council, left-leaning for social and climate issues but right-leaning for economic issues.