WahlBilanz.de News.Daten.Wissenswertes. Informationen zur Politik. Wer hat was wann und wie entschieden? Wieso?

Wer schwänzt am meisten? 2021 Edition

Schon die persischen Könige wussten: Neue Wahl neue Daten. Und spätestens seit der letzten Wahl wissen wir, das wir mit neuen Daten auch wieder die Schwänzer-Statistik berechnen können! Und weil explizit danach gefragt wurde: Hier ist die Edition für die 19. Legislaturperiode :)

(Die Berechnung hab ich analog zum letzten Mal gemacht.)

Was sagen die Zahlen?

Also absolut gesehen hat sich, im Vergleich mit der vorherigen Legislaturperiode, nicht so viel geändert:

Wer schwänzt am meisten?

Wer schwänzt am meisten?

CDU/CSU sichert sich wieder die Pole-Position mit 4748 verpassten Stimmen, gefolgt von der SPD mit 3783 Schwänzungen. AfD und Die Linke liegen sehr nah beieinander auf den Plätzen drei und vier. Am besten scheinen Die Grünen abzuschneiden mit nur 1512 geschwänzten Stimmen.

Aber wie schon beim letzten Mal erklärt, muss man mit Zahlen immer vorsichtig umgehen; insbesondere mit absoluten Zahlen! Die Fraktionen haben natürlich unterschiedlich viele Mitglieder im Bundestag sitzen und damit unterschiedlich viele potentielle Stimmen. Selbst wenn bei jeder Abstimmung die Hälfte jeder Fraktion schwänzen würde, hätten CDU/CSU an dieser Stelle „gewonnen“! Denn 50% geschwänzte Stimmen von CDU/CSU sind einfach mehr als 50% der FDP.

Gucken wir uns also die relativen Zahlen an, also wie viele der verfügbaren Stimmen wurden geschwänzt:

Wer schwänzt am meisten?

Wer schwänzt am meisten? Also relativ gesehen, jetzt…

Und wieder ergibt sich ein gänzlich anderes Bild: CDU/CSU sind plötzlich die fleißigsten Abgeordneten!?

Der Schwänzer-Highscore in der 19. Legislaturperiode wird angeführt von Die Linke (38.03% versäumte Stimmen), gefolgt von der AfD (30.30% versäumte Stimmen).

Daten und Skripte

Die Daten wurden mit einem Python-Skript erzeugt, das meinen Abstimmungsparser benutzt. Die Visualisierung hat wieder ein R-Skript übernommen.

Die Daten sehen wie folgt aus:

Partei Absolut geschwänzt Relativ geschwänzt Anzahl teilgenommene Abstimmungen
AfD 2732 30.30 240
Bündnis 90/Die Grünen 1512 22.57 240
Die Linke 2624 38.03 240
FDP 1990 24.88 240
CDU/CSU 4748 19.31 240
SPD 3783 24.87 240

Disclaimer

Wieder gilt: Die Relevanz der Daten ist „relativ“ fragwürdig. Einige vertreten sogar die Auffassung, dass diejenigen, die eine Bundestagssitzung schwänzen, wahrscheinlich gerade einfach an wichtigeren Dingen arbeiten. Falls euch das Thema weiter interessiert könnt ihr die Daten auf dieser Webseite und dem zugehörigen GitHub-Projekt gern nutzen. Und am besten kontaktiert ihr direkt die Abgeordneten, die ungewöhnlich viele Abstimmungen verpassen!?

Lasst mich gern wissen, wenn ihr etwas spannendes herausbekommt :)

Auf einen neuen Wal..?

Dein Wal

Du hast den Wal auf DeinWal.de

Habt ihr’s auch gehört: Die nächste Bundestagswahl steht in den Startlöchern! Im September dürfen wir die politische Richtung der Bundesrepublik wieder bestätigen oder nachjustieren. Aber das ist sicher nicht’s Neues für euch. Die Medien berichten ja schon fleißig über Wahlprogramme und potentielle Bundeskanzler:innern. Aller Voraussicht nach werden wieder weit mehr als 30 Parteien um unsere Stimmen konkurrieren. Aber wen soll man denn nun wählen?

Neben den Wahlprogrammen wird man sich bestimmt wieder mittels technischer Wahlentscheidungshilfen, wie den Wahl-O-Mat, informieren können. Zur Bundestagswahl 2017 sind uns 18 weitere Tools aufgefallen, die bei der Wahlentscheidung unterstützen wollten.

Seit einiger Zeit denken wir nun schon darüber nach, ob wir auch eine Neuauflage von DeinWal probieren sollten. Lust haben wir auf jeden Fall. Zeit ist eher ein Problem… Immerhin haben wir auch anspruchsvolle Jobs und Privatleben, und zero Budget für DeinWal. So einen Wal macht man aber nicht mal eben in einer Woche nebenbei. Da müssen tonnenweise Dokumente organisiert, integriert, gelesen, verstanden, gefiltert, und schließlich zu verständlichen Fragen kondensiert werden. Das bedeutet viel Kommunikation und viele Diskussionen, die pandemiebedingt auch erschwert werden.

Nichtsdestotrotz wollen wir es probieren! Wir haben so viel positives Feedback bekommen und etliche Leute haben schon nach einem Wal für die anstehende Bundestagswahl gefragt… (Daher auch diese Ankündigung.) Wenn also nicht noch etwas blödes dazwischen kommt, wird es im September einen neuen Bundestagswal geben \o/

Übersicht über das Abstimmungsverhalten der einzelnen Parteien in der 19. Legislatuerperiode des Deutschen Bundestages

Abbildung 1: Abstimmungsverhalten in der 19. Legislaturperiode

