Informazioni sui test A/B di Firebase

Per aiutarti a massimizzare la pertinenza e l'utilità dei risultati del test, questa pagina fornisce informazioni dettagliate sul funzionamento di Firebase A/B Testing.

Dimensioni del campione

L'inferenza Firebase A/B Testing non richiede l'identificazione di una dimensione minima del campione prima di iniziare un esperimento. In generale, dovresti scegliere il livello di esposizione all'esperimento più elevato che ritieni opportuno. Campioni più grandi aumentano le probabilità di trovare un risultato statisticamente significativo, soprattutto quando le differenze di rendimento tra le varianti sono piccole. Potresti anche trovare utile consultare un calcolatore online del campione per trovare la dimensione del campione consigliata in base alle caratteristiche del tuo esperimento.

Modificare gli esperimenti

Puoi modificare i parametri selezionati degli esperimenti in esecuzione, tra cui:

  • Nome esperimento
  • Descrizione
  • Condizioni di targeting
  • Valori delle varianti

Per modificare un esperimento:

  1. Apri la pagina dei risultati dell'esperimento che vuoi modificare.
  2. Nel menu Altro , seleziona Modifica esperimento in esecuzione.
  3. Apporta le modifiche e poi fai clic su Pubblica.

Tieni presente che la modifica del comportamento dell'app durante un esperimento in esecuzione potrebbe influire sui risultati.

Logica di assegnazione delle varianti di Remote Config

Gli utenti che corrispondono a tutte le condizioni di targeting dell'esperimento (inclusa la condizione di esposizione percentuale) vengono assegnati alle varianti dell'esperimento in base ai pesi delle varianti e a un hash dell'ID esperimento e dell'ID installazione Firebase dell'utente.

I Google Analytics segmenti di pubblico sono soggetti a latenza e non sono immediatamente disponibili quando un utente inizialmente soddisfa i criteri del segmento di pubblico:

  • Quando crei un nuovo segmento di pubblico, potrebbero trascorrere 24-48 ore prima che questo accumuli nuovi utenti.
  • In genere, i nuovi utenti vengono registrati nei segmenti di pubblico idonei 24-48 ore dopo che diventano idonei.

Per il targeting in tempo reale, valuta la possibilità di utilizzare proprietà Google Analytics degli utenti o opzioni di targeting integrate come paese o regione, lingua e versione dell'app.

Una volta inserito in un esperimento, un utente viene assegnato in modo permanente alla variante dell'esperimento e riceve i valori dei parametri dall'esperimento finché l'esperimento rimane attivo, anche se le sue proprietà utente cambiano e non soddisfano più i criteri di targeting dell'esperimento.

Eventi di attivazione

Gli eventi di attivazione dell'esperimento limitano la misurazione dell'esperimento agli utenti dell'app che attivano l'evento di attivazione. L'evento di attivazione dell'esperimento non ha alcun impatto sui parametri dell'esperimento recuperati dall'app. Tutti gli utenti che soddisfano i criteri di targeting dell'esperimento riceveranno i parametri dell'esperimento. Di conseguenza, è importante scegliere un evento di attivazione che si verifichi dopo che i parametri dell'esperimento sono stati recuperati e attivati, ma prima che vengano utilizzati per modificare il comportamento dell'app.

Ponderazioni delle varianti

Durante la creazione dell'esperimento, è possibile modificare i pesi predefiniti delle varianti per assegnare una percentuale maggiore di utenti dell'esperimento a una variante.

Interpreta i risultati del test

Firebase A/B Testing utilizza l'inferenza frequentista per aiutarti a comprendere la probabilità che i risultati dell'esperimento possano essere stati generati esclusivamente per caso. Questa probabilità è rappresentata da un valore di probabilità o da un valore p. Il valore p è la probabilità che la differenza di rendimento tra due varianti possa essere avvenuta per caso, misurata da un valore compreso tra 0 e 1. A/B Testing utilizza un livello di significatività di 0,05 in modo che:

  • Un valore p inferiore a 0,05 indica una differenza statisticamente significativa tra le varianti, il che significa che è improbabile che si sia verificata per caso.
  • Un valore p superiore a 0,05 indica che la differenza tra le varianti non è statisticamente significativa.

I dati dell'esperimento vengono aggiornati una volta al giorno e l'ora dell'ultimo aggiornamento viene visualizzata nella parte superiore della pagina dei risultati dell'esperimento.

