Il metodo classico di A/B test rimane legato a un vincolo di sample size fisso. Aspetti di raggiungere N utenti, esegui un t-test, controlli il p-value. Ma la realtà di mercato è diversa: se la variante B sta chiaramente perdendo ogni giorno, continuare a bruciare traffico di test per 2 settimane ulteriori è uno spreco. L'approccio bayesiano risolve questo problema — durante il test, aggiorna quotidianamente la distribuzione posteriore e puoi affermare "in questo momento, la probabilità che la variante A vinca è del 94%". Definisci tu il livello di decisione; non sei vincolato alla rigidità frequentist del p<0,05.

I Limiti Strutturali del Test Frequentist

Il test A/B tradizionale si basa sul framework Neyman-Pearson. Definisci l'ipotesi nulla (H₀: nessuna differenza tra varianti), stabilisci il livello alfa (solitamente 0,05), decidi l'effetto minimo rilevabile (MDE), esegui l'analisi di potenza (80%), raggiungi il sample size risultante prima di fermarti. Guardare i risultati prima della conclusione del test gonfia l'errore di tipo I — ecco perché il "peeking" è vietato.

Il problema: nelle campagne digitali, il traffico costa denaro ogni giorno. Se il calcolo del sample size dice 12.000 utenti e ne arrivano 800 al giorno, aspetti 15 giorni. Ma se al quinto giorno il tasso di conversione della variante B crolla dal 2,1% all'1,3%, comunque aspetterai altri 10 giorni. La metodologia frequentist lo giustifica perché "fermarsi presto = bias". Nella realtà, lo scenario del test non è fisso — il budget della campagna è finito, c'è stagionalità, i concorrenti possono muoversi. La rigidità del sample size non lascia spazio alla flessibilità.

C'è un altro aspetto: il p-value fornisce solo "la probabilità di osservare questi dati se H₀ fosse vera". Non ti dice la probabilità reale che la variante A sia effettivamente migliore. Hai ottenuto p=0,03, rifiuti H₀, ma non puoi dire "la probabilità che A batta B è del 97%". Il linguaggio frequentist ti dà solo "significatività statistica", insufficiente per una decisione operativa.

La Logica dell'Approccio Bayesiano

Il framework bayesiano trasforma la conoscenza precedente in una distribuzione posteriore. Prior: "la mia convinzione iniziale sul tasso di conversione prima del test". Man mano che arrivano i dati, il teorema di Bayes aggiorna il prior. Posteriore: "la distribuzione probabile del tasso di conversione in base ai dati fino a questo momento".

Formula:
P(θ | dati) ∝ P(dati | θ) × P(θ)

θ = tasso di conversione, dati = numero osservato di successi/insuccessi. Verosimiglianza (probabilità dei dati) × prior → posteriore. La distribuzione Beta è il prior coniugato, quindi il calcolo è semplice: se per la variante A osservi α successi e β insuccessi, la posteriore è Beta(α+1, β+1).

Ogni giorno, quando arrivano nuovi dati, aggiorna la posteriore. Il vantaggio critico del test sequenziale è questo: puoi confrontare le distribuzioni posteriori e calcolare "la probabilità che il tasso di conversione di A sia superiore a quello di B" via simulazione Monte Carlo. Se supera il 95%, prendi una decisione. Non è "attendi N e poi guarda" come in frequentist, ma "guarda ogni giorno e fermati quando soglia è raggiunta".

Esempio di Calcolo Posteriore

import numpy as np
from scipy.stats import beta

# Variante A: 120 conversioni, 1200 impression
alpha_A = 120 + 1  # +1 per prior uniforme
beta_A = (1200 - 120) + 1

# Variante B: 95 conversioni, 1150 impression
alpha_B = 95 + 1
beta_B = (1150 - 95) + 1

# Monte Carlo: estrai 10.000 campioni
samples_A = beta.rvs(alpha_A, beta_A, size=10000)
samples_B = beta.rvs(alpha_B, beta_B, size=10000)

# Probabilità che A > B
prob_A_wins = (samples_A > samples_B).mean()
print(f"P(A > B) = {prob_A_wins:.3f}")

Esempio di output: P(A > B) = 0.983 — con il 98,3% di confidenza A vince. Un t-test frequentist sugli stessi dati potrebbe dare p=0,06 (non significativo), mentre il bayesiano dice 98%. Quale è più utile per una decisione operativa?

Test Sequenziale e Early Stopping

Il test bayesiano è costruito per essere sequenziale. Aggiorna la posteriore ogni giorno, verifica il criterio decisionale. La metrica "probability to be best" raggiunge il 95%? Fermati, rilascia il vincitore. Questo early stopping non gonfia l'errore di tipo I come farebbe il frequentist, perché il criterio decisionale è la probabilità posteriore, non il p-value.