Erste Schritte sind auch schon gegangen! Vor einem Monat habe ich schon alle nötigen Dokumente vom Bundestag besorgt (die bis dahin veröffentlichten jedenfalls). Das war leider nicht viel einfacher als 2017. Die Dokumente sind wieder an vielen Stellen verteilt, nicht verlinkt, und man kann aus proprietären Formaten nur links zu anderen Dokumenten/Stellen „raten“.. Das bedeutet, eine eigentlich offensichtlich einfache Aufgabe lässt sich nicht wirklich automatisieren und führt zu einem Haufen Arbeit. Der Bundestag sollte sich wirklich mal um ordentliche APIs bemühen.. Wenigstens waren die Tabellen diesmal einheitlich – 2017 waren die Spalten in unterschiedlicher Reihenfolge und die Benennung der Parteien variierte von Dokument zu Dokument…

Eine Übersicht der aktuellen Abstimmungen habe ich hier schon in die Abstimmungsseite eingearbeitet. Vielleicht kann das ja noch jemand anderes gebrauchen? Die Daten gibts auch im Rohformat auf GitHub. Falls ihr damit arbeiten wollt macht es ggf. Sinn mich kurz zu kontaktieren. Ich hab da schon eine Menge Tooling, das euch vielleicht helfen wird. Aus Zeitgründen ist das aber nicht so gut aufgearbeitet… Ich helfe aber gern, wenn ihr etwas braucht :)

Eine erste, obligatorische Analyse der Parteien und Abstimmungen gibt es auch schon, siehe Abbildung 1. Die Grafik bremste unsere anfängliche Euphorie aber ehrlich gesagt ein bisschen, denn sie visualisiert wieder ausgezeichnet, was Fraktionsdisziplin und ein Koalitionsvertrag ist… Wenn ihr nicht genau wisst wie ihr die Grafik lesen sollt, dann guckt am besten nochmal in meine Erklärung von 2017 rein.
Trotzdem halten wir DeinWal für sehr sinnvoll! Wir (euch eingeschlossen) lernen etwas über Politik und lassen die letzte Legislaturperiode nochmal Revue passieren.
Und egal ob der Koalitionsvertrag, Fraktionsdisziplin, oder die eigene Überzeugung der Grund war: Die Abgeordneten haben so abgestimmt, wie sie abgestimmt haben! Und unsere Position damit unterschiedlich gut vertreten.

Also Butter bei die Fische: Welche Partei hat mich am besten im Bundestag vertreten? Könnt ihr in Kürze mit DeinWal herausfinden! :)

Obacht: Europawal!

Ende Mai ist es wieder soweit: Die MEPs im europäischen Parlament wollen gewählt werden. Und das passiert wie üblich im natürlichen Habitat des Europawals! Also: Fernglaeser raus und schön die finger im Boot lassen. Und nun zum Wetter…

Spannung pur!

Die Europawahl verspricht spannend zu werden! In der aktuellen Legislaturperiode gab es einige interessante Entscheidungen, zum Beispiel ueber die Verwendung von Fluggastdaten, Neuzulassung von Glyphosat, verschiedene Handelsabkommen (CETA, TTIP, ..), Verbot von Einwegplastik und zuletzt die Reform des Urheberrechts… Doch wie gut haben die Abgeordneten bei den offiziellen Abstimmungen eure Meinung vertreten? Da das mal wieder gar nicht so leicht herauszufinden ist, hilft euch der Europawal :)

Datenlage schwierig…

Wir kennen das ja schon von der Bundestagswahl: Die spannenden Daten sind verschlüsselt in komischen Datenformaten, siehe erster Artikel.

Gefangene Abstimmungsdaten...

Abbildung 1: Gefangene Abstimmungsdaten…

Für die Abstimmungen in der EU sieht die Datenlage leider noch einen Zacken schlimmer aus. Ein offizielles Abstimmungsergebnis des EU-Parlaments ist in Abbildung 1 veranschaulicht: Lange Listen mit Namen der Parlamentarier, inklusive voller Bandbreite an non-ASCII Zeichen. Keine Zuordnung zu Ländern oder Parteien. Lediglich die Zugehörigkeit zu den europäischen Koalitionen ist vorhanden.. Aber allein diese Datei zu finden ist eine anspruchsvolle Herausforderung! Und dann besteht die Datei natürlich nicht nur aus dem Ergebnis einer Abstimmung - das Bild oben ist ein Extrakt aus einem 89-seitigem Dokument, mit mehreren Entschliessungen, Änderungsanträgen, Entwürfen, etc… Und natürlich steht an diesem Abstimmungsergebnis nicht, um welche Abstimmung es überhaupt geht… Zumindest nicht in einer menschenlesbaren Form.. Entschliessung B8-0277/2014… Aha, alles klar… ;-)

Datenlage super!

Aber Glücklicherweise gibt es ja das Team von abgeordnetenwatch.de! Dort wurde schon fleissig gesammelt und extrahiert und integriert… Und es gibt eine API! :)

Bei abgeordnetenwatch.de sind zwar nicht alle Abstimmungen verfügbar, aber mehr als 100 Abstimmungen sollten für einen EuropaWal genügen. Also alles halb so schlimm. Dank abgeordnetenwatch.de kann es nun doch einen EuropaWal geben. Genug zu tun gibt es aber trotzdem!

Datenkunde

Heatmap des Abstimmungsverhaltens der einzelnen Parteien in der 8. Legislatuerperiode des Europäischen Parlaments

Abbildung 2: Heatmap des Abstimmungsverhaltens der einzelnen Parteien in der 8. Legislatuerperiode des Europäischen Parlaments

Natürlich haben wir uns zunächst ein Überblick über die Daten verschafft. Dafür hat sich in der Vergangenheit immer ein Blick in die Heatmap gelohnt. Und so auch hier, siehe Abbildung 2! (Wer die Karte nicht versteht, schaut am besten nochmal zu Wie liest man die Heatmap? Die kryptischen Bezeichnungen für die Zeilen rechts entsprechen den UUIDs der Abstimmungen bei abgeordnetenwatch.de)

