Contesto storico. Il concetto di co-browsing è stato trasferito dal settore B2B (supporto clienti) al commercio sociale (ad esempio, le funzioni "Shop Together" nelle app mobili). L'analisi tradizionale si è a lungo basata sull'assunzione di SUTVA (Stable Unit Treatment Value Assumption), che presuppone l'indipendenza degli utenti. Tuttavia, le funzioni sociali violano questa assunzione, poiché il comportamento di un utente influisce sul comportamento delle sue connessioni, rendendo i classici test A/B metodologicamente scorretti.
Impostazione del problema. Il confronto standard delle medie (difference-in-means) fornisce una stima distorta a causa dell'interference (contaminazione reciproca): gli utenti nel gruppo di controllo, invitati da amici del gruppo di test, modificano il proprio comportamento, creando un effetto spillover. L'auto-selezione in base all'attività sociale distorce la distribuzione delle covariate, e il rollout graduale (staggered adoption) introduce confonditori temporali, come la stagionalità e l'effetto novità, che sono correlati con il momento di attivazione delle coorti.
Soluzione dettagliata. È necessario applicare un trial randomizzato a cluster (cluster randomized trial) a livello del grafo dei legami sociali, utilizzando algoritmi di rilevazione delle comunità (come Louvain o Leiden) per creare cluster con una connettività minima tra di essi. In caso di impossibilità di una completa randomizzazione, utilizzare la differenza delle differenze con implementazione stagionata (staggered DiD), correggendo gli effetti eterogenei tramite i metodi Callaway-Sant’Anna o Sun-Abraham, che gestiscono correttamente i pesi negativi delle coorti precoci. Per isolare l'effetto diretto dalla rete, applicare il mapping dell'esposizione (exposure mapping): determinare il grado di "infezione" del gruppo di controllo come quota di amici nel test e includere questo come covariata nella regressione, oppure utilizzare 2SLS (due fasi dei minimi quadrati) con una variabile strumentale (disponibilità della funzione per cluster geografici come IV per l'effettivo utilizzo). Per analizzare il tempo fino alla conversione, adatta un modello di Cox con effetti frailty condivisi (shared frailty model), tenendo conto della clustering dei rischi all'interno dei gruppi sociali.
Descrizione del problema. Il marketplace ha lanciato la funzione "Compra insieme", che consente a due utenti di navigare simultaneamente nel catalogo e modificare un carrello condiviso in tempo reale. Il pilota su un 10% del pubblico ha mostrato un aumento della conversione dell'8%, ma il team sospettava che la stima fosse sovrastimata: gli utenti del gruppo di controllo ricevevano inviti da amici del gruppo di test, creando contaminazione intergruppo. Inoltre, la funzione veniva utilizzata prevalentemente da coloro che avevano già relazioni sociali consolidate (auto-selezione per coinvolgimento).
Opzione 1: Semplice confronto "prima/dopo" sul gruppo degli adattatori. Questo approccio prevede il confronto delle metriche degli utenti che hanno iniziato a utilizzare il co-browsing con i loro stessi dati storici o con utenti simili privi della funzione. I vantaggi sono evidenti: il calcolo richiede minuti, è facilmente interpretabile per il business e non richiede infrastrutture sperimentali complesse. Tuttavia, gli svantaggi sono critici: il metodo ignora completamente la stagionalità e l'effetto di maturazione, e soffre di bias di auto-selezione, poiché gli utenti socialmente attivi inizialmente presentano una conversione di base più elevata.
Opzione 2: Analisi Intent-to-Treat (ITT) con randomizzazione della disponibilità del pulsante. Qui diamo casualmente la possibilità di invitare amici a diverse coorti, indipendentemente dal fatto che ne facciano uso, e confrontiamo le metriche finali. I vantaggi includono la conservazione della casualità statistica nell'assegnazione e la possibilità di valutare l'effetto generale della politica di lancio, includendo le esternalità di rete. Gli svantaggi riguardano l'attenuazione dell'effetto a causa della non corrispondenza: molti avranno accesso, ma non utilizzeranno la funzione, il che richiede un aumento del campione di 3-4 volte; inoltre, l'ITT non risponde alla domanda sulla sua efficacia per gli utenti reali (TOT).
Opzione 3: Progettazione della Discontinuity Regression (RDD) in base alla soglia del numero di amici. Il metodo utilizza una soglia netta (ad esempio, 5 amici) per attivare la funzione, creando un quasi-esperimento intorno al punto di cutoff. I vantaggi consistono nella casualità locale dell'assegnazione vicino alla soglia e nell'assenza della necessità di una totale randomizzazione dell'intera audience. Tuttavia, ci sono notevoli svantaggi: l'effetto è locale solo per gli utenti "borderline", la manipolazione è possibile (creazione di amici falsi) e il metodo non risolve il problema della contaminazione tra utenti di lati opposti della soglia, se formano legami.
Soluzione scelta e giustificazione. È stata scelta l'opzione 2 con randomizzazione a cluster: gli analisti hanno costruito un grafo di legami sociali, applicando l'algoritmo Louvain per identificare comunità dense e randomizzando l'accesso a livello di comunità, piuttosto che di singolo utente. Ciò ha minimizzato la contaminazione tra test e controllo. Per la valutazione, è stato utilizzato un modello con variabili di esposizione: per ogni utente, è stata calcolata la quota di amici in cluster test (intensità dello spillover) e inclusa come regressore. Ciò ha permesso di separare l'effetto diretto della funzione dall'influenza indiretta attraverso la prova sociale.
Risultato finale. Il vero effetto diretto (TOT) è stato pari a +3.2% nella conversione (rispetto all'8% nella stima grezza). Tuttavia è stato rilevato un significativo spillover positivo sul gruppo di controllo (+1.8%), causato dall'influenza sociale degli inviti. L'effetto complessivo della politica (ITT) è risultato essere +2.1%. Senza considerare gli effetti di rete, il team avrebbe sottovalutato il valore della funzione, scartando il progetto come "non sufficientemente efficiente", mentre, considerando lo spillover, la funzione si ripagava in 4 mesi.
1. Perché il test A/B standard fornisce una stima distorta per le funzioni sociali? Il test standard presuppone SUTVA: l'impatto su un utente non influisce sugli altri. Quando si tratta di co-browsing, ciò è violato: un utente di controllo che riceve un invito da un utente di test cambia comportamento (spillover), creando un interference bias. La stima ATE (Average Treatment Effect) diventa una miscela pesata di effetto diretto e indiretto, spesso tendente a zero. La soluzione: utilizzare la randomizzazione a cluster (randomization at network-cluster level) o metodi di inverse probability weighting per correggere la struttura di rete.
2. Come dividere statisticamente l'effetto diretto, l'effetto spillover e l'effetto totale? I candidati confondono ITT (Intent-to-Treat) e TOT (Treatment-on-Treated): ITT valuta l'effetto di offerta della funzione all'intera coorte, inclusi coloro che non l'hanno utilizzata, mentre TOT isola l'effetto per gli utenti reali. Per separare gli effetti, è possibile applicare la Principal Stratification (stratificazione principale): classificare gli utenti in base ai tipi di conformità (compliers, always-takers) e valutare il CACE (Complier Average Causal Effect). Lo spillover viene valutato tramite exposure mapping, dove l'intensità dell'influenza indiretta è proxata dalla quota di collegamenti nel test. L'effetto totale è una somma pesata degli effetti diretto e indiretto secondo la distribuzione di esposizione.
3. Perché il DiD standard (Difference-in-Differences) non è corretto con un rollout stagionato? Con una implementazione graduale, le coorti precoci fungono da controllo per le tardive, ma le tardive non fungono mai da controllo per le precoci, creando un problema di pesi negativi (negative weighting) in presenza di effetti eterogenei. Il classico DiD a due periodi in tale disegno fornisce stime distorte, poiché mescola effetti di periodi differenti con pesi errati. Invece, si dovrebbe utilizzare Callaway-Sant’Anna o Sun-Abraham estimators, utilizzando solo osservazioni never-treated o not-yet-treated come controllo. Un'alternativa è il Synthetic Control Method per ogni coorte separatamente, costruito su un pool donatore di gruppi never-treated.