1
 
 
Profil
In deinem persönlichen Profilbereich kannst du den Status deiner Bewerbung einsehen, unvollständige Bewerbungen zwischenspeichern und aktuelle News und Events einsehen
08. Januar 2023

Ein Machine Learning-Ansatz für Display-Werbung in Echtzeit

Klicke hier - es ist keine Werbung, wir versprechen es ;-)

Worum geht es in diesem Artikel?

Früher haben wir uns auf einen Batch-Algorithmus verlassen, der jedem Nutzer oder jeder Website alle zwei Stunden eine einzige Kampagne zuordnete. Damit ist jetzt Schluss! Um unsere Display-Werbung effizienter zu gestalten, haben wir maschinelles Lernen eingesetzt, um Display-Werbung in Echtzeit zu ermöglichen. Unser Team entwickelte ein System, das innerhalb von Millisekunden den Inhalt und den Gebotspreis für eine einzelne Anfrage bestimmen konnte: Wir tauften es RaBid.

Einführung

Seien wir ehrlich: Bei Display-Werbung denken die meisten Menschen an einen aggressiven E-Tailer, der sie buchstäblich zur Strecke bringt. Viele potenzielle Online-Kunden greifen daher zu Alles-oder-Nichts-Werbeblockern, um sich vor visueller Überlastung zu schützen. Doch abgesehen von diesen beiden extremen Nutzererfahrungen ist Display-Werbung in Wirklichkeit einfach das moderne Äquivalent zu einem klassischen Plakat, das an der Bushaltestelle hängt. Sie ist im Grunde ein Kommunikationskanal, der ein potenziell gutes Angebot eines Einzelhändlers mit dem potenziellen Bedarf eines Kunden zusammenbringt. Der einzige große Unterschied besteht in den zahlreichen Möglichkeiten, die die Technologie heutzutage für diese Art der Kommunikation bietet.

 
Dies ist ein guter Zeitpunkt, um uns vorzustellen! Wir sind das Team Nautik, ein agiles Team bestehend aus Data Scientists und Data Engineers. Wir entwickeln und erstellen Technologien, Methoden, Modelle und Lösungen, um Display-Werbung für OTTO zu verbessern. Unsere Aufgabe ist es, zu entscheiden, welche Werbung (Ad) wir einem Nutzer auf einer Website oder App zeigen wollen - und wie viel wir bereit sind, dafür zu bezahlen. Die Anzeigen werden von den OTTO-Marketingteams oder unseren Plattformpartnern bereitgestellt. Sie können unterschiedliche Formate haben (z.B. Banner oder Skyscraper), die wir in sogenannten Kampagnen bündeln. Eine Kampagne bewirbt bestimmte Produkte, Sortimente oder Marken, die auf otto.de verfügbar sind, und jede Kampagne hat ein Tagesbudget, das bis zum Ende des Tages ausgegeben werden muss.

Wie wir bis hier hin gekommen sind

Bis vor kurzem haben wir uns auf einen Batch-basierten Algorithmus namens Compass verlassen, der einem Nutzer oder einer Website alle zwei Stunden genau eine Kampagne zuordnete. Diese Zuordnung wurde dann verwendet, um auf Echtzeit-Gebotsanfragen zu antworten. 

Allerdings stießen wir bei den Fähigkeiten von Compass auf Grenzen. Während Display-Werbung am effizientesten ist, wenn schnelle Entscheidungen in Echtzeit getroffen werden, war Compass nicht flexibel genug, um auf Marktveränderungen zu reagieren. Wenn wir zum Beispiel eine Kampagne einem bestimmten Nutzerpool (oder Website-Pool) als Batch zugewiesen haben, konnten diese Nutzer innerhalb der nächsten zwei Stunden keine anderen Anzeigen sehen. Oder wenn die zugewiesene Kampagne keine Anzeige für das aktuell angefragte Format enthielt, erhielt der Nutzer einfach keine Anzeige. Darüber hinaus konnten bestimmte Kampagnen Schwierigkeiten haben, ihre Budgets effizient auszugeben, wenn in zugewiesenen Auktionen weniger Traffic als erwartet erzeugt wurde.

