Fragebogenvisualisierung der Wahlen in den Berner Stadtrat 2016


Diese Web-Applikation wurde im Rahmen der Open Data Vorlesung im Frühlingssemester 2017 erstellt. Die Studenten Matthieu Pfenninger und Sandro Andermatt haben diese Applikation im Rahmen der Übung zur Veranstaltung programmiert. Die Applikation visualisiert die Antworten des Fragenkataloges von smartvote. Die verwendeten Daten beinhalten die Antworten der Kandidierenden zu den Wahlen in den Berner Stadtrat 2016, die Fragen des Fragenkatalogs und die Fragekategorien. In Zusammenarbeit mit unseren Data Coaches, Michael Erne und Daniel Schwarz, wurde der Schwerpunkt der Visualisierung auf generelle Aussagen zu den Antworten gelegt.


Smartvote ist eine Online-Wahlhilfe bei der anhand eines Fragebogens, zu verschiedenen politischen Themen, die Wählerinnen und Wähler ihre Position mit derjenigen von Kandidierenden und/oder Parteien vergleichen können.

Erste Herangehensweise
Nach einer ersten Einführung unserer Data Coaches in die Datengrundlage machten wir uns Gedanken zu möglichen Visualisierungen und interessanten Vergleichen. Nach erster Webrecherche wurde ein Vergleich von Parteien bzw. aggregierten Parteien-Antworten angestrebt. Dazu mussten wir uns Gedanken machen welche Informationen, für generelle Aussagen, relevant sind.
Die von den Data Coaches zur Verfügung gestellten Daten haben eine Vielzahl an Attributen. Diese musste gesichtet werden und eine Auswahl, der für die Visualisierung relevanten Attribute, musste getroffen werden. Die Visualisierung wurde mittels eines Snippets von Mike Bostock programmiert. Das Vorgehen hierzu wird unterhalb der Visualisierung beschrieben.

Datenbeschreibung


Die Daten von smartvote erhielten wir im gut strukturierten JSON-Format. Diese waren über Schnittstellen abrufbar und beinhalten verschiedene Informationen zu:


Zur App Programmierung entschieden wir uns die Kandidaten-Schnittstelle und Fragen-Schnittstelle lokal zu speichern und nur diese zu verwenden. Diese wurden gewählt, da alle nötigen Informationen in der Kandidierenden-Schnittstelle vorhanden sind und die Fragen-Schnittstelle die Zuordnung zu den Fragen ermöglicht.
Zusätzlich wurde eine Kategorien JSON-Datei erstellt, die die Zuordnung der Fragen zu den Kategorien ermöglicht. Die Kategorien wurden von der Website von smartvote und deren Fragebogen übernommen.
Die Daten sind insofern nicht Open Data, da wir in Rücksprache mit unseren Data Coaches die Rückverfolgung auf Namen und Adresse der Kandidierenden verhindern müssen. Die vollständigkeit der Daten ist somit nicht gegeben. Alle für die Visualisierung relevanten Informationen sind vorhanden.
Datei Download
Kandidierende JSON File
Fragen JSON File
Kategorien JSON File

Die Daten sind gut gepflegt und mussten daher für die Visualisierung nicht bereinigt werden. Lediglich die Namen und Adressen mussten gelöscht werden.

Vorschläge zur Weiterentwicklung


Die Visualisierung stellt die Antworten der Parteien gesamthaft dar. Dank der Sortiermöglichkeiten und Filtermöglichkeiten kann man gezielte Fragen beantworten. Dennoch sehen wir einige Möglichkeiten die Applikation weiterzuentwickeln.

Interaktive Funktionen
Eine Weiterentwicklung der Applikation wäre eine Interaktive Funktion, die es bspw. erlaubt zu Raten welche Partei, wie geantwortet hat und dies dann mit der eigenen Schätzung zu vergleichen. Auch würde es interessant sein, so die eigenen Antworten auf die Fragen mit allen Parteien zu vergleichen.

Weitere Filtermöglichkeiten
Im Datensatz von smartvote sind viele Datenattribute zur Person aufgeführt. Nur wenige Kandidierende haben dabei all diese ausgefüllt. Es wäre bei grösserer Vollständigkeit der Daten jedoch spannend zu Vergleichen, ob diejenigen Personen welche bspw. Social Media Kanäle angegeben haben, anders antworten, als die ohne Angaben.

Einbinden weiterer Wahlen
Die Daten von smartvote sind sehr gut strukturiert. Es war immer Ziel die Visualisierung mit den Attributen der im JSON-Format vorhandenen Daten zu programmieren und eine dynamische Datentransformation zu ermöglichen. So kann man weitere Wahlen und Kandidierende der Visualisierung hinzufügen.

Vergleich mit Listen
Ein interessanter Ansatz wäre eine Gegenüberstellung der Antworten von Listen und Parteien. Die Gruppierung müsste dafür nicht nur nach Parteien erfolgen, sondern auch nach Listen. Dazu müsste die Listen-Schnittstelle neu hinzugefügt werden.

Probleme im Projekt


Zu Beginn anderer Themenbereich
Zu Beginn der Veranstaltung wählten wir einen anderen Themenbereich aus. Auf Grund weniger Kapazitäten des Data Coaches mussten wir uns neue Daten suchen. Dies führte zu einem grösseren Zeitverlust, da wir erst spät von diesem Kapazitätenengpass erfuhren. Diesen Zeitverlust mussten wir aufholen.
Wir wählten in einer zweiten Auswahl die Daten von smartvote. Die Datacoaches von smartvote konnten glücklicherweise sehr bald ein Gespräch mit uns führen und uns ihre Daten vorstellen.

Visualisierungsart sankey
Wir wählten zuerst eine andere Visualisierungsart. Die des sankey-Diagrammes. Diese Visualisierung eignete sich, gemäss Feedback von Matthias Stürmer, nicht zur Visualisierung der Antworten. Aus diesem Grund haben wir uns nach der Zwischenpräsentation für eine Visualisierung mittels Bar Chart entschieden.

Programmierung
Da wir beide wenig Erfahrung mit HTML, CSS, JS, Bootstrap und den d3js-Bibliotheken hatten, war es eine Herausforderung in dieser kurzen Zeit, die Daten dem Code Snippet zuzuordnen und weitere Funktionalitäten zu programmieren.

Einbinden der Visualisierung mittels iframe
Da das Code Snippet mitsamt den Fragenkategorien eine gewisse Höhe in Pixeln einnimmt, konnte nicht mit dem iframe gearbeitet werden. Das einbinden in ein HTML-File stellte einige Schwierigkeiten dar, welche wir offensichtich gut gelöst haben.

Dynamische Transformationen der Daten
Die Zuordnung der Daten zu dem Code Snippet haben wir damit begonnen jede einzelne Frage dem Snippet zuzuordnen. Bis die dynamische Datentransformation der Daten funktionierte, mussten wir viel Zeit investieren und viel herumtüfteln.

App Team


Name Studiengang Nebenfach/Vertiefung
Pfenninger Matthieu Bachelor Betriebswirtschaftslehre Informatik
Andermatt Sandro Master Betriebswirtschaftslehre Wirtschaftsinformatik


Weiterführende Links

Website Stadtrat Bern
Stadtrat Bern
Wahlresultate Stadtrat Bern 2016
Wahlresultate
Smartvote Stadtratwahlen 2016
Smartvote Fragebogen

Impressum

Open Data Applikation 2017 von Matthieu Pfenninger und Sandro Andermatt
Data Coaches von smartvote Micheal Erne und Daniel Schwarz