Our seat projection for the 2019 European Parliament election is based on an aggregation of current national polls. We take the weighted average of the two latest poll results for each national political party within each member state. We then use the d’Hondt calculation method in order to project the seat allocation for the European Parliament.
We mainly use national opinion polls from different polling institutes collected by the Wikipedia community, which are updated on a regular basis.
→ These national opinion polls are either specifically for the upcoming 2019 European elections when available, or for national elections when polls for the European elections do not exist.
→ All the national polls can be found on our Open Data Hub page.
For our calculation, we use the R programming language.
Our R code automatically scrapes data from opinion polls publicly available on Wikipedia. It then calculates the weighted average of the last two polls for each national political party in each member state (giving greater weight to more recent polls). We use the weighted average of the two last polls rather than only the latest poll in order to increase accuracy and to balance out the varying quality of individual polls. With these weighted averages we are able to calculate the projected seat distribution for the European Parliament for each member state by using the d’Hondt method. We also take into account the national thresholds for the allocation of seats which range from 1.8% to 5% – these national thresholds can be found here.
The d’Hondt method
Members states are free to decide on many important aspects of the voting procedure during European elections. But when it comes to the electoral system, some form of proportional representation must be used when electing MEPs (more information). The d’Hondt method is the most widely applied formula in proportional representation systems. It is a mathematical formula that translates votes proportionally into whole seats. In the EU, it is the official calculation method of 16 member states for the elections to the European Parliament (including France, Italy, Spain and Poland); it is also used inside the European Parliament itself to distribute chairs in parliamentary committees. Under the d’Hondt method, each party’s total number of votes is repeatedly divided, by the divisor “1 + the number of seats already allocated”, until all seats are filled. Each division produces an average, and the party with the ‚highest average vote‘ is awarded the first seat, the party with the next highest average vote gets the second seat, etc., until all seats have been allocated. Find out more about the d’Hondt method here.
→ In light of Brexit, the EU legislators voted in June 2018 on a new apportionment of seats in the European Parliament among EU member seats. For the 2019 elections, the European Parliament will shrink from 751 to 705 MEPs. The United Kingdom is no longer included and 27 of its seats have been redistributed amongst 14 remaining countries. We use this new seat apportionment (available here) in our calculation. Note that due to this, it is difficult to draw comparaisons between 2019 and 2014 in terms of changes in number of seats per party group – given that the total amount of seats has changed. As long as the UK is still part of the EU, however, we do also provide a seat projection with the UK.
European elections are contested by national political parties, but once elected, most MEPs chose to join a wider European party group affiliation. We have associated each national party with its official European group affiliation.
There are, however, a number of national political parties that chose to remain non-attached (Non-Inscrits, NI) and do not have a European party group affiliation. In addition, since the last elections in 2014, new parties have emerged for whom the European party group affiliation remains unknown – most notably the French „En Marche“ party led by Emmanuel Macron.
In order to make sense of these non-attached and new political parties and to gain an idea as to how they may affect political power within the next European Parliament, we decided to create 3 new categories:
• Far right: non-attached far right parties (currently present in the EP) + new far right parties (not currently present in the EP)
• Far left: non-attached far left parties (currently present in the EP) + new far left parties (not currently present in the EP)
• Moderate: new moderate parties not currently present in the EP
This classification is based on our own desk research into each of the national parties:
We classified parties as far left/right when they displayed political positions such as anti-establishment / anti-élite attitudes and a strong degree of euroscepticism. Attitudes towards immigration and political keywords then determined whether the party was classified as far left or right.
The following table gives an overview of the national parties that falls under each category:
|Far right||Far left||Moderate|
|AfD (Germany)||Communist Party KKE (Greece)||En Marche (France)|
|JOBBIK (Hungary)||Zivi Zid (Croatia)||USR (Romania)|
|Fratelli d'Italia (Italy)||Denk (Netherlands)||Pirati (Czech Republic)|
|Golden Dawn (Greece)||Most Hid (Slovakia)|
|Kukiz 15 (Poland)||Marjana Sarca (Slovenia)|
|Forum for Democracy FvD (Netherlands)||50plus (Netherlands)|
|Freedom & Direct Democracy (Czech Rep)|
→ National parties which could be considered as far left/right but which already have a European party group affiliation were not included in these categories. As an example, parties such as the „Front National“ or „Lega Nord“ are part of the ENF European party group and are therefore not part of the category „Far right“.
We sought to remain as objective as possible. We are fully aware, however, that some may disagree with this classification. Please contact us if you believe we have misclassified a party!
For our data visualization we primarily use the R programming language and the Shiny and Plotly packages. For older visualisations, we used TableauPublic, a free software for creating interactive charts and maps.
In a perfect world, there would be money and interest in conducting pan-European polls. Unfortunately, it is much too costly to do representative polls in 27 countries and interest is lacking. Calculating a seat projection based on existing national polls is a solution, but it has several limitations inherent to the method:
• Our projection is based on polls from dozens of different polling institutes from 27 member states. We expect there to be varying methods and quality between polls in different member states and from different institutes. We try to mitigate against these differences in quality and methods by taking the weighted average of the latest two polls.
• With the European elections approaching, there are more and more polls specifically on the voting intentions for the EU elections 2019. Where available, we use these polls. There are, however, still countries where only polls on voting intentions for national elections are available and we have to use these polls (which comes with the limitation that voters may vote differently at the European level).
• Independent candidates and new parties specifically dedicated to the European elections are likely to arise as the election date draws closer. As long as they are not represented in the polls, we cannot take them into account in our projection.
• National political parties may change their European party group affiliation within the European Parliament after the elections in May 2019. For example, while there are indications that Macron’s „En Marche“ will join ALDE, we do not know this for sure. We have therefore currently classified „En Marche“ as a non-attached “others – moderate” party.
• Our classification of the non-attached and new parties as „far right“, „far left“ and „moderate“ is based on our own criteria (as explained above). We used information available online in English, French and German language, which in some cases was limited. Please contact us if you feel we have misclassified a party!
• There are some country specific limitations: the polls for the French Overseas departments and territories, which account for 2 seats in the European Parliament are not included. The polls available for Luxembourg only show seat projections for each national party for the Luxembourg parliament – not the percentage of voting intention. In certain member states, several national parties ran as large coalitions during previous European elections (this was notably the case in Croatia), which may impact on their overall results during the election – as of today these potential coalitions remain unknown. We are doing our best to mitigate these limitations.
We wrote an R script which automatically scrapes the polling webpages for all 27/28 EU member states and then calculates the European Parliament seat distribution (as described above). The script then uploads the calculated data into several Google Sheets, so that you can explore and download them. For some visualizations, TableauPublic then automatically updates our graphs based on these updated Google Sheets. Our newer visualisations are natively done in a separate R-script as an R-Shiny application. Automation of our scripts is done with Windows Task Scheduler triggering a BATCH file, which executes the R-scripts.
→ All of our data can be explored, downloaded and freely used in our Open Data Hub.
If you use our data, please reference us. Please contact us if you have questions, feedback, criticism or if you have ideas for cooperation.