Wir brauchten also ein System, das schnelle Entscheidungen für Gebotsanfragen ermöglicht.

Siehe da - RaBid

Du hast richtig geraten: RaBid setzt sich aus den Wörtern rapid und bid zusammen und ist der Name des Systems, das wir entwickelt haben, um den Inhalt und den Gebotspreis für eine einzelne Anfrage in nur wenigen Millisekunden zu bestimmen. Um zu verstehen, wie RaBid funktioniert, wirf einfach einen Blick auf Abbildung 1:

RaBid – bidding process overview
RaBid – bidding process overview

Abbildung 1: RaBid - Überblick über den Gebotsprozess

Sieht super einfach aus, nicht wahr? Um es etwas genauer zu erklären, schauen wir uns eine Gebotsanfrage mit Benutzer- und Website-Informationen genauer an. Wie bereits erwähnt, geht es nun darum, zu entscheiden, welche Kampagne die beste Wahl ist (z.B. in Bezug auf die Klickwahrscheinlichkeit) und wie viel wir bereit sind, für diese Auktion zu zahlen.

Wir beginnen damit, alle geeigneten Kampagnen für diese eingehende Gebotsanfrage zu bewerten. Anschließend weisen wir der besten Kampagne ein Werbebudget zu, das auf dem verbleibenden Budget für jede Kampagne und dem berechneten Kampagnen-Score basiert. Danach können wir das Gebot in Abhängigkeit von der Kampagnenbewertung und dem Marktkontext (z. B. erwarteter Wettbewerb) berechnen. Mit diesem Gebot können wir nun an einer Auktion teilnehmen. Unsere Anzeige wird angezeigt, wenn wir das höchste Gebot abgegeben haben; andernfalls wird unser Gebot verworfen - aber das gibt uns immer noch einen wertvollen Einblick in den Markt.

Lass uns ein Beispiel anführen und noch weiter ins Detail gehen. OTTO ist eine führende E-Commerce-Plattform, auf der man im Grunde alles kaufen kann, was man will. Als Online-Shop werden verschiedene Marketingmethoden eingesetzt, um Kunden zu gewinnen - zum Beispiel Display-Werbung. Bei dieser Methode haben wir verschiedene Kampagnen mit unterschiedlichen Inhalten. Nehmen wir an, wir haben drei Kampagnen: eine Karottenkampagne, eine Apfelkampagne und eine T-Shirt-Kampagne. Eine unserer Kundinnen ist Berta Bunny, eine häufige Besucherin von otto.de. Sie interessiert sich sehr für Karotten, manchmal auch für Äpfel. Berta ist stolze Nutzerin ihres kürzlich erworbenen Smartphones und verbringt ihre Abende damit, über die neuesten veganen Kochtrends zu lesen.


RaBid – Berta Bunny’s journey
RaBid – Berta Bunny’s journey

Abbildung 2: RaBid – Die Reise von Berta Bunny

Gebotsanforderung

Wie bereits erwähnt, enthält die Gebotsanfrage, die wir erhalten, Nutzerinformationen (falls vorhanden) und Kontextinformationen wie Seiten-URL und Anzeigengröße. Außerdem reichert Orbidder die Gebotsanfrage mit Informationen zu allen aktuell relevanten Kampagnen an, bevor sie an RaBid weitergeleitet wird.

Erinnerst du dich an Berta Bunny auf der Couch, die nach neuen Rezepten sucht? Als sie ihren Lieblings-Food-Blog öffnet, wird eine Gebotsanfrage ausgelöst. Sie enthält ihre Cookie-ID und die URL der Seite. Die Anfrage wird mit den Informationen über unsere drei derzeit aktiven Kampagnen und deren bisherigen Ausgaben angereichert. 

Doch wie entscheiden wir nun, welche Kampagne angezeigt werden soll?

Kampagnen-Scoring

