Wonach möchtest du suchen?

Digitale Leute – Build Better Products

Machine Learning im E-Commerce: Search, Recommendation und die unverstandene Domäne

24. Februar 2021

Er forschte über zehn Jahre zum Thema Machine Learning in Bonn und an der TU Berlin, dann ging er zu Zalando. Mikio Braun, inzwischen Machine Learning Berater, zeigt uns anhand seiner 4-jährigen Erfahrung bei Zalando als Engineering Lead und AI Architect, wie ML für Search und Recommendation bei Zalando eingesetzt wurde, welche besonderen Anforderungen agile ML-Teams haben und wie der Übergang in die freie Wirtschaft gelingen kann.


Bei unserem zweiten Call, dem eigentlichen Interview, trauen wir uns zu fragen: Was hat es mit den Noten auf sich? Mikio ist Jazzmusiker, verrät er uns. Auf dem Keyboard hinter ihm liegen Noten von Bill Evans, einem der einflussreichsten Musiker des Modern Jazz. Was wir in Zoom nicht sehen sondern erst später als der Fotograf uns die Bilder schickt: Neben seinem Schreibtisch stehen acht Gitarren und ein Marshall-Verstärker. Mikio ist umgeben von Musik, und Bildern, die seine Kinder gemalt haben, während er sich heute aus dem Home Office um die Data-Science-Abteilungen unterschiedlicher Unternehmen kümmert. Wir interviewen ihn, denn wir wollen herausfinden, wie Machine Learning bei Zalando eingesetzt wurde. Mikio gibt uns einen tiefen Einblick in die gut vier Jahre Zalando.

Mikio Braun im Home Office mit seiner Gitarrensammlung.

Hallo Mikio, bevor du zu Zalando gegangen bist, hast du fast 15 Jahre wissenschaftlich an Machine Learning geforscht. Was hat dich daran interessiert?

Als ich meinen Doktor in Bonn gemacht habe, konnte es wissenschaftlich eigentlich nicht zu kompliziert sein. Mich haben damals die wahnsinnig theoretischen Themen, wie zum Beispiel Konvergenzverhalten von Kernmethoden umgetrieben. Später in Berlin zu meinen Post-Doc-Zeiten habe ich dann sowohl theoretische als auch angewandte Forschung zu maschinellem Lernen gemacht. Das waren Projekte mit Siemens, aber auch Daimler Chrysler, oder zum Thema Bioinformatik.

Und während den letzten fünf Jahren an der TU habe ich mit einem Kollegen “Streamdrill” gegründet. Das Startup entstand eigentlich aus einer technischen Spielerei mit den Twitter-Echtzeit-Daten, mit denen wir anhand der Re-Tweets, Zeitzonen und Sprachen Analysen fahren konnten. Mit einer Anwendung, die aus der Arbeit mit den Twitter-Daten entstanden ist, haben wir zum Beispiel mit Nugg.ad ein Pilotprojekt gemacht. Nugg.ad wurde ja später von Zalando gekauft. Letztendlich hat die Arbeit an konkreten Projekten so viel Spaß gemacht, dass es der Auslöser war, nicht mehr an der Uni weiter zu machen und zu Zalando zu gehen.

Wieso Zalando?

In meiner TU-Zeit konnte ich mir das tatsächlich gar nicht vorstellen, weil man da natürlich immer das Fernziel im Auge hat, Professor zu werden. Außerdem sagt man an der Uni immer, dass es in der Wirtschaft nur um Geld geht, und man nichts inhaltlich interessantes mehr machen kann. Da aber ehemalige Kollegen schon bei Zalando waren und eine Stelle frei geworden ist, dachte ich noch so in meinem Uni-Denken, dass ich da mal anfragen könnte. Das war 2015 zu einer Zeit, als sich Zalando gefühlt jedes Jahr verdoppelt hat. Ein Mangel an Stellen war nicht wirklich das Problem.

War die Sorge um fehlende Komplexität in der freien Wirtschaft gerechtfertigt als du zu Zalando gegangen bist?

