Inspeccionar datos de pruebas A/B con BigQuery

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

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

Puede utilizar estas propiedades de usuario del experimento para extraer datos del experimento. Esto le brinda el poder de dividir los resultados de su experimento de muchas maneras diferentes y verificar de forma independiente los resultados de las pruebas A/B.

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

  1. Habilite la exportación de BigQuery para Google Analytics en Firebase console
  2. Acceda a los datos de las pruebas A/B mediante BigQuery
  3. Explorar consultas de ejemplo

Habilite la exportación de BigQuery para Google Analytics en Firebase console

Si tienes el plan Spark, puedes usar el espacio aislado de BigQuery para acceder a BigQuery sin costo alguno, sujeto a los límites del espacio aislado . Consulta Precios y el sandbox de BigQuery para obtener más información.

Primero, asegúrese de exportar sus datos de Analytics a BigQuery:

  1. Abra la pestaña Integraciones , a la que puede acceder usando > Configuración del proyecto en Firebase console .
  2. Si ya usas BigQuery con otros servicios de Firebase, haz clic en Administrar . De lo contrario, haga clic en Enlace .
  3. Revise Acerca de vincular Firebase a BigQuery y luego haga clic en Siguiente .
  4. En la sección Configurar integración , habilite la opción Google Analytics .
  5. Seleccione una región y elija la configuración de exportación.

  6. Haz clic en Vincular a BigQuery .

Dependiendo de cómo elija exportar los datos, las tablas pueden tardar hasta un día en estar disponibles. Para obtener más información sobre cómo exportar datos del proyecto a BigQuery, consulte Exportar datos del proyecto a BigQuery .

Acceder a los datos de las pruebas A/B en BigQuery

Antes de consultar datos para un experimento específico, querrá obtener algunos o todos los siguientes elementos para utilizarlos en su consulta:

  • ID del experimento: puede obtenerlo en la URL de la página de descripción general del experimento . Por ejemplo, si su URL se parece 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 : este es su ID de propiedad de Google Analytics de 9 dígitos. Puede encontrar esto en Google Analytics; también aparece en BigQuery cuando expandes el nombre de tu proyecto para mostrar el nombre de tu tabla de eventos de Google Analytics ( project_name.analytics_000000000.events ).
  • Fecha del experimento: para redactar una consulta más rápida y eficiente, es una buena práctica limitar las consultas a las particiones de la tabla de eventos diarios de Google Analytics que contienen los datos del experimento (tablas identificadas con el sufijo YYYYMMDD ). Por lo tanto, si su experimento se realizó desde el 2 de febrero de 2024 hasta el 2 de mayo de 2024, deberá especificar un _TABLE_SUFFIX between '20240202' AND '20240502' . Para ver un ejemplo, consulte Seleccionar los valores de un experimento específico .
  • Nombres de eventos: normalmente, se corresponden con las métricas de objetivos que configuró en el experimento. Por ejemplo, eventos in_app_purchase , ad_impression o eventos user_retention .

Después de recopilar la información que necesita para generar su consulta:

  1. Abra BigQuery en la consola de Google Cloud.
  2. Seleccione su proyecto, luego seleccione Crear consulta SQL .
  3. Añade tu consulta. Para ver ejemplos de consultas para ejecutar, consulte Explorar consultas de ejemplo .
  4. Haga clic en Ejecutar .

Consultar datos del experimento mediante la consulta generada automáticamente de Firebase console

Si está utilizando el plan Blaze, la página de descripción general del experimento proporciona una consulta de ejemplo que devuelve el nombre del experimento, las variantes, los nombres de los eventos y la cantidad de eventos para el experimento que está viendo.

Para obtener y ejecutar la consulta generada automáticamente:

  1. Desde Firebase console, abra Pruebas A/B y seleccione el experimento de Pruebas A/B que desea consultar para abrir la descripción general del experimento .
  2. En el menú Opciones, debajo de Integración de BigQuery , seleccione Consultar datos del experimento . Esto abre su proyecto en BigQuery dentro de la consola de Google Cloud y proporciona una consulta básica que puede usar para consultar los datos de su experimento.

El siguiente ejemplo muestra una consulta generada para un experimento con tres variantes (incluida la línea base) denominada "Experimento de bienvenida de invierno". Devuelve el nombre del experimento activo, el nombre de la variante, el evento único y el recuento de eventos para cada evento. Tenga en cuenta que el generador de consultas no especifica el nombre de su proyecto en el nombre de la tabla, ya que se abre directamente dentro de su 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 ejemplos de consultas adicionales, vaya a Explorar consultas de ejemplo .

Explorar consultas de ejemplo

Las siguientes secciones proporcionan ejemplos de consultas que puede utilizar para extraer datos de experimentos de pruebas A/B de las tablas de eventos de Google Analytics.

Extraiga los valores de desviación estándar de compra y experimento de todos los experimentos.

Puedes utilizar los datos de los resultados del experimento para verificar de forma independiente los resultados de las pruebas Firebase A/B. La siguiente declaración SQL de BigQuery extrae variantes de experimentos, la cantidad de usuarios únicos en cada variante y suma los ingresos totales de los eventos in_app_purchase y ecommerce_purchase , y las desviaciones estándar de todos los experimentos dentro del rango de tiempo especificado como las fechas de inicio y finalización _TABLE_SUFFIX . Puede utilizar los datos que obtenga de esta consulta con un generador de significancia estadística para pruebas t de una cola para verificar que los resultados que proporciona Firebase coincidan con su propio análisis.

Para obtener más información sobre cómo las pruebas A/B calculan la inferencia, consulte Interpretar los resultados de las pruebas .

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

Seleccionar los valores de un experimento específico

La siguiente consulta de ejemplo ilustra 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 (incluida la línea de base), 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