Opening the Black Box: Datenanalyse und -visualisierung für Email-Verteiler

Das Problem

Seitdem das Internet sich von einer militärischen Spezialanwendung (ein Vorläufer war bekanntlich das Arpanet) zu einem Massenmedium entwickelt hat, stehen Daten und Informationen in einer Fülle zur Verfügung wie niemals zuvor in der Geschichte der Menschheit. Quantität und Zugänglichkeit haben Arbeits- und Kommunikationsprozesse erheblich verkürzt und vereinfacht. Zugleich bereitet die Masse erhältlicher Informationen jedoch große Probleme. Man verliert schnell den Überblick, vor allem auch in Bezug auf die Qualität erhältlicher Informationen. Und es fällt gerade in diesen Tagen immer wieder auf, wie schlecht ausgebildet viele Menschen in Quellenkritik zu sein scheinen, also in der Fähigkeit, verlässliche Information von Fake News zu trennen. Aber auch in scheinbar weniger komplexen Fällen kann die Datenmenge zum Problem werden. Bei Datenbanken von mehreren Tausend Datensätzen ist es sehr zeitraubend und für Organisationen teilweise auch gar nicht möglich, Mitarbeiter*innen dafür einzusetzen, die Qualität von Daten zu überprüfen und zu sichern. Hier kann der Einsatz von datenanalytischen Werkzeugen und Datenvisualisierung helfen. Dabei arbeiten beide Techniken oft Hand in Hand. Bilder machen dabei Zusammenhänge anschaulicher, die mit Zahlen allein nur schwer nachzuvollziehen oder zu erkennen sind.

Ein anschauliches Beispiel hierfür sind Email-Verteiler, über die ich schon zuvor gesprochen habe. Ein anderes Beispiel wären Inventare, etwa von Waren, Museumsobjekten oder Archivmaterialien. Je nach Aufgabe können diese mehrere Hundert oder gar Tausende von Kontakten mit verschiedenen Detailinformationen umfassen. In einer CSV- oder Excel-Datei steht dabei jede Spalte für eine bestimmte Kategorie bzw. ein bestimmtes Merkmal, eine Zeile für einen Datensatz.

Wie immer, wenn man es in der Empirie mit großen Zahlen zu tun hat, ist eines der besten Werkzeuge, um sich einen Überblick zu verschaffen, die Statistik. Für die Datenanalyse hat sich Python in den letzten Jahren hierbei als eine der leistungsstärksten Sprachen etabliert, gerade weil es den Umgang mit großen Datenmengen verhältnismäßig einfach und intuitiv gestaltet. Statistik öffnet dabei gewissermaßen die Black Box, macht zugrundeliegende Strukturen in den Daten transparent. Die Datenauswertung mache ich in der Regel mit Python; und auch einen erste einfache Visualisierung lässt sich in vielen Fällen mit Pythons Allzweck-Waffe Matplotlib erledigen. Allerdings finde ich die resultierenden Graphiken in ästhetischer Hinsicht oft nicht besonders ansprechend. Es gibt jedoch eine ganze Reihe anderer Software-Lösungen zur Erzeugung ansprechenderer Grafiken, aber ein von mir oft bedienter Kompromiss ist, die von Python erzeugten tabellarischen Daten ins Excel-Format zu konvertieren und über die Microsoft-Anwendung visualisieren zu lassen. Das habe ich auch bei den nachfolgenden Beispielen gemacht. Eine andere Möglichkeit wäre Tableau, wovon ich zu einem anderen Zeitpunkt nochmals sprechen möchte.

Vollständigkeit(en)

Ein Grund für eine intensive Analyse von Daten kann die Frage nach ihrer Vollständigkeit sein. Dazu muss man sich, je nach Aufgabe, indes wenigstens zwei Dinge vegegenwärtigen:

  1. Welche Art von Vollständigkeit meine ich oder strebe ich an?
  2. Habe ich verlässliche Informationen über die gesuchte Vollständigkeit?

