Bei der Personalisierung wird maschinelles Lernen eingesetzt, insbesondere ein kontextbezogener Multi-Armed Bandit-Algorithmus, um das optimale Angebot für einzelne Nutzer zu ermitteln und so ein Ziel zu erreichen. 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 Begriff „mehrarmiger Bandit“ ist eine Metapher, die die Situation beschreibt, in der wir aus einer Liste von mehreren Pfaden kontinuierlich den Pfad auswählen möchten, der die höchsten und zuverlässigsten Belohnungen bietet. Zur Veranschaulichung können Sie die Metapher eines Glücksspielers vor einer Reihe von Spielautomaten verwenden, die oft umgangssprachlich als „einarmiger Bandit“ bezeichnet werden, da ein Spielautomat einen Hebel (oder Arm) hat und Ihr Geld nimmt. Da wir mehrere „Arme“ berücksichtigen möchten, wird aus dem einarmigen Banditen ein mehrarmiger Bandit.
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 immer den Arm auswählen, der die meisten Belohnungen eingebracht hat. Das ist ein greedy-Algorithmus: Die Option, die beim ersten Versuch das beste Ergebnis liefert, wird immer wieder ausgewählt. Wir wissen aber, dass das nicht immer funktioniert. Zum einen könnte die hohe Belohnung ein Zufall sein. Vielleicht gibt es auch einen nutzerspezifischen Kontext, der in diesem Zeitraum zu höheren Prämien geführt hat, die später nicht mehr so effektiv wären.
Deshalb wird Kontext hinzugefügt, um den Algorithmus effektiver zu machen. Bei der Remote Config-Personalisierung ist dieser anfängliche Kontext eine zufällige Stichprobe oder Unsicherheit, die für etwas Entropie im Test sorgt. Hier wird ein kontextbezogener Multi-Armed Bandit implementiert. Während des Tests werden durch kontinuierliche Analyse und Beobachtung zusätzliche Informationen darüber gewonnen, welche Testgruppen am wahrscheinlichsten eine Belohnung für das Modell generieren. So wird das Modell effektiver.
Was bedeutet das für meine App?
Überlegen Sie, was ein Multi-Armed Bandit-Algorithmus im Kontext Ihrer App bedeutet. Nehmen wir an, Sie optimieren für Banneranzeigenklicks. In diesem Fall sind die „Arme“ der Personalisierung die alternativen Werte, die Sie angeben, um die verschiedenen Banneranzeigen darzustellen, die Nutzern präsentiert werden sollen. Der Banneranzeigenklick ist die Belohnung, die als Zielvorhaben bezeichnet wird.
Wenn Sie eine Personalisierung zum ersten Mal starten, weiß das Modell nicht, mit welchem alternativen Wert sich Ihr Zielvorhaben für die einzelnen Nutzer mit größerer Wahrscheinlichkeit erreichen lässt. Bei der Personalisierung wird jeder alternative Wert untersucht, um die Wahrscheinlichkeit zu ermitteln, dass Ihr Ziel erreicht wird. Das zugrunde liegende Modell wird dadurch immer besser informiert und kann die optimale Nutzererfahrung für jeden Nutzer vorhersagen und auswählen.
Für die Personalisierung wird ein Zeitfenster für die Stickiness von 24 Stunden verwendet. Das ist die Zeit, die der Personalisierungsalgorithmus für die Untersuchung eines einzelnen alternativen Werts benötigt. Sie sollten genügend Zeit einplanen, um jede alternative Personalisierung mehrmals zu testen (in der Regel etwa 14 Tage). Im Idealfall können Sie sie dauerhaft ausführen lassen, damit sie sich kontinuierlich verbessern und anpassen können, wenn sich Ihre App und das Nutzerverhalten ändern.
Zusätzliche Messwerte erfassen
Mit der Remote Config-Personalisierung können Sie auch bis zu zwei zusätzliche Messwerte erfassen, um Ihre Ergebnisse in den richtigen Kontext zu setzen. Angenommen, Sie haben eine Social-Media-App entwickelt und verschiedene alternative Werte festgelegt, um Nutzer dazu anzuregen, Inhalte mit Freunden zu teilen und so die allgemeine Interaktion zu steigern.
In diesem Fall können Sie die Optimierung auf ein Analytics-Ereignis wie
link_received ausrichten und die beiden Messwerte auf user_engagement und
link_opened festlegen, um zu sehen, ob das Nutzer-Engagement und die Anzahl der Links, die der Nutzer öffnet, steigen (echtes Engagement) oder sinken (möglicherweise zu viele Spam-Links).
Diese zusätzlichen Messwerte werden zwar nicht in den Personalisierungsalgorithmus einbezogen, Sie können sie aber direkt neben Ihren Personalisierungsergebnissen im Blick behalten. So erhalten Sie wertvolle Informationen dazu, inwieweit die Personalisierung dazu beitragen kann, Ihre Gesamtziele zu erreichen.
Ergebnisse der Personalisierung nachvollziehen
Nachdem eine Personalisierung lange genug ausgeführt wurde, um Daten zu erfassen, können Sie die Ergebnisse ansehen.
So rufen Sie die Ergebnisse der Personalisierung auf:
Rufen Sie in der Firebase Console die Seite DevOps & Engagement > Remote Config > Personalisierungen auf.
Wählen Sie die Personalisierung aus, die Sie sehen möchten. Sie können nach der jeweiligen Personalisierung anhand des Namens oder Zielvorhabens suchen und nach Name, Startzeit oder Gesamtergebnissteigerung sortieren.
Auf der Ergebnisseite wird die Gesamtsteigerung zusammengefasst, also der prozentuale Leistungsunterschied, der durch die Personalisierung im Vergleich zur Baseline-Gruppe erzielt wird.
Auf der Ergebnisseite werden auch der aktuelle Status der Personalisierung, die Attribute der Personalisierung und ein interaktives Diagramm angezeigt, das:
Hier sehen Sie eine detaillierte tägliche und zusammenfassende Ansicht der Leistung der Personalisierung im Vergleich zur Baseline.
Hier sehen Sie, 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 ausgeführt werden. Sie können die Ergebnisseite weiterhin aufrufen, um die Leistung zu beobachten. Der Algorithmus lernt und passt sich kontinuierlich an, damit er sich an Änderungen im Nutzerverhalten anpassen kann.
Löschen der Personalisierung
Sie können eine Personalisierung über die Firebase-Konsole löschen oder einen Personalisierungsparameter aus Ihrer Vorlage entfernen. Verwenden Sie dazu die Firebase Remote Config API. Gelöschte Anpassungen können nicht wiederhergestellt werden. Weitere Informationen zur Datenaufbewahrung finden Sie unter Datenlöschung.
Sie können Personalisierungen auch löschen, indem Sie sie rückgängig machen 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-Konsole oder roll back über die Firebase Remote Config API.
Wenn Sie eine Personalisierung löschen und zu einer vorherigen Vorlage zurückkehren, 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 dem Tab „Parameter“ der Seite Remote Config bearbeiten.
Importe
Wenn Sie eine Vorlage importieren, die Ihre aktuellen Personalisierungen nicht mehr enthält, werden diese Personalisierungen auch gelöscht. Wenn Sie eine Vorlage importieren möchten, verwenden Sie die Firebase Console oder die Remote Config REST API.
Nächste Schritte
Remote Config-Personalisierung anwenden
Erste Schritte mit der Personalisierung von Remote Config.