A/B-Testdaten mit BigQuery prüfen

Neben der Anzeige von A/B Testing-Testdaten in der Firebase-Konsole können Sie Testdaten auch in BigQuery untersuchen und analysieren. Für A/B Testing gibt es keine separate BigQuery-Tabelle. Die Zugehörigkeit zu Tests und Varianten wird jedoch für jedes Google Analytics-Ereignis in den Analytics-Ereignistabellen gespeichert.

Die Nutzerattribute, die Testinformationen enthalten, haben das Format userProperty.key like "firebase_exp_%" oder userProperty.key = "firebase_exp_01", wobei 01 die Test-ID und userProperty.value.string_value den (nullbasierten) Index der Testvariante enthält.

Mit diesen Nutzereigenschaften für Tests lassen sich Testdaten 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, um loszulegen:

  1. BigQuery-Export für Google Analytics in der Firebase Console aktivieren
  2. Mit BigQuery auf A/B Testing-Daten zugreifen
  3. Beispielabfragen ansehen

BigQuery-Export für Google Analytics in der Firebase Console aktivieren

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

Prüfen Sie zuerst, ob Sie Ihre Analytics-Daten nach BigQuery exportieren:

  1. Öffnen Sie den Tab Integrationen, den Sie in der Firebase-Konsole über  > Projekteinstellungen aufrufen können.
  2. Wenn Sie BigQuery bereits mit anderen Firebase-Diensten verwenden, klicken Sie auf Verwalten. Klicken Sie andernfalls auf Verknüpfen.
  3. Lesen Sie den Abschnitt Firebase mit BigQuery verknüpfen und klicken Sie dann auf Weiter.
  4. Aktivieren Sie im Abschnitt Integration konfigurieren den Schalter Google Analytics.
  5. Wählen Sie eine Region und Exporteinstellungen aus.

  6. Klicken Sie auf Mit BigQuery verknüpfen.

Je nachdem, wie Sie Daten exportiert haben, 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.

Auf A/B Testing-Daten in BigQuery zugreifen

Bevor Sie Daten für ein bestimmtes Experiment abfragen, sollten Sie einige oder alle der folgenden Informationen für Ihre Abfrage abrufen:

  • 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.
  • Property-ID Google Analytics: Das ist Ihre 9-stellige Property-ID Google Analytics. Sie finden sie unter Google Analytics. Sie wird auch in BigQuery angezeigt, wenn Sie den Projektnamen maximieren, um den Namen der Google Analytics-Ereignistabelle (project_name.analytics_000000000.events) aufzurufen.
  • Testdatum:Um eine schnellere und effizientere Abfrage zu erstellen, sollten Sie Ihre Abfragen auf die Google Analytics-Partitionen der täglichen Ereignistabelle beschränken, die Ihre Testdaten enthalten. Diese Tabellen sind durch das Suffix YYYYMMDD gekennzeichnet. Wenn Ihr Test also 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 ein bestimmtes Experiment auswählen.
  • Ereignisnamen:In der Regel entsprechen diese den Zielvorhabenmesswerten, die Sie im Test konfiguriert haben. Beispiele: in_app_purchase-Ereignisse, ad_impression-Ereignisse oder user_retention-Ereignisse.
Firebase

Nachdem Sie die Informationen zusammengetragen haben, die Sie zum Generieren der Anfrage benötigen:

  1. Öffnen Sie BigQuery in der Google Cloud-Konsole.
  2. Wählen Sie Ihr Projekt und dann SQL-Abfrage erstellen aus.
  3. Geben Sie Ihre Frage ein. Beispielabfragen, die Sie ausführen können, finden Sie unter Beispielabfragen ansehen.
  4. Klicken Sie auf Ausführen.

Testdaten mit der automatisch generierten Abfrage der Firebase Console abfragen

Wenn Sie den Blaze-Tarif verwenden, finden Sie auf der 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:

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

Im folgenden Beispiel sehen Sie eine generierte Abfrage für einen Test mit drei Varianten (einschließlich der Baseline) mit dem Namen „Winter-Willkommen-Test“. Es werden der Name des aktiven Tests, der Name der Variante, das eindeutige Ereignis und die Ereignisanzahl für jedes Ereignis zurückgegeben. Im Query Builder wird Ihr Projektname nicht im Tabellennamen angegeben, 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 Daten aus Testergebnissen verwenden, um Firebase A/B Testing-Ergebnisse unabhängig zu überprüfen. Mit der folgenden BigQuery-SQL-Anweisung werden die Varianten von A/B-Tests, die Anzahl der einzelnen Nutzer in jeder Variante und der Gesamtumsatz aus in_app_purchase- und ecommerce_purchase-Ereignissen sowie die Standardabweichungen für alle A/B-Tests im Zeitraum, der als _TABLE_SUFFIX-Start- und ‑Enddatum angegeben ist, extrahiert. 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 von Inferenz in 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 BigQuery abrufen. Mit dieser Beispielabfrage werden der Name des Tests, die Variantennamen (einschließlich „Baseline“), die Ereignisnamen und die Ereignisanzahl zurückgegeben.

  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