Inspecciona datos de A/B Testing con BigQuery

Además de ver los datos de experimentos de A/B Testing en Firebase console, puedes inspeccionar y analizar esos datos en BigQuery. Si bien A/B Testing no tiene una tabla de BigQuery independiente, las membresías de los experimentos y las variantes se almacenan en cada evento de Google Analytics dentro de las tablas de eventos de Analytics.

Las propiedades del usuario que contienen información del experimento tienen el formato userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01", en el que 01 es el ID del experimento, y userProperty.value.string_value contiene el índice (basado en cero) de la variante del experimento.

Puedes utilizar estas propiedades de usuario del experimento para extraer datos del experimento. Esto te permite dividir los resultados de tu experimento de muchas maneras diferentes y verificar de manera independiente los resultados de A/B Testing.

Para comenzar, completa lo siguiente como se describe en esta guía:

  1. Habilita la exportación de BigQuery para Google Analytics en Firebase console.
  2. Accede a datos de A/B Testing con BigQuery
  3. Explora consultas de ejemplo

Habilita la exportación a BigQuery para Google Analytics en Firebase console

Si tienes el plan Spark, puedes usar la zona de pruebas de BigQuery para acceder a BigQuery sin costo, sujeto a los límites de la zona de pruebas. Consulta los precios y la zona de pruebas de BigQuery para obtener más información.

Primero, asegúrate de exportar los datos de Analytics a BigQuery. Para ello, sigue estos pasos:

  1. Abre la pestaña Integraciones, que se encuentra en la sección > Configuración del proyecto de Firebase console.
  2. Si ya usas BigQuery con otros servicios de Firebase, haz clic en Administrar. De lo contrario, haz clic en Vincular.
  3. Consulta Información para vincular Firebase a BigQuery y, luego, haz clic en Siguiente.
  4. En la sección Configura la integración, habilita el botón de activación Google Analytics.
  5. Selecciona una región y elige la configuración de exportación.

  6. Haz clic en Vincular a BigQuery.

En función de cómo elegiste exportar los datos, las tablas pueden tardar hasta un día en estar disponibles. Si necesitas más información para exportar datos de proyectos a BigQuery, consulta Exporta datos de proyectos a BigQuery.

Accede a datos de A/B Testing en BigQuery

Antes de consultar datos de un experimento específico, debes obtener algunos o todos los siguientes elementos para usarlos en tu consulta:

  • ID del experimento: Puedes obtenerlo en la URL de la página Descripción general del experimento. Por ejemplo, si la URL es similar a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, el ID del experimento es 25.
  • ID de propiedad de Google Analytics: Es tu ID de propiedad de Google Analytics de 9 dígitos. Puedes encontrarlo en Google Analytics. También aparecerá en BigQuery cuando expandas el nombre de tu proyecto para mostrar el nombre de la tabla de eventos de Google Analytics (project_name.analytics_000000000.events).
  • Fecha del experimento: Para redactar una consulta más rápida y eficiente, se recomienda limitar las consultas a las particiones de tablas de eventos diarios de Google Analytics que contienen los datos del experimento, es decir, tablas identificadas con un sufijo YYYYMMDD. Por lo tanto, si el experimento se ejecutó entre el 2 de febrero de 2024 y el 2 de mayo de 2024, debes especificar un _TABLE_SUFFIX between '20240202' AND '20240502'. Para ver un ejemplo, consulta Selecciona los valores de un experimento específico.
  • Nombres de eventos: Por lo general, se corresponden con las métricas de objetivo que configuraste en el experimento. Por ejemplo, eventos in_app_purchase, ad_impression o eventos user_retention.
.

Después de recopilar la información que necesitas para generar tu consulta, haz lo siguiente:

  1. Abre BigQuery en la consola de Google Cloud.
  2. Selecciona tu proyecto y, luego, Crear consulta en SQL.
  3. Agrega tu consulta. Si deseas obtener consultas de ejemplo para ejecutar, lee Explora consultas de ejemplo.
  4. Haz clic en Ejecutar.

Consulta datos del experimento con la consulta generada automáticamente de Firebase console

Si usas el plan Blaze, en la página Descripción general del experimento se proporciona una consulta de muestra que devuelve el nombre del experimento, las variantes, los nombres de los eventos y la cantidad de eventos del experimento que que estás viendo.

Para obtener y ejecutar la consulta generada automáticamente, sigue estos pasos:

  1. En Firebase console, abre A/B Testing y selecciona el experimento A/B Testing que quieres consultar para abrir la Descripción general del experimento.
  2. En el menú Opciones, debajo de Integración de BigQuery, selecciona Consultar datos del experimento. Esta acción abrirá tu proyecto en BigQuery en la consola de Google Cloud y proporcionará una consulta básica que puedes usar para consultar los datos del experimento.

En el siguiente ejemplo, se muestra una consulta generada para un experimento con tres variantes (incluido el modelo de referencia) llamadas “Experimento de bienvenida de invierno”. Devuelve el nombre del experimento activo, el nombre de la variante, el evento único y el recuento de eventos de cada evento. Ten en cuenta que el compilador de consultas no especifica el nombre de tu proyecto en el nombre de la tabla, ya que se abre directamente en tu proyecto.

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

Para ver más ejemplos de consultas, ve a Explora consultas de ejemplo.

Explora consultas de ejemplo

En las siguientes secciones, se proporcionan ejemplos de consultas que puedes usar para extraer datos de experimentos de A/B Testing de las tablas de eventos de Google Analytics.

Extrae los valores de la desviación estándar del experimento y la compra de todos los experimentos

Puedes usar los datos de los resultados del experimento para verificar de forma independiente los resultados de Firebase A/B Testing. En la siguiente instrucción de SQL de BigQuery, se extraen las variantes del experimento, la cantidad de usuarios únicos de cada variante y se suman los ingresos totales de los eventos de in_app_purchase y ecommerce_purchase, y las desviaciones estándar de todos los experimentos dentro del período especificado como las fechas de inicio y finalización de _TABLE_SUFFIX. Puedes usar los datos que obtienes de esta consulta con un generador de importancia estadística para pruebas t de una cola para verificar que los resultados que proporciona Firebase coincidan con tu propio análisis.

Si deseas obtener más información sobre cómo A/B Testing calcula la inferencia, consulta Cómo interpretar los resultados de la prueba.

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

Selecciona los valores de un experimento específico

En la siguiente consulta de ejemplo, se muestra cómo obtener datos para un experimento específico en BigQuery. Esta consulta de ejemplo devuelve el nombre del experimento, los nombres de las variantes (incluido el modelo de referencia), los nombres de los eventos y los recuentos de eventos.

  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