Wir beginnen damit, alle aktiven Kampagnen zu bewerten, die für diese Gebotsanfrage geeignet sind. Dazu schauen wir uns verfügbare Nutzermerkmale an, zum Beispiel Affinitäts- und Aktivitätsprofile für Berta Bunny. Außerdem berücksichtigen wir Kontextinformationen wie die Klickrate der Website und die Kategorie (vielleicht ist es ein Obstladen oder ein Modeblog?). Wir wollen auch unser Wissen über die Produkte, die von den aktiven Kampagnen beworben werden, einbeziehen und nehmen daher kampagnenspezifische Merkmale auf.

Alle diese Merkmale werden in einem neuronalen Netz verwendet, um verschiedene KPIs wie die Klickwahrscheinlichkeit vorherzusagen. Bei jeder Gebotsanfrage wird für jede gültige Kampagne ein Score berechnet. Um die Scores über die verschiedenen Kampagnen hinweg vergleichen zu können, werden sie normalisiert. Überdurchschnittliche Ergebnisse werden belohnt und die Wahrscheinlichkeit, dass sie ausgewählt werden, steigt.

In unserem Beispiel bedeutet dies, dass Berta Bunnys Affinitäts- und Aktivitätsprofil auf ein hohes Interesse an Karotten und Äpfeln hinweist. Sie besucht gerade einen Food-Blog auf ihrem Smartphone - und wir wissen, dass dieser Food-Blog von anderen OTTO-Nutzern stark frequentiert wird, die manchmal auf unsere Anzeigen klicken, vorzugsweise auf Food-Inhalte. Das bedeutet, dass der Food-Blog eine attraktive Website ist, um OTTO-Anzeigen zu schalten. Auf der Grundlage all dieser Informationen bewerten wir jede unserer drei geeigneten Kampagnen. Da wir zwei Kampagnen im Food-Segment haben, werden die Karotten- und die Apfel-Kampagne höchstwahrscheinlich einen höheren normalisierten Score erhalten als die T-Shirt-Kampagne.

Die normalisierte Punktzahl wird dann für die Kampagnenzuordnung verwendet.

Kampagnenzuordnung

Neben den normalisierten Punktzahlen ist das verbleibende Budget der wichtigste Faktor für die Zuweisung von Kampagnen und wird in Echtzeit aktualisiert. Alle geeigneten Kampagnen werden auf der Grundlage ihrer relativen Ausgaben verglichen. Kampagnen mit einem geringen Prozentsatz an Budgetausgaben werden bei der Zuweisung gepusht, um ähnliche Budgetverhältnisse zu erreichen.
 
Kommen wir zurück zu Berta Bunny. Obwohl Berta eine starke Vorliebe für Karotten hat, mag sie auch Äpfel sehr gerne! Nun hat die Apfelkampagne Schwierigkeiten, ihr Budget im Laufe des Tages auszugeben, während das Budget der Karottenkampagne gut im Plan liegt. Die Apfelkampagne wird daher in der Zuordnung verschoben und für die Gebotsberechnung ausgewählt.

Gebotsberechnung

Um das endgültige Gebot zu berechnen, benötigen wir den normalisierten Score der zugewiesenen Kampagne, Informationen über die Gebotsfunktion und einen Steuerungsfaktor.
Die Gebotsfunktion ist eine Funktion, die einem bestimmten KPI-Score je nach Website-Kontext einen Gebotswert zuweist. Sie spiegelt den Wettbewerb im Auktionsprozess wider; je stärker der Wettbewerb, desto mehr müssen wir bieten, um eine höhere Gewinnwahrscheinlichkeit zu haben.

Nun könnten wir den normalisierten KPI in die Gebotsfunktion einfügen und unser endgültiges Gebot erhalten. Wir müssen jedoch sicherstellen, dass alle Kampagnen ihr gesamtes Budget während des Tages ausgeben. Da alle unsere Berechnungen auf Vorhersagen beruhen, besteht ständig die Gefahr, dass wir zu viel oder zu wenig Geld ausgeben. Daher verfügen wir über eine Kontrollkomponente zur Skalierung des Scores und damit zur Anpassung des Gebotswertes.