Es wirkt jedenfalls wesentlich spannender als bei der Bundestagswahl, oder? Im EU-Parlament sind mehr Parteien vertreten und das Abstimmungsverhalten ist nicht so eine homogene Suppe!

Die hierarchischen Cluster über die Parteien (die Linien über der Heatmap) lassen auf drei Gruppen von sich ähnelnden Parteien schliessen:

  • NPD, AfD und Die Blauen
  • Die PARTEI, Die Linke, ÖDP, Piratenpartei und Die Grünen
  • ALFA, Bündnis C, CDU/CSU, SPD, FDP und Freie Wähler

Wobei ich das mal gleich relativieren möchte! Das hängt natürlich auch vom Clusteralgorithmus ab. Es ist nämlich nicht so, dass die SPD ähnlicher zu ALFA (Distanz ist 7.15) als zu Die Linke (Distanz ist 4.62) ist! Aber es zeigt eine gewisse Tendenz im Abstimmungsverhalten.

Am ähnlichsten sind sich ingesamt Piratenpartei und Bündnis 90/Die Grünen mit einer Distanz von 0.85. Am unähnlichsten sind sich SPD und AfD mit einer Distanz von 9.17.

Die komplette Distanzmatrix der Parteien ist in Abbildung 3 zu sehen. Je grösser der Wert einer Zelle (bzw. je heller eine Zelle), desto unähnlicher sind sich die beiden Parteien. Kleine Werte und rote Zellen bedeuten grosse Ähnlichkeit.

Visualisierung der Distanzen zwischen den Parteien

Abbildung 3: Visualisierung der Distanzen zwischen den Parteien. Kleine Werte in den Zellen beideutet kleine Distanz. Kleine Distanz bedeutet grosse Ähnlichkeit.

Dev?

Wenn ihr gern entwicklt oder bastelt, solltet ihr mal in das res/2019-eu/wrangling/ Verzeichnis dieser Webseite schauen. Dort gibt es ein paar Scripte, um zum Beispiel die Abstimmungsergebnisse für eine UUID zu bekommen; oder um die UUID für eine Seite bei abgeordnetenwatch.de herauszufinden.

Der EuropaWal kann jeden moment auftauchen!

Ja…. Und dank der Datenaufbereitung von abgeordnetenwatch.de kann der EuropaWal nun bald an den Start gehen, um die wählende Bevölkerung über vergangene Entscheidungen im Europaparlament aufzuklären! Seid gespannt und halten Augen und Ohren offen und guckt bei DeinWal.de vorbei :)

Über die Ähnlichkeit der Parteien

Wir wurden gebeten, die Nähe der politischen Parteien zu analysieren, die bei den Kommunalwahlen 2018 in Kiel angetreten sind. Speziell geht es um die Antworten der Parteien SPD, CDU, Die Grünen, Die Linke, FPD, AfD, SSW, Die Partei, und Piratenpartei auf die 30 Fragen des Lokal-O-Mat. Die Ergebnisse der Wahl stehen mittlerweile fest, die Parteien zu vergleichen ist aber trotzdem spannend! :)

Parteien und Themen analysieren

Übersicht über das Abstimmungsverhalten der einzelnen Parteien zur Kommunalwahl in Kiel

Abbildung 1: Abstimmungsverhalten zur Kommunalwahl in Kiel

Analog zur Analyse über Fraktionsdisziplin und den Koalitionsvertrag habe ich die Antwortmatrix in einer Heatmap visualisiert. Die Methode zu adaptieren war einfach, hier ist das neue R-Script:

library(gplots)
library(RColorBrewer)

# read the data
votes <- read.csv ("Lokalomat.csv", header=T)

# coloumn 1 is just the id
# we're interested in coloumns 2-10
m=as.matrix (votes[,2:10])
# but we can use the ids as rownames :)
rownames(m)<-votes[,1]



# cluster and plot the data using
# gplot's heatmap.2 tool
pdf ("abstimmungscluster.pdf", height=20)
colfunc<-colorRampPalette(c("#FF0000FF","#FFFF00FF"))
heatmap.2 (m, tracecol=1, cexCol=.9, margins=c(6,14),
   na.rm=TRUE, col=colfunc(15), na.color="#DDDDDDFF")
dev.off ()

Das Ergebniss seht ihr in Abbildung 1. Die Zeilen in der Heatmap entsprechen den Themengebieten (siehe Beschriftung rechts am Ende jeder Zeile). Die Spalten repräsentieren die Parteien (siehe Parteinamen unter der Heatmap). Die Farbe in einer Zelle der Heatmap zeigt, wie die jeweilige Partei bei dem entsprechenden Themengebiet gestimmt hat: Gelb bedeutet Ja, Orange bedeutet Neutral und Rot bedeutet Nein. Zur Unterbringung von Geflüchteten (erste Zeile in der Heatmap) hat die AfD beispielsweise mit Nein gestimmt, während alle anderen Parteien mit Ja gestimmt haben.

Die Methode gruppiert auch Parteien und Themen nach ähnlichen Mustern, was in den Dendrogrammen links und oben zu sehen ist. Je kürzer der Pfad, desto ähnlicher sind sich die Parteien oder Abstimmungsergebnisse. Man sieht beispielsweise, dass die Distanz zwischen Die Grünen und Die Linke sehr klein ist (die beiden Parteien zeigen ein ähnliches Abstimmungsverhalten), während die AfD sehr weit weg von den anderen Parteien ist.

Aus der Heatmap kann man auch ablesen, wie kontrovers ein Thema ist – oder wie sehr es uns hilft die Parteien zu unterscheiden. Während die Varianz in den Antworten zu Pavillons am Alten Markt oder zur Unterbringung von Geflüchteten sehr klein ist (die Parteien sind sich fast einig), ist die Varianz zum Flughafen Kiel Holtenau oder zum Messe- und Kongresszentrum sehr hoch (die Antworten der Parteien unterscheiden sich stark).