Es ist schon so, dass man in der Produktentwicklung eher selten mit komplexer Mathematik zu tun hat. Aber ich finde die ganze Komplexität, die nach dem Machine Learning kommt, ist mindestens genauso spannend. Wie organisiert man Data Science in der Firma? Wie richtet man Machine Learning strategisch aus? Die größte Umstellung war, dass ich als Teamleiter Engineering in einer Leitungsfunktion war und es jetzt darum ging, wie Teams zusammenarbeiten, warum sie manchmal nicht so gut funktionieren und wie man Konflikte löst. Erstaunlich wenig Reibung hat der Wechsel von Forschung auf Wirtschaft erzeugt. Es ist ja eher so, dass man an der Uni Sachen macht, ohne zu wissen, ob das jetzt wirklich sinnvoll ist. Hauptsache neu. Wenn aber das, was man macht, auch aus Business-Perspektive funktioniert, dann zeigt das die Relevanz deiner Arbeit.

Was war der Stand bei Zalando in Bezug auf Data Science, als du 2015 angefangen hast?

Etwa ein halbes Jahr vor meiner Zeit fand gerade eine Umstellung statt von einem zentralen Data Science Team hin zu cross-funktionalen Teams. Das Team bestand damals aus circa 30 Leuten, soweit ich mich erinnern kann. Als ich zu Zalando kam, gab es ein riesen Projekt, bei dem wir versucht haben die Kultur zu ändern. Zum Einen auf der organisatorischen Ebene zu mehr agilen, cross-funktionalen Teams, aber auch auf technischer Ebene, weg vom großen Java-Monolithen hin zu Microservices in Docker-Containern auf AWS.


Hört Mikio Braun auf dem Digitale Leute Summit 2021 sprechen:
How to Build Machine Learning Products for E-Commerce


Da es damals noch nicht so viele Machine Learning Services gab, mussten die Data Scientists  noch viel selbst schreiben. Meist haben die den Data Science Workload dann irgendwie in Webservices eingebaut. Mein erstes Projekt war ein Migrationsprojekt in der Produktsuche, was die ersten zwei Jahre gedauert hat, um überhaupt erst an den Punkt zu kommen, Machine Learning zu machen. Das Recommendation-Team hatte da schon einige Jahre etwas aufgebaut, was gut funktioniert hat.

Und wie habt ihr dann Machine Learning in der Suche eingesetzt?

Die Suche in einem E-Commerce Shop wie bei Zalando ist eine der Hauptmethoden, wie Kunden Produkte finden. Genau wie bei der Google-Suche ist die erste Seite die Wichtigste. Was die meisten E-Commerce Shops heute haben, fühlt sich manchmal an wie ein durchsuchbares Warenhaus. Aber wo man eigentlich hin möchte ist, dass es sich wie ein Shop anfühlt, in dem der Verkäufer einen kennt und genau weiß was zu einem passt. Das lässt sich durch mehr Personalisierung erreichen, in dem man das Ranking zum Beispiel so optimiert, dass es Artikel berücksichtigt, nach denen man schon mal gesucht oder die man schon mal gekauft hat.

Ein anderer großer Bereich ist es, die Suchanfrage besser zu verstehen. Da geht es darum herauszufinden, welcher Teil der Anfrage die Marke, die Art des Kleidungsstücks, oder die Farbe ist. Manchmal sind zum Beispiel Farben im Namen enthalten, wie bei “Boss Orange”. Bei Adidas gibt es Namen für Schuhe, die so nicht in der Artikelbeschreibung stehen. Um zu verstehen, was der Kunde möchte, kann man dann Machine Learning einsetzen.

Mikio steht vor seinem Regal.
Mikios Monitor.
Mikio Braun sitzt an seinem Arbeitsplatz.

Und was möchte man mit dem Machine Learning erreichen?

Mit Machine Learning kann man zum Beispiel die Sortierung der Resultate in der Suche verbessern, da man mit Hilfe des Kundenverhaltens besser verstehen kann, wonach der Kunde sucht. Um die Qualität der Suchergebnisse zu messen, werden klassische KPIs wie Klicks, wie viele Suchergebnisse es gibt, wo sie geklickt haben und wo sie nicht geklickt haben, gemessen. Mit diesen Daten kann man zum Beispiel auch die Auto-Suggest-Vorschläge datengetrieben verbessern.

Das Schöne bei Zalando war, dass man sehr viele Kunden-Interaktionen hat, die man auswerten kann. Kleine Shops haben es da manchmal schwerer eine verwertbare Datenmenge zusammen zu bekommen. Aber man muss auch nicht unbedingt klein sein, damit das Problem schon auftaucht. Wenn statt auf Klicks auf  “Add to Cart”-Aktionen schaut wird, sind das auch schon viel weniger Daten.

