Blogpost vom 13. Juni 2019

KI im E-Commerce oder Machine Learning

Intelligente Algorithmen können automatisch Muster und Zusammenhänge in Daten erkennen. Anschließend können sie das extrahierte Wissen dafür nutzen, um Entscheidungen zu treffen oder Vorhersagen zu berechnen. Das klingt nach einem großartigen Potential, das ohne Zutun des Menschen quasi per Knopfdruck entfesselt werden kann. Aber ist das so?

Der Faktor Mensch

Der Erfolg eines lernenden Algorithmus hängt von vielen Faktoren ab – allen voran vom Faktor Mensch. Wir sind es schließlich, die bestimmen, welches Problem gelöst werden soll, suchen den dafür passenden Algorithmus aus und sammeln die dafür notwendigen Daten. Denn die Daten müssen passen – nicht nur zur Aufgabenstellung selbst, sondern auch zum gewählten Algorithmus an sich und dem ihm zugrundeliegenden mathematischen Modell. Eine hohe Passgenauigkeit und Qualität der Daten sind deshalb oberste Pflicht beim Machine Learning – der Mensch ist hier der Zeremonienmeister.

Mensch und Maschine nur gemeinsam stark

Für Maschinelles Lernen brauchen wir also ein tiefes Datenverständnis, das durch visuelle und statistische Analyse gewonnen werden kann. Im besten Fall besitzen wir Experten- oder Branchenwissen im Umfeld der zu lösenden Aufgabe. Erst dann können wir passende Algorithmen wählen und die Daten entsprechend aufbereiten. Am Ende dieser Phase steht dann eine vollständige Pipeline für den Datenfluss – vom Speicherort der Daten bis hin zu den gewonnenen Vorhersagen bzw. Entscheidungen.

Doch wer denkt, das sei alles, der irrt gewaltig. Denn hier fängt die eigentliche Arbeit erst an. Die Merkmale in den Daten können und sollten nämlich dazu genutzt werden, weitere neue Merkmale zu erstellen. Dieses Prozedere bezeichnen wir als Feature Engineering – es wird von der visuellen Entdeckung der Daten ebenso begleitet wie von einer ständigen Ergebnisanalyse und beeinflusst sehr stark, wie erfolgreich der Algorithmus bei der Erledigung der Aufgabe tatsächlich sein kann. In diesem kontinuierlichen Verbesserungsprozess ist das Know-how des Menschen der größte Treiber – auch dann, wenn weitere lernende Algorithmen zur Hilfe genommen werden.

Mehrwert der Datenanalyse für Kunden

Der Mehrwert von Machine Learning für Unternehmen lässt sich am besten an einem konkreten Beispiel aufzeigen. Dafür wurden die Verkaufsdaten eines Online-Händlers aus Großbritannien untersucht. Weil Lagerplatz teuer und termingerechte Lieferung für die Wettbewerbsfähigkeit wichtig ist, wäre es eine große Hilfe, berechnen zu können, wie viele Einheiten eines Produktes pro Tag verkauft werden. Anhand von aussagekräftigen Daten kann diese Aufgabe mithilfe von Machine Learning gelöst und die Lagerhaltung des Händlers entsprechend optimiert werden.

Die Merkmale

Die Daten des Showcases enthalten Informationen über durchgeführte Transaktionen eines ganzen Jahres – angefangen im Dezember 2010 bis zum gleichen Monat 2011:

  • das sekundengenaue Datum der Transaktion,
  • die ID sowie das Land des Kunden,
  • eine Beschreibung des gekauften Produkts und eine so genannte Stockcode-ID als Lagernummer,
  • die Anzahl der gekauften Einheiten,
  • den Preis einer Einheit eines Produktes,
  • eine Rechnungsnummer.

Der erste Eindruck zählt

