Damit Sie die Relevanz und Nützlichkeit Ihrer Testergebnisse maximieren können, finden Sie auf dieser Seite detaillierte Informationen zur Funktionsweise von Firebase A/B Testing.
Stichprobengröße
Firebase A/B Testing Inferenz erfordert nicht die Identifizierung einer Mindeststichprobengröße vor dem Start eines Experiments. Im Allgemeinen sollten Sie die größte Testgruppe auswählen, mit der Sie sich wohlfühlen. Bei größeren Stichprobengrößen ist die Wahrscheinlichkeit höher, ein statistisch signifikantes Ergebnis zu erzielen, insbesondere wenn die Leistungsunterschiede zwischen den Varianten gering sind. Sie können auch einen Online-Stichprobenrechner verwenden, um die empfohlene Stichprobengröße basierend auf den Merkmalen Ihres Tests zu ermitteln.
Tests bearbeiten
Sie können ausgewählte Parameter laufender Tests bearbeiten, darunter:
- Testname
- Beschreibung
- Ausrichtungsbedingungen
- Variantenwerte
So bearbeiten Sie einen Test:
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B Testing auf.
- Öffnen Sie die Ergebnisseite für den Test, den Sie ändern möchten.
- Wählen Sie im Menü Mehr die Option Laufenden Test bearbeiten aus.
- Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Veröffentlichen.
Wenn Sie das Verhalten der App während eines laufenden Tests ändern, kann sich das auf die Ergebnisse auswirken.
Logik für die Zuweisung von Remote Config-Varianten
Nutzer, die alle Ausrichtungsbedingungen des Tests erfüllen (einschließlich der Bedingung für den prozentualen Anteil ), werden den Testvarianten entsprechend den Gewichtungen der Varianten und einem Hash der Test-ID und der Installations-ID des Nutzers Firebase zugewiesen.
Google Analytics Zielgruppen kann es zu Latenzen kommen. Sie sind nicht sofort verfügbar, wenn ein Nutzer die Zielgruppenkriterien erfüllt:
- Wenn Sie eine neue Zielgruppe erstellen, kann es 24 bis 48 Stunden dauern, bis neue Nutzer hinzugefügt werden.
- Neue Nutzer werden in der Regel 24 bis 48 Stunden nach Erfüllen der Voraussetzungen in entsprechende Zielgruppen aufgenommen.
Für zeitkritische Ausrichtung sollten Sie die Verwendung von Google Analytics Nutzer attributen oder integrierte Ausrichtungsoptionen wie Land oder Region, Sprache, und App-Version in Betracht ziehen.
Sobald ein Nutzer an einem Test teilnimmt, wird er dauerhaft der entsprechenden Testvariante zugewiesen und erhält Parameterwerte aus dem Test, solange dieser aktiv ist. Das gilt auch, wenn sich seine Nutzereigenschaften ändern und er die Targeting-Kriterien des Tests nicht mehr erfüllt.
Aktivierungsereignisse
Durch Aktivierungsereignisse für Tests werden bei der Testmessung nur App-Nutzer berücksichtigt, die das Aktivierungsereignis auslösen. Das Aktivierungsereignis für Tests hat keine Auswirkungen auf die Testparameter, die von der App abgerufen werden. Alle Nutzer, die die Targeting-Kriterien des Tests erfüllen, erhalten Testparameter. Daher ist es wichtig, ein Aktivierungsereignis auszuwählen, das auftritt, nachdem die Testparameter abgerufen und aktiviert wurden, aber bevor die Testparameter verwendet wurden, um das Verhalten der App zu ändern.
Gewichtung der Varianten
Beim Erstellen eines Tests können Sie die Standardgewichtungen der Varianten ändern, um einen größeren Prozentsatz der Testnutzer einer Variante zuzuweisen.
Testergebnisse interpretieren
Firebase A/B Testing verwendet die frequentistische Inferenz , um die Wahrscheinlichkeit zu ermitteln, dass Ihre Testergebnisse allein auf Zufall beruhen. Diese Wahrscheinlichkeit wird durch einen Wahrscheinlichkeitswert oder p-Wert dargestellt. Der p-Wert ist die Wahrscheinlichkeit, dass ein so großer oder größerer Leistungsunterschied zwischen zwei Varianten zufällig aufgetreten ist, wenn es tatsächlich keinen Effekt gibt. Er wird als Wert zwischen 0 und 1 gemessen. A/B Testing verwendet ein Signifikanzniveau von 0,05.Das bedeutet:
- Ein p-Wert unter 0,05 bedeutet, dass die Wahrscheinlichkeit, dass ein so extremer Unterschied zufällig auftritt, wenn der tatsächliche Unterschied null ist, weniger als 5% beträgt. Da 0,05 der Schwellenwert ist, deutet jeder p-Wert unter 0,05 auf einen statistisch signifikanten Unterschied zwischen den Varianten hin.
- Ein p-Wert über 0,05 bedeutet, dass der Unterschied zwischen den Varianten nicht statistisch signifikant ist.
Testdaten werden einmal täglich aktualisiert. Die letzte Aktualisierungszeit wird oben auf der Ergebnisseite des Tests angezeigt.
Das Diagramm mit den Testergebnissen zeigt die kumulativen Durchschnittswerte des ausgewählten Messwerts. Wenn Sie beispielsweise den Anzeigenumsatz pro Nutzer als Messwert erfassen, wird der beobachtete Umsatz pro Nutzer angezeigt. Wenn Sie die Anzahl der Nutzer ohne Abstürze erfassen, wird der Prozentsatz der Nutzer erfasst, bei denen kein Absturz aufgetreten ist. Diese Daten sind kumulativ seit Beginn des Tests.
Die Ergebnisse sind in Erfasste Daten und Inferenzdaten unterteilt. Erfasste Daten werden direkt aus Google Analytics-Daten berechnet. Inferenzdaten enthalten p-Werte und Konfidenzintervalle, mit denen Sie die statistische Signifikanz der erfassten Daten bewerten können.
Für jeden Messwert werden die folgenden Statistiken angezeigt:
Erfasste Daten
- Gesamtwert für den erfassten Messwert (Anzahl der gebundenen Nutzer, Anzahl der Nutzer mit Abstürzen, Gesamtumsatz)
- Messwertspezifische Rate (Bindungsrate, Conversion-Rate, Umsatz pro Nutzer)
- Prozentualer Unterschied (Steigerung) zwischen der Variante und der ursprünglichen Variante
Inferenzdaten
95 %-KI (Differenz der Mittelwerte) zeigt ein Intervall, das den „wahren“ Wert des erfassten Messwerts mit einer Konfidenz von 95% enthält. Wenn die Testergebnisse beispielsweise ein 95 %-Konfidenzintervall für den geschätzten Gesamtumsatz zwischen 5 und 10 $ ergeben, liegt die Wahrscheinlichkeit, dass die tatsächliche Differenz der Mittelwerte zwischen 5 und 10 $ liegt, bei 95 %. Wenn der KI-Bereich 0 enthält, wurde kein statistisch signifikanter Unterschied zwischen der Variante und der ursprünglichen Variante festgestellt.
Die Werte für das Konfidenzintervall werden im Format des erfassten Messwerts angezeigt. Beispiel: Zeit (in
HH:MM:SS) für die Nutzerbindung, USD für den Anzeigenumsatz pro Nutzer und Prozentsatz für die Conversion-Rate.p-Wert: Er gibt die Wahrscheinlichkeit an, dass Daten so extrem sind wie die im Test erzielten Ergebnisse, wenn es keinen tatsächlichen Unterschied zwischen der Variante und der ursprünglichen Variante gibt. Je niedriger der p-Wert, desto höher ist die Konfidenz, dass die beobachtete Leistung auch bei einer Wiederholung des Tests erzielt wird. Ein Wert von 0,05 oder niedriger deutet auf einen signifikanten Unterschied und eine geringe Wahrscheinlichkeit hin, dass die Ergebnisse auf Zufall beruhen. Die p-Werte basieren auf einem einseitigen Test, bei dem der Wert der Variante größer als der Wert der ursprünglichen Variante ist. Firebase verwendet einen t-Test mit ungleichen Varianzen für kontinuierliche Variablen (numerische Werte wie Umsatz) und einen z-Test für Anteile für Conversion- Daten (binäre Werte wie Nutzerbindung, Nutzer ohne Abstürze, Nutzer, die ein Google Analytics Ereignis auslösen).
Die Testergebnisse liefern wichtige Statistiken für jede Testvariante, darunter:
- Wie viel höher oder niedriger jeder Testmesswert im Vergleich zur ursprünglichen Variante ist, direkt gemessen (d. h. die tatsächlich erfassten Daten)
- Die Wahrscheinlichkeit, dass der beobachtete Unterschied zwischen der Variante und der ursprünglichen Variante auf Zufall beruhen könnte (p-Wert)
- Ein Bereich, der wahrscheinlich den „wahren“ Leistungsunterschied zwischen der Variante und der ursprünglichen Variante für jeden Testmesswert enthält. So können Sie die Leistungszenarien im „Best Case“ und „Worst Case“ besser verstehen.
Führende Variante ermitteln
Bei Tests mit frequentistischer Inferenz, erklärt Firebase eine Variante als führend, wenn beim Zielmesswert ein statistisch signifikanter Leistungsunterschied zwischen der Variante und der ursprünglichen Variante besteht. Wenn mehrere Varianten dieses Kriterium erfüllen, wird diejenige mit dem niedrigsten p‑Wert ausgewählt.
Da die führende Variante nur auf dem primären Zielmesswert basiert, sollten Sie alle relevanten Faktoren in Betracht ziehen und auch die Ergebnisse bei den sekundären Messwerten überprüfen, bevor Sie entscheiden, ob diese Variante auf alle Nutzer angewendet werden soll oder nicht. Berücksichtigen Sie dabei den erwarteten Vorteil der Änderung, das Abwärtsrisiko (z. B. das untere Ende des Konfidenzintervalls für die Verbesserung) und die Auswirkungen auf andere Messwerte als das primäre Ziel.
Wenn beispielsweise der primäre Messwert „Nutzer ohne Abstürze“ ist und Variante A deutlich besser als die ursprüngliche Variante abschneidet, die Messwerte für die Nutzerbindung bei Variante A aber hinter denen der ursprünglichen Variante zurückbleiben, sollten Sie weitere Untersuchungen durchführen, bevor Sie Variante A breiter einführen.
Sie können jede Variante einführen, nicht nur eine führende Variante, basierend auf Ihrer Gesamtbewertung der Leistung bei primären und sekundären Messwerten.
Höchstdauer für Tests
Firebase empfiehlt, einen Test so lange auszuführen, bis die folgenden Bedingungen erfüllt sind:
- Für den Test wurden genügend Daten erfasst, um ein nützliches Ergebnis zu liefern. Tests und Ergebnisdaten werden einmal täglich aktualisiert. Sie können einen Online-Stichprobenrechner verwenden, um die empfohlene Stichprobengröße für Ihren Test zu ermitteln.
- Der Test wurde lange genug ausgeführt, um eine repräsentative Stichprobe Ihrer Nutzer zu erhalten und die langfristige Leistung zu messen. Die empfohlene Mindestlaufzeit für einen typischen Remote Config-Test beträgt zwei Wochen.
Testdaten werden maximal 90 Tage nach Testbeginn verarbeitet. Nach 90 Tagen wird der Test automatisch beendet. Die Testergebnisse werden in der Firebase Console nicht mehr aktualisiert und der Test sendet keine testspezifischen Parameterwerte mehr. An diesem Punkt beginnen Clients, Parameterwerte basierend auf den in der Remote Config Vorlage festgelegten Bedingungen abzurufen. Historische Testdaten werden beibehalten, bis Sie den Test löschen.
BigQuery-Schema
Sie können A/B Testing Testdaten nicht nur in der Firebase Console ansehen, sondern auch in BigQuery untersuchen und analysieren. A/B Testing hat keine separate BigQuery Tabelle. Test- und Variantenmitgliedschaften werden jedoch in den Analytics Ereignistabellen für jedes Google Analytics Ereignis gespeichert.
Die Nutzerattribute, die Testinformationen enthalten, haben die Form
userProperty.key like "firebase_exp_%" oder userProperty.key =
"firebase_exp_01", wobei 01 die Test-ID ist und
userProperty.value.string_value den (nullbasierten) Index der
Testvariante enthält.
Sie können diese Testnutzerattribute verwenden, um Testdaten zu extrahieren. So können Sie Ihre Testergebnisse auf viele verschiedene Arten aufschlüsseln und die Ergebnisse von A/B Testing unabhängig überprüfen.
Führen Sie die folgenden Schritte aus, wie in dieser Anleitung beschrieben:
- Export für Google Analytics in der Firebase Console aktivierenBigQuery
- Auf A/B Testing Daten mit BigQuery zugreifen
- Beispielabfragen ansehen
BigQuery-Export für Google Analytics in der Firebase Console aktivieren
Wenn Sie den Spark-Tarif verwenden, können Sie die BigQuery Sandbox nutzen, um kostenlos auf BigQuery zuzugreifen. Dabei gelten die Sandbox-Limits. Weitere Informationen finden Sie unter Preise und die BigQuery Sandbox.
Prüfen Sie zuerst, ob Sie Ihre Analytics Daten nach BigQuery exportieren:
Rufen Sie in der Firebase Console die
Einstellungen > Integrationen auf.Klicken Sie auf der Karte BigQuery auf Verwalten und prüfen Sie, ob Ihr Projekt Analytics Daten nach BigQuery exportiert.
Wenn auf der Karte Verknüpfen steht, müssen Sie den Export einrichten (fahren Sie mit dem nächsten Schritt fort).
So richten Sie den Export ein:
Lesen Sie Firebase mit BigQuery verknüpfen und klicken Sie auf Weiter.
Aktivieren Sie im Bereich Integration konfigurieren die Option Google Analytics.
Wählen Sie eine Region aus und legen Sie die Exporteinstellungen fest.
Klicken Sie auf Mit BigQuery verknüpfen.
Je nachdem, wie Sie die Daten exportiert haben, kann es bis zu einem Tag dauern, bis die Tabellen verfügbar sind. Weitere Informationen zum Exportieren von Projektdaten nach BigQuery, siehe Projektdaten nach BigQuery.
Auf A/B Testing Daten in BigQuery zugreifen
Bevor Sie Daten für einen bestimmten Test abfragen, sollten Sie einige oder alle der folgenden Informationen abrufen, die Sie in Ihrer Abfrage verwenden können:
- Test-ID:Sie finden sie in der URL der Seite Testübersicht. Wenn Ihre URL beispielsweise so aussieht:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, ist die Test-ID 25. - Google Analytics Property-ID: Das ist Ihre 9-stellige
Google Analytics Property-ID. Sie finden sie in
Google Analytics. Sie wird auch in BigQuery angezeigt, wenn Sie
Ihren Projektnamen maximieren, um den Namen Ihrer Google Analytics Ereignis
tabelle zu sehen (
project_name.analytics_000000000.events). - Testdatum:Um eine schnellere und effizientere Abfrage zu erstellen, sollten Sie Ihre Abfragen auf die Google Analytics täglichen
Ereignistabellenpartitionen beschränken, die Ihre Testdaten enthalten. Diese Tabellen haben das Suffix
YYYYMMDD. Wenn Ihr Test beispielsweise vom 2. Februar 2024 bis zum 2. Mai 2024 ausgeführt wurde, geben Sie_TABLE_SUFFIX between '20240202' AND '20240502'an. Ein Beispiel finden Sie unter Werte für einen bestimmten Test auswählen. - Ereignisnamen: In der Regel entsprechen diese den
Zielmesswerten, die Sie im Test konfiguriert haben. Beispiele:
in_app_purchase-Ereignisse,ad_impressionoderuser_retention-Ereignisse.
Nachdem Sie die Informationen gesammelt haben, die Sie zum Generieren Ihrer Abfrage benötigen:
- Rufen Sie in der Google Cloud Konsole BigQuery auf.
- Wählen Sie Ihr Projekt aus und klicken Sie dann auf SQL-Abfrage erstellen.
- Fügen Sie Ihre Abfrage hinzu. Beispielabfragen finden Sie unter Beispielabfragen ansehen.
- Klicken Sie auf Ausführen.
Testdaten mit der automatisch generierten Abfrage der Firebase Console abfragen
Wenn Sie den Blaze-Tarif verwenden, enthält die Seite Testübersicht eine Beispielabfrage, die den Testnamen, die Varianten, die Ereignisnamen und die Anzahl der Ereignisse für den Test zurückgibt, den Sie sich ansehen.
So rufen Sie die automatisch generierte Abfrage ab und führen sie aus:
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B Testing auf.
- Wählen Sie den A/B Testing Test aus, den Sie abfragen möchten, um die Testübersicht zu öffnen.
- Wählen Sie im Menü „Optionen“ unter BigQuery Integration die Option Testdaten abfragen aus. Dadurch wird Ihr Projekt in BigQuery in der Google Cloud Console Console geöffnet und eine einfache Abfrage bereitgestellt, mit der Sie Ihre Testdaten abfragen können.
Das folgende Beispiel zeigt eine generierte Abfrage für einen Test mit drei Varianten (einschließlich der ursprünglichen Variante) mit dem Namen „Winter welcome experiment“. Sie gibt den Namen des aktiven Tests, den Namen der Variante, das eindeutige Ereignis und die Anzahl der Ereignisse für jedes Ereignis zurück. Beachten Sie, dass der Abfrage-Builder Ihren Projektnamen nicht im Tabellennamen angibt, da er direkt in Ihrem Projekt geöffnet wird.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Weitere Abfragebeispiele finden Sie unter Beispielabfragen ansehen.
Beispielabfragen ansehen
In den folgenden Abschnitten finden Sie Beispiele für Abfragen, mit denen Sie A/B Testing Testdaten aus Google Analytics Ereignistabellen extrahieren können.
Standardabweichungswerte für Käufe und Tests aus allen Tests extrahieren
Sie können Testdaten verwenden, um die Ergebnisse von
Firebase A/B Testing unabhängig zu überprüfen. Die folgende BigQuery SQL-Anweisung
extrahiert Testvarianten, die Anzahl der einzelnen Nutzer in jeder Variante und summiert den Gesamtumsatz
aus in_app_purchase und ecommerce_purchase Ereignissen sowie die Standardabweichungen
für alle Tests im angegebenen Zeitraum, der als Anfangs-
und Enddatum für _TABLE_SUFFIX angegeben ist. Sie können die Daten aus dieser Abfrage mit einem Generator für statistische Signifikanz für einseitige t-Tests verwenden, um zu prüfen, ob die von Firebase bereitgestellten Ergebnisse mit Ihrer eigenen Analyse übereinstimmen.
Weitere Informationen zur Berechnung der Inferenz bei A/B Testing finden Sie unter Testergebnisse interpretieren.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
Werte für einen bestimmten Test auswählen
Die folgende Beispielabfrage zeigt, wie Sie Daten für einen bestimmten Test in BigQueryabrufen. Diese Beispielabfrage gibt den Testnamen, die Namen der Varianten (einschließlich der ursprünglichen Variante), die Ereignisnamen und die Anzahl der Ereignisse zurück.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName
Limits
A/B Testing ist auf insgesamt 300 Tests, 24 laufende Tests, und 24 Testentwürfe beschränkt. Diese Limits gelten auch für Remote Config Rollouts. Wenn Sie beispielsweise zwei laufende Rollouts und drei laufende Tests haben, können Sie bis zu 19 weitere Rollouts oder Tests erstellen.
Wenn Sie das Limit von 300 Tests insgesamt oder das Limit von 24 Testentwürfen erreichen, müssen Sie einen vorhandenen Test löschen, bevor Sie einen neuen erstellen können.
Wenn Sie das Limit von 24 laufenden Tests und Rollouts erreichen, müssen Sie einen laufenden Test oder Rollout beenden, bevor Sie einen neuen starten können.
Ein Test kann maximal 8 Varianten (einschließlich der ursprünglichen Variante) und bis zu 25 Parameter für jede Variante haben. Ein Test kann eine Größe von bis zu etwa 200 KB haben. Dazu gehören Variantenname, Variantenparameter und andere Konfigurationsmetadaten.