In unserem Beispiel betrachten wir einen beliebten Blog für veganes Essen mit starker Konkurrenz unter den Werbetreibenden. Außerdem ist Bertas Score für unsere Apfelkampagne hoch, und der Controller muss die Minderausgaben ausgleichen. Alle drei Faktoren führen also zu einem hohen Gebot und damit zu einer hohen Gewinnwahrscheinlichkeit.

Auktion

Der Prozess für alle Komponenten - Scoring, Zuweisung und Gebotsberechnung - erfolgt innerhalb von etwa 20 Millisekunden. Mit der daraus resultierenden Kampagne und dem Gebot nehmen wir an einer Auktion mit anderen Wettbewerbern teil. Das höchste abgegebene Gebot gewinnt und der siegreiche Werbetreibende kann die Kampagne anzeigen.

Mit unserem hohen Gebot für Berta überboten wir unsere Mitbewerber und gewannen die Auktion, um unsere Apfelkampagne auf dem Food-Blog anzuzeigen. 

RaBid ist das technische Produkt eines agilen Teams

RaBid ist ein Produkt, das vom Team Nautik, einem agilen und interdisziplinären Team aus Data Scientists und Data Engineers, entwickelt wurde. Unser gesamtes Team ist an der Erstellung von Konzepten, der Planung und der Definition von Aufgaben beteiligt, um einfache Lösungen für größere Probleme zu finden, wie z.B. die Berechnung der optimalen Gebotsstrategie für jede Kampagne im Display Advertising. Unser agiler Arbeitsansatz zeichnet sich durch Pair Programming aus. Das bedeutet, dass idealerweise mindestens zwei Entwickler erforderlich sind, um Aufgaben zu kodieren.

Tatsächlich beruht die Verwaltung von Gebotsanfragen in Echtzeit jedoch auf einer sehr engen Zusammenarbeit zwischen zwei OTTO-Teams, Nautik und Siggi (verantwortlich für den Orbidder). Während des Entwicklungsprozesses tauschten sich beide Teams aus und diskutierten Ideen, Konzepte und Technologien. 

RaBid ist ein Ensemble verschiedener Modellkomponenten (Klickbewertungsmodell usw.), die jeweils eine andere Aufgabe haben. Obwohl die Verarbeitung von RaBid in Echtzeit erfolgt, werden viele der Daten und Komponenten zuvor in Batches vorbereitet. Die Eingabedaten werden in der Google Cloud gespeichert und verarbeitet und über virtuelle Maschinen abgerufen, um verschiedene Modellkomponenten zu trainieren. Der RaBid-Kern arbeitet jedoch in Echtzeit, in nur wenigen Millisekunden. Die Implementierung erfolgte über TensorFlow, ein lizenzfreies KI-System für maschinelles Lernen, das es uns ermöglicht, hauptsächlich in Python zu programmieren. Neben dem Algorithmus des Modells sind auch alle relevanten Eingabedaten in das TensorFlow-Modell integriert (weitere Informationen und Einblicke findest du in unserem TechBlog von Team Siggi).

Wir haben viele Ideen für weitere Verbesserungen und implementieren derzeit einen Test-and-Learn-Ansatz für weitere Entwicklungen. Wir sehen RaBid als ein Produkt, das in AB-Tests ständig herausgefordert werden kann und wird, um unser Geschäft kontinuierlich zu verbessern.

Fazit

Zusammenfassend lässt sich sagen, dass RaBid ein Ensemble von Modellen zur Vorhersage des optimalen Gebotsniveaus und zur Zuordnung des besten Inhalts einer Kampagne zu einem Nutzer und Kontext in Echtzeit ist. Ein früheres Batch-basiertes System stieß an zu viele Grenzen, so dass die Idee von RaBid geboren wurde.

