18/09/2026

Multi-armed bandit: come allocare budget senza aspettare la fine di un test A/B

Un test A/B classico, discusso più volte in queste pagine a proposito del problema del peeking, impone una disciplina precisa: dividere il traffico a metà tra due varianti, resistere alla tentazione di guardare i risultati prima del tempo, e decidere solo alla fine, quando il campione raggiunge la dimensione calcolata in anticipo. Questa disciplina ha un costo reale, spesso ignorato: per l’intera durata del test, metà del traffico continua a essere esposta alla variante peggiore, anche quando i dati già raccolti suggeriscono con chiarezza crescente quale delle due stia vincendo. Gli algoritmi multi-armed bandit nascono proprio per eliminare questo costo, sostituendo la divisione fissa del traffico con una riallocazione dinamica e continua.

Il problema, nella sua forma originale. Il nome deriva da una metafora da casinò: un giocatore si trova davanti a più slot machine — le “leve”, o arms in inglese — ciascuna con una probabilità di vincita sconosciuta e diversa dalle altre, e deve decidere, round dopo round, quale leva tirare per massimizzare la vincita complessiva nel tempo. Il problema centrale, in questo scenario come nella sua applicazione al marketing, è il compromesso tra esplorazione — provare leve ancora poco testate per scoprire se rendono meglio — ed exploitation — continuare a tirare la leva che, sulla base delle informazioni raccolte finora, sembra già la migliore. Un algoritmo che esplora troppo spreca risorse su varianti inferiori più a lungo del necessario; uno che sfrutta troppo presto rischia di fissarsi su una varante solo apparentemente migliore, senza aver raccolto abbastanza prove per esserne certo. La qualità di un algoritmo bandit si misura attraverso il regret — la somma delle vincite mancate rispetto a quelle che si sarebbero ottenute scegliendo sempre, fin dall’inizio, la leva realmente migliore, un dato che ovviamente nessun algoritmo può conoscere in anticipo.

Epsilon-greedy, l’algoritmo più semplice. Con probabilità 1-ε, l’algoritmo sceglie la variante con il rendimento medio osservato più alto fino a quel momento; con probabilità ε, sceglie invece una variante casuale tra tutte quelle disponibili, indipendentemente da come stia performando. È immediato da implementare, ma soffre di un limite strutturale: un valore di ε fissato all’inizio del test continua a “sprecare” la stessa quota di traffico su esplorazione casuale anche quando l’algoritmo ha ormai accumulato prove solide su quale variante sia la migliore — uno studio recente sul parametro ε nota esplicitamente che un valore fisso ignora l’informazione ambientale che l’algoritmo accumula nel tempo, e propone di farlo decadere progressivamente man mano che la fiducia nella variante migliore aumenta.

Upper Confidence Bound (UCB). Invece di scegliere semplicemente la variante con il rendimento medio più alto, UCB aggiunge a ciascuna variante un bonus di ottimismo proporzionale a quanto poco quella variante è stata testata finora — le varianti testate raramente ricevono un bonus più alto, che le rende temporaneamente più attraenti anche se il loro rendimento osservato non è il migliore, garantendo che nessuna opzione venga scartata prematuramente solo per sfortuna nei primi round di test.

Thompson Sampling. L’approccio bayesiano al problema, che prende il nome da un articolo di William R. Thompson del 1933 — uno dei testi fondativi più antichi dell’intera statistica applicata alle decisioni sequenziali. Invece di calcolare un singolo valore medio per ciascuna variante, l’algoritmo mantiene una distribuzione di probabilità sul rendimento atteso di ciascuna opzione, ne estrae un campione casuale a ogni round, e sceglie la variante il cui campione estratto risulta più alto in quel round specifico. Il risultato è un comportamento che esplora automaticamente di più le varianti su cui l’incertezza resta alta, e converge naturalmente verso l’opzione migliore man mano che l’incertezza si riduce, senza bisogno di impostare manualmente un parametro come ε. Confronti sperimentali diretti tra i tre algoritmi, condotti sia su dataset di marketing sia su sistemi di raccomandazione prodotto in produzione, trovano sistematicamente che Thompson Sampling supera sia epsilon-greedy sia UCB nella maggior parte degli scenari testati — un risultato solido abbastanza da renderlo, oggi, l’algoritmo di riferimento in molte piattaforme di ottimizzazione commerciali.

Perché converge più in fretta di un test A/B classico. Un confronto diretto tra le dinamiche di allocazione del traffico mostra la differenza pratica con chiarezza: rispetto a un test A/B a divisione fissa, tutti e tre gli algoritmi bandit iniziano a spostare traffico verso la variante vincente molto prima della fine del periodo di osservazione, invece di aspettare un’unica decisione finale. Epsilon-greedy mostra la velocità di adattamento iniziale più rapida, ma si stabilizza poi su un livello di allocazione determinato meccanicamente dal proprio parametro ε, restando bloccato a quella soglia anche quando le prove a favore della variante vincente continuano ad accumularsi. Thompson Sampling, al contrario, non solo si adatta rapidamente fin dall’inizio, ma continua ad aumentare aggressivamente l’allocazione verso la variante vincente man mano che l’evidenza si consolida, senza il tetto artificiale imposto da un parametro fisso.

Bandit contestuali e a budget vincolato: le due estensioni più rilevanti per il marketing. Il problema originale assume un ambiente “stateless” — la stessa probabilità di rendimento per ogni utente, indipendentemente da chi sia. I bandit contestuali, formalizzati per la prima volta in un lavoro del 2010 applicato alla raccomandazione di articoli di notizie personalizzati, incorporano invece informazioni specifiche su ciascun utente — dispositivo, comportamento pregresso, momento della giornata — per scegliere la variante più probabile a funzionare per quella persona specifica, non per il pubblico nel suo complesso: la base tecnica su cui si costruisce gran parte della personalizzazione dinamica delle offerte oggi disponibile nelle piattaforme di marketing automation. I bandit a budget vincolato, un’estensione formalizzata in un lavoro di ricerca del 2015, affrontano invece un problema molto più vicino alla realtà quotidiana di chi gestisce budget pubblicitari: ogni scelta di variante comporta un costo reale, e il totale disponibile da spendere è limitato — un vincolo che il problema originale, pensato per un casinò dove ogni tentativo costa lo stesso, non contemplava affatto.

Quando conviene un bandit, e quando un test A/B classico resta la scelta giusta. Un algoritmo bandit ha senso quando l’obiettivo primario è massimizzare il risultato durante il periodo di test stesso — tipico di decisioni di allocazione budget continue, dove ogni euro speso sulla variante peggiore è un euro effettivamente perso, non solo un dato statistico da scartare. Un test A/B a divisione fissa resta preferibile quando l’obiettivo primario è ottenere una stima precisa e interpretabile della differenza tra le varianti, magari da comunicare a chi in azienda deve approvare una decisione strategica di lungo periodo: la natura dinamica di un bandit, che sposta continuamente l’allocazione, rende più complesso calcolare a posteriori un intervallo di confidenza pulito sulla dimensione esatta dell’effetto osservato — un compromesso tecnico, non un difetto, che va conosciuto prima di scegliere quale dei due approcci applicare a un problema specifico.