Referenzprojekt Telekommunikation: Aufbau einer Big Data Lösung zur zielgerichteten Kundenansprache
Optimierung der Customer Journey durch den kombinierten Einsatz der Cluster Technologien Spark/Hadoop und Process Mining Tools.
Quick-Facts
-
Referenz-Kunde
Großer Deutscher Kabelnetzanbieter
-
Referenz-Branche
-
Ausgangssituation
Das Ziel des Unternehmens ist es, mittels einer Data Pipeline eine Prozessmanagement Kette zu erstellen, die in der Kundenberatung, im Reporting und weiteren potenziellen Handlungsfeldern genutzt werden kann. Hierzu sollen Daten aus unterschiedlichen Source-Systemen in automatisierten Jobs in einen zentralen Data Lake überführt, dort aufbereitet, transformiert und in Form von Ereignissen in den cloudbasierten Data Cube eines Process Mining Anbieters übertragen werden. Dies schafft zum einen eine Datengrundlage, die systemübergreifend relevante Daten filtert, und zum anderen ein Reporting, welches serverlos arbeitet. Die Ergebnisse aus den Reports sollen die Kundenberater dabei unterstützen, im Marketing zielgerechter zu agieren und optimal mit den Kunden zu kommunizieren.
Der Data Lake als Basis für Vertriebserfolge
Der Erfolg die Customer Journey durch den Einsatz eines Process Mining Tools zu optimieren, hängt von den Daten ab, auf die das Tool zurückgreifen kann. Entscheidend war daher, der Aufbau eines Data Lakes, der Daten aus diversen Datenbanksystemen vereint und anhand von Sparks Cluster Technologie in einen effizient und schnell arbeiten Workflow integriert. CINTELLIC hat das Telekommunikationsunternehmen beim Aufbau des Data Lakes unterstützt und in einem Team von Datenanalysten und Data Engineers eine stark kollaborative Lösungen geliefert. Eine der Kernaufgaben war es, Ladelaufzeiten stark zu reduzieren und sie somit Near-Real Time Daten für Use Cases zu liefern.
Herausforderung
Das Unternehmen hatte seine Daten je operativem System in unterschiedlichen Quellsystemen (MS SQL, PostgreSQL, Oracle) und hybriden Cloud Lösungen verteilt und diese bisher nicht in einem Big Picture vereinheitlichen können.
Tagtäglich befüllten die operativen Systeme ihre Datenbanken mit einem Terabyte bis Petabyte großen Volumen, was eine verteilte Speicherung notwendig machte. Trotz der verteilten Speicherung war es prinzipiell möglich, auf Daten gebündelt zurückzugreifen. Data Scientists und Analysten mussten hierfür die Assoziationen zwischen Datensätze eines Kunden aus verschiedenen Systemen herausarbeiten, dies konnten sie jedoch nur mit begrenzten Datenmengen machen.
Zudem stößt die Vollbeladung eines Data Write Jobs auch bei Big Data Jobs heutzutage an die Grenzen der technischen Machbarkeit. Dies zeigt sich bei Exporten von Tabellen im Terabyte Bereich, welche für bestimmte Use Cases im Sekundenbereich aktualisiert werden müssen.
Lösung
Der erste Schritt zur Erkundung der Customer Journey ist es, sich das Anwendungsfeld von Data Mining Algorithmen zu eigen zu machen. Hierfür gilt es eine erste Verbindung der Daten explorativ zu erstellen und diese mit Bezug zur Nachhaltigkeit und Wertigkeit für eine weitere Analyse zu bewerten. Wenn das Kundenverhalten nach diesem Ansatz verständlicher geworden ist, wird eine tagtägliche Befüllung des Zielsystems, und das ist der Top Layer des Process Minings, angestrebt.
In diesem Zusammenspiel ist es notwendig die Quellsysteme in kurzfristigen bis Near-Real Time Abfragen miteinander zu verknüpfen. Hier hat CINTELLIC das Telekommunikationsunternehmen intensiv unterstützt. Bei der Verknüpfung spielt die Diversifikation von Partitionsgrößen und Schlüsseln einen wesentlichen Faktor – denn Spark arbeitet umso besser, je ähnlicher Partitionen zueinanderstehen. Die Implementierung von Pyspark bildet die Grundbasis– was jedoch folgt sind Performance Optimierungen an verschiedenen Fronten:
1) Spark mischt (eng. shuffle) à la MapReduce Algorithmus einzelne Datensätze miteinander, um schneller in einzelnen Stufen (eng. Stages) Datenoperationen durchzuführen. Wenn zu oft gemischt wird, deutet dies auf eine mögliche Datenungleichheit oder Verzerrung hin, was durch verschiedene Datenbereinigungstechniken zu beheben ist.
2) Datenversatz (Dataskew) erschwert Spark optimal einzelne Partitionsschlüssel verschiedener Datenquelle miteinander zu mappen. Um dies zu beheben, sind verschiedene Repartitionstechniken wie Key Salting, Repartitionierung oder Broadcasting (simultane Netzverteilung) möglich.
3) Die optimale Anzahl an Cluster- oder Session Einstellungen zu finden, beweist sich in einer produktiven Umgebung als schwieriges Unterfangen. Der Appliation Master (Yarn Manager), der als Dirigent, Ressourcen aus seinem Cluster an aktive Spark Sessions verteilt, kriegt in Form von Spark Sessions Konfigurationen ein Nachfrageregister, welches er der Session zuteilt.
Nachdem die optimalen Session Einstellungen gefunden worden sind, wird ein Export an das Zielsystem der Process Mining Umgebung durchgeführt.
In diesem kann per einfachem Drag and Drop und/oder Verwendung gängiger SQL Befehle die Datenstruktur visualisiert und die einzelnen Pfade der Customer Journey anhand Dashboards aufgezeigt werden. Die Potenziale hierbei belaufen sich vor allem in Optimierungen der Data Compliance und Customer Services.
Kundenutzen
Process Mining Technologien decken oftmals nur relationale Datenbanksysteme ab, die bereits sehr stark gesäuberte Daten vorweisen und sich in einem Datencluster befinden, bei dem ein unproblematischer Abruf von Daten möglich ist. Solche Systeme können SAP-Datawarehouses sein, zumeist aber keine Quellsysteme mit Big Data Kerngrößen.
Mittels Spark konnte das Unternehmen eine Big Data Technologie aufbauen, mit der nicht nur Process Mining möglich ist, sondern auch Adhoc Analysen von unstrukturierten Datenbeständen und das Streaming von Datenbeständen durch eine Streaming Pipeline. CINTELLIC unterstütze das Telekommunikationsunternehmen im Bereich des Data Engineerings, um die Grundlage für das Process Mining zu schaffen und arbeite neben Deltalade-Konzepten und der Optimierung der Spark Session Einstellungen auch Optimierungen der Datenbestände aus. Zudem unterstützte CINTELLIC bei der Implementierung von Use Cases, die abseits des Process Minings, auch den Kundenbereich durch Befüllung systemgemischter Daten weiter ausbauen.