Überprüfen Sie A/B-Testdaten mit BigQuery

Zusätzlich zur Anzeige von A/B-Test-Experimentdaten in der Firebase-Konsole können Sie Experimentdaten in BigQuery untersuchen und analysieren. Während A/B-Tests keine separate BigQuery-Tabelle haben, werden Experiment- und Variantenmitgliedschaften für jedes Google Analytics-Ereignis in den Analytics-Ereignistabellen gespeichert.

Die Benutzereigenschaften, die Experimentinformationen enthalten, haben die Form userProperty.key like "firebase_exp_%" oder userProperty.key = "firebase_exp_01" , wobei 01 die Experiment-ID ist und userProperty.value.string_value den (nullbasierten) Index des enthält Versuchsvariante.

Sie können diese Experimentbenutzereigenschaften verwenden, um Experimentdaten zu extrahieren. Dies gibt Ihnen die Möglichkeit, Ihre Experimentergebnisse auf viele verschiedene Arten aufzuteilen und die Ergebnisse von A/B-Tests unabhängig zu überprüfen.

Führen Sie zunächst die folgenden Schritte aus, wie in dieser Anleitung beschrieben:

  1. Aktivieren Sie den BigQuery-Export für Google Analytics in der Firebase-Konsole
  2. Greifen Sie mit BigQuery auf A/B-Testdaten zu
  3. Entdecken Sie Beispielabfragen

Aktivieren Sie den BigQuery-Export für Google Analytics in der Firebase-Konsole

Wenn Sie den Spark-Plan nutzen, können Sie die BigQuery-Sandbox verwenden, um kostenlos auf BigQuery zuzugreifen, vorbehaltlich der Sandbox-Beschränkungen . Weitere Informationen finden Sie unter Preise und die BigQuery-Sandbox .

Stellen Sie zunächst sicher, dass Sie Ihre Analytics-Daten nach BigQuery exportieren:

  1. Öffnen Sie die Registerkarte „Integrationen“ , auf die Sie über “ > „Projekteinstellungen“ in der Firebase-Konsole zugreifen können.
  2. Wenn Sie BigQuery bereits mit anderen Firebase-Diensten verwenden, klicken Sie auf Verwalten . Andernfalls klicken Sie auf „Verknüpfen“ .
  3. Lesen Sie die Informationen zum Verknüpfen von Firebase mit BigQuery und klicken Sie dann auf Weiter .
  4. Aktivieren Sie im Abschnitt „Integration konfigurieren“ den Schalter „Google Analytics“ .
  5. Wählen Sie eine Region aus und wählen Sie Exporteinstellungen.

  6. Klicken Sie auf „Mit BigQuery verknüpfen“ .

Je nachdem, wie Sie die Daten exportieren, kann es bis zu einem Tag dauern, bis die Tabellen verfügbar sind. Weitere Informationen zum Exportieren von Projektdaten nach BigQuery finden Sie unter Projektdaten nach BigQuery exportieren .

Greifen Sie in BigQuery auf A/B-Testdaten zu

Bevor Sie Daten für ein bestimmtes Experiment abfragen, möchten Sie einige oder alle der folgenden Informationen erhalten, die Sie in Ihrer Abfrage verwenden können:

  • Experiment-ID: Diese erhalten Sie über die URL der Experiment-Übersichtsseite . Wenn Ihre URL beispielsweise wie folgt aussieht: https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , lautet die Experiment-ID 25 .
  • Google Analytics-Property-ID : Dies ist Ihre 9-stellige Google Analytics-Property-ID. Sie finden dies in Google Analytics; Es erscheint auch in BigQuery, wenn Sie Ihren Projektnamen erweitern, um den Namen Ihrer Google Analytics-Ereignistabelle ( project_name.analytics_000000000.events ) anzuzeigen.
  • Experimentdatum: Um eine schnellere und effizientere Abfrage zu erstellen, empfiehlt es sich, Ihre Abfragen auf die Google Analytics-Tagesereignistabellenpartitionen zu beschränken, die Ihre Experimentdaten enthalten – Tabellen, die mit dem Suffix YYYYMMDD gekennzeichnet sind. Wenn Ihr Experiment also vom 2. Februar 2024 bis zum 2. Mai 2024 lief, würden Sie ein _TABLE_SUFFIX between '20240202' AND '20240502' angeben. Ein Beispiel finden Sie unter „Auswählen der Werte eines bestimmten Experiments“ .
  • Ereignisnamen: Normalerweise entsprechen diese Ihren Zielmetriken , die Sie im Experiment konfiguriert haben. Zum Beispiel in_app_purchase Ereignisse, ad_impression oder user_retention Ereignisse.