Proxy-KPIs würde man dann einsetzen, wenn mit so etwas wie einer Customer-Lifetime-Value gearbeitet wird, da man sie gar nicht genau messen kann. Oder wenn man im Nachhinein Metriken schätzen will, ohne dass man weiß, wie der Kunde reagiert hätte. Völlig unproblematisch ist das Optimieren auf KPIs allerdings nicht. Das haben wir auch bei Zalando diskutiert. 

Inwiefern kann das Optimieren auf KPIs problematisch sein?

Ein klassisches Beispiel für einen negativen Einfluss, den Machine Learning bei der Optimierung haben kann, ist zum Beispiel der YouTube-Algorithmus, der gnadenlos auf Watchtime optimiert ist. Mit dem Ergebnis, dass Fake-News und Sensationsmeldungen unverhältnismäßig oft empfohlen werden. Die Idee dahinter ist natürlich: Je länger die Leute auf der Plattform sind, desto mehr Werbung kann angezeigt werden.

Im E-Commerce stellt sich die Frage, ob man zum Beispiel auf den Preis optimieren soll, also dass die Leute das möglichst teuerste Produkt kaufen. Denn man will ja schließlich Geld verdienen. Also teure Mode-Schuhe vor den günstigen Socken.

Wie habt ihr es bei Zalando gemacht?

Wie wir uns am Ende entschieden haben, kann ich nicht sagen, aber ich persönlich halte es da mit Jeff Bezos, der sagt, dass man sich immer um den Kunden kümmern soll. Ist der glücklich, dann sind auch alle Anderen glücklich. Es bringt nichts, wenn ich ihm die teuren Schuhe verkaufe, er aber später in der Suche die Gleichen günstiger findet und somit enttäuscht ist.

Bei der Anwendung von Machine Learning gibt es ethische Fragestellungen.

Inwiefern kam Machine Learning bei den Empfehlungen zum Einsatz?

Bei den Empfehlungen kam zum Beispiel collaborative Filtering zum Einsatz. Grob gesagt: Kunden, die das gekauft haben, haben auch auf das geklickt. Da schaut man sich die Kundeninteraktionen an, und wenn die sich ähnlich sind, dann empfiehlt man auch ähnliche Produkte. Das ist die Basis-Empfehlungsähnlichkeit. Das versucht man dann zu personalisieren, indem man Farben- oder Markenvorlieben des Kunden berücksichtigt. Das übergibt man dem Machine Learning Algorithmus und der findet dann heraus, wann die Wahrscheinlichkeit am höchsten ist, dass der Kunde klickt.

Aus unserer eigenen Erfahrung war vor einigen Jahren der Fokus im Zalando Algorithmus wohl mal auf Farben. Da waren die Empfehlungen vor allem schwarze Klamotten, wenn man vorher viel schwarze Kleidungsstücke gekauft hatte. Ist der Fokus immer noch auf Farben?

Das kann ich so genau gar nicht sagen. Was man früher bei Zalando gemacht hat, war eine Vermischung aus einer statischen Recommendation und dem was man sich zuletzt angesehen hat. Wenn die letzten Items schwarz waren, dann kann das nachverstärkt werden. Das generelle Problem ist aber, sobald man mehr mit Machine Learning personalisiert, wird es kompliziert und man versteht eigentlich als Mensch nicht mehr, was passiert.

Mehr zum Thema: Zalando

Früher waren die Modelle recht explizit und konnten noch verstanden werden. Mit Deep Learning hat man mittlerweile so große Modelle, dass man riesigen Datenmengen gefüttert wird und ein Ergebnis bekommt, bei dem man nicht mehr versteht, warum das so ist. Verbessert es die KPI um drei Prozent, lässt man es so. Wenn nicht, versucht man etwas Neues. Im E-Commerce ist die Frage der “Explainability” nicht so wichtig, im Gegensatz zur Versicherungsbranche. Nach der DSGVO gibt es ja den Anspruch auf Auskunftsrecht über “involvierte Logiken”.

Welche konkreten Handlungsanweisungen hast du für Unternehmen, die ein eigenes Data Science-Team aufbauen wollen?

Machine Learning setzt man dann ein, wenn die Probleme so komplex werden, dass man sie händisch nicht mehr lösen kann. Da ein Data Scientist mit Daten arbeitet, ist der erste Schritt Daten sammeln. Die Leitfrage ist: Was können wir messen, was ist das, was ich vorhersagen will und was soll besser werden?

