Neuronale Netzwerke zur Spam-Erkennung

Die Funktionsweise der in immer mehr Anwendungen genutzten neuronalen Netzwerke stieß bei weniger technik-affinen Menschen bislang nur auf wenig Interesse. Geschuldet wird das sicher vor allem der eher trockenen Theorie, die hinter diesen Konstrukten steht und die sich für die meisten nicht auf Anhieb erschließt. Ein populäres Beispiel für die Fähigkeiten, die ein solches neuronales Netzwerk bereits heute hat, lieferte in jüngster Zeit Googles “Inception”, welches ohne den Anspruch auf einen praktischen Nutzen eigenständig eine spektakuläre Bilderwelt kreierte, die auch Menschen ohne großes Interesse an den dahinter steckenden Technologien ins Staunen versetzte. Ansonsten bieten sich die neuronalen Netze vor allem überall dort an, wo wenig systematisches Wissen zur Verfügung steht, wie etwa bei der Bilderkennung und der Text- bzw. Sprachanalyse.

Weniger effektheischend, als die Ergebnisse von “Inception”, dafür jedoch überaus hilfreich für den vernetzten Alltag, sind neuronale Netzwerke, die zum Aufspüren und zur Kategorisierung von Spam-Seiten entwickelt werden. In diesem Anwendungsbereich können diese ein wertvolles Werkzeug sein.

Wie bei allen selbstlernenden Netzwerken muss dafür zunächst ein Grundgerüst aufgebaut werden, welches später von Hand mit Informationen gefüttert wird, bis es schließlich in der Lage ist, sich selbstständig weiter zu entwickeln, hinzuzulernen und auf diese Weise immer genauere Ergebnisse liefert.

Die Auswahl der Kriterien

Unerwünschte Webseiten mit störenden und oft illegalen Inhalten findet man im Internet zu Hauf und meist locken sie mit dubiosen Angeboten für vermeintliche Wundermittel oder gaukeln leichtgläubigen Nutzern vor, man könne ohne großes Zutun viel Geld verdienen – meist ohne ein tatsächliches Produkt oder eine Dienstleistung dahinter. Ein entsprechend programmiertes neuronales Netzwerk spürt diese Seiten anhand von bestimmten Faktoren automatisch auf. Als Trainingsdaten werden dafür zunächst von Hand Kriterien wie die Registrierungs-IP, der Nutzername und die verwendete Sprachversion eingegeben. Da das Netzwerk nur mit den Zahlen 0 und 1 arbeiten kann, müssen diese Datensätze zuvor manuell aufbereitet werden. Indem alle gewünschten Registrierungs-IPs erst auf den jeweiligen Internetdienstanbieter abgebildet werden und der Grad ihrer jeweiligen Spammigkeit von Hand bestimmt wird, lässt sich der jeweilige Durchschnitt der “Spammigkeit” eines Internetdienstanbieters berechnen. Teilt man die Anzahl der Spammer durch die Gesamtnutzerzahl eines einzelnen Anbieters, erhält man bereits ein Ergebnis, das sich zur Eingabe in das neuronale Netzwerk eignet. Ähnlich kann z. B. bei der Kombination aus Geolocation und Sprachversion verfahren werden. Mit einer Vielzahl weiterer Faktoren kann die Effizienz des neuronalen Netzwerks verbessert werden. So lassen sich etwa große Unterschiede bei dem Herkunftsland feststellen, in dem die Spam-Seiten angesiedelt sind. Ein besonders großes Erkennungspotential bieten bestimmte Keywords und Keyword-Kombinationen, die mitunter eindeutige Rückschlüsse auf ein Spam-Angebot ziehen lassen. Befindet sich z. B. die Wortkombination “Geld verdienen” besonders häufig auf einer Seite, ist dies ein recht deutliches Kriterium für die Klassifizierung als Spam. Doch auch weniger offensichtliche Faktoren helfen dem neuronalen Netzwerk dabei, hellhörig zu werden: Ein ungewöhnliches Verhältnis zwischen Vokalen und Konsonanten oder auch Seitennamen, die vermehrt Zahlen und unübliche Zeichen beinhalten, können die Spam-Wahrscheinlichkeit steigern. Kommt die verwendete IP-Adresse aus einem anonymisierten Netzwerk oder VPN, schürt dies ebenfalls den Verdacht auf unseriöse Inhalte.

Erstellung einer Korrelationsmatrix

Da jedes der einbezogenen Kriterien zur Bestimmung der Spammigkeit einer Seite eine unterschiedlich hohe Relevanz hat, müssen die einzelnen Faktoren verschieden stark gewichtet werden. Damit das neuronale Netzwerk genau das tun kann, wird deshalb eine Korrelationsmatrix erstellt. In dieser Matrix werden alle gesammelten Kriterien in Verbindung zueinander gesetzt, um es dem Netzwerk zu ermöglichen, nicht jeden Punkt nur einzeln zu werten. So ist ein Keyword wie z. B. “100 mg” an sich vergleichsweise unverdächtig. Stammt die Seite, auf der das Wort vorkommt jedoch aus einer Gegend, in der erfahrungsgemäß viele unseriöse Arzneimittelanbieter angesiedelt sind, kann dies die Spam-Wahrscheinlichkeit erhöhen.

Libraries für die Implementierung

Ein wertvolles Tool, das sich für die Implementierung des jeweiligen neuronalen Netzwerks eignet, ist die Open Source Machine Learning Library “Tensor Flow” von Google. Diese Programmierschnittstelle der zweiten Generation verfügt über einige handfeste Vorteile gegenüber anderen Libraries und ermöglicht die Parallelisierung der Arbeit. Berechnet wird sie auf der schnellen GPU des Rechners, was in direkten Vergleichen die Rechenzeit um ein Vielfaches senken konnte. Bewährt hat sich “Tensor Flow” bereits in zahlreichen kommerziellen Diensten von Google, darunter Spracherkennungssoftware, Google Photos, und Gmail.

