Inspecter les données des tests A/B avec BigQuery

En plus d'afficher les données des tests A/B dans la console Firebase, vous pouvez inspecter et analyser les données des tests dans BigQuery. Bien que les tests A/B ne disposent pas d'une table BigQuery distincte, les adhésions aux expériences et aux variantes sont stockées sur chaque événement Google Analytics dans les tables d'événements Analytics.

Les propriétés utilisateur qui contiennent des informations sur l'expérience sont de la forme userProperty.key like "firebase_exp_%" ou userProperty.key = "firebase_exp_01"01 est l'ID de l'expérience et userProperty.value.string_value contient l'index (de base zéro) de l'expérience. variante d'expérimentation.

Vous pouvez utiliser ces propriétés utilisateur d'expérience pour extraire des données d'expérience. Cela vous donne le pouvoir de découper les résultats de vos tests de différentes manières et de vérifier indépendamment les résultats des tests A/B.

Pour commencer, procédez comme suit comme décrit dans ce guide :

  1. Activer l'exportation BigQuery pour Google Analytics dans la console Firebase
  2. Accéder aux données de tests A/B à l'aide de BigQuery
  3. Explorer des exemples de requêtes

Activer l'exportation BigQuery pour Google Analytics dans la console Firebase

Si vous disposez d'un forfait Spark, vous pouvez utiliser le bac à sable BigQuery pour accéder à BigQuery sans frais, sous réserve des limites du bac à sable . Consultez Tarifs et sandbox BigQuery pour plus d'informations.

Tout d'abord, assurez-vous d'exporter vos données Analytics vers BigQuery :

  1. Ouvrez l'onglet Intégrations , auquel vous pouvez accéder en utilisant > Paramètres du projet dans la console Firebase .
  2. Si vous utilisez déjà BigQuery avec d'autres services Firebase, cliquez sur Gérer . Sinon, cliquez sur Lien .
  3. Consultez À propos de la liaison de Firebase à BigQuery , puis cliquez sur Suivant .
  4. Dans la section Configurer l'intégration , activez le bouton Google Analytics .
  5. Sélectionnez une région et choisissez les paramètres d'exportation.

  6. Cliquez sur Lien vers BigQuery .

Selon la manière dont vous avez choisi d'exporter les données, cela peut prendre jusqu'à un jour pour que les tableaux soient disponibles. Pour plus d'informations sur l'exportation de données de projet vers BigQuery, consultez Exporter des données de projet vers BigQuery .

Accéder aux données de tests A/B dans BigQuery

Avant de rechercher des données pour une expérience spécifique, vous souhaiterez obtenir tout ou partie des éléments suivants à utiliser dans votre requête :

  • ID de l'expérience : vous pouvez l'obtenir à partir de l'URL de la page de présentation de l'expérience . Par exemple, si votre URL ressemble à https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , l'ID de l'expérience est 25 .
  • ID de propriété Google Analytics : Il s'agit de votre ID de propriété Google Analytics à 9 chiffres. Vous pouvez le trouver dans Google Analytics ; il apparaît également dans BigQuery lorsque vous développez le nom de votre projet pour afficher le nom de votre table d'événements Google Analytics ( project_name.analytics_000000000.events ).
  • Date du test : pour rédiger une requête plus rapide et plus efficace, il est recommandé de limiter vos requêtes aux partitions de la table des événements quotidiens de Google Analytics qui contiennent vos données de test (tables identifiées par le suffixe YYYYMMDD ). Ainsi, si votre test s'est déroulé du 2 février 2024 au 2 mai 2024, vous devez spécifier un _TABLE_SUFFIX between '20240202' AND '20240502' . Pour obtenir un exemple, consultez Sélectionner les valeurs d'une expérience spécifique .
  • Noms d'événements : ils correspondent généralement aux métriques d'objectif que vous avez configurées dans l'expérience. Par exemple, les événements in_app_purchase , ad_impression ou user_retention .

Après avoir rassemblé les informations dont vous avez besoin pour générer votre requête :

  1. Ouvrez BigQuery dans la console Google Cloud.
  2. Sélectionnez votre projet, puis sélectionnez Créer une requête SQL .
  3. Ajoutez votre requête. Pour obtenir des exemples de requêtes à exécuter, consultez Explorer des exemples de requêtes .
  4. Cliquez sur Exécuter .

Interroger les données du test à l'aide de la requête générée automatiquement par la console Firebase

Si vous utilisez le plan Blaze, la page de présentation de l'expérience fournit un exemple de requête qui renvoie le nom de l'expérience, les variantes, les noms d'événements et le nombre d'événements pour l'expérience que vous consultez.

Pour obtenir et exécuter la requête générée automatiquement :

  1. Depuis la console Firebase, ouvrez A/B Testing et sélectionnez l'expérience de test A/B que vous souhaitez interroger pour ouvrir l' aperçu de l'expérience .
  2. Dans le menu Options, sous Intégration BigQuery , sélectionnez Interroger les données du test . Cela ouvre votre projet dans BigQuery dans la console Google Cloud Console et fournit une requête de base que vous pouvez utiliser pour interroger vos données de test.

L'exemple suivant montre une requête générée pour un test avec trois variantes (y compris la ligne de base) nommée « Expérience de bienvenue en hiver ». Il renvoie le nom de l'expérience active, le nom de la variante, l'événement unique et le nombre d'événements pour chaque événement. Notez que le générateur de requêtes ne spécifie pas le nom de votre projet dans le nom de la table, car il s'ouvre directement dans votre projet.

  /*
    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

Pour obtenir des exemples de requêtes supplémentaires, passez à Explorer des exemples de requêtes .

Explorer des exemples de requêtes

Les sections suivantes fournissent des exemples de requêtes que vous pouvez utiliser pour extraire les données des expériences de test A/B des tables d'événements Google Analytics.

Extraire les valeurs d'écart type d'achat et d'expérimentation de toutes les expériences

Vous pouvez utiliser les données des résultats des tests pour vérifier indépendamment les résultats des tests A/B Firebase. L'instruction BigQuery SQL suivante extrait les variantes de test, le nombre d'utilisateurs uniques dans chaque variante, additionne les revenus totaux des événements in_app_purchase et ecommerce_purchase , ainsi que les écarts types pour toutes les expériences au cours de la plage de temps spécifiée comme dates de début et de fin _TABLE_SUFFIX . Vous pouvez utiliser les données que vous obtenez à partir de cette requête avec un générateur de signification statistique pour les tests t unilatéraux afin de vérifier que les résultats fournis par Firebase correspondent à votre propre analyse.

Pour plus d'informations sur la manière dont A/B Testing calcule l'inférence, consultez Interpréter les résultats des tests .

  /*
    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;

Sélectionnez les valeurs d'un test spécifique

L'exemple de requête suivant illustre comment obtenir des données pour une expérience spécifique dans BigQuery. Cet exemple de requête renvoie le nom de l'expérience, les noms des variantes (y compris la ligne de base), les noms des événements et le nombre d'événements.

  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