Inspecione dados de testes A/B com o BigQuery

Além de visualizar os dados do experimento de teste A/B no Firebase Console, você pode inspecionar e analisar os dados do experimento 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 cada evento do Google Analytics nas tabelas de eventos do Analytics.

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

Você pode usar essas propriedades de usuário experimental para extrair dados experimentais. Isso lhe dá o poder de dividir os resultados do seu experimento de muitas maneiras diferentes e verificar de forma independente os resultados do teste A/B.

Para começar, faça o seguinte conforme descrito neste guia:

  1. Ative a exportação do BigQuery para Google Analytics no console do Firebase
  2. Acesse dados de testes A/B usando o BigQuery
  3. Explorar exemplos de consultas

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

Se você estiver no plano Spark, poderá usar o sandbox do BigQuery para acessar o BigQuery sem nenhum custo, sujeito aos limites do sandbox . Consulte Preços e sandbox do BigQuery para mais informações.

Primeiro, certifique-se de exportar seus dados do Analytics para o BigQuery:

  1. Abra a guia Integrações , que você pode acessar em > Configurações do projeto no console do Firebase .
  2. Se você já usa o BigQuery com outros serviços do Firebase, clique em Gerenciar . Caso contrário, clique em Link .
  3. Revise Sobre como vincular o Firebase ao BigQuery e clique em Avançar .
  4. Na seção Configurar integração , ative a alternância do 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 os dados, pode levar até um dia para que as tabelas fiquem disponíveis. Para obter mais informações sobre como exportar dados do projeto para o BigQuery, consulte Exportar dados do projeto para o BigQuery .

Acesse dados de testes A/B no BigQuery

Antes de consultar dados de uma experiência específica, convém obter alguns ou todos os itens a seguir para usar em sua consulta:

  • ID do experimento: você pode obtê-lo no URL da página de visão geral do experimento . Por exemplo, se o seu 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 : este é o seu ID de propriedade do Google Analytics de 9 dígitos. 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 da experiência: para compor uma consulta mais rápida e eficiente, é uma boa prática limitar suas consultas às partições da tabela de eventos diários do Google Analytics que contêm os dados da experiência (tabelas identificadas com um sufixo YYYYMMDD ). Portanto, se seu experimento foi executado de 2 de fevereiro de 2024 a 2 de maio de 2024, você especificaria um _TABLE_SUFFIX between '20240202' AND '20240502' . Por exemplo, consulte Selecionar os valores de um experimento específico .
  • Nomes de eventos: normalmente, correspondem às métricas de meta que você configurou no experimento. Por exemplo, eventos in_app_purchase , eventos ad_impression ou user_retention .

Depois de reunir as informações necessárias para gerar sua consulta:

  1. Abra o BigQuery no console do Google Cloud.
  2. Selecione seu projeto e selecione Criar consulta SQL .
  3. Adicione sua consulta. Para obter exemplos de consultas a serem executadas, consulte Explorar exemplos de consultas .
  4. Clique em Executar .

Consultar dados do experimento usando a consulta gerada automaticamente no 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 do experimento, as variantes, os nomes dos eventos e o número de eventos do experimento que você está visualizando.

Para obter e executar a consulta gerada automaticamente:

  1. No console do Firebase, abra o Teste A/B e selecione o experimento de teste A/B que você deseja consultar para abrir a visão geral do experimento .
  2. No menu Opções, abaixo de Integração do BigQuery , selecione Consultar dados do experimento . Isso abre seu projeto no BigQuery no console do Google Cloud e fornece uma consulta básica que você pode usar para consultar os dados do experimento.

O exemplo a seguir mostra uma consulta gerada para um experimento com três variantes (incluindo a linha de base) denominada "Experiência de boas-vindas de inverno". Ele retorna o nome do experimento ativo, o nome da variante, o evento exclusivo e a contagem de eventos para cada evento. Observe que o construtor de consultas não especifica o nome do seu projeto no nome da tabela, pois ele abre diretamente no seu 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 obter exemplos de consultas adicionais, vá para Explorar exemplos de consultas .

Explorar exemplos de consultas

As seções a seguir fornecem exemplos de consultas que você pode usar para extrair dados de experimentos de teste A/B de tabelas de eventos do Google Analytics.

Extraia 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 forma 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 in_app_purchase e ecommerce_purchase , além dos desvios padrão de todos os experimentos dentro do intervalo de tempo especificado como datas de início e término _TABLE_SUFFIX . Você pode usar os dados obtidos nesta consulta com um gerador de significância estatística para testes t unilaterais para verificar se os resultados fornecidos pelo Firebase correspondem à sua própria análise.

Para obter mais informações sobre como o teste A/B calcula a inferência, consulte Interpretar os resultados do teste .

  /*
    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 obter dados para um experimento específico no BigQuery. Este exemplo de consulta retorna o nome do experimento, os nomes das variantes (incluindo a linha de base), os nomes dos eventos 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