Inspecionar dados do Teste A/B com o BigQuery

Além de conferir os dados do experimento do A/B Testing no console do Firebase, é possível inspecionar e analisar esses dados no BigQuery. Embora o A/B Testing não tenha uma tabela separada do BigQuery, as associações de experimentos e variantes são armazenadas em todos os eventos do Google Analytics nas tabelas de eventos do Analytics.

As propriedades do usuário que contêm informações de experimentos estão no formato userProperty.key like "firebase_exp_%" ou userProperty.key = "firebase_exp_01", em que 01 é o ID do experimento e userProperty.value.string_value contém o índice (baseado em zero) da variante do experimento.

Use essas propriedades do usuário para extrair dados do experimento. Assim, é possível dividir os resultados do experimento de várias formas diferentes e verificar os resultados de A/B Testing de maneira independente.

Para começar, siga as etapas abaixo, conforme descrito neste guia:

  1. Ativar a exportação do BigQuery para o Google Analytics no console do Firebase
  2. Acessar dados do A/B Testing usando o BigQuery
  3. Analisar exemplos de consultas

Ativar a exportação do BigQuery para o Google Analytics no console do Firebase

No plano do Spark, você pode usar o sandbox do BigQuery para acessar o BigQuery sem custos financeiros, sujeito aos limites do sandbox. Consulte Preços e o sandbox do BigQuery para mais informações.

Primeiro, verifique se você está exportando seus dados do Analytics para o BigQuery:

  1. Abra a guia Integrações, que pode ser acessada usando > Configurações do projeto no console do Firebase.
  2. Se você já estiver usando BigQuery com outros serviços do Firebase, clique em Gerenciar. Caso contrário, clique em Vincular.
  3. Consulte Sobre a vinculação entre o Firebase e BigQuery e clique em Próxima.
  4. Na seção Configurar integração, ative o botão de alternância Google Analytics.
  5. Selecione uma região e escolha as configurações de exportação.

  6. Clique em Vincular a BigQuery.

Dependendo de como você escolheu exportar dados, a disponibilização das tabelas pode demorar até um dia. Para mais informações sobre como exportar dados de projetos para o BigQuery, consulte Exportar dados de projetos para o BigQuery.

Acessar dados do A/B Testing no BigQuery

Antes de consultar dados de um experimento específico, é preciso ter acesso a alguns ou todos os itens a seguir para usar na sua consulta:

  • ID do experimento: aparece no URL da página Visão geral do experimento. Por exemplo, se o URL for semelhante a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, o ID do experimento será 25.
  • ID de propriedade do Google Analytics: seu ID de propriedade de 9 dígitos do Google Analytics. Você pode encontrá-lo no Google Analytics. Ele também aparece no BigQuery quando você expande o nome do projeto para mostrar o nome da tabela de eventos do Google Analytics (project_name.analytics_000000000.events).
  • Data do experimento: para criar uma consulta mais rápida e eficiente, é recomendável limitar as consultas às partições da tabela de eventos diários do Google Analytics que contêm os dados do experimento, ou seja, tabelas identificadas com um sufixo YYYYMMDD. Portanto, se o experimento tiver sido realizado de 2 de fevereiro a 2 de maio de 2024, você especificará _TABLE_SUFFIX between '20240202' AND '20240502'. Confira um exemplo em Selecionar os valores de um experimento específico.
  • Nomes de eventos: normalmente, eles correspondem às métricas da meta que você configurou no experimento. Por exemplo, eventos in_app_purchase, ad_impression ou user_retention.

Depois de coletar as informações necessárias para gerar a consulta:

  1. Abra BigQuery no console do Google Cloud.
  2. Selecione seu projeto e clique em Criar consulta SQL.
  3. Adicione sua consulta. Para conferir exemplos de consultas, acesse Analisar exemplos de consultas.
  4. Clique em Executar.

Consultar dados do experimento usando a consulta gerada automaticamente pelo Console do Firebase

Se você estiver usando o plano Blaze, a página Visão geral do experimento fornece um exemplo de consulta que retorna o nome, as variantes, os nomes e o número de eventos do experimento que está sendo visualizado.

Para receber e executar a consulta gerada automaticamente:

  1. No console do Firebase, abra A/B Testing e selecione o experimento do A/B Testing que você quer consultar para abrir a Visão geral do experimento.
  2. No menu Opções, abaixo de Integração com o BigQuery, selecione Consultar dados do experimento. O projeto vai ser aberto no BigQuery no console do Google Cloud e vai fornecer uma consulta básica que pode ser usada para consultar os dados do experimento.

O exemplo a seguir mostra uma consulta gerada para um experimento com três variantes, incluindo o valor de referência, chamada Winter Welcome experiment. Ela retorna o nome ativo do experimento, o nome da variante, o evento único e a contagem de eventos de cada evento. O criador de consultas não especifica o nome do projeto no nome da tabela, já que ele é aberto diretamente no projeto.

  /*
    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 mais exemplos de consultas, acesse Analisar exemplos de consultas.

Analisar exemplos de consultas

As seções a seguir mostram exemplos de consultas que podem ser usadas para extrair dados de experimentos do A/B Testing das tabelas de eventos do Google Analytics.

Extrair valores de desvio padrão de compra e experimento de todos os experimentos

Você pode usar os dados dos resultados do experimento para verificar de maneira independente os resultados do Firebase A/B Testing. A instrução SQL do BigQuery a seguir extrai variantes do experimento, o número de usuários únicos em cada variante e soma a receita total dos eventos de in_app_purchase e ecommerce_purchase, além dos desvios padrão de todos os experimentos no período especificado como as datas de início e término de _TABLE_SUFFIX. É possível usar os dados obtidos dessa consulta com um gerador de significância estatística para testes t de uma cauda para verificar se os resultados fornecidos pelo Firebase correspondem à sua própria análise.

Para mais informações sobre como o A/B Testing calcula a inferência, consulte Interpretar resultados de testes.

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

Selecione os valores de um experimento específico

O exemplo de consulta a seguir ilustra como receber dados de um experimento específico no BigQuery. Essa consulta de exemplo retorna o nome do experimento, os nomes das variantes (incluindo o valor de referência), os nomes e as contagens 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