Der Data Scientist freut sich über ein klar definiertes Problem, an dem er verschiedene Methoden ausprobieren kann. Auf das schaufelt er dann Daten und schaut, wie gut es funktioniert. Wenn ja, kann man in den AB-Test gehen. Wichtig ist aber, das man vorher definiert, was optimiert werden soll. Da ein Data Scientist teuer und schwer zu finden ist, sollte ein Unternehmen erst mal Erfahrungen mit einem Projekt sammeln, und herausfinden, ob das überhaupt Sinn ergibt.

Um anzufangen, ist ein zentrales Data-Science-Team sinnvoll, dass sich erst mal auf die Suche nach möglichen Projekte macht. Das ist dann schon ein bisschen Forschung. Denn man kann nicht einfach einen fertigen Algorithmus nehmen und den einbauen.

Sticker dürfen auf keinem Computer fehlen.

Wenn man dann herausgefunden hat, dass es sinnvoll ist Machine Learning einzusetzen, wie geht man weiter vor?

Wenn man einige Anwendungsgebiete für Machine Learning identifiziert und bearbeitet hat, dann kann der nächste Schritt sein, vom zentralen Team zu neuen Produktteams mit eingebetteten Data Scientists zu wechseln. Bei Zalando gab es damals zum Beispiel das Problem, dass es einen Bruch zwischen den normalen Produktteams und Data Science gab. Wie zum Beispiel ein Team, das für die Artikelseite verantwortlich war und dann kam man zu denen und sagte, guckt mal, wir haben hier Empfehlungen gebaut, funktioniert super, baut das mal ein.

Das ist ein Problem, denn vielleicht kennt das Team sich nicht damit aus wie man einen Algorithmus implementiert und ist ganz andere Technologien gewohnt. Wenn man solche gemischte Teams hat, muss man schauen, wie es weitergeht. Bei Zalando kam noch dazu, dass die Teams so schnell gewachsen sind, dass man im Stand-up über so viele Themen sprechen musste, dass die Frage aufkam, wieso man jetzt bei einem Thema dabei sein muss, mit dem man gar nichts zu tun hat. Am Ende, als ich Principal wurde, waren wir im Search-Team von anfangs drei Leuten auf über 30 angewachsen.

Daraufhin haben wir neue Teams gebildet, eines, dass sich hauptsächlich mit Elasticsearch beschäftigt, ein Team hat sich nur um die Sortierung gekümmert, eines um Analyse, eines um Auto-Suggest und eines um die Search-Query-Analyse. Aber wenn das Produkt steht, ist es schon wichtig, cross-funktionale Teams zu haben.

Was ändert sich, wenn Data Scientists in cross-funktionalen Teams arbeiten?

Vom Grund-Setup glaube ich unterscheiden sich normale Engineering-Teams und Teams mit Data Scientist nicht, allerdings sind die Arbeitsweisen schon sehr unterschiedlich. Grundsätzlich sollte man schon darauf achten, dass Engineers im Team sind, die auch Interesse an Data Science haben, da es andere Herangehensweisen und Technologien sind. Es gibt auch unterschiedliche Philosophien zu der Frage wie viel Engineering ein normaler Data Scientist können muss.

Im Silicon Valley gibt es zum Beispiel häufig die Rolle des Machine Learning Engineers. Das ist jemand, der darauf spezialisiert ist, Modelle von Data Scientists zu nehmen, und die dann produktionsreif zu machen. Jede Rollenspezialisierung bringt allerdings einen Bruch mit. Und man muss sich überlegen, ob das Unternehmen schon groß genug ist, damit die spezialisierte Rolle immer etwas zu tun hat. Darum glaube ich, dass es gerade in kleineren Unternehmen und Startups wichtig ist, Generalisten zu beschäftigen, die auf einem sehr breiten Feld arbeiten können.

Wie sieht es mit dem Sprint-Rhythmus aus, wie muss das für ein Data Science-Team gestaltet werden?

Der Unterschied zwischen einem reinen Engineering und einem Data Science-Team ist, dass Data Science sehr viel mehr Unsicherheiten mit sich bringt. In der agilen Softwareentwicklung geht es ja auch darum ein Feature zu entwickeln, bei dem jetzt noch nicht so ganz klar ist, wie es nachher aussieht.

