Duemila test in cui A e B sono la stessa pagina, simulati sul tuo traffico. Guarda quanti ne avrebbe dichiarati vincenti chi sbircia ogni giorno, e quanti gli stessi test ingannano chi aspetta la data di fine.
L'abitudine più costosa dell'A/B testing, simulata sui tuoi numeri
Ecco l'abitudine. Avvii un test e ogni mattina apri la dashboard. La barra sale, scende, risale, e un martedì supera il 95%. Lo dichiari chiuso, rilasci il vincitore e passi oltre. Il problema è che il p-value vaga. In un test in cui le due varianti sono identiche, il p-value supera comunque lo 0.05 in alcuni giorni per puro caso; solo che più tardi torna indietro. Fermarsi al primo attraversamento significa coglierlo mentre passa, e il livello di confidenza che credevi di avere sparisce.
La dimensione dell'effetto sorprende. Con confidenza al 95%, un test letto una sola volta alla fine ti inganna circa una volta su venti, ed è il patto che hai firmato. Leggi lo stesso test ogni giorno per quattro settimane fermandoti al primo giorno verde, e il simulatore di solito mostra un falso vincitore in un quarto o più dei test in cui non è cambiato nulla. L'articolo originale di Evan Miller lo stimava oltre il 20% per chi controlla ogni giorno; Optimizely ha ricostruito il suo motore statistico nel 2015 perché il tasso di falsi positivi dei suoi clienti aveva superato quella soglia. Controllare ogni settimana invece che ogni giorno dimezza più o meno il danno, ma non lo elimina.
La simulazione è onesta su ciò che è: ogni test estrae le conversioni al tasso reale per entrambi i bracci, esegue il normale test z per due proporzioni a ogni controllo su tutto ciò che è stato raccolto finora e registra dove si fermerebbe chi sbircia. Ogni traccia nel grafico è un test; ogni punto è una mattina in cui qualcuno avrebbe annunciato un risultato. Imposta il lift reale a +10% per vedere l'altra metà della storia, in cui chi sbircia coglie presto un effetto reale ma con un lift esagerato, e avrebbe "vinto" con lo stesso entusiasmo se l'effetto fosse stato zero.
Cosa mostra la simulazione
Il p-value è una passeggiata casuale. Sotto l'ipotesi nulla ha distribuzione uniforme a ogni singolo controllo, quindi in una qualsiasi mattina c'è il 5% di probabilità che sia sotto 0.05. In ventotto mattine quelle probabilità si sommano.
Il tasso di falsi positivi dipende da quante volte guardi, non da quanto dura il test. Un test di quattro settimane letto ogni settimana si fa ingannare meno spesso di un test di due settimane letto ogni giorno.
Le fermate anticipate sovrastimano il lift. Quando chi sbircia si ferma in un giorno fortunato, il lift osservato quel giorno è per definizione insolitamente grande. I vincitori rilasciati che poi si sono "sgonfiati" dopo il lancio spesso erano questo.
La soluzione è la disciplina o un test diverso. Disciplina: fissa in anticipo la dimensione del campione e la data di fine e leggi una sola volta. Un test diverso: i metodi sequenziali, come i p-value sempre validi usati da Optimizely, Statsig ed Eppo, sono fatti per essere letti di continuo, al prezzo di un campione più grande.
Le dashboard bayesiane non sono immuni. Una probabilità di essere la migliore controllata ogni giorno e usata per agire a una soglia ha lo stesso problema con un altro vestito.
Come usare il simulatore
1
Inserisci il tasso di conversione e i visitatori giornalieri
La simulazione estrae le conversioni al tuo tasso reale, così le oscillazioni del p-value corrispondono al rumore che vedresti davvero.
2
Imposta la durata pianificata e ogni quanto guardi
Ogni giorno, ogni tre giorni o ogni settimana. La distanza tra il tasso di chi sbircia e quello onesto è il prezzo di quell'abitudine.
3
Lascia il lift reale a nessuno
Così ogni test diventa un test A/A: qualsiasi vincitore è per costruzione un falso allarme. Poi passa a +10% o +30% per vedere chi sbircia davanti a un effetto reale.
4
Leggi i due numeri grandi
Il tasso di chi sbircia è quanto spesso chi controlla ogni giorno ha dichiarato un vincitore. Il tasso alla data di fine dovrebbe essere vicino all'alpha che hai scelto; se lo è, il test onesto sta mantenendo la promessa.
5
Rieseguilo
Ogni esecuzione estrae nuovi test casuali. I tassi si muovono un po'; la distanza no.
Tassi tipici di falsi positivi nei test A/A
Con confidenza al 95%, una sola lettura onesta alla fine si fa ingannare circa il 5% delle volte. Valori indicativi, dalla simulazione e dalla letteratura, per chi sbircia e si ferma al primo controllo significativo.
Ogni quanto guardi
Controlli in 4 settimane
Falsi vincitori
Una volta, alla fine
1
circa 5%
Ogni settimana
4
circa 10-13%
Ogni 3 giorni
9 o 10
circa 15-20%
Ogni giorno
28
circa 25-30%
Ogni giorno per 12 settimane
84
oltre il 35%
Tre abitudini, simulate
Chi controlla ogni giorno
Conversione al 5%, 1,000 visitatori al giorno, 28 giorni, controllato ogni mattina. Nella nostra simulazione: chi sbirciava ha dichiarato un vincitore in circa il 28% di 2,000 test A/A; leggendo una volta alla fine, il 4.5%.
Sei volte il tasso di falsi allarmi, per un test che sembrava accurato perché qualcuno lo guardava ogni giorno. Metà di quei "vincitori" premiava B e metà premiava A, perché non c'era nulla da trovare.
Chi controlla ogni settimana
Stesso traffico, stessa durata, controllato una volta a settimana. Nella nostra simulazione: circa il 12% per chi sbircia contro il 5% alla fine.
Guardare quattro volte invece di ventotto aiuta molto, ma comunque più che raddoppia il tasso promesso. Non esiste un numero di controlli, tranne uno, che mantenga la promessa.
Un lift reale del +10%
Imposta il lift reale di B a +10% sullo stesso traffico. Il test onesto a 28 giorni ha una potenza limitata per un lift così piccolo con questo traffico; chi sbircia si ferma presto più spesso, nei giorni fortunati.
Questo è il caso seducente: chi sbircia sembra trovare le cose più in fretta. Ma i giorni in cui si ferma sono quelli in cui il lift sembrava più grande, quindi la stima rilasciata è gonfiata, e la stessa abitudine avrebbe trovato un "vincitore" anche con il lift a zero.
Errori di peeking
Fermarsi alla prima mattina significativa. È tutto il senso di questa pagina. Il livello di confidenza significa quello che dice solo se leggi il risultato una volta sola.
Allungare un test che è "quasi significativo". Decidere di continuare perché il risultato è vicino alla significatività è peeking al contrario, e gonfia il tasso di falsi positivi allo stesso modo.
Controllare ogni giorno "solo per essere sicuri che non ci siano problemi". Tenere d'occhio i bug va bene; tenere d'occhio il p-value no. Fino alla data di fine guarda lo split del traffico e i tassi di errore, non il lift.
Credere che una dashboard bayesiana renda sicuro il peeking. Agire su una soglia di probabilità che controlli ogni giorno produce lo stesso gonfiamento.
Riportare il lift del giorno dello stop. Se proprio devi fermarti prima, riporta l'intervallo, e aspettati che il lift reale sia più piccolo della stima puntuale.
FAQ sul peeking
Cos'è il problema del peeking negli A/B test?
Leggere più volte un test a orizzonte fisso e fermarsi la prima volta che sembra significativo. Poiché il p-value oscilla mentre arrivano i dati, ogni controllo è un'altra occasione per superare la soglia per fortuna. Un test letto ogni giorno per un mese con confidenza al 95% produce un falso vincitore circa un quarto delle volte quando non è cambiato nulla, invece del 5% promesso dal livello di confidenza.
È sbagliato guardare il test prima che finisca?
Guardare va bene; il problema è agire. Controlla che il traffico si divida in modo uniforme, che entrambe le varianti si carichino e che le conversioni vengano registrate. Non leggere il lift né la confidenza, e non lasciare che quello che hai visto sposti la data di fine in nessuna direzione.
Come faccio un A/B test se voglio controllarlo di continuo?
Usa un metodo sequenziale. I p-value sempre validi, i disegni sequenziali a gruppi e simili sono fatti per essere letti in qualsiasi momento; lo pagano con un campione più grande a parità di potenza. La maggior parte delle piattaforme moderne ne offre uno. Questo simulatore modella il classico test a orizzonte fisso perché è quello su cui si basa la maggior parte dei calcoli in fogli di calcolo e dashboard, comprese le altre schede di questo sito.
Il peeking conta anche se controllo ogni settimana?
Meno, ma sì. Quattro controlli in quattro settimane al 95% di solito raddoppiano il tasso di falsi positivi. L'unico numero di controlli che mantiene il tasso promesso è uno.
Perché il simulatore usa test A/A?
Perché con bracci identici ogni vincitore è per costruzione un falso allarme, quindi il tasso che riporta il simulatore è esattamente il tasso di falsi positivi dell'abitudine simulata. Attivare un lift reale mostra l'altro lato, in cui chi sbircia si ferma presto nei giorni fortunati e riporta un effetto gonfiato.
Un test bayesiano risolve il problema del peeking?
Non da solo. Una probabilità bayesiana letta di continuo e usata per agire a una soglia fissa gonfia le decisioni sbagliate allo stesso modo, come hanno mostrato Georgi Georgiev e altri. I metodi bayesiani con una regola di decisione adeguata e un prior possono comportarsi bene con il monitoraggio continuo, ma "bayesiano" da solo non è la soluzione.