Neigungsmodelle für Spieleanwendungen

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
  • Höhere Leistung als bei einem LOGISTIC_REG-Modell
  • Ermöglicht die Prüfung der Merkmalwichtigkeit
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
  • Das Training kann länger dauern als bei anderen Modelltypen
  • Begrenzte Nachvollziehbarkeit des Modells

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