Der größte Vorteil von RaBid ist seine Flexibilität, seine Effizienz und sein schneller Entscheidungsprozess. Display-Werbung erfordert ein System, das sich an schnelle Marktveränderungen anpassen kann. In weniger als 20 Millisekunden liefert RaBid die besten verfügbaren Inhalte basierend auf den Interessen der Nutzer und den bisherigen Budgetausgaben. Darüber hinaus ist RaBid in der Lage, unter Berücksichtigung von Marktbeobachtungen, Zeit und Website-Kontext, das beste Gebot zu berechnen, um die Gewinnwahrscheinlichkeit zu maximieren. Außerdem ist es uns gelungen, die Betriebskosten erheblich zu senken!

Nach dem vielversprechenden Start von RaBid haben wir und unsere Stakeholder viele Ideen für weitere Verbesserungen, darunter eine detailliertere Content-Affinität, eine Optimierung auf der Grundlage zusätzlicher KPIs und eine ideale Budgetverteilung über mehrere Tage. Zunächst werden wir jedoch die Implementierung des AB-Testsystems abschließen, um sicherzustellen, dass die richtigen Entscheidungen getroffen werden. Unserer Erfahrung nach unterscheiden sich die Verhaltensweisen unserer Nutzer und des Display-Marktes überraschend stark von den Annahmen der Experten, so dass wir mit Hilfe dieser Tests die Lösung mit den größten positiven Auswirkungen für OTTO finden können.

Derzeit ist RaBid bereits für www.otto.de und andere Webseiten der Gruppe sowie für Apps live. Obwohl wir offsite gestartet sind, nutzen immer mehr Kampagnen unser System auf www.otto.de. Außerdem kann RaBid ein und dieselbe Kampagne in beiden Umgebungen, Offsite und Onsite, optimieren. Darüber hinaus kann RaBid potenziell auch in anderen Marketingkanälen wie E-Mail eingesetzt werden.

Wir hoffen, dir einen interessanten Einblick in die Welt der Display-Werbung gegeben zu haben! Abschließend geben wir zu, dass dieser Blogpost wahrscheinlich eine Werbung für RaBid war - aber wir freuen uns wirklich, dass du ihn angeklickt hast B) :)


Möchtest du Teil des Teams werden?

1 Person gefällt das

0Noch keine Kommentare

Dein Kommentar
Antwort auf:  Direkt auf das Thema antworten

Geschrieben von

Team Nautik
Team Nautik
Developer Team @OTTO

Ähnliche Beiträge

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Cookies erlauben?

OTTO und drei Partner brauchen deine Einwilligung (Klick auf "OK") bei einzelnen Datennutzungen, um Informationen auf einem Gerät zu speichern und/oder abzurufen (IP-Adresse, Nutzer-ID, Browser-Informationen).
Die Datennutzung erfolgt für personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen sowie um Erkenntnisse über Zielgruppen und Produktentwicklungen zu gewinnen. Mehr Infos zur Einwilligung gibt’s jederzeit hier. Mit Klick auf den Link "Cookies ablehnen" kannst du deine Einwilligung jederzeit ablehnen.

Datennutzungen

OTTO arbeitet mit Partnern zusammen, die von deinem Endgerät abgerufene Daten (Trackingdaten) auch zu eigenen Zwecken (z.B. Profilbildungen) / zu Zwecken Dritter verarbeiten. Vor diesem Hintergrund erfordert nicht nur die Erhebung der Trackingdaten, sondern auch deren Weiterverarbeitung durch diese Anbieter einer Einwilligung. Die Trackingdaten werden erst dann erhoben, wenn du auf den in dem Banner auf otto.de wiedergebenden Button „OK” klickst. Bei den Partnern handelt es sich um die folgenden Unternehmen:
Google Inc., Meta Platforms Ireland Limited, elbwalker GmbH
Weitere Informationen zu den Datenverarbeitungen durch diese Partner findest du in der Datenschutzerklärung auf otto.de/jobs. Die Informationen sind außerdem über einen Link in dem Banner abrufbar.