Per aiutarti a massimizzare la pertinenza e l'utilità dei risultati dei test, questa pagina fornisce informazioni dettagliate su come Firebase A/B Testing funziona.
Dimensioni campione
Firebase A/B Testing l'inferenza non richiede l'identificazione di una dimensione minima del campione prima di avviare un esperimento. In generale, dovresti scegliere il livello di esposizione all'esperimento più elevato con cui ti senti a tuo agio. Dimensioni campione più grandi aumentano le probabilità di trovare un risultato statisticamente significativo, soprattutto quando le differenze di rendimento tra le varianti sono piccole. Potrebbe anche essere utile consultare un calcolatore online della dimensione del campione per trovare la dimensione del campione consigliata in base alle caratteristiche dell'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:
- Apri la pagina dei risultati dell'esperimento che vuoi modificare.
- Nel menu Altro , seleziona Modifica esperimento in esecuzione.
- Apporta le modifiche e poi fai clic su Pubblica.
Tieni presente che la modifica del comportamento dell'app durante un esperimento in esecuzione può influire sui risultati.
Logica di assegnazione delle varianti di Remote Config
Gli utenti che soddisfano tutte le condizioni di targeting dell'esperimento (inclusa la condizione di esposizione percentuale ) vengono assegnati alle varianti dell'esperimento in base alle ponderazioni delle varianti e a un hash dell'ID esperimento e dell'ID di installazione utente Firebase.
Google Analytics I segmenti di pubblico di Google Analytics sono soggetti a latenza e non sono immediatamente disponibili quando un utente soddisfa inizialmente 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 sensibile al tempo, valuta l'utilizzo delle proprietà utente Google Analytics o delle opzioni di targeting integrate, come paese o regione, lingua, e versione dell'app.
Una volta che un utente ha partecipato a un esperimento, gli vengono assegnati in modo permanente i valori dei parametri della variante dell'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 i parametri dell'esperimento siano stati utilizzati per modificare il comportamento dell'app.
Ponderazioni delle varianti
Durante la creazione dell'esperimento, è possibile modificare le ponderazioni predefinite delle varianti per inserire una percentuale maggiore di utenti dell'esperimento in una variante.
Interpretare i risultati del test
Firebase A/B Testing utilizza l'inferenza frequentista per aiutarti a comprendere la probabilità che i risultati dell'esperimento si siano verificati esclusivamente a causa della casualità. Questa probabilità è rappresentata da un valore di probabilità o valore p. Il valore p è la probabilità che una differenza di rendimento di questa entità o superiore tra due varianti possa essersi verificata a causa della casualità se in realtà non c'è alcun effetto, misurato da un valore compreso tra 0 e 1. A/B Testing utilizza un livello di significatività di 0,05, quindi:
- Un valore p inferiore a 0,05 indica che, se la differenza reale fosse zero, esiste una probabilità inferiore al 5% che una differenza osservata così estrema possa verificarsi in modo casuale. Poiché 0,05 è la soglia, qualsiasi valore p inferiore a 0,05 indica una differenza statisticamente significativa tra le varianti.
- 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'ultima ora di 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 un arresto anomalo. 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 a partire dai dati di Google Analytics, mentre 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 della metrica monitorata (numero di utenti fidelizzati, numero di utenti che hanno riscontrato arresti anomali, entrate totali)
- Tasso specifico della metrica (tasso di fidelizzazione, tasso di conversione, entrate per utente)
- Differenza percentuale (incremento) tra la variante e la base di riferimento
Dati di inferenza
Intervallo di confidenza del 95% (differenza nelle medie) mostra un intervallo che contiene il valore "reale" della metrica monitorata con una confidenza del 95%. Ad esempio, se l'esperimento genera un intervallo di confidenza del 95% per le entrate totali stimate compreso tra 5 e 10 $, esiste una probabilità del 95% che la differenza reale nelle 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 la base di riferimento.
I valori dell'intervallo di affidabilità vengono visualizzati nel formato corrispondente alla metrica monitorata. Ad esempio, tempo (in
HH:MM:SS) per la fidelizzazione utenti, USD per le entrate pubblicitarie per utente e percentuale per il tasso di conversione.Valore p, che rappresenta la probabilità di osservare dati estremi come i risultati ottenuti nell'esperimento, dato che non esiste una differenza reale tra la variante e la base di riferimento. Più basso è il valore p, maggiore è la confidenza che il rendimento osservato rimanga valido se ripetiamo l'esperimento. Un valore pari o inferiore a 0,05 indica una differenza significativa e una bassa probabilità che i risultati siano dovuti alla casualità. I valori p si basano su un test unilaterale, in cui il valore della variante è maggiore del valore della base di riferimento. Firebase utilizza un t-test con varianza disuguale per le variabili continue (valori numerici, come le entrate) e uno z-test delle proporzioni per i dati sulle conversioni (valori binari, come la fidelizzazione utenti, gli utenti senza arresti anomali, gli utenti che attivano un evento Google Analytics).
I risultati dell'esperimento forniscono informazioni importanti per ogni variante dell'esperimento, tra cui:
- La differenza in aumento o in diminuzione di ogni metrica dell'esperimento rispetto alla base di riferimento, misurata direttamente (ovvero i dati osservati effettivi)
- La probabilità che la differenza osservata tra la variante e la base di riferimento possa essersi verificata a causa della casualità (valore p)
- Un intervallo che probabilmente contiene la differenza di rendimento "reale" tra la variante e la base di riferimento per ogni metrica dell'esperimento, un modo per comprendere gli scenari di rendimento "migliore" e "peggiore"
Interpretare i risultati degli esperimenti basati su Google Optimize
Firebase A/B Testing risultati per gli esperimenti iniziati prima del 23 ottobre 2023 erano basati su Google Optimize. Google Optimize utilizzava l'inferenza bayesiana per generare statistiche utili a partire 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 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 dalla base di riferimento: basata sulle 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 variante dell'esperimento:
- La differenza in aumento o in diminuzione di ogni metrica dell'esperimento rispetto alla base di riferimento, misurata direttamente (ovvero i dati osservati effettivi)
- La probabilità che ogni metrica dell'esperimento sia superiore alla base di riferimento / migliore in generale, in base all'inferenza bayesiana (probabilità di essere migliore / migliore in generale, rispettivamente)
- Gli intervalli plausibili per ogni metrica dell'esperimento in base all'inferenza bayesiana, scenari "migliore" e "peggiore" (intervalli di credibilità)
Determinazione della variante vincente
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 questo criterio, viene scelta la variante con il valore p più basso.
Per gli esperimenti che utilizzavano Google Optimize, Firebase dichiarava che una variante era una "variante vincente chiara" se aveva una probabilità superiore al 95% di essere migliore della variante di riferimento nella metrica principale. Se più varianti soddisfacevano i criteri di "variante vincente chiara", solo la variante con il rendimento migliore in generale veniva etichettata come "variante vincente chiara".
Poiché la determinazione della variante vincente si basa solo sull'obiettivo principale, dovresti prendere in considerazione tutti i fattori pertinenti e rivedere i risultati delle metriche secondarie prima di decidere se implementare una variante vincente o meno. Potresti voler considerare il potenziale aumento previsto della modifica, il rischio di svantaggio (ad esempio l'estremità inferiore dell'intervallo di affidabilità per il miglioramento) e l'impatto sulle metriche diverse dall'obiettivo principale.
Ad esempio, se la metrica principale è Utenti senza arresti anomali e la variante A è una variante vincente chiara rispetto alla base di riferimento, ma le metriche di fidelizzazione utenti della variante A sono inferiori alla fidelizzazione utenti della base di riferimento, potresti voler approfondire la questione prima di implementare la variante A su una scala più ampia.
Puoi implementare qualsiasi variante, non solo una variante vincente, in base alla tua valutazione complessiva del rendimento delle metriche principali e secondarie.
Durata dell'esperimento
Firebase consiglia di continuare a eseguire un esperimento finché non vengono soddisfatte le seguenti condizioni:
- L'esperimento ha accumulato dati sufficienti per fornire un risultato utile. I dati degli esperimenti e dei risultati vengono aggiornati una volta al giorno. Potresti voler consultare un calcolatore online della dimensione del campione per valutare la dimensione del campione consigliata per l'esperimento.
- L'esperimento è stato eseguito per un periodo di tempo sufficientemente lungo da garantire un campione rappresentativo dei tuoi utenti e misurare il rendimento a lungo termine. Due settimane è la durata minima consigliata per un esperimento Remote Config tipico.
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 dei parametri 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 finché non elimini l'esperimento.
Schema di BigQuery
Oltre a visualizzare i dati dell'esperimento A/B Testing nella Firebase console, puoi esaminare e analizzare i dati dell'esperimento in BigQuery. Sebbene A/B Testing non abbia una tabella BigQuery separata, le appartenenze a esperimenti e varianti vengono memorizzate in ogni evento Google Analytics all'interno delle tabelle degli eventi Analytics.
Le proprietà utente che contengono informazioni sull'esperimento hanno il 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 (basato su zero) della
variante 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 i passaggi descritti in questa guida:
- Attiva l'esportazione BigQuery per Google Analytics nella console Firebase
- Accedi ai dati utilizzando BigQueryA/B Testing
- Esplora le query di esempio
Attivare l'esportazione BigQuery per Google Analytics nella console Firebase
Se hai il piano Spark, puoi utilizzare la BigQuery sandbox per accedere BigQuery senza costi, nel rispetto dei limiti della sandbox. Per ulteriori informazioni, consulta la sezione Prezzi e la BigQuery sandbox.
Innanzitutto, assicurati di esportare i dati Analytics in BigQuery:
- Apri la scheda Integrazioni, a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase.
- Se utilizzi già BigQuery con altri servizi Firebase, fai clic su Gestisci. In caso contrario, fai clic su Collega.
- Leggi Informazioni sul collegamento di Firebase a BigQuery e fai clic su Avanti.
- Nella sezione Configura integrazione, attiva il Google Analytics pulsante.
Seleziona una regione e scegli le impostazioni di esportazione.
Fai clic su Collega a BigQuery.
A seconda della modalità di esportazione dei dati scelta, potrebbero essere necessari 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.
Accedere ai dati in BigQueryA/B Testing
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 ottenerlo dall'URL della pagina Panoramica 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. - Google Analytics ID proprietà: è l'ID proprietà a 9 cifre
Google Analytics. Puoi trovarlo in
Google Analytics; viene visualizzato anche in BigQuery quando espandi
il nome del progetto per mostrare il nome della tabella degli eventi 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 eventiGoogle Analytics giornalieri
che contengono i dati dell'esperimento, ovvero le tabelle
identificate con un suffisso
YYYYMMDD. Quindi, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un_TABLE_SUFFIX between '20240202' AND '20240502'. Per un esempio, consulta Selezionare i valori di un esperimento specifico. - Nomi degli eventi: in genere, corrispondono alle
metriche dell'obiettivo
che hai configurato nell'esperimento. Ad esempio, eventi
in_app_purchase,ad_impressionouser_retention.
Dopo aver raccolto le informazioni necessarie per generare la query:
- Apri BigQuery nella Google Cloud console.
- Seleziona il progetto, quindi seleziona Crea query SQL.
- Aggiungi la query. Per esempi di query da eseguire, consulta Esplora le query di esempio.
- Fai clic su Esegui.
Eseguire query sui dati dell'esperimento utilizzando la query generata automaticamente della console Firebase
Se hai il piano Blaze, la pagina Panoramica 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:
- Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing su cui vuoi eseguire la query per aprire la Panoramica esperimento.
- Nel menu Opzioni, sotto BigQuery integrazione, seleziona Esegui query sui dati dell'esperimento. Il progetto si apre in BigQuery nella console Google Cloud e viene fornita 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 conteggio degli eventi per ogni evento. Tieni presente che il generatore di query non specifica il nome del progetto nel nome della tabella, perché 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 Esplora le query di esempio.
Esplorare le query di esempio
Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre A/B Testing i dati dell'esperimento dalle tabelle degli eventi Google Analytics.
Estrarre i valori di acquisto e deviazione standard dell'esperimento da tutti gli esperimenti
Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente
Firebase A/B Testing risultati. La seguente istruzione SQL BigQueryestratta
varianti dell'esperimento, il numero di utenti unici in ogni variante e la somma delle entrate totali
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_TABLE_SUFFIX e fine. Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per i t-test unilaterali per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.
Per ulteriori informazioni su come A/B Testing 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;
Selezionare i valori di un esperimento specifico
La seguente query di esempio illustra come ottenere i dati per un esperimento specifico in BigQuery. Questa query di esempio restituisce il nome dell'esperimento, i nomi delle varianti (inclusa la base di riferimento), 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 bozze di esperimenti. Questi limiti sono condivisi con i rollout Remote Config. Ad esempio, se hai due rollout in esecuzione e tre esperimenti in esecuzione, puoi avere fino a 19 rollout o esperimenti aggiuntivi.
Se raggiungi il limite di 300 esperimenti totali o il limite di 24 bozze di esperimenti, devi eliminare un esperimento esistente prima di crearne uno nuovo.
Se raggiungi il limite di 24 esperimenti e rollout in esecuzione, devi interrompere un esperimento o un rollout 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 i nomi delle varianti, i parametri delle varianti e altri metadati di configurazione.