Skip to content

Digital Analytics Blog

von Marcus Stade

Menu
Menu

h2o Machine Learning: Individuelle Vorhersage für die „next best activity“ – Teil 1

Posted on 8. Juli 201921. Juli 2019 by mstade

Die Erfassung der User-Journey kann nicht nur zur Attribution von Conversions und Budgetallokation genutzt werden. Insbesondere die Vorhersage des nächsten Kontaktpunktes in der individuellen User-Journey ist wertvoll, um die Wahrscheinlichkeit einer Conversion zu erhöhen. Neuronale Netzwerke eignen sich hierfür. h2o liefert die passende Werkzeuge.

Vorhersage-Modell trainieren

Als Erstes benötigen wir ein Datenset für das Training des Neuronalen Netzwerks. Um das Modell übersichtlich zu halten, beschränken wir uns auf max. 4 Kontaktpunkte mit Marketing-Kanälen. In dem Model existieren folgende Marketing-Kanälen:

  • Mailing – Postversand von Katalog
  • Social – Social Media Posts
  • Search – Suchmaschinen
  • Newsletter – Versand von Newslettern
  • Voucher – Verteilung von Gutscheinen
  • Display – Bannerwerbung
  • None – Kein Kontaktpunkt (wird zum Auffüllen verwendet, falls kein Kontaktpunkt vorhanden)

Die User-Journeys werden dann den Kategorien „Buyer“ (wenn die User-Journey zu einem Verkauf führt) und „Non-Buyer“ (wenn kein Kauf durch die User-Journey initiiert wurde). Damit ergibt sich folgendes Schema für die Trainingsdaten:

1. Interaction 2. Interaction 3. Interaction 4. Interaction Classification
SocialVoucherSocialMailingBuyer
SocialVoucherSearch Newsletter Non-Buyer
Search NewsletterSocialSearch Buyer
DisplayNewsletterNewsletterNone Buyer
DisplayDisplay Newsletter SearchNon-Buyer

Für die Modellbildung werden insgesamt 2100 User-Journeys (1176 Non-Buyer, 924 Buyer) verwendet. Für eine Produktivnutzung sollten allerdings deutlich mehr Daten vorliegen, da sich nicht auf die 4 Kontaktpunkte und oftmals auch nicht auf die aufgezählten Marketing-Kanäle beschränkt werden kann.

Nun müssen diese Daten in ein Modell umgewandelt werden. Dazu wird h2o, ein AI Framework für R und Python, genutzt. In diesem Fall verwende ich R, R Studio und die Daten im CSV Format.

csv-input
Die Trainingsdaten im CSV Format

h2o installieren und starten

install.packages("h2o")
libary(h2o)
h2o.init(nthreads=-1)

h2o Modell erstellen und testen

data<-h2o.importFile("userjourney.txt") // Einlesen des User-Journeys
datasplit<-h2o.splitFrame(data,0.7)
modell<-parts[[0]]
validation<-parts[[1]]
y<-C5
x<-setdiff(names(modell), y)
m<-h2o.deeplearning(x,y,modell) // Erstellt das Modell
h2o.performance(m, test) // Testet die Vorhersage gegen die Testdaten

(Quellcode basierend / mehr Informationen: https://www.rdocumentation.org/packages/h2o/versions/3.24.0.5/topics/h2o.deeplearning )

h2p performance test
Ausgabe der Performance Messung

Vorhersage der „next best activity“

Auch wenn das Modell nicht alles richtig vorhersagt, ist die Abweichugn doch vertretbar.

h2o prediction rate
Fehlerrate des Modells bei den Testdaten

Daher wollen wir es nutzen, um bei einer konkreten User-Journey mit 3 Kontaktpunkten die „next best activity“ vorherzusagen. Dafür nehmen wir die bisherige User-Journey und reichern diese um den 4 Kontaktpunkt an. Natürlich können wir nicht jeden Kontaktpunkte kontrollieren. Beispielsweise bringt der Kontaktpunkt Display als Vorhersage nicht viel, da es nicht unserer Kontrolle unterliegt, ob genau dieser User die Anzeige beim surfen sieht. Nehmen wir also an, die folgenden Kontaktpunkte können kontrolliert werden:

  • Newsletter
  • Mailing
  • Search
  • Voucher

Hierfür wird ein Dataframe erstellt, der alle Kombinationen der bisherigen User-Journey und der kontrollierbaren Kontaktpunkte enthält, also

h2o-prediction-user-journey
User-Journey mit den möglichen nächsten Kontaktpunkten

Dieses wird als CSV Datei eingelesen:

datapred<-h2o.importFile("uj-prediction.txt")
pred<-h2o.predict(m, datapred) // Vorhersage mit dem Modell m

Das Ergebnis zeigt, das ein Mailing ungeeignet ist und der Voucher mit der höchsten Wahrscheinlichkeit dazu führen kann, das ein User nach dem 4. Kontaktpunkt kauft.

h2o-prediction-results
Vorhersage der Wirkung der nächsten möglichen Kontaktpunkte

Fazit

Dieses oberflächliche Detail ist ein erster Schritt um das Zusammenspiel von Marketing-Kanäle nicht nur zu analysieren, sondern aktiv diese auf individueller User-Journey Basis zu gestalten. Im nächsten Teil wird dieses Modell verfeinert.

1 thought on “h2o Machine Learning: Individuelle Vorhersage für die „next best activity“ – Teil 1”

  1. Pingback: BP 2.27: Trakken Trend Studie 2019 Podcast

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Keep in Touch

Supporter: InPignus GmbH

ImPignus

mohrstade

mohrstade.de

Analytics Pioneers

Schlagwörter

App+Web App-Tracking Basic Big Query Customer Data Platform DataQuality DataStudio Events Google Analytics für Firebase ITP Machine Learning Property PWA Quick-Tipp User-Journey Wordpress Überblick

Podcast Empfehlung:

beyond pageview

Neueste Beiträge

  • Tag Management Platform: Commanders Act Platform X – DataCollection (Teil 2)
  • Tag Management Platform: Übersicht (Teil 1)
  • IP und User Agent Identifier: Nachteile
  • GA4 Recipes: Machine Learning Features für Predictive Audiences in anderen Tools nutzen, am Beispiel von Tealium AudienceStream
  • Quick Tipp: GA4 Configuration Tag vs. Universal Analytics Setting Variable – Sequence matters

Kategorien

  • Allgemein
  • Cloud
  • Dashboard
  • Firebase Analytics
  • Google Analytics
  • Google Analytics 4 (App+Web)
  • Google Optimize
  • Google Tag Manager
  • Machine Learning
  • Matomo
  • Tag Management

Links

  • Datenschutzerklärung
  • Hear Me Speak
  • Impressum
  • Meet & Eat
  • Über den Blog
©2023 Digital Analytics Blog | Built using WordPress and Responsive Blogily theme by Superb