Das Echtzeit-Datenangebot am Abstimmungssonntag ist ein Vorzeigebeispiel dessen, was gute Zusammenarbeit über alle föderalen Ebenen hinweg und offene Datengrundlagen möglich machen.
Dieser Blogpost dreht sich darum, wie einfach an einem Abstimmungssonntag die Resultate von eidgenössischen und kantonalen Abstimmungen noch während der Auszählung - also in quasi Echtzeit - bezogen und ausgewertet werden können. Zum Beispiel mit der offenen Statistiksoftware R und dem swissdd
-package.
# install.packages("swissdd")
library(swissdd)
get_nationalvotes()
# A tibble: 6,537 x 16
name id canton_id canton_name mun_id mun_name geoLevelParentn…
<chr> <int> <chr> <chr> <chr> <chr> <chr>
1 Volk… 6380 1 Zürich 1 Aeugst … 101
2 Volk… 6380 1 Zürich 2 Affolte… 101
3 Volk… 6380 1 Zürich 3 Bonstet… 101
4 Volk… 6380 1 Zürich 4 Hausen … 101
5 Volk… 6380 1 Zürich 5 Hedingen 101
6 Volk… 6380 1 Zürich 6 Kappel … 101
7 Volk… 6380 1 Zürich 7 Knonau 101
8 Volk… 6380 1 Zürich 8 Maschwa… 101
9 Volk… 6380 1 Zürich 9 Mettmen… 101
10 Volk… 6380 1 Zürich 10 Obfelden 101
# … with 6,527 more rows, and 9 more variables:
# gebietAusgezaehlt <lgl>, jaStimmenInProzent <dbl>,
# jaStimmenAbsolut <int>, neinStimmenAbsolut <int>,
# stimmbeteiligungInProzent <dbl>, eingelegteStimmzettel <int>,
# anzahlStimmberechtigte <int>, gueltigeStimmen <int>,
# votedate <date>
In der digitalen Ära eine Frage der Selbstverständlichkeit, oder?
Keineswegs. Es ist einer dieser Fälle wo die föderalen Ebenen so zusammenarbeiten, dass dabei ein optimales Resultat für die Gesellschaft zustande kommt. Die geringen Hürden für den Datenbezug am Abstimmungssonntag sind langjähriger Routine und Kooperation rund um die die Datenflüsse für die Resultatermittlung geschuldet. Aber auch einer bestechend simplen und doch zukunftsweisende Idee:
Offene Daten als Grundlage für Dienste der öffentlichen Hand
Was macht diesen Ansatz so mächtig? Daten zur Wiederverwendung freizugeben, welche sowieso regelmässig aufbereitet werden müssen, weil sie für Anwendungen, Dienste oder auch Publikationen benötigt werden, ist ressourcenschonend. Und es erlaubt, dass aus denselben Daten eine Vielzahl weiterer, auch ungeahnter, Anwendungen entstehen können. In dem die Daten aus ihrem ursprünglichen Publikationsgefäss ausbrechen können, fliessen sie von der Quelle widerstandsloser durchs Netz und können über die verschiedensten Kanäle breitere Gesellschaftskreise erreichen.
Trotz der Vorteile wurde von dieser Möglichkeit lange noch viel zu selten Gebrauch gemacht. In Zeiten von Covid-19 hat der Ansatz aber nun seine Praxistauglichkeit und seine vielen Vorteile unter Beweis gestellt. Ob im Kanton Zürich oder in Italien : seit Anbeginn der Pandemie war die Grundlage vieler Lagedashboards offen zugänglich und auch das BAG hat mittlerweile diesen Weg eingeschlagen:
Kanton Zürich : Zahlen & Fakten Coronavirus - Datengrundlage
Italien : Dashboard - Datengrundlage
Die Zeichen dafür, dass diese Praxis weit über Corona zu einem Standard wird, stehen gut. Die Abstimmungsdaten könnten dabei als eine Blaupause, in Form einer erprobten Best Practice, dienen.
2017 lancierte das Statistische Amt des Kantons Zürich die ZüriStimmtApp. Die App bot Informationen zu den kommenden Volksabstimmungen im Kanton Zürich, zum detaillierten Auszählstand am Abstimmungssonntag wie auch Zugriff auf das gesamte Archiv der vergangenen Abstimmungen. Die App ist mittlerweile von der nationalen VoteInfo abgelöst worden, welche am Abstimmungstag ab 12 Uhr mit den Daten aus allen Kantonen - notabene aus den unterschiedlichsten Resultateermittlungssystemen - gefüttert wird.
VoteInfo trumpft aber nicht nur mit ziemlich umfassenden Funktionalitäten auf. Was die App ebenfalls abhebt ist eben gerade, dass - wie bereits bei ihrer Vorgängerin aus Zürich - ihr Datenfundament frei zugänglich ist. Die Daten werden als offene Behördendaten auf opendata.swiss zur Verfügung gestellt.
Dies eröffnet Möglichkeiten. Datenjournalist*innen können schneller und einfacher Abstimmungsanalysen vornehmen. Zeitnah können sie bereits am Abstimmungssonntag zahlenbasiert und in Live-Ticker-Manier über den Ausgang berichten und ihre Resultateübersichten automatisch aktualisieren. Das gesamte Abstimmungsarchiv ist im identischen Format zugänglich, was die datengetriebene Einordnung des Ergebnisses in der Abstimmungsgeschichte erleichtert.
Wie entwickelt sich die Stimmbeteiligung an nationalen Abstimmungen seit 1990? Ein paar Zeilen Code reichen aus.
#install.packages(ggplot2)
library(ggplot2)
swiss_data <- get_nationalvotes(from_date="1990-06-01",geolevel="national")
ggplot(swiss_data,aes(votedate, stimmbeteiligungInProzent))+
geom_point()+
geom_smooth()+
theme_minimal()+
labs(y="Stimmbeteiligung (%)", x="")
Die Daten sind somit nicht nur für politinteressierte Datennerds von Nutzen. Sie erreichen als Basis von Hochrechnungen und datenjournalistischen Produkten über die unterschiedlichsten Wege die Stimmbürger*innen. Sie erlauben ein Live-Erlebnis am Abstimmungssonntag - wie bei einem Sportereignis. Insbesondere wenn es zu knappen Abstimmungskrimis kommt, tragen sie dazu bei, das Interesse zu erhöhen. Etwas Spannung kann unserer direkten Demokratie wahrlich nicht schaden. Schliesslich geht es - leidenschaftliche FC-Fans mögen mir den Vergleich verzeihen - um weitaus mehr als an einem Fussballmatch.
Die zeitnahe Nachvollziehbarkeit des Resultats für jede und jeden legitimiert den direktdemokratischen Prozess. Es ist essentiell, dass die Datenströme zu den kollektiven Entscheidungsprozessen möglichst einfach angezapft werden können. Aber es ist an der Zeit, dass auch die Datenbestände zu allen andern wichtigen Lebensbereichen ähnlich einfach bezogen werden können. Auf Bundesebene gilt schliesslich mittlerweile mit der neuen OGD-Strategie die Devise open by default, womit die Publikation von OGD für die zentrale Bundesverwaltung für verbindlich erklärt worden ist.
In grauer Vor-OGD-Zeit (gefühlt ist es eine Ewigkeit her, tatsächlich aber noch gar nicht allzu lange) waren wir für die Abstimmungsanalysen auf dem sich mittlerweile im Dornröschenschlaf befindenen Politblog politan.ch auf das händische Herunterladen von Excel-Tabellen am Abstimmungssonntag angewiesen. Um ca. 18 Uhr bezogen wir beim BFS jeweils die Resultate auf Bezirksebene, säuberten und formatierten sie um, damit sie in unsere eigene Datenbank passten. Unser Wettbewerbsvorteil war, dass wir so auf Basis unserer historisierten Datengrundlage unter den ersten waren, die ‘Instant’-Abstimmungsanalysen publizieren konnten.
Der Aufwand war beträchtlich und die Aufbereitung fehleranfällig. Dank der offenen Daten entfiel das alles. Die Daten können seither direkt aus dem Topf des BFS bezogen werden - ganz im Sinne von once only. Wir politan-Veteranen haben das swissdd
-package entwickelt, welches es ermöglicht, die Daten mit minimalem Aufwand in R zu laden und auf repetier- und reproduzierbare Art und Weise weiterzuverarbeiten.
swissdd
gibt es nun seit ein paar Jahren. Mitterweile stellt das BFS auch die Geodaten zu den Auszählkreisen zur Verfügung. David Zumbach hat dem swissdd package gerade eben neue Funktionen geschenkt, die es erlauben Karten zu generien.
Was es wohl braucht es um eine publikationsreife Karte der Abstimmungsresultate im SRF-look zu generien?
Nicht viel:
plot_nationalvotes(votedate = "2014-02-09",vote_id = 5800,geolevel = "municipality")
Offene Daten und offene Software machen es möglich.
Open is beautiful.