Für eine bessere Abstraktion des Netzwerks, können zusätzlich zu der hinteren mehrere weitere Schichten angelegt werden. Die hintere Schicht bleibt dabei oft die einzige, die von außerhalb sichtbar ist.

Die Optimierung des neuronalen Netzwerks

Es liegt in der Natur der Sache, dass ein eigenständig lernfähiges Netzwerk nicht von Anfang an durch höchste Zuverlässigkeit hinsichtlich seiner Trefferquote besticht. Zum Lernen gehört Erfahrung und die muss das Netz erst noch sammeln. Zwar gelingt es auch einem noch frisch programmierten Netzwerk bereits die Erfüllung seiner Aufgabe oft recht gut, die Fehlerquote kann jedoch im Laufe der Zeit immer weiter verbessert werden. Gerade am Anfang werden noch viele Spam-Seiten nicht erkannt und einige vermeintliche Spammer stellen sich bei der Überprüfung durch den Menschen als unbedenklich heraus. Darum ist es für die Steigerung der Effizienz praktisch unerlässlich, immer wieder von Hand einzugreifen, falsche Ergebnisse zu korrigieren und dem Netzwerk auf diese Weise zu helfen.

Data Leader Guide – Call for Papers

Connected Industry e. V., der Verband für Digitalisierung und Vernetzung, sammelt wegweisende Anwendungsfälle rund um Digitalisierung und Data Science und fasst diese in einem Leitfaden zusammen, dem Data Leader Guide 2016.

data-leader-guide-cover

Welche Inhalte kommen in den Data Leader Guide?

Der Data Leader Guide konzentriert sich auf Anwendungsfälle aus dem deutschsprachigen Wirtschaftsraum D/A/CH. In diesem Data Leader Guide werden vornehmlich die praktisch umgesetzten Use Cases / Business Cases von Anwender-Unternehmen aus den Branchen Industrie/Produktion, Dienstleistungen, Finanzen und Handel praxisorientiert beschrieben.

Was ist das Ziel des Data Leader Guide?

Anhand greifbarer Erfahrungswerte soll Entscheidern, Entwicklern und sonstigen Interessenten eine Orientierung und der Zugang zu dieser komplexen Materie erleichtert werden. Von besonderem Nutzen ist dabei der branchenübergreifende Blickwinkel des Leitfadens, da der Wissenstransfer von anderen Industrien gerade bei Big Data nicht hoch genug eingeschätzt werden kann.

Wann wird der Data Leader Guide 2016 erscheinen?

Pünktlich zum Data Leader Day am 17. November 2016. Die Ausgaben werden als Druckversion sowie als digitale Version erscheinen.

Warum sollte Ihre Anwendungsfall bzw. Projekt nicht fehlen?

Ihr Projekt wird zum Aushängeschild für die Innovationskraft und des Fortschritts Ihres Unternehmens. Darüber hinaus unterstreicht es die Attraktivität Ihres Unternehmens für qualifizierten Nachwuchs aus dem IT- und ingenieurswissenschaftlichen Bereich. Schließlich ist die Aufnahme Ihres Anwendungsfalles in den Data Leader Guide eine der seltenen Möglichkeiten, diesen auch öffentlich zu präsentieren und somit die Leistung des gesamten Projekt-Teams zu würdigen.

Call for Papers

So bringen Sie Ihren Anwendungsfall in den Data Leader Guide:

Sie sind Geschäftsführer, CIO oder ein Mitarbeiter mit Verantwortung für ein Projekt mit starkem Bezug zur Digitalisierung, Big Data, Data Science oder Industrie 4.0? Dann sollten Sie Ihr Projekt für einen Eintrag in den Data Leader Guide von Connected Industry bewerben. Genauere Informationen, wie Sie Ihren Anwendungsfall (Use Case / Business Case) in den Data Leader Guide 2016 bringen, finden Sie über diesen Direktlink zum Connected Industry e.V.

Handeln in Netzwerken ohne Enmesh-Effekt

Die Interaktion in Netzwerken ist mit der Entstehung von sozialen Netzwerken, der Einkauf in Online-Shops, die Finanzierungen mit Crowd-Funding oder die nächste Mitfahrgelegenheit ein wesentlicher Bestandteil in unserem Alltag geworden. Insbesondere in der Share Economy hat sich die Bildung von Netzwerken als Erfolgsfaktor digitaler Geschäftsmodelle bereits fest etabliert. Je nach Geschäftsmodell kommt hierbei im Allgemeinen folgende Fragestellung auf:

Was hängt miteinander zusammen und welcher Effekt löst die Verbindung aus?

Effekte können das Wachsen oder Schrumpfen beschleunigen bzw. zu Strukturveränderungen des Netzwerks selbst führen. Eine Besonderheit ist der mögliche Multiplikator-Effekt bis hin zum Erreichen des Tipping-Points, der zu einen überproportionalen Wachstum, nach Erreichen einer kritischen Masse hervorgerufen wird. Aus der Geschäftsperspektive sind vor allem die Wachstumseffekte für eine schnelle Umsatzgenerierung interessant. Daher ist das Erkennen solcher Effekte wesentlich für den Geschäftserfolg.