Nachdem Sie die Informationen gesammelt haben, die Sie zum Generieren Ihrer Abfrage benötigen:

  1. Öffnen Sie BigQuery in der Google Cloud Console.
  2. Wählen Sie Ihr Projekt und dann SQL-Abfrage erstellen aus .
  3. Fügen Sie Ihre Anfrage hinzu. Beispielabfragen zum Ausführen finden Sie unter Beispielabfragen erkunden .
  4. Klicken Sie auf Ausführen .

Fragen Sie Experimentdaten mithilfe der automatisch generierten Abfrage der Firebase-Konsole ab

Wenn Sie den Blaze-Plan verwenden, bietet die Übersichtsseite des Experiments eine Beispielabfrage, die den Experimentnamen, Varianten, Ereignisnamen und die Anzahl der Ereignisse für das angezeigte Experiment zurückgibt.

So rufen Sie die automatisch generierte Abfrage ab und führen sie aus:

  1. Öffnen Sie in der Firebase-Konsole A/B-Tests und wählen Sie das A/B-Test-Experiment aus, das Sie abfragen möchten, um die Experimentübersicht zu öffnen.
  2. Wählen Sie im Menü „Optionen“ unter „BigQuery-Integration“ die Option „Experimentdaten abfragen“ aus. Dadurch wird Ihr Projekt in BigQuery in der Google Cloud Console-Konsole geöffnet und eine einfache Abfrage bereitgestellt, mit der Sie Ihre Experimentdaten abfragen können.

Das folgende Beispiel zeigt eine generierte Abfrage für ein Experiment mit drei Varianten (einschließlich der Basislinie) mit dem Namen „Winter-Welcome-Experiment“. Für jedes Ereignis werden der Name des aktiven Experiments, der Variantenname, das eindeutige Ereignis und die Ereignisanzahl zurückgegeben. Beachten Sie, dass der Abfrage-Generator Ihren Projektnamen nicht im Tabellennamen angibt, da dieser 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 erkunden .

Entdecken Sie Beispielabfragen

In den folgenden Abschnitten finden Sie Beispiele für Abfragen, mit denen Sie A/B-Test-Experimentdaten aus Google Analytics-Ereignistabellen extrahieren können.

Extrahieren Sie Kauf- und Experimentstandardabweichungswerte aus allen Experimenten

Sie können Testergebnisdaten verwenden, um die Ergebnisse von Firebase A/B-Tests unabhängig zu überprüfen. Die folgende BigQuery-SQL-Anweisung extrahiert Experimentvarianten, die Anzahl der einzelnen Benutzer in jeder Variante und summiert den Gesamtumsatz aus in_app_purchase und ecommerce_purchase Ereignissen sowie Standardabweichungen für alle Experimente innerhalb des als _TABLE_SUFFIX angegebenen Anfangs- und Enddatums. Sie können die Daten, die Sie aus dieser Abfrage erhalten, mit einem statistischen Signifikanzgenerator für einseitige T-Tests verwenden, um zu überprüfen, ob die von Firebase bereitgestellten Ergebnisse mit Ihrer eigenen Analyse übereinstimmen.

Weitere Informationen darüber, wie A/B-Tests Inferenzen berechnen, 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;

Wählen Sie die Werte eines bestimmten Experiments aus

Die folgende Beispielabfrage veranschaulicht, wie Daten für ein bestimmtes Experiment in BigQuery abgerufen werden. Diese Beispielabfrage gibt den Experimentnamen, Variantennamen (einschließlich Baseline), Ereignisnamen und Ereignisanzahlen 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