Beide Fragen greifen bis zu einem gewissen Grad ineinander. Denn wenn ich mit Vollständigkeit die Grundgesamtheit meinen sollte, dann brauche ich eine verlässliche Information darüber, wie groß diese eigentlich ist. Am konkreten Beispiel: Wenn ich einen Email-Verteiler habe, der die Kontakte zu den Bürgermeister*innen deutscher Gemeinden enthält und über die Jahre durch verschiedene Arten der Zusammenarbeit angewachsen ist, dann besteht die zu vergleichende Grundgesamtheit natürlich aus Anzahl und Namen aller Gemeinden in Deutschland (nach derzeitigem Stand gibt es derer 10.769). Auf dieser Grundlage kann man dann auch feststellen, in welchen Bundesländern überproportional viele oder zu wenige Kontakte in der Datenbank vorliegen. Eine Transferfrage wäre, warum das so ist. Dementsprechend nutzte ich als Vergleichsbasis Daten des Statistischen Bundesamtes in Wiesbaden (DeStatis) über Gemeinden in Deutschland. Von den verschiedenen Einzelbetrachtungen kann ich hier nur einige wenige Beispiele vorstellen (den Namen des Auftraggebers halte ich aus Datenschutzgründen anonym).

Vorausschickend ist unbedingt ferner zu betonen: Vollständigkeit ist kein Qualitätsmerkmal per se; sie sagt nicht zwingend etwas über den Wert eines Verteilers aus. Im betrachteten Fall hilft die Kenntnis der realen Zahl und Verteilung von Gemeinden in Deutschland lediglich dabei, besser zu verstehen, welche Regionen besonders stark beschickt werden und welche nicht. Die Analyse offenbart dabei bloß die Geschichte der Daten, Hinweise auf ihre Herkunft. Die Stärke der Datenanalyse liegt nur darin, solche sonst versteckten Strukturen transparent und bewusst zu machen. Bei statischen Aufgabenstellungen können dadurch zusätzlich Verzerrungen (Biases) vermieden werden. Welche Schlüsse man aus der Analyse zieht, steht hingegen auf einem völlig anderen Blatt und kann beispielsweise von strategischen Überlegungen abhängen.

Das konkrete Beispiel: ein Email-Verteiler

Der untersuchte Verteiler enthielt 3.822 Datensätze. Jeder Datensatz steht für eine Gemeinde und deren Bürgermeister*in, geordnet nach den 16 Bundesländern Deutschlands. Ziel bei der Datensammlung war, für jeden Datensatz wenigstens eine Email-Adresse und eine Telefonnummer zu besitzen. Bei den Emails wurde dieses Ziel erreicht, bei den Telefonnummern nicht ganz.

Interessant war ein Blick darauf, zu welchen Bundesländern die Kontakte des Verteilers gehören. Aufschluss darüber gibt die nächste Grafik.

Wie weiter oben diskutiert, erhält das Ergebnis vor allem durch einen Vergleich mit der Gesamtzahl von Kommunen in Deutschland Aussagekraft. Dadurch lässt sich die Vollständigkeit erkennen sowie, umgekehrt, wo Lücken, Schwerpunkte und mögliche Verzerrungen liegen könnten.

Um die Unterschiede zu quantifizieren, habe ich nochmals die Differenz in der Anzahl von Kommunen in beiden Tabellen gebildet, in Prozente umgerechnet und visualisiert.

Email-Typen als Qualitätsmerkmal

Nachdem Vollständigkeit nicht zwingend als Kriterium für die Qualität eines Verteilers gelten muss, ist zu fragen, ob man nicht andere Merkmale nennen könnte. Eine Möglichkeit der Quantifizierung liegt darin, die Typen von Email-Adressen zu kategorisieren. Denn es macht grundsätzlich einen Unterschied, ob man an eine allgemeine oder an eine persönliche Adresse schreibt. In letzterem Fall ist die Wahrscheinlichkeit höher, dass man den richtigen Ansprechpartner erreicht als über eine allgemeine Adresse, bei der es darauf ankommt, ob sie überhaupt an die richtigen Ansprechpartner weitergeleitet würde. Um einen besseren Einblick zu erhalten, habe ich vier verschiedene Kategorien gebildet:

  1. Allgemeine Adressen: das sind solche, die mit info@, kontakt@, post@ und dergleichen beginnen;
  2. Adressen des näheren Umfelds gesuchter Ansprechpartner*innen (in unserem Fall: Bürgermeister*innen). Das könnten etwa Adressen sein, die mit buergermeisteramt@, verwaltung@, magistrat@, vorzimmer@ etc. beginnen.
  3. Adressen, die eine offizielle Funktion bezeichnen, z.B. buergermeisterin@, bm@, oberbuergermeisterin@,…
  4. Persönliche Email-Adressen, die in der Regel nach der Form vorname.nachname@ gebildet sind.

