Acerca de las pruebas A/B de Firebase

Para ayudarlo a maximizar la relevancia y utilidad de los resultados de sus pruebas, esta página brinda información detallada sobre cómo funciona Firebase A/B Testing.

Tamaño de la muestra

La inferencia de Firebase A/B Testing no requiere la identificación de un tamaño de muestra mínimo antes de comenzar un experimento. En general, debes elegir el mayor nivel de exposición al experimento con el que te sientas cómodo. Los tamaños de muestra más grandes aumentan las posibilidades de encontrar un resultado estadísticamente significativo, especialmente cuando las diferencias de rendimiento entre variantes son pequeñas. También puede resultarle útil consultar una calculadora de tamaño de muestra en línea para encontrar el tamaño de muestra recomendado según las características de su experimento.

Editar experimentos

Puede editar los parámetros seleccionados de los experimentos en ejecución, incluidos:

  • Nombre del experimento
  • Descripción
  • Condiciones de focalización
  • Valores variantes

Para editar un experimento:

  1. Abra la página de resultados del experimento que desea modificar.
  2. En el menú Más , seleccione Editar experimento en ejecución .
  3. Realice los cambios y luego haga clic en Publicar .

Tenga en cuenta que cambiar el comportamiento de la aplicación durante un experimento en ejecución puede afectar los resultados.

Lógica de asignación de variantes de Remote Config

A los usuarios que cumplen con todas las condiciones de orientación del experimento (incluida la condición de porcentaje de exposición) se les asignan variantes del experimento según los pesos de las variantes y un hash del ID del experimento y el ID de instalación de Firebase del usuario.

Las audiencias de Google Analytics están sujetas a latencia y no están disponibles de inmediato cuando un usuario cumple inicialmente con los criterios de audiencia:

  • Cuando crea una nueva audiencia, puede llevar entre 24 y 48 horas acumular nuevos usuarios.
  • Por lo general, los nuevos usuarios se inscriben en audiencias calificadas entre 24 y 48 horas después de que se vuelven elegibles.

Para una orientación urgente, considere el uso de propiedades de usuario de Google Analytics o opciones de orientación integradas, como país o región, idioma y versión de la aplicación.

Una vez que un usuario ha ingresado a un experimento, se le asigna persistentemente a su variante de experimento y recibe valores de parámetros del experimento siempre que el experimento permanezca activo, incluso si sus propiedades de usuario cambian y ya no cumplen con los criterios de orientación del experimento.

Eventos de activación

Los eventos de activación de experimentos limitan la medición del experimento a los usuarios de la aplicación que activan el evento de activación. El evento de activación del experimento no tiene ningún impacto en los parámetros del experimento que recupera la aplicación; Todos los usuarios que cumplan con los criterios de orientación del experimento recibirán los parámetros del experimento. En consecuencia, es importante elegir un evento de activación que se produzca después de que se hayan obtenido y activado los parámetros del experimento, pero antes de que se hayan utilizado para modificar el comportamiento de la aplicación.

Pesos variantes

Durante la creación del experimento, es posible cambiar las ponderaciones de variante predeterminadas para colocar un porcentaje mayor de usuarios del experimento en una variante.

Interpretar los resultados de las pruebas

Firebase A/B Testing utiliza la inferencia frecuentista para ayudarte a comprender la probabilidad de que los resultados de tu experimento se hayan producido únicamente debido al azar. Esta probabilidad está representada por un valor de probabilidad o valor p . El valor p es la probabilidad de que la diferencia en el rendimiento entre dos variantes pueda haber ocurrido debido a una probabilidad aleatoria, medida por un valor entre 0 y 1. Las pruebas A/B utilizan un nivel de significancia de 0,05 para que:

  • Un valor de p inferior a 0,05 indica una diferencia estadísticamente significativa entre variantes, lo que significa que no es probable que haya ocurrido por casualidad.
  • Un valor de p superior a 0,05 indica que la diferencia entre variantes no es estadísticamente significativa.

Los datos del experimento se actualizan una vez al día y la hora de la última actualización aparece en la parte superior de la página de resultados del experimento.