Die Heatmap ist komplex und bietet viele detaillierte Informationen in einer einzelnen Abbildung – zumindest für das geschulte Auge. Aus dem Feedback zur Bundestagswahl haben wir jedoch gelernt, dass diese Art der Visualisierung sehr schwer zu verstehen ist, wenn man nicht regelmässig mit Heatmaps in Kontakt kommt. Unser Ziel ist es also, eine Grafik mit kleinerer Informationsdichte zu entwickeln, die einfacher zu lesen ist.

Parteienkreise visualisieren die Ähnlichkeit von Parteipositionen

Zusammen mit einigen Kollegen am Lehrstuhl für Systembiologie und Bioinformatik an der Universität Rostock haben wir die Parteienkreise entwickelt. Ein Parteienkreis zeigt, wie stark die Position einer Partei mit den Positionen der anderen Parteien übereinstimmt. Abbildung 3 präsentiert ein Beispiel für die SSW in Kiel:

Parteienkreis der SSW

Abbildung 2: Parteienkreis der SSW

Der äußere blaue Kreis steht für die Position der SSW zu den 30 Themengebieten des Lokal-O-Mat. Die bunten Kreissektoren im Inneren repräsentieren die anderen Parteien. Der Radius eines Kreissektors entspricht dabei der Anzahl an übereinstimmenden Antworten der beiden Parteien. Es gilt also: Je grösser der Radius des Kreissektors, desto änlicher sind sich die Parteipositionen in den 30 Themen. An den Grenzen der Kreissektoren sind Skalen angedeutet, an denen man die Anzahl der Übereinstimmungen ablesen kann. Die horizontale Achse nach rechts ist zudem beschriftet. In dem Parteienkreis für die SSW sieht man also, dass die CDU 12-mal und Die Grünen 17-mal so gestimmt haben wie die SSW. Es ist auch ersichtlich, dass Die Partei und Die Linke die grössten Übereinstimmungen haben: Beide haben 21-mal genau wie die SSW abgestimmt. Auf der anderen Seite hat die SSW die kleinste Gemeinsamkeit mit der AfD: Die beiden Parteien haben in nur 11 Fällen gleich gestimmt.
Hätte eine Partei alle Fragen genau wie die SSW beantwortet, dann würde der entsprechende Kreissektor den äußeren Kreis berühren.

Der Parteienkreis zeigt also die Ähnlichkeit einer Partei zu den anderen Parteien. Hier folgen nun die Kreise für alle Parteien zur Kommunalwahl in Kiel. Über die Links unter den Kreisen gelangt ihr zu hochauflösenden Versionen in PNG und SVG Format.

AfD

AfD (PNG/SVG)

CDU

CDU (PNG/SVG)

Die Partei

Die Partei (PNG/SVG)

FDP

FDP (PNG/SVG)

Die Grünen

Die Grünen (PNG/SVG)

Die Linke

Die Linke (PNG/SVG)

Piratenpartei

Piratenpartei (PNG/SVG)

SPD

SPD (PNG/SVG)

SSW

SSW (PNG/SVG)

Ihr könnt die Kreise gern unter der Creative Commons BY-SA 4.0 Lizenz für eigene Abbildungen und Kompositionen verwenden. Bei der Entwicklung der Abbildung haben die Datenwissenschaftler Patrick Schopohl, Saptarshi Bej, Tom Gebhardt, Markus Wolfien, Ali Salehzadeh-Yazdi und Olaf Wolkenhauer maßgeblich mitgewirkt. Zusammen haben wir auch die folgende Collage entwickelt:

Parteienkreise zur Kommunalwahl in Kiel 2018

Abbildung 3: Parteienkreise zur Kommunalwahl in Kiel 2018 (PNG/SVG)

Disclaimer

Ich habe mich mit der Kieler Politik nicht beschäftigt und kann daher über die konkreten Inhalte der Themengebiete nur spekulieren, aber die Politik soll hier auch eine eher untergeordnete Rolle spielen.

Sag »Hallo« zu deinem Wal!

Dein Wal

Du hast den Wal auf DeinWal.de

„Hallo Wal!“ – oder so ähnlich.. Denn dein Wal ist seit gestern online! :)

Dein Wal ist dir bestimmt schonmal über den Weg gelaufen, also was soll das eigentlich?

Das „Problem“

Wen soll ich wählen? Diese Fragen stellen sich viele Leute, vor jeder Wahl. Wie kann ich herausfinden, welche Partei in meinem Sinne agiert?

Wir haben im Vorfeld viele Leute gefragt: „Wie entscheidest du, welche Partei du im September wählen wirst?“. Die Antworten waren typischer Weise „Wahlprogramme“, „Wahl-O-Mat“ oder „Medien“.

In Wahlprogrammen formulieren die Parteien ihre Ziele für die anstehende Legislaturperiode. Diese Programme sind jedoch lang und schwer zu vergleichen. Eine weitere nützliche Ressource ist der Wahl-O-Mat, der vielen Wählern bei der Entscheidungsfindung hilft. Allerdings basiert der Wahl-O-Mat auch auf Angaben der Parteien, denen du glauben musst.

Diese Kanäle beruhen im Wesentlichen auf Behauptungen und Versprechen – sowohl von Kritikern, als auch von den Parteien. Auch wenn die Aussagen auf Plausibilität geprüft werden, kann man ihnen höchstens glauben. Ob die Parteien ihre Versprechungen dann umsetzen bleibt ungewiss.

Die Lösung

Statt offene Behauptungen zu diskutieren können wir uns an die Fakten halten!