Il grafico dei risultati dell'esperimento mostra i valori medi cumulativi della metrica selezionata. Ad esempio, se monitori le entrate pubblicitarie per utente come metrica, vengono visualizzate le entrate osservate per utente e, se monitori gli utenti senza arresti anomali, viene monitorata la percentuale di utenti che non hanno riscontrato arresti anomali. Questi dati sono cumulativi dall'inizio dell'esperimento.

I risultati sono suddivisi in Dati osservati e Dati di inferenza. I dati osservati vengono calcolati direttamente dai dati di Google Analytics e i dati di inferenza forniscono valori p e intervalli di confidenza per aiutarti a valutare la significatività statistica dei dati osservati.

Per ogni metrica vengono visualizzate le seguenti statistiche:

Dati osservati

  • Valore totale per la metrica monitorata (numero di utenti fidelizzati, numero di utenti che hanno riscontrato un arresto anomalo, entrate totali)
  • Tasso specifico per metrica (tasso di fidelizzazione, tasso di conversione, entrate per utente)
  • Differenza percentuale (impatto) tra la variante e la base di riferimento

Dati di inferenza

  • IC 95% (differenza nelle medie) mostra un intervallo che contiene il valore "reale" della metrica monitorata con una probabilità del 95%. Ad esempio, se l'esperimento genera un IC del 95% per le entrate totali stimate tra 5 e 10 €, esiste una probabilità del 95% che la vera differenza delle medie sia compresa tra 5 e 10 €. Se l'intervallo di confidenza include 0, non è stata rilevata una differenza statisticamente significativa tra la variante e il gruppo di controllo.

    I valori dell'intervallo di confidenza vengono visualizzati nel formato corrispondente alla metrica monitorata. Ad esempio, Tempo (in HH:MM:SS) per la fidelizzazione degli utenti, $ per le entrate pubblicitarie per utente e percentuale per il tasso di conversione.

  • Valore p, che rappresenta la probabilità che non esista una differenza reale tra la variante e la base di riferimento; in altre parole, qualsiasi differenza osservata è probabilmente dovuta al caso. Più basso è il valore p, più elevata è la certezza che il rendimento osservato rimanga valido in futuro. Un valore pari o inferiore a 0,05 indica una differenza significativa e una bassa probabilità che i risultati siano stati dovuti al caso. I valori p si basano su un test a una coda, in cui il valore della variante è maggiore del valore di riferimento. Firebase utilizza un test t con varianza non uguale per le variabili continue (valori numerici, come le entrate) e un test Z delle proporzioni per i dati sulle conversioni (valori binari, come la fidelizzazione degli utenti, gli utenti privi di arresti anomali, gli utenti che attivano un evento Google Analytics).

I risultati dell'esperimento forniscono informazioni importanti per ogni variante dell'esperimento, tra cui:

  • Il grado di entità superiore o inferiore di ciascuna metrica dell'esperimento rispetto al valore di riferimento, misurato direttamente (ovvero i dati osservati effettivi)
  • La probabilità che la differenza osservata tra la variante e la base di riferimento possa essere avvenuta per caso (valore p)
  • Un intervallo che probabilmente contiene la differenza di rendimento "vera" tra la variante e il valore di riferimento per ogni metrica dell'esperimento, un modo per comprendere gli scenari di rendimento "migliore" e "peggiore"

Interpreta i risultati degli esperimenti basati su Google Optimize

I risultati di Firebase A/B Testing per gli esperimenti iniziati prima del 23 ottobre 2023 erano basati su Google Optimize. Google Optimize ha utilizzato l'inferenza bayesiana per generare statistiche approfondite dai dati dell'esperimento.

I risultati sono suddivisi in "dati osservati" e "dati modellati". I dati osservati sono stati calcolati direttamente a partire dai dati di Analytics e i dati modellati sono stati derivati dall'applicazione del nostro modello bayesiano ai dati osservati.

Per ogni metrica vengono visualizzate le seguenti statistiche:

Dati osservati

  • Valore totale (somma della metrica per tutti gli utenti nella variante)
  • Valore medio (valore medio della metrica per gli utenti nella variante)
  • Differenza (%) dalla base di riferimento

Dati modellati

  • Probabilità di superare la base di riferimento: la probabilità che la metrica sia più alta per questa variante rispetto alla base di riferimento
  • Differenza percentuale rispetto alla base di riferimento: in base alle stime del modello mediano della metrica per la variante e la base di riferimento
  • Intervalli di metriche: gli intervalli in cui è più probabile trovare il valore della metrica, con una certezza del 50% e del 95%

