In diesem Artikel geht es darum aufzuzeigen, wie einfach manche Ideen umgesetzt werden können und welche Auswirkungen es haben kann, wenn ein Entwicklerteam über den Tellerrand blickt.
Die Anforderungen für das Epic waren Anfangs noch nicht ganz klar, aber nach einigen Diskussionen hat sich schnell herauskristallisiert, was mit Segmenten alles möglich ist. Auf der einen Seite wurde der Einsatz von Kundensegmenten für das Marketing beleuchtet und auf der anderen Seite die Implementierung von Produkt Segmenten für die Optimierung der Lagerhaltung und Steuerung von Werbungen skizziert. In diesem Artikel möchte ich mich eher auf die Implementierung der Kundensegmente fokussieren. Am Anfang stand für uns die Frage, woraus wir diese Segmente überhaupt bilden wollen, um diesem Aspekt einen Namen zu geben, haben wir den Begriff der Quellen eingeführt. Eine Quelle kann vieles sein, eine Kombination aus verschiedenen Datenbanktabellen wie zum Beispiel die Bestellungen, oder aber auch einfach ein externes System wie zum Beispiel ein BI Tool. Damit wir schlussendlich die richtigen Daten aus den Quellen extrahieren können, wurden Filter, Funktionen und Operationen definiert. Ein Filter beschreibt die Einschränkung einer Quelle wie zum Beispiel, dass das Datum größer als ein angegebener Wert sein muss. Die Funktionen hingegen ermöglichen es Daten anzupassen oder zu Gruppieren. Hilfreich sind in diesem Zusammenhang besonders Datums Funktionen wie zum Beispiel die Ausgabe des heutigen Datums vor sechs Monaten oder Summenfunktionen, um die Segmente bei mehreren Einträgen pro Kunde bilden zu können. Die Operationen können schließlich gleich, ungleich, größer oder kleiner sein und natürlich lässt sich jeder Vergleich auch verneinen.
Filter können innerhalb von Quellen mittels logischer Operatoren verknüpft werden und bei der Ausführung liefert die Quelle schlussendlich eine Liste von IDs zurück. Damit ein Segment nun sinnvoll gebildet werden kann, können mehrere Quellen miteinander kombiniert und über Mengenoperationen das Ergebnis definiert werden.
Auf dieser Basis aufbauend haben wir die Rundum-Integration gestartet. Das Newslettersystem wurde so angepasst, dass Newsletter an die vorab über Nacht neu berechneten Segmente versendet werden können. Darüber hinaus wurde das Kampagnensystem so erweitert, dass spezielle Kampagnen direkt für einzelne Kundensegmente definiert werden können. Ziel war es, dass ein Kundenkonto unendlich vielen mit unterschiedlichen, total voneinander unabhängigen Segmenten verknüpft werden konnte. Sollte in einer Anwendung schlussendlich Mal ein spezielles Segment benötigt werden, kann mittels eindeutiger Referenzen oder speziellen Subtypen ein solches wiedergefunden werden. Nun steht einer Shopmanagerin oder einem Shopmanager die Welt offen, um spezielle Kundenbindungsaktionen zu definieren und somit loyale Kunden zu belohnen und zum erneuten Einkauf zu bewegen.