Die tatsächlichen Einstellungen der Parteien im Bundestag sind in der Regel gut dokumentiert (z.B. bundestag.de/abstimmung). Es bleibt aber eine Herausforderung, die Beschlüsse der verschiedenen Parteien zu sichten und mit der eigenen Einstellung zu vergleichen. Das ist insbesondere auch schwierig, da viele Abstimmungen mit „Antrag Die Linke“ oder „Antrag Bündnis 90/Die Grünen“ betitelt sind, und die Ergebnisse der Parteien beeinflussend daneben stehen.

Auf DeinWal.de haben wir eine Plattform entwickelt, auf der du in einem Web-Quiz vergangene Abstimmungen nachspielen kannst. In einer Auswertungen werden deine Entscheidungen dann den Entscheidungen der Parteien gegenübergestellt. Wir benutzen dabei die realen Abstimmungen der letzten Legislaturperiode und die offiziellen Abstimmungsergebnisse der Parteien.

Dein Wal ergänzt damit eine Reihe existierender Portale, wie abgeordnetenwatch.de und den Wahl-O-Mat.
Wir können uns gut vorstellen, dass DeinWal.de nicht nur Erstwählern hilft, sondern auch denjenigen, die ihre letzte Wahlentscheidung evaluieren wollen oder ihre Parteiverbundenheit in Frage stellen/validieren wollen.

Umsetzung

Auf der wahlbilanz.de Webseite haben wir alle Abstimmungen der letzten Legislaturperiode zusammengetragen, analysiert, und kategorisiert (mehr dazu bei Und Los!). In vielen Meetings und Diskussionen wurden relevante und „machbare“ Abstimmungen ausgewählt und die seitenlangen Drucksachen in möglichst einfache, verständliche Fragen übersetzt. Manche Abstimmungen waren leider einfach zu komplex und haben es nicht in deinen Wal geschafft. Aus über 200 real stattgefundenen Abstimmungen haben wir 42 Fragen ausgewählt und in 12 Themengebiete unterteilt: Familie, Arbeit, Gesundheit und Verbraucherschutz, Gesellschaft, Gentechnik in der Landwirtschaft, Bildung, Bundeswehr, Freihandelsabkommen, Energie I, Energie II, Finanzen und Inneres.

Bei der Entwicklung haben wir hohe Priorität auf Datensouveränität gelegt. Quiz und Auswertungen finden komplett im Browser statt. Im Gegensatz zu den vielen anderen Webseiten werden deine Entscheidungen nicht über das Internet verschickt oder irgendwo in einer Cloud gespeichert. Sobald du die Webseite einmal geladen hast kannst du dein Internet gern aus machen – dein Wal braucht es dann jedenfalls nicht mehr ;-)

Die Webseite ist mit Angular2 entwickelt. Angular ist ein Typescript-Framework mit dem sich clientseitige Web-Applikationen sowohl für den Desktop als auch für mobile Geräte entwickeln lassen. Das Layout haben wir mit dem W3.CSS Framework gestaltet. Das Webprojekt kompiliert zu statischem Javascript-HTML-CSS-Brei, den wir dann einfach mit einem nginx Webserver mittels Docker Container ausliefern.

Die Webseite ist übrigens Open Source: Auf github.com/wahlbilanz/DeinWal.de könnt ihr die Webseite angucken, forken, Verbesserungsvorschläge einreichen und mitmachen!

Einschränkungen

Zu schön um war zu sein – wären da nicht einige Einschränkungen.

Dein Wal funktioniert ausschließlich für Parteien die in der letzten Legislaturperiode in den Bundestag gewählt wurden. Zu Parteien wie der FDP, AFD, Piratenpartei oder Die PARTEI haben wir leider keine Abstimmungsergebnisse.

Des Weiteren gibt es zwischen CDU/CSU und SPD eine Koalitionsvertrag, an den sich beide Fraktionen halten wollen/müssen. Wenn SPD für X stimmt, muss das also nicht heißen, dass sie X bevorzugen. Vielleicht hatte X bei den Verhandlungen nur geringere Priorität als Y, und es war ihnen wichtiger, dass CDU/CSU für Y stimmen (siehe Über Fraktionsdisziplin und den Koalitionsvertrag). Und umgekehrt natürlich.. Nichtsdestotrotz haben die Parteien aber so abgestimmt wie sie haben! ;-)

Bei den Oppositionsparteien kann man sich im Gegenzug auch nicht sicher sein ob sie bei einer Abstimmung aus Überzeugung gestimmt haben oder nur der herrschenden Politik Widerstand und Ablehnung entgegenbringen wollten. Aber auch hier gilt: Abgestimmt ist abgestimmt.

Es heisst nicht umsonst Politik.

Hilf mit!

Auch wenn die Webseite schonmal ganz gut funktioniert können wir deine Hilfe immer gut gebrauchen. Egal ob du einen Bug gefunden hast oder uns nur sagst wie lange du für das Quiz gebraucht hast und ob was (un)erwartetes herausgekommen ist – dein Feedback ist sehr Willkommen! :)
Erstelle ein Ticket auf GitHub oder schick uns eine Mail.

Und natürlich weiter sagen! Liken, teilen, forken, featuren, pluseinsen, usw..

Wer schwänzt am meisten?

Na, was denkt ihr: Welche Partei schwänzt am öftesten die namentlichen Abstimmungen!?

Dank der Computer-lesbaren Abstimmungsdateien im Wahlbilanz-Projekt (siehe Erläuterungen auf Github) können wir das relativ einfach herausfinden. Also gucken wir doch mal nach! Mit einem sehr einfachen Script konnte ich folgendes Balkendiagram generieren:

Wer schwänzt am meisten?

Wer schwänzt am meisten?

Sieht cool aus, oder? Aber…
Boar was!? CDU/CDU haben weit mehr als 4000 mal geschwänzt!?!?

Wer das jetzt denkt sollte wirklich kritischer mit solchen Artikeln umgehen! Das ist doch bisher nur ein „Bild“. Wo kommen denn die Daten her?