Der erste Schritt besteht darin, sich einen Überblick über die Qualität der Daten zu verschaffen. Gibt es fehlende Einträge und warum? Welche Ausprägungen zeigen die Merkmale und wie sind sie verteilt? Gibt es Ausreißer in diesen Verteilungen und warum? Durch diese erste Analyse entsteht bereits ein Verständnis dafür, wie die Daten gesammelt wurden und welche Herausforderungen im weiteren Verlauf zu meistern sind. Die Daten unseres Online-Händlers zeigen viele Auffälligkeiten. So fehlt bei 25 % aller Einträge die Kunden-ID. Gibt es etwa Gastbestellungen ohne Registrierung, die nicht speziell gekennzeichnet werden? Bei einem kleinen Anteil der Daten von 0.3 % fehlt die Beschreibung des gekauften Produktes. Hinzu kommt, dass sowohl die Kunden-ID fehlt als auch der Preis einer Produkteinheit Null beträgt. Das ist sehr merkwürdig und weist darauf hin, dass der Händler bei einigen Transaktionen anscheinend den Überblick verloren hat.

Bei einer genaueren Analyse der Produktbeschreibungen finden wir heraus, dass die Daten auch Stornierungen, Schadensfälle sowie Sonder- und Rückzahlungen enthalten. Diese sind jedoch nicht eindeutig mit einem Kennzeichen hinterlegt und müssen sehr aufwendig aus den Daten herausgefiltert werden. So kann man in den Beschreibungen durchaus Wörter wie „damaged“, „??“ oder „found“ finden, die mit dem Namen des dazugehörigen Produktes nichts gemeinsam haben.

Besonders wichtig sind auch die historischen Werte der verkauften Produkte pro Transaktion sowie die Preise der Produkteinheiten. Was passiert, wenn diese fehlerhaft abgespeichert wurden? Dann könnte der Lernprozess des Algorithmus gestört werden. Ein Indikator für solche Fehler sind extreme Ausreißer in den Daten, die sich auch beim Online-Händler finden lassen. Um dennoch erfolgreich mit den Daten arbeiten zu können, wurden alle Einträge mit Auffälligkeiten ausgeschlossen.

Das geht besser

Nach der ersten Analyse haben wir bereits eine sehr wichtige Erkenntnis gewonnen: Wenn der Händler zum Forecasting seiner Produktverkäufe Machine Learning einsetzen will, so muss er ein einheitliches Vorgehen für spezielle Transaktionen entwickeln. Er benötigt einfach identifizierbare, einheitliche Codes für Schäden, Rückgaben, Stornierungen und Sonderzahlungen. Wenn bereits beim Sammeln der Daten auf Qualität geachtet wird, ist der erste Schritt für einen erfolgreichen Einsatz von Machine Learning schon getan. Doch nicht nur das! Durch die Identifikation der oben beschriebenen Anomalien ist der Händler bereits in der Lage, die Abläufe seiner Lagerhaltung effizienter und effektiver zu gestalten.

Die Machine-Learning-Pipeline

Die Pipeline beschreibt den Fluss der Daten von der Quelle bis hin zur Vorhersage und beinhaltet alle Schritte, die automatisiert berechnet werden können. Dazu gehört das Bereinigen und Aufbereiten der Daten, aber auch die Lernphase der gewählten Algorithmen sowie die Lernzielkontrolle. Letzteres ist nötig, um zu überprüfen, wie gut das Gelernte auf bisher unbekannte Daten verallgemeinert werden kann. Im Showcase wurden alle Daten vor dem 6.12.2010 für die Lernphase und alle danach für die Lernzielkontrolle verwendet.

Zur Vorhersage der täglichen Verkaufszahlen der einzelnen Produkte wurde Catboost ausgewählt. Dieser Algorithmus basiert auf einem Ensemble aus aufeinander folgenden Entscheidungsbäumen (decision trees). Innerhalb dieser Gruppe versucht jeder Baum durch seine Entscheidungen, den Fehler des Vorgängers weiter zu reduzieren. Dieses Verfahren wird Gradient Boosting bezeichnet und lässt sich auch auf andere Machine-Learning-Algorithmen anwenden. Algorithmen, die dieses Verfahren einsetzen, haben sich in vielen Anwendungsfällen als besonders leistungsstark erwiesen.