Aufgrund der Komplexität und der Dynamik solcher Netzwerke ist der Einsatz von Data Mining Methoden zur Erkennung solcher Effekte, anhand von Mustern oder Regeln, hilfreich. In diesem Blog-Beitrag wird der Effekt von Netzwerken anhand von Produktverkäufen erläutert. Diese können beim Einkauf in Online-Shops oder im stationären Handel stattfinden. Hierbei unterscheiden sich die Konsumentengewohnheiten deutlich vom gewählten Kanal des Einkaufs oder welche Produkte eingekauft werden. Ob es um Lebensmittel, Kleidung oder Autos geht, das Kaufverhalten kann sich deutlich unterscheiden ob hierbei regelmäßige oder Spontankäufe vorliegen. Auch wer mögliche Zielgruppen darstellt ist ein wesentlicher Faktor. All diese Überlegungen werden im analytischen Customer Relationship Management zusammengefasst und bilden eine Reihe an Methoden zur Analyse dieser Phänomene (u.a. Customer-Lifetime-Value, Klassifikation, Churn-Analyse).

Aus den benannten Eigenheiten ist ein Verständnis über das Geschäft entscheidend für die Auswahl geeigneter Data Mining Methoden und dessen Interpretation von Erkenntnissen. Bevor es jedoch zur Interpretation kommt, werden die erforderlichen Vorabschritte über einen strukturierten Prozess für die Analyse in diesem Beitrag vorgestellt.

Data Mining Prozess

Ein ausgewählter Prozess bildet der KDD-Prozess (Knowledge Discovery in Databases) nach Fayyad, Piatetsky-Shapiro und Smyth. Alternative Herangehensweisen wie CRISP-DM (Cross Industry Standard Process for Data Mining) oder SEMMA (Sample, Explore, Modify, Model, Asses) können hierbei zu ähnlichen Ergebnissen führen.

Der KDD-Prozess unterteilt Data Mining Vorhaben in die folgenden Schritte:

  1. Bereitstellung des Domänenwissen und Aufstellung der Ziele
  2. Datenauswahl
  3. Datenbereinigung und -verdichtung (Transformation)
  4. Modellauswahl
  5. Data Mining
  6. Interpretation der Erkenntnissen

Je nach Umfang des Data Mining Vorhaben können sich die sechs Schritte weiter ausdifferenzieren. Jedoch wird sich in diesem Beitrag auf diese sechs Schritte fokussiert.

Domänenwissen und Zielstellung

Aus der obigen Einleitung wurde dargestellt, dass ein Domänenwissen essentiell für das Data Mining Vorhaben darstellt. Aus diesem Grund muss vor Beginn des Projekts ein reger Austausch über die Zielstellung zwischen Data Scientists und Entscheidungsträger stattfinden. Insbesondere die explorative Natur von Analysevorhaben kann dazu genutzt werden, um neue Muster zu identifizieren. Hierbei haben diese Muster jedoch nur einen Neuigkeitswert, wenn diese von den Entscheidungsträgern als originell und wertstiftend interpretiert werden. Daher müssen beide Seiten einen möglichst tiefen Einblick in das Geschäft und möglicher Analysen geben, da ansonsten das Projekt im „Shit-In, Shit-Out“-Prinzip mündet. Dies gilt gleichermaßen für die bereitgestellten Daten.

In diesem Beitrag geht es um den Kauf von Produkten durch Konsumenten. Dabei wird die Platzierung von Produkten in Online-Shops und stationären Handel im Wesentlichen durch den Betreiber bzw. Anbieter bestimmt. Während in Online-Shops die Produkte durch Recommendation-Engines zusätzlich  platziert werden können ist im stationären Handel ein höherer Aufwand durch Point-of-Interest (POI) Platzierungen erforderlich. Jedoch gilt als Vision in der digitalen Transformation, das die Produkte durch das Konsumentenverhalten platziert werden sollen. Hierbei wird davon ausgegangen das die konsumentengetriebene Platzierung den höchstmöglichen Cross-Selling-Effekt erzielt. Dies lässt sich in einer Zielstellung für das Data Mining Vorhaben zusammenfassen:

Steigerung des Umsatzes durch die Steigerung des Cross-Selling-Effekts anhand einer konsumentengetriebenen Platzierung von Produkten

In dieser Zielstellung wird der Cross-Selling-Effekt als Treiber für die Umsatzsteigerung hervorgehoben. Hierbei wird davon ausgegangen, das gemeinsam platzierte Produkte, das Interesse von Konsumenten steigert auch beide Produkte zu kaufen. Dies führt zu einem insgesamt gesteigerten Umsatz anstatt, wenn beide Produkte nicht gemeinsam beworben oder platziert werden. Aus der Zielstellung lässt sich anschließend die Auswahl der Daten und erforderliche Aufbereitungsschritte ableiten.

Datenauswahl, -bereinigung und -verdichtung

Der Umsatz ist die Zielvariable für die Entscheidungsträger und dient als Kennzahl zur Messung der Zielstellung. Für den Cross-Selling-Effekt müssen die Verbindungen von gemeinsam gekauften Produkten identifiziert werden. Dies stellt das grundlegende Netzwerk da und wird durch das Konsumverhalten bestimmt.

Als Datengrundlage wird daher der Warenkorb mit den gemeinsam gekauften Produkten herangezogen. Dieser dient als Entscheidungsgrundlage und es lassen sich einerseits die erzielten Umsätze und Zusammenhänge zwischen den Produkten erkennen.

Aufgrund der Vertraulichkeit solcher Projekte und umfangreichen Datenaufbereitungsschritten wird zur Vereinfachung ein synthetisches Beispiel herangezogen. Insbesondere die erforderlichen Schritte zur Erreichung einer hohen Datenqualität ist ein eigener Beitrag wert und wird von diesem Beitrag abgegrenzt. Dies ermöglicht den Fokus auf die Kernerkenntnisse aus dem Projekt ohne von den detaillierten Schritten und Teilergebnissen abgelenkt zu werden.

Generell besteht ein Warenkorb aus den Informationen gekaufter Produkte, Stückzahl und Preis. Diese können noch weitere Informationen, wie bspw. Mehrwertsteuer, Kasse, Zeitpunkt des Kaufs, etc. enthalten. Für dieses Projekt sieht die allgemeine Struktur wie folgt aus:

{
"key":"basket1",
"children":[
{"description":"Product 1",”quantity”: 1, "price": 12.2},
{"description":"Product 2",”quantity”: 2, "price ": 1.8},
{"description":"Product 3",”quantity”: 5, "price ": 3.98},
…
{"description":"Product 99",”quantity”: 1, "price ": 16.95}
], … }

Dabei wird jeder Warenkorb mit einem eindeutigen Schlüssel („key“) und den enthaltenen Produktinformationen versehen. In den Rohdaten können sich eine Menge von Datenqualitätsfehlern verbergen. Angefangen von fehlenden Informationen, wie bspw. der Produktmenge aufgrund von Aktionsverkäufen, uneindeutigen Produktbezeichnungen wegen mangelnder Metadaten, Duplikaten aufgrund fehlgeschlagener Datenkonsolidierungen, beginnt die Arbeit von Data Scientists oft mühselig.

In dieser Phase können die Aufwände für die Datenaufbereitung oft steigen und sollten im weiteren Projektvorgehen gesteuert werden. Es gilt eine ausreichende Datenqualität in dem Projekt zu erzielen und nicht eine vollständige Datenqualität des Datensatzes zu erreichen. Das Pareto-Prinzip hilft als Gedankenstütze, um im besten Fall mit 20% des Aufwands auch 80% der Ergebnisse zu erzielen und nicht umgedreht. Dies stellt sich jedoch oft als Herausforderung dar und sollte ggf. in einem Vorabprojekt vor dem eigentlichen Data-Mining Vorhaben angegangen werden.

Modellauswahl und Data Mining

Nach der Datenaufbereitung erfolgen die eigentliche Modellauswahl und Ausführung der Analyseprozesse. Aus der Zielstellung wurde der Umsatz als Kennzahl abgeleitet. Diese Größe bildet eine Variable für das Modell und der anschließenden Diskussion der Ergebnisse. Das dahinterstehende Verfahren ist eine Aggregation der Umsätze von den einzelnen Produkten.

Der Cross-Selling-Effekt ist dagegen nicht einfach zu aggregieren sondern durch ein Netzwerk zu betrachten. Aus Sicht der Netzwerkanalyse bilden die Produkte die Knoten und die gemeinsamen Käufe die Kanten in einem Graphen. Ein Graph hat den Vorteil die Verbindungen zwischen Produkten aufzuzeigen, kann jedoch auch zu einer endlosen Verstrickung führen in der sich bei einer anschließenden Visualisierung nichts erkennen lässt. Dieser Enmesh-Effekt tritt insbesondere bei einer hohen Anzahl an zu verarbeitenden Knoten und Kanten auf. Wenn wir in eine Filiale oder Online-Shop schauen ist dieser Enmesh-Effekt durchaus gegeben, wenn wir anfangen die Produkte zu zählen und einen Blick auf die täglichen Käufe und erzeugten Kassenbons bzw. Bestellungen werfen. Der Effekt wird umso größer wenn wir nicht nur eine Filiale sondern global verteilte Filialen betrachten.

Aus diesem Grund müssen die Knoten und Verbindungen mit den angemessenen Ergebniswerten hinterlegt und visuell enkodiert werden. Auch eine mögliche Aggregation (Hierarchie), durch bspw. einem Category Management ist in Betracht zu ziehen.

Die Modellauswahl bildet daher nicht nur die Auswahl des geeigneten Analysemodells sondern auch dessen geeignete Visualisierung. In dem Beitragsbeispiel wird die Assoziationsanalyse als Modell herangezogen. In diesem Verfahren wird die Suche nach Regeln durch die Korrelation zwischen gemeinsam gekauften Produkten eruiert. Die Bedeutung einer Regel, bspw. „Produkt 1 wird mit Produkt 2 gekauft“ wird anhand des Lifts angegeben. Aus der Definition des Lifts lässt sich erkennen, dass dieses Verfahren für die Messung des Cross-Selling-Effekts geeignet ist. Hierbei können  unterschiedliche Algorithmen mit unterschiedlichen Ausgangsparametern herangezogen werden (z.B. AIS, Apriori, etc.). Entscheidend ist dabei nicht nur eine Modellkonstellation zu wählen sondern sich auf eine Menge von Modellen zu beziehen. Dabei kann das Modell mit den vielversprechendsten Ergebnissen ausgewählt werden.

Nach der Ausführung des Analyseverfahrens und der Bereinigung sowie -verdichtung der Warenkorbdaten ergeben sich einerseits die aggregierten Produktumsätze als auch die berechneten Modelldaten.

//Produktumsätze
{
"key":"revenues",
"children":[
{"description":"Product 1","revenue":1245354.2},
{"description":"Product 2","revenue":13818.8},
{"description":"Product 3","revenue":27565},
{"description":"Product 4","revenue":4245},
{"description":"Product 5","revenue":2450},
{"description":"Product 6","revenue":707897.69},
{"description":"Product 7","revenue":10398},
{"description":"Product 8","revenue":4688.8},
{"description":"Product 9","revenue":110713.5},
...
{"description":"Product 10","revenue":76141}
]}

Neben den Lift dienen die Hilfsvariablen Support und Confidence auch als Kenngrößen, um einen Aufschluss auf die Validität der errechneten Ergebnisse zu geben. Diese beiden Werte können dazu genutzt werden, einzelnen Knoten aufgrund ihrer unwesentlichen Bedeutung zu entfernen und damit das Netzwerk auf die wesentlichen Produktverbindungen zu fokussieren.

 

