Esamina i dati dei test A/B con BigQuery

Oltre a visualizzare i dati degli esperimenti di test A/B nella console Firebase, puoi controllare e analizzare i dati degli esperimenti in BigQuery. Sebbene il test A/B non disponga di una tabella BigQuery separata, le appartenenze agli esperimenti e alle varianti vengono archiviate su ogni evento di Google Analytics all'interno delle tabelle degli eventi di Analytics.

Le proprietà utente che contengono informazioni sull'esperimento sono nel formato userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01" dove 01 è l'ID esperimento e userProperty.value.string_value contiene l'indice (in base zero) dell'esperimento variante dell'esperimento.

Puoi utilizzare queste proprietà utente dell'esperimento per estrarre i dati dell'esperimento. Ciò ti dà la possibilità di suddividere i risultati dell'esperimento in molti modi diversi e di verificare in modo indipendente i risultati dei test A/B.

Per iniziare, completa le seguenti operazioni come descritto in questa guida:

  1. Abilita l'esportazione BigQuery per Google Analytics nella console Firebase
  2. Accedi ai dati dei test A/B utilizzando BigQuery
  3. Esplora query di esempio

Abilita l'esportazione BigQuery per Google Analytics nella console Firebase

Se disponi del piano Spark, puoi utilizzare la sandbox BigQuery per accedere a BigQuery senza alcun costo, soggetto ai limiti della sandbox . Per ulteriori informazioni, consulta Prezzi e sandbox BigQuery .

Innanzitutto, assicurati di esportare i dati di Analytics in BigQuery:

  1. Apri la scheda Integrazioni , a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase .
  2. Se utilizzi già BigQuery con altri servizi Firebase, fai clic su Gestisci . In caso contrario, fare clic su Collegamento .
  3. Consulta Informazioni sul collegamento di Firebase a BigQuery , quindi fai clic su Avanti .
  4. Nella sezione Configura integrazione , attiva l'interruttore Google Analytics .
  5. Seleziona una regione e scegli le impostazioni di esportazione.

  6. Fai clic su Collega a BigQuery .

A seconda di come hai scelto di esportare i dati, potrebbe essere necessario fino a un giorno prima che le tabelle diventino disponibili. Per ulteriori informazioni sull'esportazione dei dati del progetto in BigQuery, consulta Esportare i dati del progetto in BigQuery .

Accedi ai dati dei test A/B in BigQuery

Prima di eseguire una query sui dati per un esperimento specifico, ti consigliamo di ottenere alcuni o tutti i seguenti elementi da utilizzare nella query:

  • ID esperimento: puoi ottenerlo dall'URL della pagina di panoramica dell'esperimento . Ad esempio, se il tuo URL è simile a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , l'ID esperimento è 25 .
  • ID proprietà di Google Analytics : questo è il tuo ID proprietà di Google Analytics a 9 cifre. Puoi trovarlo in Google Analytics; viene visualizzato anche in BigQuery quando espandi il nome del progetto per mostrare il nome della tabella eventi di Google Analytics ( project_name.analytics_000000000.events ).
  • Data dell'esperimento: per comporre una query più rapida ed efficiente, è buona norma limitare le query alle partizioni della tabella degli eventi giornalieri di Google Analytics che contengono i dati dell'esperimento, ovvero tabelle identificate con un suffisso YYYYMMDD . Pertanto, se l'esperimento si è svolto dal 2 febbraio 2024 al 2 maggio 2024, dovresti specificare un _TABLE_SUFFIX between '20240202' AND '20240502' . Per un esempio, consulta Selezionare i valori di un esperimento specifico .
  • Nomi eventi: in genere corrispondono alle metriche dell'obiettivo configurate nell'esperimento. Ad esempio, eventi in_app_purchase , ad_impression o eventi user_retention .

Dopo aver raccolto le informazioni necessarie per generare la query:

  1. Apri BigQuery nella console Google Cloud.
  2. Seleziona il tuo progetto, quindi seleziona Crea query SQL .
  3. Aggiungi la tua domanda. Per le query di esempio da eseguire, consulta Esplora le query di esempio .
  4. Fare clic su Esegui .

Esegui query sui dati dell'esperimento utilizzando la query generata automaticamente dalla console Firebase

Se utilizzi il piano Blaze, la pagina Panoramica dell'esperimento fornisce una query di esempio che restituisce il nome dell'esperimento, le varianti, i nomi degli eventi e il numero di eventi per l'esperimento che stai visualizzando.

Per ottenere ed eseguire la query generata automaticamente:

  1. Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing su cui desideri eseguire query per aprire la panoramica dell'esperimento .
  2. Nel menu Opzioni, sotto Integrazione BigQuery , seleziona Interroga dati esperimento . Questo apre il tuo progetto in BigQuery all'interno della console della console Google Cloud e fornisce una query di base che puoi utilizzare per eseguire query sui dati dell'esperimento.

L'esempio seguente mostra una query generata per un esperimento con tre varianti (inclusa la baseline) denominata "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento univoco e il conteggio degli eventi per ciascun evento. Tieni presente che il generatore di query non specifica il nome del tuo progetto nel nome della tabella, poiché si apre direttamente all'interno del tuo progetto.

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

Per ulteriori esempi di query, vai a Esplorare query di esempio .

Esplora query di esempio

Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre i dati degli esperimenti di test A/B dalle tabelle eventi di Google Analytics.

Estrai i valori di deviazione standard dell'acquisto e dell'esperimento da tutti gli esperimenti

Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente i risultati del Firebase A/B Testing. La seguente istruzione SQL BigQuery estrae le varianti dell'esperimento, il numero di utenti unici in ciascuna variante e somma le entrate totali derivanti dagli eventi in_app_purchase ed ecommerce_purchase e le deviazioni standard per tutti gli esperimenti nell'intervallo di tempo specificato come date di inizio e fine _TABLE_SUFFIX . Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per test t a una coda per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.

Per ulteriori informazioni su come il test A/B calcola l'inferenza, consulta Interpretare i risultati del test .

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

Seleziona i valori di un esperimento specifico

La seguente query di esempio illustra come ottenere dati per un esperimento specifico in BigQuery. Questa query di esempio restituisce il nome dell'esperimento, i nomi delle varianti (inclusa la linea di base), i nomi degli eventi e i conteggi degli eventi.

  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