Wie bei vielen lernende Algorithmen hängt der Erfolg von Catboost jedoch auch von äußeren Parametern ab, die man als Mensch selbst einstellen kann. Zum Beispiel kann man selbst wählen, aus wie vielen Entscheidungsbäumen das Ensemble maximal bestehen soll oder wie stark die einzelnen Bäume auf die Fehler ihres Vorgängers reagieren dürfen. Diese so genannten Hyperparameter optimal zu wählen, ist oft nicht einfach und es gibt verschiedene automatisierte Verfahren, um eine gute Lösung zu erzielen. Die Suche nach ihnen kann die gesamte Pipeline wie ein Regenschirm umspannen und alle Arbeitsschritte einbeziehen.

Feature Engineering: Durch Wiederholung zur Weisheit

Wie eingangs erwähnt, ist es nötigt, so lange Feature Engineering zu betreiben, bis Catboost die Zusammenhänge in den Daten optimal auslesen kann. Die Pipeline ist somit kein linearer Prozess, sondern beinhaltet einen Zyklus, der immer wieder durchlaufen wird, um den Lernerfolg und die Güte der Vorhersagen oder Entscheidungen weiter zu verbessern. Im Falle des Online-Händlers können bereits einfache Merkmale helfen, die auf folgenden Fragen beruhen:

  • Wie viele Produkte einer Lagernummer wurden am gleichen Wochentag letzte und vorletzte Woche verkauft?
  • Wie hoch ist die Differenz?
  • Wie hoch ist der bereits gesetzte, durchschnittliche Preis einer Produkteinheit für die kommende Woche je Lagernummer?
  • Wie hoch war er in der Vergangenheit?
  • Wie viele Transaktionen wurden im Durch- schnitt je Lagernummer in den vergangenen Monaten durchgeführt?
  • Wie viele verschiedene Kunden haben Transaktionen für eine Lagernummer in der Vergangenheit durchgeführt?

Dieser Fragenkatalog lässt sich immer weiter ergänzen und erweitern. Hier ist die Kreativität des Menschen gefragt – auch wenn es bereits Ansätze gibt, das Feature Engineering zu automatisieren. Selbst mit nur wenig neuen Merkmalen lässt sich der Erfolg von Catboost deutlich steigern.

Nebenbei erhalten wir durch den Algorithmus wertvolle Informationen: Welche Merkmale in den Daten sind besonders wichtig und welche interagieren sehr stark miteinander? So erfahren wir, dass die Preispolitik des Händlers sowie die bereits bekannten durchschnittlichen Verkaufszahlen der Vorweihnachtszeit für die Vorhersage besonders wichtig sind. Dieses Wissen kann der Händler gezielt ausnutzen, um Preise für seine Produkte festzulegen. Des Weiteren bilden sie den Ausgangspunkt, um neue Merkmale in den Daten zu generieren und die Vorhersagen weiter zu verbessern.

Ausblick

Und wie geht weiter? Es werden so lange neue Merkmale erzeugt, bis entweder die Möglichkeiten erschöpft sind oder bis wir mit dem Ergebnis zufrieden sind. Dabei erlangen wir immer tiefere Einsichten in unsere Daten. Welche Bedürfnisse haben unsere Kunden? Welche Produkte sind gerade im Trend? Können wir Kunden anhand ihres Kaufverhaltens gruppieren? Am Ende erhalten wir eben nicht nur Vorhersagen, sondern können Abläufe besser verstehen und Prozesse deutlich optimieren. Nur durch das Zusammenspiel zwischen Mensch und Maschine lässt sich das Potential von Machine Learning zukünftig voll ausschöpfen.