Contesto storico: il concetto di social proof risale ai lavori di Robert Cialdini degli anni '80, ma nel digitale l'implementazione di notifiche in tempo reale è iniziata nel 2015 con lo sviluppo delle connessioni WebSocket e delle piattaforme di streaming simili a Kafka. I metodi classici di A/B testing spesso forniscono stime distorte a causa degli effetti di rete (violazione di SUTVA), dove il risultato di un utente dipende dalla presenza di altri utenti online. Le prime valutazioni si sono ridotte a confronti semplici tra sessioni con e senza widget visibili, il che ha portato a una seria endogenicità del campione.
Problema: nella valutazione dell'effetto è necessario separare l'influenza vera dell'intervento dalla variabile endogena della densità dell'audience. Se confrontiamo semplicemente le sessioni con e senza notifiche, otteniamo un bias di selezione: durante le ore di punta la conversione è già alta e in quel momento il sistema genera più notifiche. Inoltre, la migrazione degli utenti tra l'app mobile e il desktop crea contaminazione, sfumando il confine tra trattamento e controllo.
Soluzione: l'approccio ottimale è la valutazione differenza-in-differenze (Difference-in-Differences, DiD) con effetti fissi bidirezionali (two-way fixed effects) per fusi orari e categorie di prodotto, integrata con una variabile strumentale (IV-approach) per la densità dell'audience. Come strumento si utilizza uno shock esogeno alle condizioni meteorologiche o disservizi regionali di internet, che influenzano l'attività online ma non sono direttamente collegati alla conversione. In alternativa, si applica il Synthetic Control Method, dove il gruppo di controllo è costruito da prodotti/regioni simili senza l'introduzione della funzione, ponderati in base alla storia della conversione e alla stagionalità.
In un marketplace di elettronica era prevista l'introduzione di un widget "Attualmente questo prodotto è visto da 15 persone" con dati reali dallo streaming ClickHouse. Il problema era che il team di prodotto registrava un aumento della conversione del 18% durante le ore di punta, ma non riusciva a separare l'effetto delle notifiche dalla naturale domanda alta della sera. Inoltre si osservava l'effetto della "stanza vuota": durante le ore notturne, il widget mostrava zeri o dati obsoleti, il che poteva potenzialmente ridurre la fiducia.
La prima opzione considerata è stata un classico A/B test con segmentazione geografica. Vantaggi: facilità di implementazione e interpretazione chiara. Svantaggi: gli effetti di rete si sfumano, poiché utenti di diverse città vedono assortimenti e conversioni basali diverse; inoltre, con bassa densità dell'audience nelle piccole città, il widget mostrava "Attualmente guardano 0 persone", creando un social proof negativo e riducendo la fiducia.
La seconda opzione è stata l'interruzione della regressione (Regression Discontinuity Design, RDD) in base al momento di lancio della funzione in una regione specifica. Vantaggi: identificazione causale chiara al momento del cutoff e possibilità di verifica visiva su grafico. Svantaggi: impossibile separare l'effetto novità (novelty effect) da un effetto permanente; inoltre, il rollout graduale attraverso i fusi orari creava un confine sfocato tra trattamento, violando l'ipotesi chiave dell'RDD di un cambiamento netto nella probabilità di trattamento.
La terza opzione è stata un quasi esperimento utilizzando prodotti senza aggiornamenti in tempo reale come gruppo di controllo (DiD). Vantaggi: considerazione delle tendenze stagionali attraverso effetti fissi; possibilità di valutare l'eterogeneità dell'effetto in base al livello di traffico di base. Svantaggi: è necessaria l'ipotesi delle tendenze parallele (parallel trends assumption), verificata tramite la specificazione di Event Study con leads e lags.
È stata scelta la soluzione DiD con una variabile strumentale basata sui dati meteorologici: le giornate di pioggia nelle regioni aumentavano inaspettatamente l'attività online (soddisfacendo la rilevanza dello strumento), ma non influivano direttamente sul desiderio di acquistare un telefono (exclusion restriction). L'analisi ha mostrato che l'effetto vero del widget è del +9% di conversione solo con densità >30 utenti online per SKU; con densità inferiori l'effetto è negativo (-4%) a causa della visualizzazione di dati "vuoti" o obsoleti.
Sulla base di questi risultati, è stato implementato un algoritmo adattivo che disattiva il social proof a bassa affluenza. Il risultato è stato un'ottimizzazione delle regole di visualizzazione: il sistema è passato da un'esposizione costante a una condizionata, aumentando la conversione media dell'7% sulla piattaforma e riducendo il churn nel segmento degli utenti "notturni" del 12%. Il risparmio sui costi infrastrutturali è stato del 15% grazie alla disattivazione dell'elaborazione di flussi per prodotti inattivi.
Come separare l'effetto del meccanismo (intensive margin) dall'effetto complessivo della funzionalità (extensive margin)?
I candidati spesso confondono la stima in forma ridotta (solo la presenza del sistema) con la stima del meccanismo (come il cambiamento della densità all'interno del trattamento influisce sul risultato). L'approccio corretto è la stima a due fasi (Two-Stage Least Squares, 2SLS), dove nel primo stadio si prevede la frequenza reale delle notifiche tramite uno strumento (il meteo), e nel secondo si valuta la conversione rispetto alla frequenza prevista. Questo consente di separare il puro effetto della notifica dall'effetto della "folla" (herding behavior), che ha una causalità inversa: alta conversione attira più visualizzazioni, generando più notifiche.
Perché è importante la correzione per test multipli nell'analisi dell'eterogeneità per segmenti di densità e orari?
Gli analisti spesso cercano la soglia ottimale per attivare la funzionalità, testando l'effetto su 10, 20, 50 utenti, e scelgono la soglia con il massimo uplift. Questo porta a problemi di data mining e a inflated Type I error. È necessario applicare una correzione Bonferroni o la procedura di Benjamini-Hochberg per il family-wise error rate, oppure utilizzare un pre-analysis plan con fissazione delle ipotesi prima dell’analisi. Altrimenti, la soglia "ottimale" risulterà solo un outlier casuale nei dati.
Come considerare l'effetto di spillover negativo sul gruppo di controllo attraverso l'inventario comune e la limitazione del budget dell'utente?
Nel social proof nel marketplace esiste un effetto di spinta della domanda: se il widget accelera gli acquisti nel gruppo di trattamento, questo può diminuire la conversione nel gruppo di controllo a causa dell'esaurimento del budget o della distrazione. I candidati ignorano gli ** effetti di equilibrio generale**. Per la correzione è necessaria una valutazione con dati aggregati a livello di sessione utente (aggregate treatment effects) o l'uso di modelli di bilanciamento del mercato (market equilibrium models) che tengano conto della limitazione dell'attenzione dell'utente.