Remote Config-Personalisierung

Bei der Personalisierung wird maschinelles Lernen eingesetzt, genauer gesagt ein kontextbezogener Multi-Armed-Bandit-Algorithmus, um für einzelne Nutzer das optimale Angebot zu finden, mit dem ein Ziel erreicht werden kann. In unserem Fall besteht das Ziel darin, die Gesamtzahl oder den Gesamtparameterwert bestimmter Google Analytics-Ereignisse zu optimieren.

Was ist ein kontextbezogener Multi-Armed-Bandit-Algorithmus?

Der „mehrarmige Bandit“ ist eine Metapher, die eine Situation beschreibt, in der wir aus einer Liste von mehreren Pfaden kontinuierlich einen Pfad auswählen möchten, der zu den höchsten und zuverlässigsten Belohnungen führt. Zur Veranschaulichung können Sie die Metapher eines Spielers vor einer Reihe von Spielautomaten verwenden, die umgangssprachlich oft als „einarmige Banditen“ bezeichnet werden, weil ein Spielautomat einen Hebel (oder Arm) hat und Ihr Geld nimmt. Da wir mehrere „Arme“ berücksichtigen möchten, wird der einarmige Bandit zum mehrarmigen Banditen.

Angenommen, wir haben drei Optionen und möchten herausfinden, welche die zuverlässigste Belohnung bietet: Wir könnten jede Option ausprobieren und dann, nachdem wir ein Ergebnis erhalten haben, einfach den Arm auswählen, der die meisten Belohnungen gebracht hat. Dies wird als gieriger Algorithmus bezeichnet: Die Option, die beim ersten Versuch das beste Ergebnis liefert, wird auch weiterhin ausgewählt. Wir können aber verstehen, dass das nicht immer funktioniert. Zum einen könnte die hohe Belohnung ein Zufall sein. Oder vielleicht gab es einen nutzerspezifischen Kontext, der in diesem Zeitraum zu höheren Prämien geführt hat, die später nicht mehr so effektiv wären.

Daher wird Kontext hinzugefügt, um den Algorithmus effektiver zu machen. Bei der Remote Config-Personalisierung ist dieser anfängliche Kontext eine Zufallsstichprobe oder Unsicherheit, die dem Test eine gewisse Entropie verleiht. Dadurch wird ein „kontextbezogener Multi-Armed Bandit“ implementiert. Während der Test weiterläuft, werden durch die fortlaufende Erkundung und Beobachtung echte Erkenntnisse darüber gewonnen, welche Verzweigungen am wahrscheinlichsten zu einer Belohnung für das Modell führen. Dadurch wird es effektiver.

Was bedeutet das für meine App?

Überlegen Sie, was ein Spielautomatentest (Multi-Armed Bandit, MAB)-Algorithmus im Kontext Ihrer APP bedeutet. Angenommen, Sie optimieren für Anzeigenklicks auf Banneranzeigen. In diesem Fall sind die „Arme“ der Personalisierung die alternativen Werte, die Sie angeben, um die verschiedenen Banneranzeigen darzustellen, die Sie Nutzern präsentieren möchten. Der Klick auf die Banneranzeige ist die Belohnung, die als Ziel bezeichnet wird.

Wenn Sie eine Personalisierung zum ersten Mal starten, weiß das Modell nicht, welcher alternative Wert für jeden einzelnen Nutzer am wahrscheinlichsten Ihr Ziel erreicht. Bei der Personalisierung wird jeder alternative Wert untersucht, um die Wahrscheinlichkeit zu ermitteln, mit der Ihr Ziel erreicht wird. Das zugrunde liegende Modell wird dadurch immer besser informiert und kann die optimale Nutzererfahrung für jeden Nutzer besser vorhersagen und auswählen.

Für die Personalisierung wird ein Stickiness-Zeitfenster von 24 Stunden verwendet. Dies ist die Zeit, die der Personalisierungsalgorithmus für die Erkundung eines einzelnen alternativen Werts aufwendet. Sie sollten Ihren Personalisierungen genügend Zeit geben, um jeden alternativen Wert mehrmals zu testen (in der Regel etwa 14 Tage). Idealerweise sollten Sie sie dauerhaft laufen lassen, damit sie sich kontinuierlich verbessern und anpassen können, wenn sich Ihre App und das Nutzerverhalten ändern.

Zusätzliche Messwerte erfassen