//Modelldaten
[{"source":"Product 1","target":"Product 2","lift":11, "parent": "revenues"},
{"source":"Product 2","target":"Product 6","lift":9, "parent": "revenues"},
{"source":"Product 3","target":"Product 20","lift":4, "parent": "revenues"},
{"source":"Product 4","target":"Product 59","lift":5, "parent": "revenues"},
{"source":"Product 5","target":"Product 46","lift":16, "parent": "revenues"},
{"source":"Product 6","target":"Product 17","lift":18, "parent": "revenues"},
{"source":"Product 7","target":"Product 6","lift":13, "parent": "revenues"},
{"source":"Product 8","target":"Product 56","lift":25, "parent": "revenues"},
...
{"source":"Product 26","target":"Product 49","lift":16, "parent": "revenues"}
]

Diese beiden Zieldatensätze werden für die Ergebnispräsentation und der Interpretation herangezogen. Generell findet in den Phasen der Datenauswahl bis zum Data Mining ein iterativer Prozess statt, bis die Zielstellung adäquat beantwortet und gemessen werden kann. Dabei können weitere Datenquellen hinzukommen oder entfernt werden.

Interpretation der Erkenntnisse

Bevor die Ergebnisse interpretiert werden können muss eine Visualisierung auch die Erkenntnisse verständlich präsentieren. Dabei kommt es darauf die originellsten und nützlichsten Erkenntnisse in den Vordergrund zu rücken und dabei das bereits Bekannte und Wesentliche des Netzwerks nicht zur vergessen. Nichts ist schlimmer als das die investierten Mühen in Selbstverständnis und bereits bekannten Erkenntnissen in der Präsentation vor den Entscheidungsträgern versickern.

Als persönliche Empfehlung bietet sich Datenvisualisierung als geeignetes Medium für die Aufbereitung von Erkenntnissen an. Insbesondere die Darstellung in einem „Big Picture“ kann dazu genutzt werden, um bereits bekannte und neue Erkenntnisse zusammenzuführen. Denn in der Präsentation geht es um eine Gradwanderung zwischen gehandhabter Intuition der Entscheidungsträger und dem Aufbrechen bisheriger Handlungspraxis.

In der folgenden Visualisierung wurden die Produkte mit ihren Umsätzen kreisförmig angeordnet. Durch die Sortierung lässt sich schnell erkennen welches Produkt die höchsten Umsätze anhand der Balken erzielt. Der Lift-Wert wurde als verbindende Linie zwischen zwei Produkten dargestellt. Dabei wird die Linie dicker und sichtbarer je höher der Lift-Wert ist.

netzwerk-visualisierung-javascript-cross-selling

Abbildung 1: Netzwerkvisualisierung von erkannten Regeln zu gekauften Produkten (ein Klick auf die Grafik führt zur interaktiven JavaScript-Anwendung)

[box type=”info” style=”rounded”]Dieser Link (Klick) führt zur interaktiven Grafik (JavaScript) mit Mouse-Hover-Effekten.[/box]

Es wurde versucht die Zieldatensätze in einem Big Picture zusammenzuführen, um das Netzwerk in seiner Gesamtheit darzustellen. Hieraus lässt sich eine Vielzahl von Erkenntnissen ablesen:

  1. Das „Produkt 37“ erzielt den höchsten Umsatz, zeigt jedoch keinen Cross-Selling-Effekt von gemeinsam gekauften Produkten.
  2. Dagegen das „Produkt 23“ erzielte weniger Umsatz, wird jedoch häufig mit anderen Produkten gemeinsam gekauft.
  3. Das „Produkt 8“ weist zwei starke Regeln (Assoziationen) für „Produkt 45 & 56“ auf. Ggf. lassen sich diese Produkte in Aktionen zusammenanbieten.

Im Erstellungsprozess der Ergebnispräsentation ergab sich die Erfahrungspraxis flexibel eine geeignete Visualisierung zu erstellen anstatt die Erkenntnisse in vordefinierte Visualisierungen oder Diagramme zur pressen. Dies kann einerseits den Neuigkeitswert erhöhen und die Informationen anschließend besser transportieren aber auf der anderen Seite den Aufwand zur Erstellung der Visualisierung und das Verständnis für die neu erstellte Visualisierung mindern.

Ein Blick hinter die Bühne zeigt, dass die Visualisierung mit D3.js erstellt wurde. Dies bietet ein geeignetes Framework für die Flexibilität zur Erstellung von Datenpräsentationen. Wer sich nach Bibliotheken in R oder Python umschaut, wird auch in diesen Technologiebereichen fündig. Für R-Entwickler existierten die Packages „statnet“ und „gplots“ zur Verarbeitung und Visualisierung von Netzwerkdaten. Für Ptyhon-Entwickler steht graph-tool als sehr leistungsfähiges Modul, insb. für große Mengen an Knoten und Kanten zur Verfügung.

In unserem Vorhaben haben wir uns für D3.js aufgrund der möglichen Implementierung von Interaktionsmöglichkeiten, wie bspw. Highlighting von Verbindungen, entschieden. Dies ermöglicht auch eine bessere Interaktion mit den Entscheidungsträgern, um relevante Details anhand der Visualisierung darzustellen.

Ein Abriss in die Entwicklung der D3-Visualisierung zeigt, dass die Daten durch eine Verkettung von Methoden zur Enkodierung von Daten implementiert werden. Hierbei wird bspw. den Produkten ein Rechteck mit der berechneten Größe, Position und Farbe (.attr()) zugewiesen.

svg.selectAll(".node_rect_shape")
 	.data(nodes.filter(function(n) { return !n.children; }))
 .enter().append("g")
 .attr("class", "node_rect")
 .attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + (d.y + rect_width)+ ")"; })
 	.append("rect")
 	.attr("x", function(d) { return -(rect_width/2.0); })
