Verkiezingsalgoritme en restzetels

Verkiezingsalgoritme en restzetels

[oOO]

Op 22 november zijn er weer verkiezingen voor de Tweede Kamer. komen weer verkiezingen aan. Behalve politiek komt daar ook de nodige wiskunde bij kijken. In dit artikel – en de bijbehorende Python code – uitleg over hoe de zetels uiteindelijk verdeeld gaan worden.

Bij [Bekijk oplossing] onderaan deze pagina vind je een zeer vereenvoudigd programma waarmee de zetelverdeling van de Tweede Kamer verkiezingen kan worden berekend. Het verkiezingsalgoritme werkt zeer algemeen, voor vele verkiezingen: Europees, landelijk, provinciaal, gemeentelijk, maar ook bijvoorbeeld voor de ondernemingsraden. We leggen uit wat we precies doen:

$\color{blue}{Zetels}$ is het aantal te verdelen zetels. In $\color{blue}{Partijen}$ staat voor alle partijen het aantal geldige stemmen dat zij hebben gekregen en de naam. We tellen al deze stemmen bij elkaar op. Dit is het aantal geldige stemmen. Dit delen we door het aantal te verdelen $\color{blue}{Zetels}$. Dit getal heet de $\color{blue}{KiesDeler}$. De kiesdeler is op twee manieren van belang. In Nederland geldt dat je minimaal de kiesdeler moet halen om recht te hebben op een zetel. Voor alle partijen wordt bepaald hoeveel zetels zij minimaal krijgen door te kijken hoe vaak de kiesdeler past in het aantal geldige zetels. Theoretisch zouden hiermee de zetels precies verdeeld kunnen zijn, maar in de praktijk blijkt een aantal zetels nog onverdeeld te zijn. Voor deze zogenaamde $\color{blue}{RestZetels}$ wordt het volgende algoritme toegepast:

Bepaal voor alle partijen (die al minimaal één zetel hebben) het volgende getal: het aantal uitgebrachte stemmen gedeeld door aantal toegekende zetels plus 1. Bepaal van deze getallen het maximum. De partij met dit maximum krijgt een restzetel.

Voor elke restzetel wordt dit algoritme herhaald.

Voorbeeld met 3 partijen

We gaan uit van drie partijen A, B en C. Bij verkiezingen behalen ze zetels als volgt:

Partij Stemmen ($S$) Zetels ($D$) Rest $\frac{S}{D+1}$ $\frac{S}{D+2}$ Zetels ($F$)
A $10\,761\,000$ $107$ $61\,000$ $99\,639$ $98\,724$ $109$
B $2\,862\,000$ $28$ $62\,000$ $98\,690$ - $28$
C $1\,377\,000$ $13$ $77\,000$ $98\,357$ - $13$
Totaal $15\,000\,000$ $148$ $200\,000$ - - $150$

Wat gebeurt hier?

De drie partijen hebben samen $15\,000\,000$ stemmen gekregen. Aangezien er $150$ zetels te verdelen zijn is de kiesdeler $100\,000$. We kennen eerst het aantal zetels toe dat elke partij sowieso zal krijgen op grond van het aantal malen dat de kiesdeler is behaald. In dit simpele voorbeeld delen we het aantal stemmen door $100\,000$. Dit aantal zetels plaatsen we in de kolom $\color{blue}{Zetels\ D(irect)}$. Daarnaast staat een kolom met het aantal reststemmen. Die kolom wordt verder niet gebruikt.

In Nederland wordt de methode d’Hondt toegepast (vernoemd naar Victor d'Hondt, niet te verwarren met Maurice de Hond). Restzetels worden toegekend op een dusdanige manier dat het gemiddelde aantal stemmen per zetel het hoogste is. Om dat te berekenen delen we het aantal stemmen door het aantal toegekende zetels plus 1 (dat is de mogelijke restzetel). De partij die het hoogste scoort krijgt deze restzetel. In het voorbeeld krijgt partij A op deze manier twee restzetels, omdat de partij inclusief de twee restzetels het hoogste gemiddelde aantal stemmen per zetel behoudt.

Een andere voor de hand liggende manier om de restzetels toe te kennen is om de partijen met het grootste aantal reststemmen ieder een restzetel te geven. In dit voorbeeld zouden de partijen B en C ieder een zetel extra krijgen.

Verkiezingen 2021

Hieronder vind je bij [Bekijk oplossing] dus het programma in Python. Het programma is zo eenvoudig dat het zelfs in Excel geschreven zou kunnen worden. Dat is voor de liefhebber! Hieronder gaan we nog even dieper in op de verkiezingen van 2021.

Het bovenstaande voorbeeld is zó geconstrueerd dat het laat zien dat een partij twee restzetels kan krijgen, ondanks het feit dat het aantal reststemmen het kleinst is. Maar ook in de praktijk komt dit regelmatig voor. In 2021 waren nog $11$ restzetels te verdelen en die werden als volgt verdeeld: SP, VVD, D66, GroenLinks, VVD, PvdD, PvdA, PVV, CDA, FvD, D66.

Het blijkt dat de grotere partijen worden bevoordeeld door dit algoritme. Het loonde daarom om een gezamenlijke lijst te vormen of om een lijstverbinding aan te gaan. Dit laatste is in het programma op de website niet verwerkt, bovendien is in december 2017 de lijstverbinding weer afgeschaft. In feite is het niets anders dan de stemmen voor de verschillende partijen die een lijstverbinding aangaan samenvoegen en daarna de stemmen aan de verschillende partijen toekennen. Daarnaast kan ook gekeken worden naar voorkeursstemmen. Voor de Tweede Kamer geldt dat in principe iedereen die een kwart van de Kiesdrempel haalt (in 2021 was dat $17\,371$ stemmen) in de Tweede Kamer wordt gekozen.

In de week na de verkiezingen zal de Pythagorasredactie ook het programma voor de verkiezingen van 2023 op de site zetten. De volgende keer komt er opnieuw een artikel over de verkiezingen, in het bijzonder het maken van coalities.

Bekijk oplossing
Vrije Universiteit Amsterdam