Die Remote Config-Personalisierung bietet außerdem die Möglichkeit, bis zu zwei zusätzliche Messwerte zu erfassen, um Ihre Ergebnisse in einen Kontext zu setzen. Angenommen, Sie haben eine Social App entwickelt und verschiedene alternative Werte festgelegt, um Nutzer dazu zu bringen, Inhalte mit Freunden zu teilen und so die Interaktion insgesamt zu steigern.

In diesem Fall können Sie die Optimierung für ein Analytics-Ereignis wie link_received auswählen und die beiden Messwerte auf user_engagement und link_opened festlegen, um zu sehen, ob die Nutzerinteraktion und die Anzahl der von Nutzern geöffneten Links steigen (echte Interaktion) oder sinken (möglicherweise zu viele Spam-Links).

Diese zusätzlichen Messwerte werden zwar nicht im Personalisierungsalgorithmus berücksichtigt, Sie können sie aber zusammen mit Ihren Personalisierungsergebnissen im Blick behalten. So erhalten Sie wertvolle Einblicke in die Fähigkeit der Personalisierung, Ihre Gesamtziele zu erreichen.

Ergebnisse der Personalisierung verstehen

Nachdem eine Personalisierung lange genug ausgeführt wurde, um Daten zu erfassen, können Sie sich die Ergebnisse ansehen.

So rufen Sie die Ergebnisse der Personalisierung auf:

  1. Rufen Sie in der Firebase-Konsole die Seite DevOps & Engagement > Remote Config > Personalisierungen auf.

  2. Wählen Sie die Personalisierung aus, die Sie sich ansehen möchten. Sie können nach einer bestimmten Personalisierung anhand des Namens oder Ziels suchen und nach Name, Beginn oder Gesamtanstieg sortieren.

Auf der Ergebnisseite wird die Gesamtsteigerung oder der prozentuale Leistungsunterschied zusammengefasst, den die Personalisierung im Vergleich zur Baseline-Gruppe bietet.

Auf der Ergebnisseite werden auch der aktuelle Status der Personalisierung, die Attribute der Personalisierung und ein interaktives Diagramm angezeigt, das:

  • Zeigt eine detaillierte tägliche und Gesamtansicht der Leistung der Personalisierung im Vergleich zur Baseline.

  • Zeigt, wie die einzelnen Werte insgesamt in der Baseline-Gruppe abschneiden.

  • Hier werden die Zielergebnisse und die Leistung im Vergleich zu den zusätzlichen Messwerten angezeigt, die Sie ausgewählt haben. Sie können über die Tabs oben in der Zusammenfassung darauf zugreifen.

Eine Personalisierung kann unbegrenzt laufen und Sie können die Ergebnisseite immer wieder aufrufen, um die Leistung zu beobachten. Der Algorithmus lernt und passt sich weiter an, sodass er sich an Änderungen im Nutzerverhalten anpassen kann.

Informationen zum Löschen der Personalisierung

Sie können eine Personalisierung über die Firebase-Konsole löschen oder einen Personalisierungsparameter mit der Firebase Remote Config API aus Ihrer Vorlage entfernen. Gelöschte Personalisierungen können nicht wiederhergestellt werden. Informationen zur Datenaufbewahrung finden Sie unter Datenlöschung.

Sie können Personalisierungen auch löschen, indem Sie ein Rollback durchführen oder eine Vorlage importieren.

Rollbacks

Wenn Ihre aktuelle Vorlage Personalisierungen enthält und Sie ein Rollback zu einer Vorlage durchführen, die nicht dieselben Personalisierungen enthält, werden die Personalisierungen gelöscht. Wenn Sie zu einer vorherigen Vorlage zurückkehren möchten, verwenden Sie die Firebase Console oder roll back mit der Firebase Remote Config API.

Wenn Sie eine Personalisierung löschen und ein Rollback auf eine vorherige Vorlage durchführen, wird in der Firebase-Konsole ein Verweis auf diese ungültige Personalisierung angezeigt. Sie können die ungültige Personalisierung in der Firebase-Konsole entfernen, indem Sie die Personalisierung auf der Seite Remote Config auf dem Tab „Parameter“ bearbeiten.

Importe

Wenn Sie eine Vorlage importieren, die Ihre aktuellen Personalisierungen nicht mehr enthält, werden diese Personalisierungen ebenfalls gelöscht. Wenn Sie eine Vorlage importieren möchten, verwenden Sie die Firebase Console oder die Remote Config REST API.

Nächste Schritte