Processo pratico:

  1. Definisci il prior (solitamente Beta(1,1) uninformativo — distribuzione uniforme)
  2. Raccogli i dati di conversione ogni giorno
  3. Calcola la posteriore
  4. Calcola P(A > B) e P(B > A)
  5. Se uno supera il 95%, fermati e dichiara il vincitore
  6. Se dopo 14 giorni non raggiungi il 95%, concludi come "inconclusive" (sample insufficiente)

Questo approccio è critico nei processi di ottimizzazione del tasso di conversione. In un test di landing page, se la variante B mostra il 30% di clic CTA inferiore nei primi 3 giorni, la posteriore bayesiana dice con il 96% di confidenza che "B è peggio". Il vincolo frequentist avrebbe richiesto di aspettare altri 10 giorni, ma tu puoi fermarti al terzo giorno, riallocare il traffico a A. Il costo opportunità diminuisce.

Dinamiche del Sample Size

In Bayesian non c'è un sample size fisso, ma puoi stimare l'"expected sample size". Dipende da quanto è informativo il prior. Se sai dai dati storici che il tasso di conversione è intorno al 10%, puoi impostare il prior come Beta(10,90) — più informativo — richiedendo meno dati. Con un prior uninformativo ci vuole più tempo, ma comunque esiste una probabilità di stopping anticipato rispetto al frequentist.

Tabella di simulazione (esempio):

Vero ΔSample Size FrequentistExpected N Bayesiano90° percentile N Bayesiano
+10%4.8003.2005.100
+20%1.2008001.400
+5%19.20014.00022.000

Con lift piccoli, Bayesian richiede comunque tempo, ma non è rigido come frequentist. Con lift grandi, puoi ottenere risultati il 30-40% più velocemente.

Obiezioni e Trade-off

1. La scelta del prior è soggettiva: Sì, introduci conoscenza pregressa. Ma con un prior uninformativo (Beta(1,1)) questo problema è minimizzato. Inoltre, con molti dati il prior scompare — la verosimiglianza diventa dominante. Frequentist sembra "oggettivo" ma le scelte di alfa, potenza e MDE sono egualmente soggettive.

2. Costo computazionale: Il test bayesiano richiede un aggiornamento della posteriore ogni giorno più campionamento Monte Carlo. Un t-test frequentist è un calcolo una tantum. Ma gli strumenti moderni (pymc, Stan, Google Optimize in modalità bayesiana) automatizzano tutto. Estrarre 10.000 campioni è una questione di millisecondi.

3. Conformità normativa: In studi farmaceutici che richiedono approvazione FDA, frequentist è lo standard. Nel marketing digitale non c'è questo vincolo. Piattaforme di A/B testing (Optimizely, VWO, AB Tasty) offrono opzioni bayesiane.

4. Confusione con bandit multi-armed: Il test bayesiano viene confuso con algoritmi bandit (Thompson sampling). Un bandit equilibra exploration-exploitation, allocando più traffico alla variante vincente durante il test. Un test A/B bayesiano mantiene split fisso, usando la posteriore per la decisione. Sono casi d'uso diversi — bandit per campagne ad alta velocità, Bayesian per test su cambiamenti di prodotto con ciclo lungo.

Scenario Reale: Test Creative su Meta Ads

Testi 3 varianti creative su Meta Ads (A, B, C). Budget giornaliero $500, target CPA $25. Il metodo frequentist richiederebbe 1.000 conversioni per creative (potenza 80%, MDE 15%). Con 60 conversioni al giorno, aspetti 50 giorni. Ma al decimo giorno il CPA della variante C è salito a $40 — chiaramente peggiore.

Con l'approccio bayesiano:

  • Ogni giorno raccogli spend e conversioni per ogni creative
  • Calcola la distribuzione posteriore del CPA (usi la verosimiglianza Gamma perché CPA è continuo positivo)
  • Calcola P(CPA_C > $30): risultato 92%
  • Al decimo giorno, metti in pausa C, riallocca il budget ad A e B

Al ventesimo giorno, P(CPA_A < CPA_B) = 96%. Dichiari A vincitore — hai preso una decisione in 20 giorni invece di 30, risparmiando $5.000 di budget, e hai mandato più traffico al CPA migliore per 10 giorni extra.

Questo tipo di decisione dinamica è critica nell'era post-iOS 14. La perdita di segnale ha ridotto l'affidabilità dei test — l'approccio bayesiano espone esplicitamente l'incertezza posteriore. Puoi dire "i dati sono insufficienti, la posteriore è troppo larga", cosa che un p-value non comunica.


Il test A/B bayesiano risolve i problemi della metodologia frequentist — vincoli rigidi di sample size e divieto di "peeking". Con il test sequenziale, misuri la certezza decisionale ogni giorno e puoi fermarti quando raggiungi il livello di confidenza desiderato. La scelta del prior introduce soggettività, ma un prior uninformativo più molti dati minimizza questo aspetto. Nel performance marketing, dove hai bisogno di flessibilità nella campagna, efficienza del budget e velocità, il framework bayesiano è l'approccio corretto. La tua infrastruttura di test deve essere costruita su aggiornamenti posteriori dinamici, non su calcoli statici di N.