Werner's Blog — Opinion, Analysis, Commentary
Germany's new political landscape in maps

Germans went to the polls on September 26 to elect a new parliament, less than a weak after Canadians voted for their new parliament as well. The outcome in Germany holds lessons for Canadians too, because Germany's political landscape has shifted solidly to a multi-party system in which no single party dominates the political scene. The two once-dominant large-tent parties in Germany, the Social Democrats (SPD) and Christian Democrats (CDU/CSU), still vie for first place, but either party only received roughly a quarter of the vote. The Social Democrats came out slightly ahead of the Union parties, but both parties are seeking to form a 3-party coalition with two smaller parties, the pro-environment Green Party and the pro-business Free Democrats (FDP), which came in third and fourth, respectively. Germany's parliament will also have representatives from a far-right party (with acronym AfD) and a far-left party (Die Linke), which ranked fifth and sixth. A single seat is held by a representative of the Danish minority in Germany.

Germany has an elaborate electoral system where voters cast two votes: one for a direct candidate (the Erststimme, or first vote) and one for a political party (the Zweitstimme, or second vote). Direct candidates in 299 ridings are elected by a simple plurality. Nevertheless, it is the second vote that determines the composition of parliament as seats are allocated by proportional representation. If too many direct candidates have been elected in a province, then a complex formula restores proportionality. The result is that the number of parliamentarians is never known in advance. What should have been a parliament of 598 members turned out to become a parliament of 735 members! That's a record 137 extra members of parliament. It makes Germany's parliament the largest among Western democracies.

Below I show the results of the elections in maps depicting results in each of the 299 ridings. What becomes very clear from looking through the maps is the continuing political east-west division of the country, which is most notable with respect to the vote shares and influence of the two parties on the far left and far right.

First up is a map that shows which party won which riding directly. Directly-elected members (Direktmandate) usually indicate which party is dominant in which district, but sometimes individual candidates have a high profile that allows them to carry a district with a vote share that is rather different from the vote share for the party overall. But such exceptional candidates are rare; re-elected Prof. Karl Lauterbach is one of them. He has been a highly visible voice of science and reason during the pandemic.

German Federal Election 2021, Map of results for directly-elected members of parliament

click on image to view at full resolution

The map shows how the Christian Democrats (including their Bavarian cousins) dominate Southern Germany, the states of Baden-Württemberg and Bavaria, and large swaths of the West, while Social Democrats dominate the state of Hesse and much of the North and East. There are speckles of green in major urban centers and university towns where the Green Party dominates. The far-right AfD dominates in two Eastern states, Thuringia and Saxony.

Let's look at the performance of individual parties, starting with the Social Democrats who gained a significant vote share in 2021 to come out on top. The party gains much of its support from traditional centers such as the Ruhr Valley conurbation and Northern cities, but increasingly also in the Northern part of East Germany, in particular the states of Mecklenburg-Pommerania and Brandenburg. The hues on the map progress in 5-percent increments.

German Federal Election 2021, Map of vote shares for: Social Democratic Party (SPD)

click on image to view at full resolution

Germany's Christian Democrats have traditionally been strong in the south of the country, in particular in Bavaria where the Christian Social Union (CSU) operates as a political party separate from the Christian Democratic Union (CDU). The CDU does not compete in Bavaria, and the CSU does not compete outside Bavaria. The map shows that the two Union parties remain strong in Western Germany, and especially in rural areas. The parties are significantly weaker in urban areas. Most importantly, though, the CDU has lost significant support in Eastern Germany since the two halves of Germany were re-unified in 1990, now more than thirty years ago.

German Federal Election 2021, Map of vote shares for: Christian Democrats (CDU/CSU)

click on image to view at full resolution

The Green Party's map has a simple story to tell. The party is strong in urban centers, as its voters tend to be younger, highly educated, and often work in professions that include the civil service. Unsurprisingly, the party holds sway in university cities with a large student population, such as Münster. The Greens fielded a candidate for chancellor for the first time, as earlier in 2021 briefly pointed to the possibility of the Green Party eclipsing the vote share of the CDU and SPD.

German Federal Election 2021, Map of vote shares for: Green Party

click on image to view at full resolution