Nel complesso, i risultati dell'esperimento ci forniscono tre informazioni importanti per ogni variabile dell'esperimento:

  1. Il grado di superiorità o inferiorità di ciascuna metrica dell'esperimento rispetto alla linea di base, misurata direttamente (ovvero i dati osservati effettivi)
  2. La probabilità che ogni metrica dell'esperimento sia superiore al valore di riferimento / migliore complessivo, in base all'inferenza bayesiana (probabilità di essere migliore / migliore rispettivamente)
  3. Gli intervalli plausibili per ogni metrica dell'esperimento in base all'inferenza bayesiana: scenari "migliore" e "peggiore" (intervalli credibili)

Determinazione del leader

Per gli esperimenti che utilizzano l'inferenza frequentista, Firebase dichiara che una variante è vincente se c'è una differenza di rendimento statisticamente significativa tra la variante e il riferimento nella metrica dell'obiettivo. Se più varianti soddisfano questi criteri, viene scelta la variante con il valore p più basso.

Per gli esperimenti che hanno utilizzato Google Optimize, Firebase ha dichiarato che una variante è "leader indiscussa" se aveva più del 95% di probabilità di essere migliore della variante di riferimento per la metrica principale. Se più varianti soddisfacevano i criteri "leader indiscusso", solo la variante con il rendimento migliore complessivamente è stata etichettata come "leader indiscusso".