El gráfico de resultados del experimento muestra los valores promedio acumulados de la métrica seleccionada. Por ejemplo, si realiza un seguimiento de los ingresos publicitarios por usuario como métrica, muestra los ingresos observados por usuario y si realiza un seguimiento de los usuarios sin fallos, realiza un seguimiento del porcentaje de usuarios que no han experimentado un fallo. Estos datos son acumulativos desde el inicio del experimento.

Los resultados se dividen en datos observados y datos de inferencia . Los datos observados se calculan directamente a partir de los datos de Google Analytics y los datos de inferencia proporcionan valores p e intervalos de confianza para ayudarle a evaluar la importancia estadística de los datos observados.

Para cada métrica, se muestran las siguientes estadísticas:

Datos observados

  • Valor total de la métrica rastreada (número de usuarios retenidos, número de usuarios que fallaron, ingresos totales)
  • Tasa específica de métricas (tasa de retención, tasa de conversión, ingresos por usuario)
  • Diferencia porcentual (incremento) entre la variante y la línea base

Datos de inferencia

  • El IC del 95 % (diferencia de medias) muestra un intervalo que contiene el valor "verdadero" de la métrica rastreada con un 95 % de confianza. Por ejemplo, si su experimento da como resultado un IC del 95 % para los ingresos totales estimados entre $5 y $10, existe un 95 % de posibilidades de que la verdadera diferencia de medias esté entre $5 y $10. Si el rango de IC incluye 0, no se detectó una diferencia estadísticamente significativa entre la variante y el valor inicial.

    Los valores del intervalo de confianza aparecen en el formato que coincide con la métrica rastreada. Por ejemplo, tiempo (en HH:MM:SS ) para la retención de usuarios, USD para ingresos publicitarios por usuario y porcentaje para la tasa de conversión.

  • Valor p , que representa la probabilidad de que no exista una diferencia real entre la variante y la línea de base; en otras palabras, cualquier diferencia observada probablemente se deba al azar. Cuanto menor sea el valor p, mayor será la confianza en que el desempeño observado seguirá siendo cierto en el futuro. Un valor de 0,05 o menos indica una diferencia significativa y una baja probabilidad de que los resultados se deban al azar. Los valores P se basan en una prueba de una cola , donde el valor de la variante es mayor que el valor de referencia. Firebase utiliza una prueba t de varianza desigual para variables continuas (valores numéricos, como ingresos) y una prueba z de proporciones para datos de conversión (valores binarios, como retención de usuarios, usuarios sin fallas, usuarios que activan un evento de Google Analytics).

Los resultados del experimento proporcionan información importante para cada variante del experimento, que incluye:

  • Cuánto más alto o más bajo se compara cada métrica del experimento con la línea de base, medida directamente (es decir, los datos observados reales)
  • La probabilidad de que la diferencia observada entre la variante y la línea de base pueda haber ocurrido debido a una probabilidad aleatoria (valor p)
  • Un rango que probablemente contenga la diferencia de rendimiento "verdadera" entre la variante y la línea de base para cada métrica del experimento: una forma de comprender los escenarios de rendimiento del "mejor caso" y del "peor caso".

Interpretar los resultados de experimentos impulsados ​​por Google Optimize

Los resultados de las pruebas Firebase A/B para los experimentos iniciados antes del 23 de octubre de 2023 se basaron en Google Optimize. Google Optimize utilizó la inferencia bayesiana para generar estadísticas detalladas a partir de los datos de su experimento.

Los resultados se dividen en "datos observados" y "datos modelados". Los datos observados se calcularon directamente a partir de datos analíticos y los datos modelados se derivaron de la aplicación de nuestro modelo bayesiano a los datos observados.

Para cada métrica, se muestran las siguientes estadísticas:

Datos observados

  • Valor total (suma de la métrica para todos los usuarios de la variante)
  • Valor promedio (valor promedio de la métrica para los usuarios en la variante)
  • % de diferencia con respecto al valor inicial

