In dieser Anleitung wird erklärt, wie Sie mit BigQuery ML verschiedene Arten von Neigungsmodellen trainieren, bewerten und daraus Vorhersagen abrufen. Mithilfe von Neigungsmodellen können Sie die Wahrscheinlichkeit bestimmen, mit der bestimmte Nutzer zu Ihrer App zurückkehren. Diese Informationen können Sie dann für Marketingentscheidungen verwenden.
Übersicht
Wenn Sie Spieleentwickler für Mobilgeräte sind, stellt Nutzerbindung wahrscheinlich eine Ihrer Herausforderungen dar. Laut der Analyse der Mobile Gaming Industry aus dem Jahr 2019 zeigen die meisten Spiele für Mobilgeräte nur eine Nutzerbindung von 25 % nach dem ersten Tag. Wenn Sie danach einen größeren Prozentsatz der Nutzer behalten möchten, können Sie Maßnahmen ergreifen, um die Nutzer zu motivieren und Anreize für sie zu schaffen, die am wahrscheinlichsten zurückkehren. Wenn Sie diese Nutzer gezielt ansprechen möchten, müssen Sie ermitteln, wie geneigt ein bestimmter Nutzer ist, nach den ersten 24 Stunden zu Ihrem Spiel zurückzukehren. Wenn Sie andere Arten von Onlineanwendungen entwickeln, die die Minimierung der Abwanderung von Zielgruppen priorisieren, sollte dieser Ansatz auch für Sie funktionieren.
Mit diesem Notebook können Sie den in diesem Artikel beschriebenen Ansatz implementieren.
In diesem Artikel wird eine allgemeine Herangehensweise an Neigungsmodelle erläutert. Dazu gehören:
- Gaming-Daten vorbereiten, damit sie zum Trainieren eines Modells für maschinelles Lernen (ML-Modell) verwendet werden können
- Art des Neigungsmodells auswählen, das verwendet werden soll
- Modell trainieren und evaluieren
- Vorhersagen aus dem Modell abrufen
- Vorhersagedaten für die Verwendung in Marketingkampagnen exportieren
Zielgruppe
Diese Lösung ist für Entwickler von Onlineanwendungen vorgesehen, insbesondere für Spieleentwickler. Es wird dabei davon ausgegangen, dass Sie über Grundkenntnisse zu folgenden Themen verfügen:
- Konzepte für maschinelles Lernen
- Standard-SQL
Beispiel-Dataset
Die Lösung verwendet das öffentliche Dataset firebase-public-project.analytics_153293282.events_20181003. Dieses Dataset enthält Google Analytics 4-Daten (GA4) aus einer echten Spiele-App mit dem Namen „Flood It!“. Dieses Dataset enthält 5,7 Millionen Ereignisse von über 15.000 Nutzern.
GA4 verwendet ein ereignisbasiertes Messmodell. Jede Zeile in diesem Dataset ist ein eindeutiges Ereignis, das verschachtelte Felder für Ereignisparameter enthält. Weitere Informationen zur Struktur der Daten finden Sie im Schema für BigQuery Export.
Google Analytics-Daten für BigQuery exportieren
Wenn Sie anstelle der Beispieldaten Ihre eigenen Daten aus einem GA4-Property verwenden möchten, folgen Sie der Anleitung unter (GA4) BigQuery Export einrichten, um Ihre Daten zu exportieren.
Daten verarbeiten
Sie müssen die Ereignisdaten verarbeiten, damit sie in die richtige Form und im richtigen Format passen, um sie als Trainingsdaten zu verwenden. Mit der Verarbeitung der Daten werden die folgenden Ziele erreicht:
- Nutzer herausfiltern, die wahrscheinlich nicht zur App zurückkehren
- Erstellt Funktionen für demografische Daten von Nutzern
- Erstellt Features für Nutzerverhalten
Mit einer Kombination aus demografischen Daten und Verhaltensdaten lässt sich ein Vorhersagemodell erstellen.
Nach der Verarbeitung stellt jede Zeile die Trainingsdaten für einen einzelnen Nutzer dar, der durch die Spalte user_pseudo_id
identifiziert wird.
Labeling-Nutzer
Zur Verarbeitung der Daten fügen Sie Datensätzen Label hinzu, um Nutzer zu identifizieren, die wahrscheinlich nicht zur App zurückkehren. In dieser Lösung kennzeichnen Sie Datensätze mit Labels, um sie anhand der Interaktion mit der App zu kategorisieren.
Zuerst filtern Sie Nutzer heraus, die bei ihrer ersten Nutzung die App weniger als 10 Minuten verwendet haben. Kennzeichnen Sie diese Nutzer als bounced (abgesprungen).
Anschließend versehen Sie die verbleibenden Nutzer mit dem Label abgewandert, wenn nach 24 Stunden nach der ersten Interaktion mit der Anwendung keine Ereignisdaten für den Nutzer vorliegen, oder als zurückgekehrt, wenn nach 24 Stunden nach der ersten Nutzung der App mindestens ein Ereigniseintrag vorliegt. Das Modell verwendet diese Labels während des Trainings, um zu lernen, mit welcher Wahrscheinlichkeit ein Nutzer in eine der beiden Kategorien fällt. Mit dem trainierten Modell können Sie dann die Wahrscheinlichkeit für bestimmte Nutzer vorhersagen.
Wenn Sie einen anderen Anwendungsfall haben, können Sie verschiedene Kriterien verwenden, um abgesprungene oder abgewanderte Kunden zu identifizieren. Wenn Sie etwas anderes als die Zielgruppenabwanderung vorhersagen möchten, können Sie beispielsweise Folgendes in Betracht ziehen:
- Ob ein Nutzer wahrscheinlich Geld für In-Game-Währung ausgeben wird
- Die Wahrscheinlichkeit, dass der Nutzer n Level im Spiel absolvieren wird
- Die Wahrscheinlichkeit, dass der Nutzer n Zeit im Spiel verbringt
Demografische Merkmale verarbeiten
Der nächste Schritt bei der Datenverarbeitung ist das Hinzufügen von Features für demografische Merkmale von Nutzern. Für diese Lösung werden die folgenden Felder als demografische Merkmale verwendet:
geo.country
device.operating_system
device.language
Sie können jedoch andere Felder auswählen, wenn diese für Ihren Anwendungsfall besser geeignet sind.
Ein Nutzer kann in diesen Feldern mehrere eindeutige Werte haben. Dies ist beispielsweise der Fall, wenn ein Nutzer die Anwendung von zwei verschiedenen Geräten aus verwendet. Zur Vereinfachung werden in dieser Lösung die Werte aus dem ersten Nutzerinteraktionsereignis verwendet.
Verhaltensmerkmale verarbeiten
Der letzte Schritt bei der Datenverarbeitung besteht darin, Verhaltensmerkmale hinzuzufügen.
Um das Nutzerverhalten aus den Daten zu extrahieren, analysiert die Lösung die Aktivitäten jedes Nutzers in den ersten 24 Stunden des Nutzer-Engagements. Zusätzlich zu den von Analytics automatisch erfassten Ereignissen gibt es auch die empfohlenen Ereignisse für Spiele, die Sie sich ansehen sollten, um das Nutzerverhalten zu verstehen. Um die Nutzerabwanderung vorherzusagen, zählt die Lösung, wie oft die folgenden Ereignisse für jeden Nutzer innerhalb von 24 Stunden nach dem ersten Nutzer-Engagement erfasst werden:
user_engagement
level_start_quickplay
level_end_quickplay
level_complete_quickplay
level_reset_quickplay
post_score
spend_virtual_currency
ad_reward
challenge_a_friend
completed_5_levels
use_extra_steps
Sie können verschiedene Ereignissätze verwenden, wenn sich Ihr Anwendungsfall von dem hier beschriebenen unterscheidet. Verwenden Sie die folgende Abfrage, um die verfügbaren Ereignisse aufzurufen:
SELECT
event_name,
COUNT(event_name) as event_count
FROM
firebase-public-project.analytics_153293282.events_*
GROUP BY 1
ORDER BY
event_count DESC
Modell auswählen
Sobald die Trainingsdaten vorbereitet sind, können Sie ein ML-Modell erstellen. Für das Modell stehen verschiedene Klassifizierungsalgorithmen zur Auswahl. In der folgenden Tabelle sind die Modelltypen und ihre Vor- und Nachteile aufgeführt:
Modell | model_type | Vorteile | Nachteile |
---|---|---|---|
Logistische Regression | LOGISTIC_REG |
Schnelleres Training als bei anderen Modelltypen | Bietet möglicherweise nicht die beste Leistung |
XGBoost | BOOSTED_TREE_CLASSIFIER |
|
Langsameres Training als beim Modell LOGISTIC_REG |
Neuronale Deep-Learning-Netzwerke | DNN_CLASSIFIER |
Höhere Leistung als bei einem LOGISTIC_REG -Modell |
Langsameres Training als beim Modell LOGISTIC_REG |
AutoML Tables | AUTOML_CLASSIFIER |
Höhere Leistung als bei einem LOGISTIC_REG -Modell |
|
In dieser Lösung wird standardmäßig ein logistisches Regressionsmodell verwendet, da es am schnellsten trainiert werden kann. Im Notebook können Sie jedoch auch einen der anderen Modelltypen verwenden.
Modell trainieren
Trainieren Sie das Klassifizierungsmodell mit BigQuery ML. Das trainierte Modell gibt eine Neigungspunktzahl aus, die die Wahrscheinlichkeit einer Nutzerabwanderung angibt. Eine Abwanderungswahrscheinlichkeit von 100 % wird durch churned
=1 und eine Wahrscheinlichkeit von 100 % durch churned
=0 angegeben, wobei die meisten Ergebnisse zwischen diesen Grenzen liegen.
Wenn Sie die Anweisung CREATE MODEL
verwenden, teilt BigQuery ML die Trainingsdaten automatisch in ein Trainings-Dataset und ein Test-Dataset auf. So können Sie das Modell nach Abschluss des Trainings bewerten, um die Genauigkeit zu überprüfen.
Die folgende Abfrage zeigt die Anweisung CREATE OR REPLACE MODEL
zum Trainieren des Modells:
CREATE OR REPLACE MODEL bqmlga4.churn_logreg
TRANSFORM(
EXTRACT(MONTH from user_first_engagement) as month,
EXTRACT(DAYOFYEAR from user_first_engagement) as julianday,
EXTRACT(DAYOFWEEK from user_first_engagement) as dayofweek,
EXTRACT(HOUR from user_first_engagement) as hour,
* EXCEPT(user_first_engagement, user_pseudo_id)
)
OPTIONS(
MODEL_TYPE="LOGISTIC_REG",
INPUT_LABEL_COLS=["churned"]
) AS
SELECT
*
FROM
Bqmlga4.train
Diese Abfrage extrahiert die Werte month
, julianday
und dayofweek
aus den Spalten datetime
und timestamp
als Beispiel für eine zusätzliche Feature-Vorverarbeitung, die Sie vor dem Training ausführen können. Mit der Funktion TRANSFORM()
in der Abfrage CREATE MODEL
kann das Modell die extrahierten Werte beibehalten. Wenn Sie dieses Modell für Vorhersagen verwenden, müssen diese Werte dann nicht noch einmal extrahiert werden.
Im Notebook finden Sie Beispiele zum Trainieren von XGBoost-Modellen, neuronalen Deep-Learning-Netzwerk-Modellen und AutoML Tables-Modellen.
Modell bewerten
Wenn das Training des Modells abgeschlossen ist, können Sie es bewerten, um die Leistung zu ermitteln.
Diese Lösung verwendet die Anweisung ML.EVALUATE
, um die Messwerte
precision,
recall,
accuracy
und f1_score
für das Modell zu generieren. Wenn Sie mehrere Modelle trainieren und anschließend deren Bewertungsmesswerte vergleichen, können Sie entscheiden, welches Modell für Ihre Daten am besten geeignet ist.
Diese Lösung verwendet auch eine Wahrheitsmatrix, um zu prüfen, wie gut das Modell die Labels im Vergleich zu den tatsächlichen Labels vorhergesagt hat. Die Konfusionsmatrix wird mit dem Standardschwellenwert von 0,5 erstellt, den Sie möglicherweise anpassen müssen, um die Trefferquote, die Präzision oder einen Saldo von beiden zu optimieren. Mit dem optionalen Parameter THRESHOLD
können Sie den Standardschwellenwert ändern.
Vorhersagen abrufen
Sobald das Modell trainiert und bewertet wurde, können Sie damit Vorhersagen abrufen.
Die Lösung verwendet die Anweisung ML.PREDICT
, um Vorhersagen vom Modell anzufordern.
Bei Neigungsmodellen gibt die Vorhersageausgabe die Wahrscheinlichkeit eines Verhaltens an. Je näher die vorhergesagte Wahrscheinlichkeit an 1 liegt, desto wahrscheinlicher ist es, dass der Nutzer zurückkehrt. Je näher die vorhergesagte Wahrscheinlichkeit an 0 liegt, desto wahrscheinlicher ist es, dass der Nutzer abwandert.
Vorhersagen exportieren
Sobald Sie Vorhersagen vom Modell haben, können Sie diese Daten für die Marketingaktivierung verwenden. Häufig werden die Daten zur Verwendung in Analytics oder Firebase exportiert.
Vorhersagen in Google Analytics verwenden
Sie können Vorhersagedaten für Marketingkampagnen in Analytics verwenden. Sie können die Modellvorhersagen mithilfe des Datenimport-Features für Google Analytics 4 wieder in Analytics als Nutzerattribut importieren. Basierend auf den Vorhersagewerten können Sie Zielgruppen erstellen und bearbeiten und Zielgruppen-Targeting verwenden. Sie können beispielsweise eine Zielgruppe basierend auf Nutzern mit Vorhersagewahrscheinlichkeiten zwischen 0,4 und 0,7 definieren. Diese Werte werden möglicherweise nicht selbst zurückgegeben, können aber Anreize bieten.
Vorhersagen in Firebase verwenden
Für Firebase-Anwendungen können Sie die Funktion Segmente importieren verwenden, um Vorhersagedaten zu importieren. Anhand dieser Daten können Sie die Nutzererfahrung anpassen, indem Sie Ihre identifizierten Nutzer über Firebase-Dienste wie Remote Config, Cloud Messaging und In-App-Messaging. Auf diese Weise können Sie z. B. Benachrichtigungen an Nutzer senden, die App für Nutzer konfigurieren und Nutzerverhalten auf verschiedenen Geräten verfolgen.
Kontinuierliche Modellbewertung
Je mehr Daten von Ihren Nutzern generiert werden, desto öfter sollten Sie Ihr Modell basierend auf neuen Daten prüfen und das Modell neu trainieren, wenn Sie feststellen, dass die Modellqualität sinkt.
Dieser Prozess, bei dem sichergestellt wird, dass ein ML-Produktionsmodell weiterhin mit neuen Daten funktioniert, wird als kontinuierliche Evaluierung bezeichnet und ist ein wesentlicher Bestandteil jedes ML-Workflows. Durch die kontinuierliche Evaluierung können Sie die Modellabweichung steuern. Dieses Phänomen tritt auf, wenn die Daten, die zum Trainieren des Modells verwendet werden, nicht mehr den Daten entsprechen, die Sie zum Anfordern von Vorhersagen verwenden.
Weitere Informationen zum Ausführen einer kontinuierlichen Modellevaluierung finden Sie unter Kontinuierliche Modellevaluierung mit BigQuery ML, gespeicherten Verfahren und Cloud Scheduler.
Nächste Schritte
- Erste Schritte mit der Notebook-Lösung.
- Weitere Informationen zum BigQuery-Export von Google Analytics-Daten
- Ereignisse, die automatisch von Google Analytics 4 erfasst werden
- Weitere Informationen zum Erstellen von Nachfrageprognosemodellen mit BigQuery ML
- Empfehlungssystem für BigQuery-E-Commerce-Daten erstellen