Poiché la determinazione della variante vincente si basa solo sull'obiettivo principale, dovresti considerare tutti i fattori pertinenti e rivedere i risultati delle metriche secondarie prima di decidere se implementare o meno una variante vincente. Ti consigliamo di valutare il vantaggio previsto dall'applicazione della modifica, il rischio di svantaggi (ad esempio la parte inferiore dell'intervallo di confidenza per il miglioramento) e l'impatto su metriche diverse dall'obiettivo principale.

Ad esempio, se la metrica principale è Utenti senza arresti anomali e la variante A è un leader chiaro rispetto al valore di riferimento, ma le metriche di fidelizzazione degli utenti della variante A sono inferiori alla fidelizzazione degli utenti di riferimento, ti consigliamo di effettuare ulteriori accertamenti prima di implementare la variante A su larga scala.

Puoi implementare qualsiasi variante, non solo una variante vincente, in base alla tua valutazione complessiva del rendimento in base alle metriche principali e secondarie.

Durata dell'esperimento

Firebase consiglia di continuare a eseguire un esperimento fino a quando non vengono soddisfatte le seguenti condizioni:

  1. L'esperimento ha accumulato dati sufficienti per fornire un risultato utile. I dati degli esperimenti e dei risultati vengono aggiornati una volta al giorno. Ti consigliamo di consultare un calcolatore online delle dimensioni del campione per valutare la dimensione del campione consigliata per il tuo esperimento.
  2. L'esperimento è stato eseguito per un periodo di tempo sufficiente a garantire un campione rappresentativo degli utenti e a misurare il rendimento a lungo termine. Due settimane è il tempo di esecuzione minimo consigliato per un tipico esperimento Remote Config.

I dati dell'esperimento vengono elaborati per un massimo di 90 giorni dopo l'inizio dell'esperimento. Dopo 90 giorni, l'esperimento viene interrotto automaticamente. I risultati dell'esperimento non vengono più aggiornati nella console Firebase e l'esperimento smette di inviare valori parametro specifici dell'esperimento. A questo punto, i client iniziano a recuperare i valori dei parametri in base alle condizioni impostate nel modello Remote Config. I dati storici dell'esperimento vengono conservati fino all'eliminazione dell'esperimento.

Schema di BigQuery

Oltre a visualizzare i dati dell'esperimento A/B Testing nella console Firebase, puoi ispezionarli e analizzarli in BigQuery. Sebbene A/B Testing non abbia una tabella BigQuery separata, le iscrizioni a esperimenti e varianti vengono memorizzate in ogni evento Google Analytics all'interno delle tabelle di eventi Analytics.

Le proprietà utente che contengono le informazioni sull'esperimento sono del tipo userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01", dove 01 è l'ID esperimento e userProperty.value.string_value contiene l'indice (a partire da zero) della variabile dell'esperimento.

Puoi utilizzare queste proprietà utente dell'esperimento per estrarre i dati dell'esperimento. In questo modo, puoi suddividere i risultati dell'esperimento in molti modi diversi e verificare in modo indipendente i risultati di A/B Testing.

Per iniziare, completa quanto segue come descritto in questa guida:

  1. Abilita l'esportazione di BigQuery per Google Analytics nella console Firebase
  2. Accedere ai dati di A/B Testing utilizzando BigQuery
  3. Esplorare le query di esempio

Attivare l'esportazione di BigQuery per Google Analytics nella Console Firebase

Se utilizzi il piano Spark, puoi utilizzare la sandbox BigQuery per accedere a BigQuery senza costi, rispettando i limiti della sandbox. Per ulteriori informazioni, consulta la sezione 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, fai clic su Collega.
  3. Leggi l'articolo Informazioni sul collegamento di Firebase a BigQuery e poi fai clic su Avanti.
  4. Nella sezione Configura integrazione, attiva il pulsante di attivazione/disattivazione 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, l'aggiornamento delle tabelle può richiedere fino a un giorno. Per saperne di più sull'esportazione dei dati di progetto in BigQuery, consulta Esportazione dei dati di progetto in BigQuery.

Accedere ai dati di A/B Testing in BigQuery

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

  • ID esperimento:puoi recuperarlo dall'URL della pagina Panoramica dell'esperimento. Ad esempio, se l'URL è simile a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, l'ID esperimento è 25.
  • ID proprietà Google Analytics: si tratta dell'ID proprietà 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 di eventi Google Analytics (project_name.analytics_000000000.events).
  • Data dell'esperimento: per comporre una query più rapida ed efficiente, è buona prassi limitare le query alle partizioni giornaliere delle tabelle di eventi Google Analytics che contengono i dati dell'esperimento, ovvero le tabelle identificate con un suffisso YYYYMMDD. Pertanto, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un valore _TABLE_SUFFIX between '20240202' AND '20240502'. Per un esempio, consulta Selezionare i valori di un esperimento specifico.
  • Nomi eventi:in genere corrispondono alle metriche degli obiettivi che hai configurato nell'esperimento. Ad esempio, in_app_purchase eventi, 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 progetto, quindi Crea query SQL.
  3. Aggiungi la query. Per esempi di query da eseguire, consulta Esplorare query di esempio.
  4. Fai clic su Esegui.

Esegui query sui dati dell'esperimento utilizzando la query generata automaticamente della 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 visualizzato.

Per ottenere ed eseguire la query generata automaticamente:

  1. Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing per cui vuoi eseguire una query per aprire la Panoramica dell'esperimento.
  2. Nel menu Opzioni, sotto Integrazione BigQuery, seleziona Esegui query sui dati dell'esperimento. Il progetto si apre in BigQuery nella 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 base di riferimento) denominato "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento univoco e il conto degli eventi per ogni evento. Tieni presente che lo strumento per la creazione di query non specifica il nome del progetto nel nome della tabella, in quanto si apre direttamente all'interno del 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 altri esempi di query, vai a Esplorare le query di esempio.

Esplora query di esempio

Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre A/B Testing dati dell'esperimento dalle tabelle di eventi Google Analytics.

Estrai i valori della deviazione standard degli acquisti e degli esperimenti da tutti gli esperimenti

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

Per ulteriori informazioni su come A/B Testing calcola l'inferenza, consulta Interpreta 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;

Selezionare i valori di un esperimento specifico

L'esempio di query seguente illustra come ottenere i dati per un esperimento specifico in BigQuery. Questa query di esempio restituisce il nome dell'esperimento, i nomi delle varianti (incluso il gruppo di controllo), 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

Limiti

A/B Testing è limitato a 300 esperimenti totali, 24 esperimenti in esecuzione e 24 esperimenti in versione bozza. Questi limiti sono condivisi con le implementazioni di Remote Config. Ad esempio, se hai due implementazioni e tre esperimenti in esecuzione, puoi avere fino a 19 implementazioni o esperimenti aggiuntivi.

  • Se raggiungi il limite di 300 esperimenti totali o di 24 bozze di esperimenti, devi eliminare un esperimento esistente prima di crearne uno nuovo.

  • Se raggiungi il limite di 24 esperimenti e implementazioni in esecuzione, devi interrompere un esperimento o un'implementazione in esecuzione prima di avviarne uno nuovo.

Un esperimento può avere un massimo di 8 varianti (inclusa la base di riferimento) e fino a 25 parametri per ogni variante. Un esperimento può avere una dimensione massima di circa 200 KiB. Sono inclusi nomi delle varianti, parametri delle varianti e altri metadati di configurazione.