Datos modelados

  • Probabilidad de superar la línea de base: qué probabilidad hay de que la métrica sea más alta para esta variante en comparación con la línea de base
  • Diferencia porcentual con respecto al valor inicial: según las estimaciones del modelo mediano de la métrica para la variante y el valor inicial
  • Rangos de métricas: los rangos donde es más probable encontrar el valor de la métrica, con un 50% y un 95% de certeza.

En general, los resultados del experimento nos brindan tres ideas importantes para cada variante del experimento:

  1. Cuánto más alto o más bajo se compara cada métrica del experimento con la línea de base, medida directamente (es decir, los datos observados reales)
  2. ¿Qué probabilidad hay de que cada métrica del experimento sea superior a la línea de base/mejor en general, según la inferencia bayesiana (probabilidad de ser mejor/mejor respectivamente)?
  3. Los rangos plausibles para cada métrica del experimento basados ​​en la inferencia bayesiana: escenarios del "mejor caso" y del "peor caso" (intervalos creíbles)

Determinación del líder

Para los experimentos que utilizan la inferencia frecuentista , Firebase declara que una variante es líder si hay una diferencia de rendimiento estadísticamente significativa entre la variante y la línea de base en la métrica del objetivo. Si varias variantes cumplen este criterio, se elige la variante con el valor p más bajo.

Para los experimentos que utilizaron Google Optimize , Firebase declaró que una variante es un "líder claro" si tenía más del 95 % de posibilidades de ser mejor que la variante de referencia en la métrica principal. Si varias variantes cumplían con los criterios de "líder claro", solo la variante con mejor desempeño en general era etiquetada como "líder claro".

Dado que la determinación del líder se basa únicamente en el objetivo principal, debe considerar todos los factores relevantes y revisar los resultados de las métricas secundarias antes de decidir si implementar o no una variante principal. Es posible que desee considerar las ventajas esperadas de realizar el cambio, el riesgo negativo (como el extremo inferior del intervalo de confianza para la mejora) y el impacto en métricas distintas al objetivo principal.

Por ejemplo, si su métrica principal es Usuarios sin fallas y la Variante A es un líder claro sobre la línea base, pero las métricas de retención de usuarios de la Variante A están por detrás de la retención de usuarios base, es posible que desee investigar más a fondo antes de implementar la Variante A más ampliamente.

Puede implementar cualquier variante, no solo una variante líder, según su evaluación general del desempeño en las métricas primarias y secundarias.

Duración del experimento

Firebase recomienda que un experimento continúe ejecutándose hasta que se cumplan las siguientes condiciones:

  1. El experimento ha acumulado suficientes datos para proporcionar un resultado útil. Los experimentos y los datos de resultados se actualizan una vez al día. Quizás quieras consultar una calculadora de tamaño de muestra en línea para evaluar el tamaño de muestra recomendado para tu experimento.
  2. El experimento se ha realizado durante el tiempo suficiente para garantizar una muestra representativa de sus usuarios y medir el rendimiento a largo plazo. Dos semanas es el tiempo de ejecución mínimo recomendado para un experimento típico de Remote Config.

Los datos del experimento se procesan durante un máximo de 90 días después del inicio del experimento. Después de 90 días, el experimento se detiene automáticamente. Los resultados del experimento ya no se actualizan en Firebase console y el experimento deja de enviar valores de parámetros específicos del experimento. En este punto, los clientes comienzan a recuperar valores de parámetros según las condiciones establecidas en la plantilla de Remote Config. Los datos históricos del experimento se conservan hasta que elimine el experimento.

Esquema de 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

Límites

Las pruebas A/B están limitadas a 300 experimentos en total, 24 experimentos en ejecución y 24 experimentos preliminares.

  • Si alcanza el límite de 300 experimentos totales o el límite de 24 borradores de experimentos, debe eliminar un experimento existente antes de crear uno nuevo.

  • Si alcanza el límite de 24 experimentos en ejecución, debe detener un experimento en ejecución antes de comenzar uno nuevo.

Un experimento puede tener un máximo de 8 variantes (incluida la línea base) y hasta 25 parámetros para cada variante. Un experimento puede tener un tamaño de hasta unos 200 KiB. Esto incluye nombres de variantes, parámetros de variantes y otros metadatos de configuración.