Die Skripte

Ich will hier gar nicht so viele technische Details bringen. Um die Daten zu erzeugen habe ich ein Python-Programm geschrieben, das mit Hilfe des Abstimmungsparsers die Abstimmungen des Bundestags analysiert: Es trägt für jede Abstimmung die Zahl der nicht abgegebenen Stimmen pro Bundestagspartei zusammen und gibt das Ergbnis in JSON-Format aus. Ein zweites R-Programm liest das Resultat und generiert Grafiken.

Wer mehr darüber wissen möchte guckt sich am besten die Skripte an oder kontaktiert mich direkt.

Die Daten

Genug technischer Details – so sehen die Daten aus:

Partei Absolut geschwänzt Relativ geschwänzt Anzahl teilgenommene Abstimmungen
CDU/CSU 4635 14.94 212
SPD 3397 17.60 212
Die Linke 1925 30.08 212
Bündnis 90/Die Grünen 1189 18.87 212
Fraktionslos 13 13.00 37

Die Spalte Absolut geschwänzt ist eindeutig: Die Abgeordneten von CDU/CSU haben wirklich 4635 Stimmen bei namentlichen Abstimmungen nicht abgegebenen! Damit liegen CDU/CSU ziemlich weit vor der SPD. Am fleißigsten waren scheinbar die Abgeordneten von Bündnis 90/Die Grünen: sie haben in den letzten 4 Jahren nur 1189 Stimmen nicht abgegeben. Die Fraktionslose lassen wir für den Moment einfach außer Betracht, da sie als Fraktionslose überhaupt an weit weniger Abstimmungen teilgenommen hat.

Die kritischeren Denker unter euch sehen aber sicher schon die Ungereimtheit: Die Fraktionen sind natürlich alle unterschiedlich groß! Beispielsweise haben bei der Abstimmung zur Abschaffung der sachgrundlosen Befristung 50 Abgeordnete der CDU/CSU und 40 Abgeordnete der SPD nicht teilgenommen. In der CDU/CSU haben aber auch 259 Abgeordnete abgestimmt, während bei der SPD „nur“ 153 Abgeordnete ihre Stimme abgaben. Das heißt, die Wahlbeteiligung war hier bei der CDU/CSU mit 83,82% höher als bei der SPD mit 79,27%. Die absoluten Zahlen sind also nicht geeignet um eine Solche Frage zu beantworten.

Also relativ gesehen…?

Aus der Tabelle oben könnt ihr die relativen Ergebnisse schon ablesen. Da sich die Werte in einer Grafik aber leichter vergleichen lassen:

Wer schwänzt am meisten?

Wer schwänzt am meisten? Also relativ gesehen, jetzt…

Ja, also relativ gesehen hatte Einstein wohl recht: Da sieht die Sache plötzlich ganz anders aus.

Verglichen mit der Zahl an abgegeben Stimmen fallen die 4635 nicht-abgegebenen Stimmen der CDU/CSU fast gar nicht mehr auf. Nun sehen die Abgeordneten der CDU/CSU mit im Schnitt nur 14.94% versäumten Stimmen sogar richtig fleißig aus! Knapp gefolgt von der SPD, die im Durchschnitt 17.60% der Stimmen nicht wahr genommen hat.

Aber was ist denn da mit den Linken los? Im Bild oben noch ganz unscheinbar, ergibt sich nun ein völlig anderes Bild. Mit durchschnittlich 30.08% nicht-abgegebenen Stimmen sticht Die Linke nun ziemlich heraus.

Disclaimer

Dieser Artikel soll niemanden an den Pranger stellen. Ich möchte eher zur Aufmerksamkeit aufrufen. Wie oben gesehen können Daten immer verschieden interpretiert werden können – je nachdem was man gerade aussagen will. Gerade bei der schnelllebigen Medienlandschaft sollte man umso kritischer sein und nicht alles, was vorbeigescrollt kommt, glauben. Und ich wollte natürlich die Daten in dieser Webseite und dem zugehörigen Projekt auf GitHub bewerben.. :P

Dieses Thema ist ehrlich gesagt auch vollkommener Quatsch! Wenn ein Abgeordneter bei einer Abstimmung nicht dabei ist, ist das nicht zwangsweise auf „Faulheit“ zurückzuführen (^^). Vielleicht eher im Gegenteil: Wer bei unkontroversen/klaren Abstimmungen im Plenum rumsitzt arbeitet nicht an wichtigen anderen Aufgaben. Abgeordnete sind sicher auch viel unterwegs und können oft aus beruflichen oder gesundheitlichen Günden nicht an den Abstimmungen teilnehmen.

Ich werde euch jetzt auch nicht sagen wer der Abgeordnete ist, der am häufigsten geschwänzt hat! Das müsst ihr schon selbst herausfinden! Aber die Daten auf dieser Webseite werden euch natürlich unterstützen ;-)
Wer es herausgefunden hat kann uns gern eine Mail schreiben!

Über Fraktionsdisziplin und den Koalitionsvertrag

Übersicht über das Abstimmungsverhalten der einzelnen Parteien in der Legislatuerperiode 18 des Deutschen Bundestages

Abbildung 1: Abstimmungsverhalten in der letzten Legislaturperiode

Für das Projekt DeinWal.de haben wir alle namentlichen Abstimmungen im Bundestag analysiert. Welche Abstimmungen gab es überhaupt? Welche Partei hat wie abgestimmt? Kann man die Abstimmungen irgendwie gruppieren oder kategorisieren? usw…

Um uns die Analyse einfacher zu machen wurden die Daten natürlich auch visualisiert. Eines der Ergebnisse seht ihr in Abbildung 1. Diese Art der Visualisierung benutzen wir oft in der Bioinformatik um Expressionsmuster von Genen in verschiedenen Patienten zu untersuchen. Die Grafik zeigt eine Heatmap und enthält sehr viele Informationen, daher ein kurzer Exkurs:

Wie liest man die Heatmap?

Die Heatmap kann man sich als eine sehr große Tabelle vorstellen. Jede Zeile der Tabelle steht für eine Abstimmung; am Ende der Zeile findet ihr auch die Abstimmungs-ID:

Erklärung: Heatmap-Zeile

Abbildung 2: Jede Zeile in der Heatmap steht fuer eine Abstimmung

In Abbildung 2 geht es also um die Abstimmung mit der ID 018-036-03. Diese ID setzt sich übrigens aus Legislaturperiode, Bundestagssitzung und Abstimmungsnummer zusammen. Im Beispiel handelt es sich also um die Abstimmung Nummer 3 in Sitzung 36 des 18. Deutschen Bundestags! Dabei ging es um Gentechnikfreiheit im Pflanzenbau (siehe wahlbilanz.de/abstimmungen/018-036-03/).

Jede Spalte in der Heatmap repräsentiert eine Partei. Das sind, von links nach rechts: DIE LINKE, Bündnis 90/Die Grünen, die fraktionslose Steinbach, SPD und CDU/CSU. In Abbildung 2 sind die Zellen von DIE LINKE und Bündnis 90/Die Grünen also gelb, die Zelle der Fraktionslosen ist grau, und die Zellen der SPD und der CDU/CSU sind rot.

Die Farbe einer Zelle entspricht dabei dem Abstimmungsergebnis der jeweiligen Partei bei einer bestimmten Abstimmung. Es gibt drei Grundfarben:

  • Gelb bedeutet „JA“.
  • Rot bedeutet „Nein“.
  • Grau bedeutet, dass keine Daten vorliegen, z.B. weil sich die Partei bei dieser Abstimmung komplett enthalten hat oder noch nicht existierte (Frau Steinbach war bis zum 15. Januar 2017 Mitlgied der CDU).

Da die Parteien nicht immer geschlossen abstimmen gibt es zudem verschiedene Orange-Töne zwischen rot und gelb:

Erklärung: Heatmap-Zellen und Verhältnis

Abbildung 3: Die Farben einer Zelle entsprechen dem Abstimmungsverhältnis von Nein (rot) bis Ja (gelb)

In Abbildung 3 waren sich die Parteien in den hinteren Spalten also bei der Abstimmung 018-237-05 fast einig und haben alle eindeutig mit Ja (Gelb) gestimmt während die Partei in der ersten Spalte geschlossen mit Nein (Rot) stimmte. Bei den Abstimmungen 018-200-01, 018-198-03 und 018-134-03 war das Ergebnis aber nicht so klar:

  • Die Partei in der ersten Spalte hat beispielsweise immer dagegen gestimmt (alles Rot).
  • Zur Partei in der zweiten Spalte gibt es gar keine Daten (Grau).
  • Die Partei in der dritten Spalte zeigt deutlich Uneinigkeiten. Während sie bei 018-200-01 noch knapp dafür war (helleres Orange) hat sie bei 018-198-03 und 018-134-03 knapp dagegen gestimmt (dunkleres Orange).
  • Bei der vierten Partei in der rechten Spalte zeigen sich auch Uneinigkeiten, die Entscheidungen fielen aber eindeutig mit Ja aus (sehr helles Orange).

Das Abschätzen der Farben funktioniert natürlich nur grob. Daher gibt es in jeder Spalte zwei Linien, die den Wert ein bisschen genauer abbilden. Die gestrichelte Linie in der Mitte jeder Spalte gibt jeweils an wo 50% ist (Ja=Nein wäre). Die durchgezogene Linie gibt Aufschluss über das genaue Abstimmungsverhältnis. Ist sie ganz links in der Spalte bedeutet das 100% dagegen, ist sie ganz rechts heißt das, dass die Partei 100% dafür war. Wenn wir uns jetzt nochmal Abbildung 3 angucken, sehen wir, dass die durchgezogene Linie der dritten Partei bei Abstimmung 018-200-01 knapp rechts von der gestrichelten Linie ist (knappe Mehrheit für Ja) aber bei den Abstimmungen 018-198-03 und 018-134-03 knapp links von der gestrichelten Linie ist (also knappe Mehrheit für Nein).

Zu guter Letzt gibt es oben und auf der linken Seite je ein Dendrogram. An dem Dendrogram kann man die Ähnlichkeiten der Parteien/Abstimmungsergebnisse ablesen. Je kürzer der Pfad zwischen zwei Spalten/Zeilen, desto ähnlicher sind sie sich.

Mit einem Klick auf Abbildung 1 könnt ihr die Heatmap in höherer Auflösung als PDF herunter laden!

Was sieht man in der Heatmap?

Übersicht über das Abstimmungsverhalten der einzelnen Parteien in der Legislatuerperiode 18 des Deutschen Bundestages

Abbildung 1: Abstimmungsverhalten in der letzten Legislaturperiode

Für eine leichtere Lesbarkeit habe ich die Heatmap aus Abbildung 1 hier unten einfach nochmal eingebunden.

Zunächst fällt vielleicht auf, das die Spalte der Fraktionslosen größtenteils Grau ist. Das ist leicht zu erklären: Frau Steinbach ist erst am 15. Januar 2017 aus der CDU ausgetreten, d.h. vor der Abstimmung 018-212-01 gab es keine Fraktionslose und damit auch keine Daten für diese Spalte. Danach hat Frau Steinbach aber scheinbar weiter im Sinne der CDU/CSU abgestimmt, bis auf Abstimmung 018-237-13.

Daher sind die Fraktionslose und CDU/CSU auch sehr ähnlich, wie man im Dendrogram oben sieht. Nur der Weg zwischen CDU/CSU und SPD ist kürzer. Was wiederrum bedeutet, dass diese beiden Parteien oft gleich abgestimmt haben. Das ist sicher dem Koalitionsvertrag geschuldet, den die Fraktionen zu Beginn der Legislatuerperiode ausgehandelt haben und an den sie sich jetzt halten (müssen).