.attr("width", function(d) { return rect_width; })
 	.attr("height", function(d) { return rect_size_scale(parseFloat(d.values)); }) 
.attr("class", "node_rect_shape")
 	.attr("transform", function(d) { return "rotate(" + (-90) + ")"; })
 	.on("mouseover", mouseovered)
 	.on("mouseout", mouseouted);

Insbesondere die Höhe des Balkens zur Darstellung des Umsatzes wird mit der Implementierung von Skalen erleichtert.

var rect_size_scale = d3.scale.linear().domain([0, d3.max(revenue_data.children, function(d){return parseFloat(d.values);})]).range([0, rect_height]);

Für die verbindenden Linien wurde auch ein visuelles Clustering anhand eines Edge-Bundling herangezogen. Dies führt gemeinsame Verbindungen zusammen und reduziert den Enmesh-Effekt.

link.data(bundle(links)).enter().append("path")
 	.each(function(d) { d.source = d[0], d.target = d[d.length - 1]; })
 	.attr("class", "link")
 	.style("stroke-opacity", function(d, i){ return transparent_scale(link_data[i].lift); })
 	.style("stroke-width", function(d, i){ return size_scale(link_data[i].lift); })
 	.attr("d", line);

* Das vollständige Beispiel kann dem zip-File (siehe Download-Link unten) entnommen werden. Die Ausführung reicht mit einem Klick auf die index.html Datei zur Darstellung im Browser aus.
Eine kritische Betrachtung der Ergebnisvisualisierung zeigt auf, dass die Anordnung der Produkte (Knoten) das interpretieren der Darstellung vereinfacht aber auch hier der Enmesh-Effekt fortschreitet je höher die Anzahl an Verbindungen ist. Dies wurde mit verschiedenen Mitteln im Analyseverfahren (Modellparameter, Entfernen von Produkten aufgrund eines geringen Supprt/Confidence Wertes oder Pruning) als auch in der der Darstellung (Transparenz, Linienstärke Edge-Bundling) reduziert.

Fazit

Als Quintessenz lässt sich festhalten, dass eine Auseinandersetzung mit Netzwerken auch Überlegungen über Komplexität im gesamten Data-Mining Vorhaben mit sich bringt. Dabei unterscheiden sich diese Überlegungen zwischen Data Scientists und Entscheidungsträger nach dem Kontext. Während Data Scientists über das geeignete Analyseverfahren und Visualisierung nachdenken überlegt der Entscheidungsträger welche Produkte wesentlich für sein Geschäft sind. Auf beiden Seiten geht es darum, die entscheidenden Effekte herauszuarbeiten und die Zielstellung gemeinsam voranzutreiben. Im Ergebnis wurde die Zielstellung durch die Darstellung der Produktumsätze und der Darstellung des Cross-Selling-Impacts in einem Netzwerk als Big Picture aufbereitet. Hieraus können Entscheidungsträger interaktiv, die geeigneten Erkenntnisse für sich interpretieren und geeignete Handlungsalternativen ableiten. Dabei hängt jedoch die Umsetzung einer konsumentengetriebenen Produktplatzierung vom eigentlichen Geschäftsmodell ab.

Während sich diese Erkenntnisse im Online-Geschäft einfach umsetzen lassen, ist dies eine Herausforderungen für den stationären Handel. Die Produktplatzierung in Filialen kann aufgrund der begrenzten Fläche als auch den Gewohnheiten von Konsumenten nur bedingt verändert werden. Daher können auch Mischformen aus bspw. „Online-Schauen, Offline-Kaufen“ eruiert werden.

Nach der Entscheidung erfolgt sogleich auch die Überlegung nach den Konsequenzen, Veränderungen und Einfluss auf das Geschäft. Hieraus bildet sich für Data Scientists und Entscheidungsträger eine Kette von Überlegungen über erkannte Muster in Netzwerken, Implikation und möglicher Prognosefähigkeit. Letzteres ist eine besondere Herausforderung, da die Analyse der Dynamik vom Netzwerk im Vordergrund steht. Die Suche nach einer kritischen Masse oder Tipping-Point kann zu möglichen Veränderungen führen, die aufgrund des Informationsmangels nur schwer vorhersagbar sind. Dies kann vom Ablegen bisheriger Gewohnheiten zu negativen Kundenfeedback aber auch positiver Wirkung gesteigerter Absätze rangieren.

Hierbei zeigt sich das evolutionäre als auch das disruptive Potenzial von Data Mining-Vorhaben unabhängig davon welche Entscheidung aus den Erkenntnissen abgeleitet wird. Data Scientists schaffen neue Handlungsalternativen anstatt auf bestehende Handlungspraxen zu verharren. Die Eigenschaft sich entsprechend der Dynamik von Netzwerken zu verändern ist umso entscheidender „Wie“ sich ein Unternehmen verändern muss, um im Geschäft bestehen zu bleiben. Dies gelingt nur in dem sich auf das Wesentliche fokussiert wird und so der Enmesh-Effekt erfolgreich durch einen Dialog zwischen Entscheidungsträger und Data Scientists in einer datengetriebenen Geschäftswelt gemeistert wird.

Quellcode Download

Der vollständige und sofort einsatzbereite Quellcode steht als .zip-Paket zum Download bereit.
Bitte hierbei beachten, dass die meisten Browser die Ausführung von JavaScript aus lokalen Quellen standardmäßig verhindern. JavaScript muss daher in der Regel erst manuell aktiviert werden.

Data Leader Day

Unser Event für Big Data Anwender – Data Leader Day

Mit Stolz und Freude darf ich verkünden, dass wir ausgehend von unserer Data Science Blog Community den Data Leader Day am 17. November in Berlin maßgeblich mitorganisieren werden!

