Abbiamo avuto modo di esaminare, nell’articolo sulle fondamenta della statistica bayesiana, come l’aggiornamento bayesiano funzioni con la simulazione: generiamo campioni dal prior, simuliamo i dati, filtriamo. Un metodo intuitivo, ma che si scontra con un limite pratico non appena i dati diventano minimamente numerosi.
In questo articolo passiamo alla soluzione analitica elegante che l’approccio bayesiano mette a disposizione per uno dei problemi più comuni nell’analisi di marketing: stimare un conversion rate con pochi dati.
Il problema nasce sempre allo stesso modo. Un piccolo e-commerce ha raccolto 23 conversioni su 412 sessioni. Il tasso grezzo è 23/412 ≈ 5,6%. Un numero preciso, apparentemente. Ma quanta fiducia gli diamo? Potremmo trovarci davanti al 3% vero o al 9% vero — con quel campione, non lo sappiamo. La stima puntuale “5,6%” non dice niente sulla propria incertezza.
Di cosa parleremo:
- Il modello Beta-Binomiale: perché la Beta è la distribuzione naturale per un conversion rate
- Prior non informativo: lasciar parlare i dati
- Prior informativo: usare lo storico senza barare
- Il posterior di oggi è il prior di domani
- Prova tu
- Per approfondire
Dal click singolo al tasso: il modello Beta-Binomiale
Ogni sessione è un evento binario: l’utente converte oppure no.
Con \( n \) sessioni e \( k \) conversioni, il meccanismo generativo è binomiale. Il parametro che vogliamo stimare — il vero tasso di conversione \( \theta \) — è una proporzione: un valore tra 0 e 1.
Quando il prior su \( \theta \) è una distribuzione Beta e i dati sono binomiali, accade qualcosa di molto comodo: il posterior è ancora una distribuzione Beta. Questo si chiama prior coniugato, e significa che l’aggiornamento bayesiano si riduce a una semplice operazione aritmetica sui parametri.
La regola di aggiornamento è questa: se il prior è Beta(α, β), dopo aver osservato \( k \) conversioni su \( n \) sessioni il posterior è:
\( Beta(\alpha + k,\ \beta + (n – k)) \\ \)In parole: aggiungiamo le conversioni osservate ad α e i fallimenti osservati a β. Il prior Beta(α, β) raccoglie in α le “conversioni già viste” (o una credenza equivalente) e in β i “non-click”. Ogni nuovo dato aggiorna entrambi i contatori.
Prior non informativo: lasciar parlare i dati
Il prior più neutro possibile su una proporzione è la distribuzione uniforme su [0, 1], che corrisponde a Beta(1, 1): tutti i valori del tasso sono considerati ugualmente plausibili prima di vedere i dati.
Il nostro caso: 23 conversioni su 412 sessioni (389 non-conversioni).
Calcoliamo il posterior in R:
# Dati osservati
conv <- 23; sess <- 412; nonconv <- sess - conv
# Prior NON informativo: uniforme Beta(1,1)
a0 <- 1; b0 <- 1
a1 <- a0 + conv; b1 <- b0 + nonconv # posterior Beta(24, 390)
cat("Non-informativo: media =", round(a1/(a1+b1), 4), "\n")
cat(" CI 95% =", round(qbeta(c(.025,.975), a1, b1), 4), "\n")Output: media = 0.058, CI 95% = [0.0376, 0.0824].
Il posterior Beta(24, 390) ha media 5,8% e credible interval al 95% compreso tra 3,8% e 8,2%.
Il credible interval bayesiano non è un esercizio statistico astratto: significa direttamente che c’è il 95% di probabilità che il vero tasso di conversione sia tra il 3,8% e l’8,2%. Non una frequenza su ripetizioni infinite — una probabilità diretta sul parametro.
Con 412 sessioni, l’incertezza è ancora apprezzabile: quasi 5 punti percentuali di ampiezza. La stima puntuale 5,6% era fuorviante nella sua precisione.
Un avvertimento: il credible interval bayesiano e l’intervallo di confidenza frequentista hanno numeri simili ma significati profondamente diversi. Il 95% frequentista è una proprietà della procedura (“se ripetessi l’esperimento 100 volte, 95 intervalli conterrebbero il vero parametro”); il 95% bayesiano è un’affermazione diretta sul parametro nel caso specifico che stiamo analizzando.
Prior informativo: usare lo storico senza barare
Il prior non informativo è il punto di partenza onesto quando non sappiamo nulla. Ma spesso sappiamo qualcosa: anni di campagne, storico del settore, benchmark di categoria.
Il nostro e-commerce ha uno storico di quattro stagioni con un conversion rate medio intorno al 4%. Come traduciamo questa conoscenza in un prior?
La distribuzione Beta(8, 192) ha media esattamente 8/(8+192) ≈ 4% e — grazie alla somma α+β = 200 — ha una concentrazione che equivale a “credere” ai nostri dati quanto si crede a 200 sessioni fittizie di storico. Non è un numero arbitrario: è una scelta dichiarata e verificabile.
Calcoliamo il posterior informativo in R:
# Prior INFORMATIVO da storico: media ~4% -> Beta(8, 192)
a0i <- 8; b0i <- 192
a1i <- a0i + conv; b1i <- b0i + nonconv # posterior Beta(31, 581)
cat("Informativo: media =", round(a1i/(a1i+b1i), 4), "\n")
cat(" CI 95% =", round(qbeta(c(.025,.975), a1i, b1i), 4), "\n")Output: media = 0.0507, CI 95% = [0.0347, 0.0694].
Il posterior informativo Beta(31, 581) dà media 5,1% e credible interval al 95% tra 3,5% e 6,9%.
Due cose da notare. Prima: la media scende leggermente da 5,8% a 5,1% — il prior “tira” la stima verso il 4% dello storico. Seconda: l’intervallo si stringe (da 4,6 a 3,4 punti percentuali) — lo storico vale come informazione aggiuntiva, quindi l’incertezza cala.
Con pochi dati, il prior informativo aiuta: aggiunge informazione dove i dati non bastano. Con molti dati — migliaia di sessioni — il prior viene sommerso dai dati e la differenza tra prior informativo e non informativo diventa trascurabile. Questa è una caratteristica fondamentale dell’inferenza bayesiana: il prior conta quando i dati sono pochi; i dati vincono sempre, alla lunga.
Il posterior di oggi è il prior di domani
L’eleganza più pratica dell’approccio bayesiano è l’aggiornamento sequenziale. Dopo un mese arrivano nuovi dati: 15 conversioni su 300 sessioni aggiuntive. Non dobbiamo ricominciare da zero — il posterior che abbiamo calcolato diventa il nuovo prior.
Aggiorniamo in R:
# Nuovi dati: 15 conversioni su 300 sessioni aggiuntive
conv2 <- 15; sess2 <- 300
a2 <- a1i + conv2; b2 <- b1i + (sess2 - conv2) # Beta(46, 866)
cat("Dopo update: media =", round(a2/(a2+b2), 4), "\n")
cat(" CI 95% =", round(qbeta(c(.025,.975), a2, b2), 4), "\n")Output: media = 0.0504, CI 95% = [0.0372, 0.0655].
Tre stadi a confronto:
| Stadio | Dati accumulati | Media | CI 95% |
|---|---|---|---|
| Prior puro (prima dei dati) | — | 4,0% | [1,8%, 7,1%] |
| Dopo primo mese | 23/412 | 5,1% | [3,5%, 6,9%] |
| Dopo secondo mese | 38/712 | 5,0% | [3,7%, 6,6%] |
Il credible interval si è ristretto ad ogni stadio: 5,3 punti percentuali nel prior puro, 3,4 dopo il primo mese, 2,8 dopo l’aggiornamento. La media è rimasta stabile: i nuovi dati confermano la stima precedente invece di spostarla, e l’incertezza cala come atteso.
Questo è il vero vantaggio operativo: non occorre aspettare che si accumuli un campione “abbastanza grande” prima di fare qualsiasi stima. Si parte da una stima incerta e la si affina progressivamente, con ogni nuovo dato.
Prova tu
Un sito di lead generation ha un tasso di conversione storico intorno al 2%. Dopo una campagna di ottimizzazione, su 150 sessioni si osservano 8 conversioni.
1. Costruisci un prior informativo che rifletta il 2% storico: prova Beta(4, 196) — ha media esattamente 2%. 2. Calcola il posterior dopo le 8 conversioni su 150 sessioni. 3. Calcola il credible interval al 95%. 4. Calcola poi con prior non informativo Beta(1, 1): il posterior cambia molto? Perché?
Suggerimento: la formula è sempre la stessa — qbeta(c(.025, .975), a0 + conv, b0 + nonconv). L’unica cosa che cambia è il punto di partenza.
Quello che abbiamo costruito finora è la stima di un tasso su una singola variante. Il passo successivo è confrontare due varianti — una pagina di controllo e una pagina modificata — e calcolare la probabilità bayesiana che una superi l’altra. È esattamente quello che faremo nel prossimo articolo: l’A/B test bayesiano.
Per approfondire
Se vuoi capire come il ragionamento bayesiano entra nelle decisioni pratiche — dalla previsione dei mercati alla stima dell’incertezza nei dati reali — Il segnale e il rumore di Nate Silver è il libro che consiglio. Silver dedica capitoli espliciti all’aggiornamento bayesiano, mostrandolo in contesti concreti (previsioni meteorologiche, politica, sport) che rendono immediato il concetto di “aggiornare le credenze con nuovi dati”. È divulgativo ma rigoroso, e si legge d’un fiato.