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.

Verwenden Sie dieses Notebook, um den in diesem Artikel beschriebenen Ansatz zu implementieren.

In diesem Artikel wird eine allgemeine Herangehensweise an Neigungsmodelle erläutert. Dazu gehören:

  • Gamingdaten vorbereiten, damit sie zum Trainieren eines ML-Modells verwendet werden können
  • Art des Neigungsmodells auswählen, das verwendet werden soll
  • Modell trainieren und bewerten
  • Vorhersagen aus dem Modell abrufen
  • Vorhersagedaten zur Verwendung in Marketingkampagnen exportieren

Zielgruppe

Die Lösung richtet sich an Entwickler von Online-Anwendungen, insbesondere Entwickler von Spielen für Mobilgeräte. 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 (GA4)-Daten aus einer echten Spiele-App für Mobilgeräte namens "Flood It!". Dieses Dataset enthält 5,7 Millionen Ereignisse von mehr als 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 unter 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 bearbeiten, um sie in die für Trainingsdaten richtige Form und das richtige Format zu bringen. Die Datenverarbeitung umfasst folgende Ziele:

  • Nutzer herausfiltern, die wahrscheinlich nicht zur App zurückkehren
  • Funktionen für demografische Daten zu Nutzern erstellen
  • Funktionen für Nutzerverhaltensdaten erstellen

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).

Dann versehen Sie die verbleibenden Nutzer mit dem Label churned (abgewandert), wenn innerhalb von 24 Stunden nach der ersten Interaktion mit der App keine Ereignisdaten für den Nutzer erstellt wurden, oder mit returned (zurückgekehrt), wenn innerhalb von 24 Stunden nach der ersten Interaktion mit der App mindestens ein Ereignisdatensatz erstellt wurde. Das Modell verwendet diese Labels während des Trainings, um zu bestimmen, mit welcher Wahrscheinlichkeit ein Nutzer einer bestimmten Kategorie zuzuordnen ist. Sie können dann das trainierte Modell verwenden, um die Wahrscheinlichkeit für bestimmte Nutzer vorherzusagen.

Wenn Sie einen anderen Anwendungsfall haben, können Sie unterschiedliche Kriterien verwenden, um abgesprungene oder abgewanderte Kunden zu identifizieren. Wenn Sie etwas anderes als die Abwanderung von Nutzern vorhersagen möchten, können Sie Folgendes berücksichtigen:

  • 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 zur Datenverarbeitung besteht darin, demografische Nutzermerkmale hinzuzufügen. In dieser 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. Beispiel: Ein Nutzer verwendet die Anwendung auf zwei verschiedenen Geräten. Zur Vereinfachung verwendet diese Lösung die Werte aus der ersten Interaktion des Nutzers.

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 nach der Interaktion. Neben den von Analytics automatisch erfassten Ereignissen gibt es auch die für Spiele empfohlenen Ereignisse, die Sie sich genauer ansehen können, um das Nutzerverhalten besser zu verstehen. Damit in diesem Fall die Nutzerabwanderung vorhergesagt werden kann, zählt die Lösung, wie oft die folgenden Ereignisse für jeden Nutzer innerhalb von 24 Stunden nach der ersten Nutzerinteraktion 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 Ereignisgruppen verwenden, wenn sich Ihr Anwendungsfall von dem hier beschriebenen unterscheidet. Mit der folgenden Abfrage können Sie eine Liste der verfügbaren Ereignisse aufrufen:

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

Wenn die Trainingsdaten vorbereitet sind, können Sie ein ML-Modell erstellen. Für das Modell stehen verschiedene Klassifizierungsalgorithmen zur Verfügung. In der folgenden Tabelle sind die Modelltypen sowie deren 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 für eine Nutzerabwanderung angibt. Eine Wahrscheinlichkeit von 100 % für die Abwanderung wird durch churned=1 und eine Wahrscheinlichkeit von 100 % für die Rückkehr wird mit churned=0 angegeben. Die meisten Ergebnisse fallen zwischen diese Grenzen.

Wenn Sie die Anweisung CREATE MODEL verwenden, teilt BigQuery ML die Trainingsdaten automatisch in ein Trainings- und ein Test-Dataset ein. So können Sie das Modell nach Abschluss des Trainings bewerten und erkennen, wie genau es ist.

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 für month, julianday und dayofweek aus den Spalten datetime und timestamp. Dies stellt ein Beispiel für die Vorverarbeitung von zusätzlichen Merkmalen dar, die Sie vor dem Training durchführen können. Mit der Funktion TRANSFORM() in der Abfrage CREATE MODEL kann das Modell die extrahierten Werte beibehalten. Wenn Sie dieses Modell verwenden, um später Vorhersagen zu treffen, müssen diese Werte 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.

Bei dieser Lösung wird außerdem mithilfe einer Wahrheitsmatrix geprüft, wie gut das Modell die Labels im Vergleich zu den tatsächlichen Labels vorhergesagt hat. Die Wahrheitsmatrix wird mit dem Standardschwellenwert von 0,5 erstellt, den Sie anpassen können, um hinsichtlich Trefferquote, Genauigkeit oder einer Mischung aus beiden zu optimieren. Sie können den optionalen Parameter THRESHOLD verwenden, um den Standardschwellenwert zu ändern.

Vorhersagen abrufen

Wenn das Modell trainiert und ausgewertet 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 Vorhersagen vom Modell vorliegen, können Sie diese Daten für Marketingaktivitäten einsetzen. Eine gängige Methode hierfür ist das Exportieren der Daten zur Verwendung in Analytics oder Firebase.

Vorhersagen in Google Analytics verwenden

Sie können Vorhersagedaten für Marketingkampagnen in Analytics verwenden. Mithilfe der Datenimportfunktion für Google Analytics 4 können Sie die Modellvorhersagen wieder als Nutzerattribut in Analytics importieren. Ausgehend von 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, also eine Zielgruppe mit Nutzern, die möglicherweise nicht von selbst zurückkehren, die dazu aber motiviert werden könnten.

Vorhersagen in Firebase verwenden

Für Firebase-Anwendungen können Sie mit der Funktion Segmente importieren Vorhersagedaten importieren. Mithilfe dieser Daten können Sie die Nutzererfahrung durch die Ansprache der identifizierten Nutzer mit Firebase-Diensten wie Remote Config, Cloud Messaging und In-App-Messaging anpassen. Dadurch können Sie Nutzern beispielsweise Benachrichtigungen senden, die App für Nutzer konfigurieren und das 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, der dafür sorgt, dass ein ML-Modell in der Produktionsumgebung noch mit neuen Daten funktioniert, wird als kontinuierliche Evaluierung bezeichnet. Es ist ein wesentlicher Teil eines ML-Workflows. Eine kontinuierliche Evaluierung kann Ihnen dabei helfen, einen Modell-Drift zu erkennen. Dieses Phänomen tritt auf, wenn die Daten, die zum Trainieren Ihres Modells verwendet werden, nicht mehr die Daten widerspiegeln, 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