Der große DataLeaderDay am 17. November 2016 in Berlin bringt das Silicon Valley nach Deutschland. Die Konferenz fokussiert dabei auf die beiden Megatrends in der Digitalwirtschaft: Data Science und Industrie 4.0. Erleben Sie auf dem Data Leader Day was jetzt möglich ist – von Pionieren und hochrangigen Anwendern.
dataleaderday-teilnehmer-logos

www.dataleaderday.com

Ein vielfältiges Programm mit Keynote, Präsentationen sowie Use & Business Cases zeigt Ihnen aus der Praxis, wie Sie die Digitalisierung im Unternehmen umsetzen und als neues Wertschöpfungsinstrument einsetzen können. Und das Wichtigste: Sie erleben, welche Wettbewerbsvorteile Sie mit diesen Technologien verwirklichen können. Der Networking-Hub bietet zudem viele Möglichkeiten um Spitzenkräfte zu treffen und um sich über neueste Technologien, Methoden und Entwicklungen auszutauschen.

Zielgruppe – und was Euch erwartet

Auf dem Event werden Entscheider in Führungsposition ihre erfolgreichen Big Data & Data Science Anwendungen präsentieren. Es wird für unterschiedliche Branchen und Fachbereiche viele Erfolgsstories geben, die Mut machen, selbst solche oder ähnliche Anwendungsfälle anzugehen. Ihr werdet mit den Entscheidern networken können!

– Persönliche Vermittlung für ein Karrieregespräch gesucht? Sprecht mich einfach an! –

Unser Data Leader Day richtet sich an Führungskräfte, die von der Digitalisierung bereits profitieren oder demnächst profitieren wollen, aber auch an technische Entwickler, die neue Impulse für erfolgreiche Big Data bzw. Smart Data Projekte mitnehmen möchten. Das Event ist exklusiv und nicht – wie sonst üblich – von Vertrieblern zum Verkauf designed, sondern von Anwendern für Anwender gemacht.

Ort, Programm und Agenda

Aktuelle Informationen zum Event finden sich auf der Event-Seite: www.dataleaderday.com

 

 

Perspektiv-Wechsel mit Process Mining

Data Scientists verbringen einen Großteil ihres Tages mit explorativer Analyse. In der 2015 Data Science Salary Survey[1] gaben 46% der Befragten an, ein bis drei Stunden pro Tag auf das Zusammenfassen, Visualisieren und Verstehen von Daten zu verwenden, mehr noch als auf die Datensäuberung und Datenaufbereitung.

Process Mining konzentriert sich auf die Analyse von Prozessen[2], und ist insbesondere für die explorative Analyse von prozessbezogenen Daten ein hervorragendes Werkzeug. Wenn sich Ihr Data-Science-Projekt auf Geschäfts- oder IT-Prozesse bezieht, dann müssen Sie diese Prozesse erst erforschen und genau verstehen, bevor Sie sinnvoll Machine-Learning Algorithmen trainieren oder statistische Analysen fahren können.

Mit Process Mining können Sie eine Prozess-Sicht auf die Daten einnehmen. Die konkrete Prozess-Sicht ergibt sich aus den folgenden drei Parametern:

  • Case ID: Die gewählte Vorgangsnummer bestimmt den Umfang des Prozesses und verbindet die Schritte einer einzelne Prozessinstanz von Anfang bis Ende (z.B. eine Kundennummer, Bestellnummer oder Patienten-ID)
  • Activity: Der Aktivitätsname bestimmt die Arbeitsschritte, die in der Prozesssicht dargestellt werden (z.B. „Bestellung empfangen“ oder „Röntgenuntersuchung durchgeführt“).
  • Timestamp: Ein oder mehrere Zeitstempel pro Arbeitsschritt (z.B. vom Start und vom Ende der Röntgenuntersuchung) werden zur Berechnung der Prozessabfolge und zum Ableiten von parallelen Prozessschritten herangezogen.

Wenn Sie einen Datensatz mit Process Mining analysieren, dann bestimmen Sie zu Beginn der Analyse, welche Spalten in den Daten der Case ID, dem Aktivitätsnamen und den Timestamps entsprechen. Beim Import der Daten in das Process Mining Tool können Sie diese Parameter dann in der Konfiguration einstellen.

Beim Importieren einer CSV-Datei in die Process Mining Software Disco können Sie für jede Spalte in ihrem Datensatz auswählen, wie diese interpretiert werden soll.[a] In dem folgenden abgebildeten Beispiel eines Einkaufsprozesses sind die Case ID-Spalte (die Bestellnummer) als Case ID, die Start- und Complete-Timestamps als Timestamp und die Activity-Spalte als Activity eingestellt. Als Ergebnis produziert die Process Mining Software vollautomatisch eine grafische Darstellung des tatsächlichen Einkaufsprozesses auf Basis der historischen Daten. Der Prozess kann jetzt faktenbasiert weiter analysiert werden.

aFür die Open-Source-Software ProM arbeitet man oft über XML-Formate wie XES oder MXML, die diese Konfiguration abbilden.

In der Regel ergibt sich die erste Prozesssicht – und die daraus abzuleitende Import-Konfiguration – aus der Aufgabenstellung und dem Prozessverständnis.

Allerdings ist vielen Process-Mining-Neulingen noch nicht bewusst, dass eine große Stärke von Process Mining als exploratives Analyse-Werkzeug gerade darin besteht, dass man schnell und flexibel verschiedene Sichten auf den Prozess einnehmen kann. Die oben genannten Parameter funktionieren wie eine Linse, mit der Sie Prozesssichten aus verschiedenen Blickwinkeln einstellen können.

Hier sind drei Beispiele:

1. Anderer Aktivitäts-Fokus

Für den obigen Einkaufsprozess können wir z.B. den Fokus auch auf den organisatorischen Übergabefluss richten, indem wir als Activity die Role-Spalte (die Funktion oder Abteilung des Mitarbeiters) einstellen.

