A/B-Testdaten mit BigQuery prüfen

Neben der Anzeige von A/B Testing Testdaten in der Firebase Console können Sie Testdaten auch in BigQuery untersuchen und analysieren. Für A/B Testing gibt es keine separate BigQuery Tabelle. Informationen zu Test- und Variantenzugehörigkeiten werden jedoch in den Analytics Ereignistabellen für jedes Google Analytics Ereignis gespeichert.

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

Mit diesen Testnutzerattributen können Sie 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, wie in dieser Anleitung beschrieben:

  1. Export für Google Analytics in der Firebase Console aktivierenBigQuery
  2. Auf A/B Testing Daten mit BigQuery zugreifen
  3. 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:

  1. Rufen Sie in der Firebase Console die Einstellungen > Integrationen auf.

  2. 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.

  3. So richten Sie den Export ein:

    1. Lesen Sie die Informationen unter Firebase mit BigQuery verknüpfen und klicken Sie auf Weiter.

    2. Aktivieren Sie im Abschnitt Integration konfigurieren die Option Google Analytics.

    3. Wählen Sie eine Region aus und legen Sie die Exporteinstellungen fest.

    4. 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.

In BigQuery auf A/B Testing Daten 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 https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 lautet, 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 werden mit einem YYYYMMDD Suffix gekennzeichnet. Wenn Ihr Test beispielsweise vom 2. Februar 2024 bis zum 2. Mai 2024 lief, geben Sie ein _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 sind in_app_purchase-Ereignisse, ad_impression-Ereignisse oder user_retention-Ereignisse.

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

  1. Rufen Sie in der Google Cloud Konsole BigQuery auf.
  2. Wählen Sie Ihr Projekt und dann SQL-Abfrage erstellen aus.
  3. Fügen Sie Ihre Abfrage hinzu. Beispielabfragen 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 angezeigten Test zurückgibt.

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

  1. Rufen Sie in der Firebase Console DevOps und Engagement > A/B-Tests auf.
  2. Wählen Sie das A/B Testing Experiment aus, das Sie abfragen möchten, um die Testübersicht zu öffnen.
  3. 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 Baseline) 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-Editor 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 Experimentdaten 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 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 BigQueryabrufen. Diese Beispielabfrage gibt den Testnamen, die Variantennamen (einschließlich Baseline), 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