Germany's Liberal Party, the FDP, is often regarded as pro-business and it draws strong support from among the self-employed. It is also a party that upholds traditional liberal views about protecting and expanding civil liberties. Thus it is perhaps unsurprising that the party gained among younger voters. Together with the Green Party, the Liberals hold the key to power for who will become Germany's next chancellor—the SPD's Olaf Scholz or the CDU's Armin Laschet. Yet, the map identifies the FDP as a solidly west-German party, but with modest success in Saxony and just outside Berlin.

German Federal Election 2021, Map of vote shares for: Free Democratic Party (FDP)

click on image to view at full resolution

The Left Party in Germany came about as a merger of a breakaway group from West Germany's SPD and the remnants of East Germany's Socialists that emerged in the early days of the post-communist era. The party did not fare well in the 2021 election, dropping below the critical 5% threshold. Because the party could win three direct mandates, it remained eligible to receive parliamentary seats based on proportional share. Support for the Left Party is rather weak in West Germany, but it remains important in the states of the former East Germany. The party is noticeably strong in Mecklenburg-Pommerania near the Baltic Seat, and in Thuringia (where the state's premier is from the Left Party).

German Federal Election 2021, Map of vote shares for: Left Party (Die Linke)

click on image to view at full resolution

The characterization of Germany's political landscape would be incomplete without a look at the AfD, the country's far-right party that all centrist parties have ruled out cooperating with in parliament. In 2017 they became the official opposition in parliament after the two big parties, the CDU/CSU and SPD joined up in a "grand coalition". The AfD is a political pariah. Their vote was reduced to 10.5 percent in the 2021 election. Even more so than the Left Party, it draws is strength from voters in East Germany, especially in the southern bits of Saxony near the border to Czechia. The party appears to gain support from disaffected voters, predominantly people in East Germany who felt left behind by reunification and who have missed out on economic opportunities. The party remains a troubling right-wing populist group with anti-Europe and anti-immigration rhetoric.

German Federal Election 2021, Map of vote shares for: Alternative for Germany (AfD)

click on image to view at full resolution

The 2021 federal election also came with a few interesting bits of other news. The seat held by chanellor Merkel since 1990 was won by an SPD candidate born in 1993, Anna Kassautzki. There were also two provincial elections. In Mecklenburg-Pommerania, SPD premier Manuela Schwesig made a 9% gain and got reelected, while Berlin elected a new mayor with the SPD's Franziska Giffey, who narrowly won over the Green Party's Bettina Jarasch. Berlin also held a referendum to expropriate big landlords, which passed with a 56% majority. The referendum, which is nonbinding, comes in the aftermath of rising rents and an affordable housing crisis. The cost of housing is all too familiar to Canadians.

Whil will govern Germany will take some time to decide. That is not a sign of instability. Quite to the contrary, the negotiations that take place are a sign of compromising that will lead to a stable government that can expect to last the full duration of the legislative period. Coalitions are more stable than minority governments, and hashing out the terms of a coalition will take its due time. Party leaders expect to have a deal before Christmas, and until then Germany remains under the competent leadership of the outgoing chancellor, Mrs. Merkel. After sixteen years at the helm, she is leaving office with the reputation one of the world's foremost beacons of democracy. Her successor will have a tough act to follow, and the parties forming a coalition will have no shortage of challenging policy decisions ahead. Dealing with Germany's aging population and its pension system, transitioning to renewable energy, electrification of mobility, rebuilding neglected infrastructure, boosting productivity to compete internationally, navigating foreign policy with respect to Russia and China, and working together with its European Union neighbours to strengthen the Union and democracy, are all formdiable tasks. And that was just the short version.

To read more about Germany's election, see the following articles

Some of you may wonder how I have generated the above maps. I am happy to share the R code for this below. The input file contains the electoral districts along with the first and second votes for each party; I will make it available upon request. The map itself (the shape files) can be found on the web site of the Bundeswahlleiter (download area).

# German Federal Election 2021 - Maps library(sf) library(tmap) library(dplyr) library(RColorBrewer) Sys.setenv(LANG="de") Map <- st_read("Geometrie_Wahlkreise_20DBT.shp") n<-nrow(Map) Lander <- Map %>% group_by(LAND_NR) %>% summarise(geometry = sf::st_union(geometry)) %>% ungroup() n<-nrow(Map) m<-nrow(Lander) Wahl<-read.csv("DE-2021.csv",stringsAsFactors=FALSE) Wahlsummen <- Wahl %>% group_by(Wahlkreis) %>% summarise(Erststimmensumme=sum(Erststimmen,na.rm=TRUE), Zweitstimmensumme=sum(Zweitstimmen,na.rm=TRUE)) Wahl<- merge(Wahl,Wahlsummen,by="Wahlkreis") Wahljahr<-"2021" Sitzgewinn <- function(P,E) { if (sum(E)==0) return("unbestimmt") r<-rank(-E) i<-which(r==1) return(P[i]) } Gewonnen <- Wahl %>% group_by(Wahlkreis) %>% summarise(Gewinner=Sitzgewinn(Partei,Erststimmen)) %>% rename(WKR_NR=Wahlkreis) Map1<-merge(Map,Gewonnen,by="WKR_NR") U<-tm_shape(Map1) + tm_polygons(col="Gewinner",style="fixed",lwd=0.2, palette=c("#3344ff","#333333","#333344","purple", "#33ff33","#ff4040")) + tm_layout(main.title="Direktmandate, Bundestagswahl 2021", main.title.size=0.5,main.title.position="center", frame=FALSE,legend.width=0.2,legend.height=0.2, bg.color="#DCF5F5", legend.title.size=0.5, legend.position=c("LEFT","BOTTOM"), legend.text.size=0.33, legend.format=c(text.separator="-")) + tm_credits("Daten: Bundeswahlleiter. Karte: Antweiler/UBC.", position=c("RIGHT","BOTTOM"),size=0.3) + tm_shape(Lander) + tm_borders(lwd=0.4,col="grey40") + tm_layout(frame=FALSE) fname<-sprintf("DE-%s-Direktmandate.png",Wahljahr) tmap_save(U,filename=fname,dpi=300,width=720,height=960) MakeGraph<-function(p,colp) { if (p=="CDU/CSU") { temp <- Wahl %>% filter(Partei %in% c("CDU","CSU")) %>% mutate(Stimmanteil=100*Zweitstimmen/Zweitstimmensumme) %>% select(Wahlkreis,Stimmanteil) %>% rename(WKR_NR=Wahlkreis) } else { temp <- Wahl %>% filter(Partei==p) %>% mutate(Stimmanteil=100*Zweitstimmen/Zweitstimmensumme) %>% select(Wahlkreis,Stimmanteil) %>% rename(WKR_NR=Wahlkreis) } S_min<-floor(min(temp$Stimmanteil)/5.0)*5.0 S_max<-ceiling(max(temp$Stimmanteil)/5.0)*5.0 range<-seq(from=S_min,to=S_max,by=5) Map1<-merge(Map,temp,by="WKR_NR") names(Map1) maintext<="Zweitstimmenanteil, Bundestagswahl 2021" U<-tm_shape(Map1) + tm_polygons("Stimmanteil",style="fixed",lwd=0.2, breaks=range,palette=colp) + tm_layout(main.title=paste(p,maintext), main.title.size=0.5,main.title.position="center", frame=FALSE,legend.width=0.2, legend.height=0.2, bg.color="#DCF5F5", legend.title.size=0.5, legend.position=c("LEFT","BOTTOM"), legend.text.size=0.4, legend.format=c(text.separator="-")) + tm_credits("Daten: Bundeswahlleiter. Karte: Antweiler/UBC.", position=c("RIGHT","BOTTOM"),size=0.3) + tm_shape(Lander) + tm_borders(lwd=0.4,col="grey40") + tm_layout(frame=FALSE) if (p=="CDU/CSU") fname<-sprintf("DE-%s-Union.png",Wahljahr) else if (p=="DIE LINKE") { fname<-sprintf("DE-%s-Linke.png",Wahljahr) } else fname<-sprintf("DE-%s-%s.png",Wahljahr,p) tmap_save(U,filename=fname,dpi=300,width=720,height=960) } MakeGraph("SPD","OrRd") MakeGraph("CDU/CSU","Greys") MakeGraph("GRÜNE","Greens") MakeGraph("FDP",c("grey","yellow")) MakeGraph("AfD","Blues") MakeGraph("DIE LINKE","Purples") quit(save='no')
Posted on Saturday, October 2, 2021 at 08:30 — #Politics | #Europe
© 2021  Prof. Werner Antweiler, University of British Columbia.
[Sauder School of Business] [The University of British Columbia]