Inspecionar dados do Teste A/B com o BigQuery

Além de visualizar dados de experimentos do Teste A/B no Console do Firebase, é possível inspecionar e analisar esses dados no BigQuery. Embora o Teste A/B 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 maneiras diferentes e verificar os resultados do Teste A/B de forma independente.

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

  1. Ative o BigQuery Export para o Google Analytics no Console do Firebase
  2. Acessar dados do Teste A/B com o BigQuery
  3. Analisar exemplos de consultas

Ativar o BigQuery Export para o Google Analytics no Console do Firebase

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

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

  1. Abra a guia Integrações, que pode ser acessada usando > Configurações do projeto em Console do Firebase.
  2. Se você já estiver usando o BigQuery com outros serviços do Firebase, clique em Gerenciar. Caso contrário, clique em Vincular.
  3. Consulte Sobre a vinculação entre 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 ao 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 do projeto para o BigQuery, consulte Exportar dados do projeto para o BigQuery.

Acesse os dados do Teste A/B 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 da propriedade do Google Analytics: é o ID de 9 dígitos da propriedade do Analytics. Você pode encontrar isso 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 compor 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, tabelas identificadas com um sufixo YYYYMMDD. Portanto, se o experimento tiver sido realizado de 2 de fevereiro a 2 de maio de 2024, você especificaria um _TABLE_SUFFIX between '20240202' AND '20240502'. Para acessar um exemplo, consulte 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 o 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 Run.

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 o Teste A/B e selecione o experimento 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 será aberto no BigQuery no console do Google Cloud, com 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 Teste A/B das tabelas de eventos do Google Analytics.

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

É possível usar os dados dos resultados do experimento para verificar de forma independente os resultados do Teste A/B do Firebase. 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 in_app_purchase e ecommerce_purchase, além dos desvios padrão do todos os experimentos no período especificado como as datas de início e término _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 Teste A/B 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