Somit kann der gleiche Prozess (und sogar der gleiche Datensatz) nun aus der organisationalen Perspektive analysiert werden. Ping-Pong-Verhalten und erhöhte Wartezeiten bei der Übergabe von Vorgängen zwischen Abteilungen können sichtbar gemacht und adressiert werden.

2. Kombinierte Aktivität

Anstatt den Fokus zu wechseln können wir auch verschiedene Dimensionen kombinieren, um ein detaillierteres Bild von dem Prozess zu bekommen.

Wenn Sie sich den folgenden Callcenter-Prozess anschauen, dann würden Sie vermutlich zunächst die Spalte ‘Operation’ als Aktivitätsname einstellen. Als Ergebnis sehen wir den folgenden Prozess mit sechs verschiedenen Prozessschritten, die u.a. das Annehmen von eingehenden Kundenanrufen (‚Inbound Call’) und interne Aktivitäten (‚Handle Case’) repräsentieren.

Jetzt stellen Sie sich vor, dass Sie den Prozess gern genauer analysieren würden. Sie möchten gern sehen, wie oft eingehende Anrufe von dem First-Level Support im Callcenter an die Spezialisten im Backoffice weitergeleitet werden. Tatsächlich sind diese Informationen in den Daten enthalten. Das Attribut ‚Agent Position’ gibt an, ob die Aktivität im First-Level Support (als ‘FL’ vermerkt) oder im Backoffice (als ‘BL’ vermerkt) stattgefunden hat.

Um die ‚Agent Position’ in die Aktivitätssicht mitzunehmen, können wir einfach sowohl die Spalte ‘Operation’ als auch die Spalte ‘Agent Position’ als Aktivitätsnamen einstellen. Die Inhalte der beiden Spalten werden nun zusammengefasst (konkateniert).

Als Ergebnis bekommen wir eine detailliertere Sicht auf den Prozess. Wir sehen z.B., dass im First-Level Support angenommene Anrufe 152 mal an das Backoffice zur weiteren Verarbeitung übergeben wurden.

3. Alternativer Case-Fokus

Zuletzt können wir für den gleichen Callcenter-Prozess in Frage stellen, ob die als Vorgangsnummer gewählte Service-Request-ID des CRM-Systems die gewünschte Prozesssicht bietet. Immerhin gibt es auch eine Kundennummer und für ‚Customer 3’ sind mindestens drei verschiedene Service-Anfragen vermerkt (Case 3, Case 12 und Case 14).

Was ist, wenn diese drei Anfragen zusammenhängen und sich die Service-Mitarbeiter nur nicht die Mühe gemacht haben, den bestehenden Case im System zu suchen und wieder zu öffnen? Das Ergebnis wäre eine verminderte Kundenzufriedenheit, weil der ‚Customer 3’  bei jedem Anruf erneut seine Problembeschreibung abgeben muss.

Das Ergebnis wäre außerdem eine geschönte ‚First Call Resolution Rate’: Die ‚First Call Resolution Rate’ ist eine typische Prozesskennzahl in Callcentern, in der gemessen wird, wie oft ein Kundenproblem im ersten Anruf gelöst werden konnte.

ProcessMining-Fig-5

Genau das ist in dem Kundenservice-Prozess eines Internet-Unternehmens passiert[3]. In einem Process-Mining-Projekt wurde zunächst der Kontaktaufnahmeprozess (über Telefon, Internet, E-Mail oder Chat) über die Service ID als Vorgangsnummer analysiert. In dieser Sicht ergab sich eine beeindruckende ‚First Contact Resolution Rate’ von 98%. Unter 21.304 eingehenden Anrufen gab es scheinbar nur 540 Wiederholungsanrufe.

ProcessMining-Fig-6

Dann fiel den Analysten auf, dass alle Service-Anfragen immer ziemlich schnell geschlossen und so gut wie nie wieder geöffnet wurden. Um den Prozess aus Kundenperspektive zu analysieren, verwendeten sie dann die Kundennummer als Case ID. Somit wurden alle Anrufe eines Kunden in dem Zeitraum zu einem Vorgang zusammengefasst und die Wiederholungsanrufe wurden sichtbar.

ProcessMining-Fig-7

Die ‚First Contact Resolution Rate’ betrug in Wirklichkeit nur 82%. Nur 17.065 Fälle wurden in Wirklichkeit von einem eingehenden Anruf gestartet. Über 3000 waren  Wiederholungsanrufe, die aber als neue Serviceanfragen im System (und im Performance-Report!) gezählt wurden.

Fazit

Process Mining ermöglicht es Ihnen eine Prozessperspektive auf Ihre Daten einzunehmen. Darüber hinaus lohnt es sich, verschiedene Sichten auf den Prozess zu betrachten. Halten Sie Ausschau nach anderen Aktivitäts-Perspektiven, möglichen Kombinationen von Feldern und neuen Sichtweisen darauf, was einen Vorgang im Prozess ausmacht.

Sie können verschiedene Blickwinkel einnehmen, um verschiedene Fragen zu beantworten. Oft ergeben erst verschiedene Sichten zusammen ein Gesamtbild auf den Prozess.

Möchten Sie die in diesem Artikel vorgestellten Perspektiv-Wechsel einmal selbst genauer erforschen? Sie können die verwendeten Beispiel-Dateien herunterladen (Zip-Verzeichnis)  und direkt mit der frei verfügbaren Demo-Version unserer Process Mining Software Disco analysieren.

Quellen

[1] 2015 Data Science Salary Survey (von Oreilly.com, PDF)

[2] Komplexe Abläufe verständlich dargestellt mit Process Mining (hier im Data Science Blog)

[3] You Need To Be Careful How You Measure Your Processes (fluxicon.com)