Bei Machine Learning Projekten, gibt es allerdings noch mehr Sachen, die man nicht weiß. Zum Beispiel, ob wir überhaupt die Daten haben, die wir brauchen und ob es dazu schon Algorithmen und Bibliotheken gibt, die man verwenden kann. Es kann gut sein, dass man die Hälfte der Zeit damit verbringt herauszufinden, ob das überhaupt geht. Da der Algorithmus das ist, worüber wir am wenigsten wissen, fangen wir entgegen der Intuition damit an und kümmern uns erst am Schluss darum, wie wir das in die Infrastruktur einbauen.

Wichtig ist da auch das Time-Boxing. Im Prinzip könnte ein Data Scientist zwei Jahre lang gucken, ob das geht oder nicht. Aber hier muss man halt schauen, wie weit man nach einem Monat ist, und ob das dann weitergemacht werden soll oder nicht. Ganz praktisch würde man die Untersuchungen zur Machbarkeit in einzelne Teile zerlegen, die dann in den normalen Sprintzyklus passen.

Mikio war AI Architect bei Zalando.
Mikio lebt seit 2007 in Berlin.

Lass uns gegen Ende des Interviews doch mal schauen, was es noch an offenen Baustellen gibt, wenn man Machine Learning im E-Commerce einsetzen möchte.

Gerne. Da bietet es sich an, dass ich ein wenig über ein Projekt von Zalando spreche, das zu meiner Zeit gestartet wurde, und bei dem ein neuer Ansatz ausprobiert wurde.

Um was ging es bei dem Projekt?

Wie ich zu Anfang schon erklärt habe, möchte man ja eigentlich weg vom durchsuchbaren Warenlager hin zu einer Experience, die sich eher nach einem Besuch in einem echten Einkaufsladen anfühlt, in dem man sich verstanden fühlt. Das Projekt fand innerhalb des Recommendation-Kontextes statt. Die Idee war eine Empfehlung zu bauen, die nicht einfach nur ein Item, sondern ein ganzes Outfit zu einem Item empfiehlt, dass man sich gerade anschaut oder gekauft hat.

Spannend war, wie sie die Datenbasis für diese neuartige Recommendation erstellt haben. Dafür wurde eine mehrstufige Strategie erstellt. Die Grunddaten für die Recommendation haben sie von “Zalando Zalon” gebootstrapped, ein Service, bei dem echte Menschen Kunden-Outfits zusammenstellen und schicken. Ganz so, wie man es vielleicht in einem Shop haben würde. Mit diesen Grundoutfits wurden dann Tests und mit dem Feedback eine erste Iteration gemacht. Die nächste Stufe war dann durch Klickdaten ein komplexes Machine Learning Modell darauf zu trainieren.

Was mir hier gut gefällt ist das Datenbootstrapping, also wie man an Daten kommt, ohne das man bereits echte Daten hat. Und der Versuch den Kontext und die Domain besser zu verstehen. Denn das muss man schon sagen: Wir verwenden noch immer dieselbe Metapher eines Shops, im Grunde seit Jeff Bezos Amazon gegründet hat. Ich finde, die Algorithmen könnten viel besser darin werden, die Domäne zu verstehen.

Was genau meinst du mit Domäne?

Die Struktur der Produkte im Shop ist immernoch sehr tabellarisch. Da sind halt einfach nur Gitarren und die sind nach Farben und Größen und Preis sortiert. Aber nicht jede Gitarre ist gleich, so wie Gitarrenspieler nicht gleich sind. Wenn ich gerne Jimmy Hendrix höre, dann möchte ich eine bestimmte Gitarre empfohlen bekommen und nicht irgendeine. Auch bei Fashion gibt es dieses Problem. Produkte haben für uns Menschen sehr viele Bedeutungen und die Art und Weise wie Algorithmen drauf schauen ist immernoch wahnsinnig reduziert. Das ist der Grund, warum sich das noch immer nicht so wirklich wie ein Dialog anfühlt und dieses “Kunden, die A kauften, kauften auch B” sich seit über 20 Jahren hält.

Lieber Mikio, vielen Dank für das Interview.

Das Interview führten Stefan Vosskötter und Thomas Riedel.

LinkedIn: Dr. Mikio Braun
Photographie: Dan Zoubek

Mikio vor der Fassade des Priesterweg in Berlin.
Summit Talk Platform Thinking – How to create a radically new customer experience that sets you apart from the competition!
Vorheriger Artikel
podcast Podcast Episode 44 - AI im E-Commerce mit Mikio Braun, Ex-Zalando, und Marc Preusche von Dept
Nächster Artikel
DIGITALE LEUTE
NEWSLETTER