Thompson Sampling è l’algoritmo dietro l’A/B test automatico. È un metodo multi-armed bandit, e vale la pena capirlo perché l’intuizione è semplice e le conseguenze sul budget no.
Il problema che risolve
Hai diverse varianti di landing page. Ognuna ha un tasso di conversione vero e sconosciuto. Ogni visitatore che mandi è una scelta:
- Mandarlo sulla variante che al momento credi migliore → exploit, ma potresti sbagliarti.
- Mandarlo su una variante su cui sei incerto → explore, per ridurre l’incertezza.
Una divisione fissa 50/50 ignora completamente questo trade-off. Thompson Sampling lo risolve estraendo da ciò che crede.
Il modello: Beta-Bernoulli
Per un esito binario (lead / non lead), il tasso di conversione di ogni variante è modellato come distribuzione Beta:
- Si parte da
Beta(1, 1)— un prior piatto, che significa “non ne ho idea, tutto tra 0% e 100% è plausibile”. - Su un lead: incrementa il primo parametro.
Beta(2, 1),Beta(3, 1), … - Su nessun lead: incrementa il secondo.
Beta(3, 2),Beta(3, 3), …
Quindi dopo s lead e f non-lead, una variante mantiene Beta(s + 1, f + 1). La media di quella distribuzione è circa s / (s + f), e la sua ampiezza si restringe man mano che l’evidenza si accumula. Si usa Beta perché è il prior coniugato della distribuzione Bernoulli: l’aggiornamento è un singolo incremento, non una procedura di fitting.
La regola di decisione
A ogni visitatore:
- Estrai un campione casuale dalla distribuzione Beta di ogni variante.
- Servi la variante con il campione più alto.
- Registra l’esito e aggiorna la distribuzione di quella variante.
Questo è l’intero algoritmo. Nessuna soglia, nessun calcolo di dimensione campionaria, nessuna regola di arresto.
Perché funziona, intuitivamente
All’inizio ogni distribuzione è larga e sovrapposta, quindi le estrazioni sono di fatto casuali e il traffico si divide più o meno equamente. È la fase di esplorazione, e costa poco perché comunque non avevi informazione.
Man mano che una variante accumula evidenza, succedono due cose insieme: la media della sua distribuzione sale e la sua ampiezza si restringe. Una distribuzione stretta con media alta vince quasi tutte le estrazioni; una stretta con media bassa non vince quasi mai; una larga produce ancora ogni tanto un campione alto, quindi continua a ricevere un filo di traffico.
Il risultato è che il traffico si concentra sulla leader mentre le inseguitrici mantengono una piccola possibilità di dimostrare il proprio valore. L’esplorazione non va mai a zero.
Una traccia illustrativa
Due varianti, nessuna informazione iniziale, 100 visitatori per round. Numeri illustrativi:
| Visitatori | Variante A (lead / visitatori) | Variante B (lead / visitatori) | Traffico su B |
|---|---|---|---|
| 0 | 0 / 0 | 0 / 0 | ~50% |
| 50 | 4 / 50 | 9 / 50 | ~65% |
| 150 | 10 / 130 | 32 / 170 | ~85% |
| 400 | 22 / 300 | 78 / 500 | ~93% |
La variante A non viene abbandonata. La sua distribuzione mantiene una coda sottile, quindi continua a ricevere una piccola quota — ed è ciò che le permetterebbe di recuperare se, per esempio, la sorgente di traffico cambiasse e il suo tasso di conversione migliorasse.
Cosa significa “probabilità di vincita”
Il numero mostrato nel prodotto è P(la variante i ha il tasso di conversione vero più alto tra le varianti).
Si calcola estraendo molti campioni da ogni distribuzione e contando quante volte la variante i produce il valore più alto. È un’affermazione sulla tua credenza, non una promessa sul futuro: con due varianti e 20 lead ciascuna, una probabilità di vincita del 90% significa “l’evidenza punta qui”, non “questa convertirà nel 90% dei casi”.
Due conseguenze da interiorizzare:
- La probabilità di vincita non è un tasso di conversione. Una variante può essere al 95% probabile come migliore di un gruppo pessimo.
- Si muove man mano che arriva traffico. Una lettura al 70% non è un verdetto; è un’istantanea che si sposterà.
Regret, in una riga
La giustificazione teorica dei bandit è il regret: il costo cumulato di aver servito la variante peggiore. Una divisione equa fissa accumula regret in modo lineare nel numero di visitatori — paghi il divario su ognuno di essi. Un bandit ben progettato accumula regret in modo logaritmico. Per un budget di lead generation, quella differenza è il punto.
Correlati
- A/B test sulle landing page — il lato pratico
- A/B test automatico — dove gira nel prodotto
- Come leggere la matrice di attribuzione — leggere i risultati senza sovrainterpretarli