Für die Analyse splitte ich die Email am @-Zeichen. Danach nutze ich Regular Expressions, um die entsprechenden Muster aus den vorderen Teilen der Adresse herauszufiltern. Mit einfachen Wenn-Abfragen teile ich die Email-Adresse der entsprechenden Kategorie zu, die ich eine neu gebildete Hilfsspalte eintragen lasse. Dadurch kann man die Anzahl mit einfachen summary statistics auswerten und visualisieren lassen. Das überraschende Ergebnis war, dass personalisierte und allgemeine Adressen wider Erwarten gleich häufig im Verteiler vorkommen. Fasst man die nicht-allgemeinen Kategorien zusammen, kommt man immerhin auf 61%. Das ist nicht schlecht und spricht insgesamt für eine hohe Güte des Verteilers, auch wenn man sich vielleicht wünschen könnte, dass er noch mehr persönliche Adressen beinhalte. Ein solches Ziel steht aber vor dem Hindernis, dass Email-Adressen nicht immer im Internet veröffentlicht werden – und per Scraping kann man natürlich nur Daten auslesen, die auf einer Webseite veröffentlicht wurden.

Übersicht über Einwohnergrößenklassen

Aufwändiger war die Aufbereitung der Daten nach Einwohnergrößenklassen. Dazu müssen die konkreten Einwohnerzahlen, die mit Scraping aus Wikipedia gezogen wurden, Größenklassen zugeordnet werden. Am einfachsten ist das, indem man in jedem Datensatz eine Zuordnung zu einer neuen Hilfsspalte vornimmt, welche die Obergrenze der Einwohnerklasse bezeichnet, der die Kommune zugeordnet werden soll. Hier kann man die Obergrenzen im Prinzip beliebig wählen. Damit der Vergleich mit den offiziellen Daten des statistischen Bundesamtes möglich wurde, empfahl sich aber, sich an dessen Kategorien zu orientieren, auch wenn die Schritte zwischen den Klassen unregelmäßig sind: unter 500 Einwohnern, unter 1.000, unter 2.000, unter 3.000, unter 5.000, unter 10.000, unter 20.000, unter 50.000, unter 100.000, unter 200.000, unter 500.000, unter 1.000.000 und über 1.000.000 Einwohnern. In Deutschland gehören zu letzterer Kategorie bekanntlich nur 4 Kommunen: Berlin, Hamburg, München und Köln.

Diese Zahlen wurden als Obergrenzen verwendet. Das heißt etwa, dass eine Kommune mit 107 Einwohnern der Klasse von 500 Einwohnern zugeordnet würde, bei 9.000 Einwohnern hingegen der Klasse von unter 10.000 usw. Diese Zuordnung kann man wiederum mit Python automatisch vornehmen und deren Anzahl dann zählen lassen. Diese Quantitäten können dann mithilfe von Säulendiagrammen visualisiert werden.

Um auf einem Blick auch einen Vergleich vornehmen zu können, kann man dann noch die tatsächliche Verteilung in Deutschland in dieselbe Grafik hineinprojizieren – in dieser Grafik in Hellgrün abgetragen.

Daraus ergibt sich, dass die Verteilung im Verteiler, die zufälligerweise wie eine Normalverteilung aussieht, nicht mit der tatsächlichen Verteilung kongruent ist. Gerade von sehr kleinen Gemeinden unter 500 Einwohnern sind überproportional wenige Kontakte vertreten. Das hängt sicherlich insofern mit der Geschichte der Genese des Verteilers zusammen, als dass in der Vergangenheit nur wenig mit sehr kleinen Gemeinden zusammengearbeitet wurde.

Fazit

Die Beispiele zeigen deutlich, wie hilfreich Datenanalyse und -visualisierung sind, um die Zusammensetzung und Struktur von Daten besser zu verstehen, auch bei sehr praktischen Anwendungen, wie zum Beispiel Email-Verteilern, können sie helfen, den Überblick bei größeren Datenmengen nicht zu verlieren. Daraus können dann, in einem weiteren Analyseschritt, Schlüsse darauf gezogen werden, wo etwaiger Nachbesserungsbedarf besteht. Ad hoc lässt sich das aus den Daten indes nicht schlussfolgern; denn es kann für ein Unternehmen u.U. wünschenswert sein, dass mehr Kontakte in einer bestimmten Region bestehen, weil dort die Stammkundschaft verortet ist. Darüber hinaus lassen sich natürlich auch andere Merkmale aufschlüsseln, wie etwa die Parteizugehörigkeit der Bürgermeister*innen (was ich auch getan habe, aber hier nicht abbilde). Unabhängig davon bilden gut aufbereitete Daten eine wichtige Entscheidungsgrundlage und sind in Unternehmensprozessen daher zu einem schlechterdings unverzichtbaren Instrumentarium geworden.