DIE LINKE und Bündnis 90/Die Grünen sind sich nicht so ähnlich; sie haben wahrscheinlich auch nicht solch einen Vertrag miteinander. Sie sind sich dennoch ähnlicher als, beispielsweise, DIE LINKE und SPD. Während es bei Bündnis 90/Die Grünen noch leicht fällt Abstimmungsergebnisse im Sinne der großen Koalition zu finden (~50), ist die Schnittmenge zwischen DIE LINKE und große Koalition eher überschaubar (~10).

Es gibt in der gesamten Heatmap auffallend wenig Orange! Das bedeutet, dass die Fraktionen in der Regel immer geschlossen abgestimmt haben. Dieses Prinzip nennt man Fraktionsdisziplin oder Fraktionszwang. Ein Faktor für diesen Effekt ist wahrscheinlich der großen Druck und der Wettbewerb um Listenplätze innerhalb einer Partei. Der Effekt entsteht aber sicher auch, weil natürlich nicht jeder Abgeordnete ein Sachverständiger für alle behandelten Themen ist. Er muss sich auf die Meinung seiner Parteikollegen aus speziellen Gremien und Ausschüssen verlassen. So kommt es nur selten vor, dass ein Abgeordneter gegen die Meinung seiner Partei stimmt.

Methode

Für die Grafik habe ich ein kleines Script in der Programmiersprache R geschrieben, dass die Daten mit dem heatmap.2 Tool aus der gplots Bibliothek analysiert und in einer Heatmap visualisert. Die Daten kommen aus der Datei summary.table, die wir automatisch aus den Abstimmungsergebnissen generieren (siehe integrate_new_results.py). Jeder Eintrag in der Tabelle entspricht dem Wert von Ja geteilt durch Ja+NeinEnthaltungen werden also nicht berücksichtigt. Der größte Teil des Scripts beschäftigt sich mit der Umbenennung der Parteinamen in eine gute, Menschen-lesbare Form:

library(gplots)
library(RColorBrewer)

# read the data
votes <- read.table (file="../../abstimmungsliste/summary.table", header=TRUE, sep="\t")

# coloumn 1 is just the id -- we're interested in coloumns 2-6
m=as.matrix (votes[,2:6])
# but we can use the ids as rownames :)
rownames(m)<-votes[,1]


# rename the coloumns -> proper party names
colnames(m)<-sapply (colnames(m), function (x) {
	if (startsWith (x, "grue"))
	{
		"Bündnis 90/Die Grünen"
	}
	else if (startsWith (x, "cdu"))
	{
		"CDU/CSU"
	}
	else if (startsWith (x, "die"))
	{
		"DIE LINKE"
	}
	else if (startsWith (x, "frak"))
	{
		"Fraktionslos"
	}
	else if (startsWith (x, "spd"))
	{
		"SPD"
	}
	else
	{
		x
	}
})

m[m==-1]=NA

# cluster and plot the data using gplot's heatmap.2 tool
pdf ("abstimmungscluster.pdf", height=20)
colfunc <- colorRampPalette(c("#FF0000FF", "#FFFF00FF"))
heatmap.2 (m, tracecol=1, cexCol=.9, margins=c(9,4),
           na.rm=TRUE, col=colfunc(15), na.color="#DDDDDDFF")
dev.off ()

Und Los!

Hurra! WahlBilanz.de ist endlich online :)

Die Website ist als „Nebenprodukt“ von einem anderen Projekt entstanden: Für DeinWal.de mussten wir jede Menge Daten und Dokumente von verschiedenen Webseiten zu Abstimmungen im Bundestag zusammenführen, kategorisieren und taggen. Das war natürlich mit sehr viel manueller Arbeit verbunden. Die meisten Daten sind im Zuge von Open Data und E-Government Initiativen zwar online und frei zugänglich aber häufig schlecht verlinkt und stehen manchmal in sehr komischen Formaten zur Verfügung. Zum Beispiel gibt es auf bundestag.de zwar eine hübsche Seite, die die Abstimmung zur Einführung eines Mindestlohns visualisiert, die rohen Abstimmungsdaten sind dort aber nicht verlinkt. Die Rohdaten muss man sich von einer anderen Seite laden. Für die Zuordnung von Daten zu Abstimmungen ist auch einiges an manuellem Aufwand nötig. Und ist endlich der passende Datensatz gefunden, sind die Abstimmungsergebnisse in einer PDF-Datei gefangen (originales Dokument):

Abstimmungsdaten als PDF...

Abstimmungsdaten als PDF…

Alternativ stehen die Daten auch im proprietären Excel-Format zur Verfügung. Beides nichts womit Free-Software-Fans arbeiten möchten… ;-)

Wir haben die Daten also über Wochen mühsam gesammelt, integriert, konvertiert, getaggt … usw. Wir sind aber bestimmt nicht die einzigen, die vor dem Problem stehen! Damit sich aber nicht jeder andere die gleiche Arbeit machen muss entschieden wir uns alles auf eine Website zu stellen.

So entstand die Idee zu WahlBilanz.de.

Hier findet ihr alle Abstimmungen der aktuellen Legislaturperiode im Bundestag. Zu jeder Abstimmung gibt es noch eine Detail-Seite, die mehr Informationen und Links zu anderen Seiten sammelt und bereit stellt.

Jeder ist eingeladen die Seite mitzugestalten und zu verbessern. Sende uns deine Analysen und Verbesserungsvorschläge als E-Mail oder fork’ das Projekt und reiche Pull Requests ein!

Wer Lust hat die Seite aktiv mitzugestalten kann auch gern dem WahlBilanz.de-Team beitreten :)