È l’ultimo giorno del mese. Stiamo preparando il report SEO per il cliente principale. Apriamo Google Search Console, impostiamo il confronto mese su mese e un brivido ci corre lungo la schiena: il CTR organico globale del sito è crollato dal 4,5% al 3,5%.
Prima di scrivere l’email con le cattive notizie e prepararci a giustificare il calo, facciamo la cosa giusta: disaggreghiamo i dati per capire dove stiamo perdendo colpi. Guardiamo le performance per dispositivo e scopriamo una cosa apparentemente impossibile:
Fissiamo lo schermo. Com’è matematicamente possibile che le performance siano migliorate ovunque, ma il totale generale sia crollato di un punto percentuale netto?
Non abbiamo rotto Google Search Console e non abbiamo dimenticato la matematica delle elementari. Siamo semplicemente appena diventati vittime del Paradosso di Simpson.
Il Paradosso di Simpson è un fenomeno statistico in cui un trend che appare evidente all’interno di diversi gruppi di dati scompare — o addirittura si inverte — quando i gruppi vengono combinati in un unico totale.
Nella pratica quotidiana della SEO e del marketing questo accade quasi sempre per colpa di una variabile confondente nascosta (come dicono gli anglosassoni, una confounding variable): nel nostro caso, il peso relativo dei segmenti che stiamo analizzando. È lo stesso ragionamento che incontriamo parlando di probabilità condizionata, dove ciò che conta non è il dato marginale ma quello condizionato a un sottogruppo.
Quando lavoriamo con tassi e percentuali (il CTR, il Conversion Rate, il Bounce Rate), guardare il dato aggregato senza considerare i volumi sottostanti è una delle trappole più insidiose per chi analizza i dati.
Torniamo al nostro report mensile e mettiamo i numeri assoluti dietro a quelle percentuali. Solo così capiamo cosa è successo davvero tra il Mese 1 e il Mese 2.
| Segmento | Mese 1 (impr. · clic · CTR) | Mese 2 (impr. · clic · CTR) | Andamento |
|---|---|---|---|
| Desktop | 10.000 · 500 · 5,0% | 10.000 · 550 · 5,5% | in crescita |
| Mobile | 2.000 · 40 · 2,0% | 20.000 · 500 · 2,5% | in crescita |
| Totale aggregato | 12.000 · 540 · 4,5% | 30.000 · 1.050 · 3,5% | in calo |
Ecco il punto: non abbiamo un problema di SEO, al contrario abbiamo avuto un successo notevole. I posizionamenti su Mobile sono esplosi, portando 18.000 impression in più rispetto al mese precedente.
Il traffico Mobile, però, ha storicamente un CTR strutturalmente più basso del Desktop (più rumore in SERP, scrolling veloce, distrazioni). Quell’enorme afflusso di impression a basso CTR ha “annacquato” la media globale, trascinandola verso il basso. Il dato aggregato ci diceva “stiamo peggiorando”; il dato disaggregato ci dice “stiamo migliorando su tutta la linea, ma è cambiato il mix di traffico”.
La ragione matematica è semplice e va sempre tenuta bene a mente: il CTR aggregato non è la media dei CTR dei segmenti, ma una loro media pesata, dove i pesi sono le quote di impression di ciascun segmento. In formula:
\( \text{CTR}_{\text{agg}} = \frac{\sum_i \text{clic}_i}{\sum_i \text{impression}_i} = \sum_i w_i \cdot \text{CTR}_i, \qquad w_i = \frac{\text{impression}_i}{\sum_j \text{impression}_j} \\ \)dove \(\text{CTR}_i\) è il CTR del segmento i e \(w_i\) è il suo peso, cioè la frazione di impression che gli appartiene. Nel Mese 2 il peso del Mobile è passato da 1/6 a 2/3 del totale: anche se ogni singolo CTR è salito, la media si è spostata verso il valore (basso) del segmento diventato dominante. Non è la matematica a essere impazzita: è il mix a essere cambiato.
Ricostruiamo il tutto in R, così vediamo il meccanismo all’opera invece di prenderlo sulla fiducia:
# Ricostruisco i dati dei due mesi
dati <- data.frame(
segmento = c("Desktop", "Mobile", "Desktop", "Mobile"),
mese = c("Mese 1", "Mese 1", "Mese 2", "Mese 2"),
impression = c(10000, 2000, 10000, 20000),
clic = c(500, 40, 550, 500)
)
# CTR di ciascun segmento
dati$ctr <- dati$clic / dati$impression
# CTR aggregato per mese: media PESATA sulle impression,
# NON la media aritmetica dei CTR
agg <- aggregate(cbind(clic, impression) ~ mese, data = dati, FUN = sum)
agg$ctr_aggregato <- agg$clic / agg$impression
print(agg) Come si vede dall’output, l’aggregato scende da 4,5% a 3,5% mentre entrambi i segmenti salgono. n.b.: la media aritmetica dei due CTR del Mese 2 sarebbe il 4% (la semplice media tra 5,5% e 2,5%), ben diversa dal 3,5% reale. Tutta la differenza è nei pesi.
Il CTR per dispositivo è l’esempio da manuale, ma il Paradosso di Simpson si annida un po’ ovunque nelle nostre dashboard.
Lavoriamo su un e-commerce e il Conversion Rate organico passa dal 3% all’1,5%. Un disastro? Non necessariamente. Se abbiamo appena lanciato un blog aziendale che ha iniziato a posizionarsi bene per centinaia di keyword informazionali top-of-the-funnel, abbiamo portato sul sito migliaia di utenti lontani dall’acquisto (con un CR fisiologico vicino allo 0,1%). Il CR delle pagine prodotto può essere stabile o in crescita, ma la mole di traffico del blog ha distorto la media aggregata.
Una nostra pagina prodotto storica rankava solo per 5 keyword transazionali esatte: 100 impression, 10 clic, CTR 10%. Decidiamo di ottimizzarne i contenuti e il mese dopo Google ne premia la semantica, posizionandola per 80 nuove keyword long-tail e correlate. Ora la pagina fa 5.000 impression e 100 clic: CTR 2%. Se guardiamo solo il CTR medio su Search Console sembra che l’ottimizzazione l’abbia distrutta; se guardiamo i clic assoluti, li abbiamo decuplicati.
Come sopravviviamo al Paradosso di Simpson quando presentiamo i dati a un cliente o a uno stakeholder? Quattro accortezze.
I dati non mentono, ma i dati aggregati sono ottimi prestigiatori. La difesa più solida, però, non è statistica ma sperimentale: quando possiamo decidere noi come assegnare il traffico — randomizzando gli utenti tra due versioni di una pagina — il mix smette di essere una variabile fuori controllo. È esattamente ciò che facciamo con un A/B test condotto in modo rigoroso, il prossimo passo del nostro percorso: vedere come un esperimento controllato neutralizza alla radice le variabili confondenti che qui ci siamo limitati a smascherare.
Se vogliamo approfondire il Paradosso di Simpson e l’arte di leggere i dati senza farci ingannare, L’arte della statistica di David Spiegelhalter è la lettura giusta: dedica pagine limpide proprio a questo paradosso — incluso il celebre caso delle ammissioni a Berkeley — mostrando come un numero aggregato possa raccontare l’esatto contrario di ciò che è successo nei dati.
In questo articolo: Come scegliere chi misurare: i tipi di campionamento La dimensione campionaria: la…
Una delle domande più ricorrenti quando si progetta un A/B test è: quanti utenti mi…
Tre metodi statistici per identificare valori anomali nei dati: z-score, IQR di Tukey e test…
Abbiamo avuto modo di esaminare, nel corso dei precedenti articoli, l'inferenza statistica da una prospettiva…
Abbiamo avuto modo di esaminare, nel corso dei precedenti articoli, come funziona il test delle…
Abbiamo avuto modo di esaminare, nel corso dei precedenti articoli, la distribuzione normale e le…