Lo abbiamo letto tutti, magari su LinkedIn con tanto di grafico in salita: «Abbiamo riscritto i title di 300 pagine e in tre mesi il traffico è cresciuto del 38%».
Il case study è onesto, i numeri sono veri, e la tentazione di copiare la ricetta è fortissima. Ma c’è una domanda che il post non si pone, e che conviene porsi al posto suo: quante altre aziende hanno fatto la stessa cosa, e com’è andata a loro?
Chi ha riscritto i title e ha perso il 10% non scrive un case study. Non lo scrive nemmeno chi è rimasto fermo. Il loro silenzio non è un dettaglio: è metà dei dati.
Nell’articolo sul p-value abbiamo visto che anche i risultati «significativi» possono ingannarci. Qui l’inganno è ancora più semplice, e per questo più insidioso: guardiamo solo chi ce l’ha fatta. Si chiama survivorship bias, il bias del sopravvissuto.
In sintesi: il survivorship bias (in italiano bias del sopravvissuto o di sopravvivenza) è l’errore che commettiamo quando traiamo conclusioni guardando solo i casi che hanno superato una selezione, ignorando quelli che sono stati scartati lungo la strada. Se la selezione dipende proprio dal risultato che stiamo misurando (si pubblica il case study solo se è andata bene, resta online solo l’articolo che porta traffico) la media calcolata sui sopravvissuti è distorta, a volte di molto. Lo si combatte chiedendosi sempre chi manca dal dataset e perché, definendo il gruppo da studiare prima di conoscere l’esito e conservando i dati dei casi falliti.
Di cosa parleremo:
- Cos’è il survivorship bias?
- Un esempio: 1.000 siti e 55 case study
- Chi non torna non racconta
- Un secondo esempio: la potatura dei contenuti
- Dove si nasconde il survivorship bias nella SEO
- Come difendersi?
- Domande frequenti
- Prova tu
- Per approfondire
Cos’è il survivorship bias?
La storia più famosa arriva dalla Seconda guerra mondiale. A New York, alla Columbia University, lavorava lo Statistical Research Group, un gruppo di matematici al servizio delle forze armate americane; fra loro c’era Abraham Wald.
Il problema, nella versione che si racconta di solito, era questo: gli aerei che tornavano dalle missioni erano crivellati di colpi, ma non in modo uniforme. La fusoliera e le ali ne avevano molti, i motori pochissimi. Dove conveniva aggiungere la corazza, sapendo che non la si poteva mettere dappertutto senza appesantire troppo l’aereo?
La risposta istintiva è «dove ci sono più fori». Wald propose l’esatto contrario: la corazza va dove i fori mancano.
Gli aerei osservati erano quelli tornati. Se sui motori dei sopravvissuti i colpi erano rari, non era perché i motori venissero colpiti poco: era perché gli aerei colpiti ai motori non tornavano. I fori mancanti erano sugli aerei abbattuti, che nessuno poteva contare.
(La versione aneddotica semplifica parecchio: il lavoro di Wald fu un vero metodo matematico per stimare la vulnerabilità degli aerei a partire dai danni dei sopravvissuti. Ma il cuore del ragionamento è proprio quello.)
Dunque: il survivorship bias è l’errore di trarre conclusioni solo dai casi che hanno superato una selezione, come se rappresentassero tutti.
Non è un errore di calcolo: le medie sui sopravvissuti sono calcolate benissimo. È un errore su chi entra nel calcolo. E diventa grave quando la selezione dipende dall’esito che ci interessa: gli aerei tornano se non sono stati colpiti nei punti vitali, il case study si pubblica se la strategia ha funzionato.
Un esempio: 1.000 siti e 55 case study
Costruiamo l’esempio per simulazione, così conosciamo la verità. Mille siti fanno la stessa modifica, per esempio riscrivono i title delle pagine principali, e la modifica non serve a niente: la variazione di traffico nei tre mesi successivi è puro rumore, la normale oscillazione di un sito da un trimestre all’altro (la simuliamo con una deviazione standard del 15% circa).
Poi facciamo quello che succede nella realtà: scrive il case study solo chi ha visto almeno un +25%.
Genero i dati in R:
set.seed(42)
n_siti <- 1000
var_trim1 <- exp(rnorm(n_siti, 0, 0.15)) - 1 # variazione del traffico in tre mesi
pubblica <- var_trim1 >= 0.25 # chi racconta il successo(Il rumore è generato sulla scala logaritmica e poi riportato in percentuale: così un sito può perdere al massimo il 100%, ma guadagnare anche più del 100%, come accade al traffico vero.)
Calcoliamo prima la verità, cioè la media su tutti i mille siti, e la quota di quelli che sono migliorati:
round(100 * mean(var_trim1), 1) # variazione media, in %
# [1] 0.7
round(100 * mean(var_trim1 > 0), 1) # % di siti migliorati
# [1] 48.5Come ci si aspetta da una modifica inutile, la media è praticamente zero (+0,7%) e più della metà dei siti è peggiorata. Ora guardiamo il mondo come lo vediamo noi, cioè attraverso i case study pubblicati:
sum(pubblica) # quanti case study
# [1] 55
round(100 * mean(var_trim1[pubblica]), 1) # variazione media raccontata
# [1] 34.9
round(100 * range(var_trim1[pubblica]), 1)
# [1] 25.1 68.9Escono 55 case study, con una crescita media del +34,9% e punte fino al +68,9%. Il 100% dei case study racconta un successo, mentre fra tutti i siti i successi sono stati meno della metà.
Il lettore che li raccoglie tutti e ne fa la media, scrupolosamente, conclude che riscrivere i title vale un +35% di traffico. Ogni singolo numero è vero, e la conclusione è completamente falsa.

C’è un modo semplice per smascherare l’inganno: chiedere ai 55 vincitori come è andato il trimestre successivo. Se la ricetta funzionasse, dovrebbero continuare a crescere. Simulo un altro trimestre di rumore:
var_trim2 <- exp(rnorm(n_siti, 0, 0.15)) - 1 # il trimestre dopo
round(100 * mean(var_trim2[pubblica]), 1) # i 55 vincitori, tre mesi dopo
# [1] 2.2
sum(var_trim2[pubblica] >= 0.25) # quanti si ripetono
# [1] 4I vincitori tornano sulla media di tutti (+2,2%), e solo 4 su 55 replicano il successo, più o meno quanti ci si aspetterebbe dal caso. È la regressione verso la media, che abbiamo già incontrato: chi è stato selezionato per un risultato estremo, alla misura successiva, tende a tornare nella norma. Survivorship bias e regressione verso la media sono due facce dello stesso problema: abbiamo scelto i casi guardando l’esito.
Chi non torna non racconta
L’idea è antichissima. Cicerone racconta che al filosofo Diagora di Melo, a Samotracia, mostrarono le tavolette votive dipinte da chi era sopravvissuto a un naufragio dopo aver pregato gli dèi: non era forse la prova che le preghiere funzionano? Diagora rispose chiedendo dove fossero i ritratti di quelli che avevano pregato ed erano annegati.
Nassim Taleb chiama questo insieme di dati invisibili il cimitero silenzioso: i casi che non ce l’hanno fatta non scrivono, non dipingono tavolette, non tornano alla base. E proprio perché sono silenziosi, ci dimentichiamo che esistono.
Il punto delicato è che il cimitero silenzioso non si vede per costruzione. Non è un dato mancante per distrazione, che con un po’ di cura si può recuperare: è il meccanismo stesso che produce i dati a escluderlo. Nessun case study ci dirà mai quanti altri hanno provato la stessa cosa.
Un secondo esempio: la potatura dei contenuti
Il survivorship bias non ha bisogno di LinkedIn: può nascere dentro i nostri stessi dati. Prendiamo un blog che pubblica 100 articoli all’anno dal 2020 al 2025. Ogni anno fa un audit dei contenuti, quella che in gergo si chiama content pruning: gli articoli che hanno almeno un anno e portano meno di 30 visite al mese vengono rimossi (o messi in noindex) con probabilità 1/2, perché qualcuno li giudica recuperabili e qualcun altro no.
Nella simulazione, e questo è il punto, il traffico di un articolo non dipende in alcun modo dall’anno in cui è stato scritto.
Costruisco il blog in R:
set.seed(2025)
anni <- 2020:2025
post <- data.frame(anno = rep(anni, each = 100))
post$visite <- round(rlnorm(nrow(post), log(40), 1.1)) # visite al mese
post$online <- TRUE
for (audit in 2021:2025) {
candidati <- post$online & post$anno < audit & post$visite < 30
post$online[candidati & runif(nrow(post)) < 0.5] <- FALSE
}Il traffico segue una distribuzione log-normale, come accade di solito: molti articoli con poche visite, pochi articoli con moltissime. Proprio per questo come misura riassuntiva usiamo la mediana e non la media, che i pochi articoli di grande successo trascinerebbero verso l’alto.
Un anno dopo l’ultimo audit, qualcuno si chiede se convenga puntare sui contenuti evergreen. Estrae dal CMS gli articoli online e calcola le visite mediane per anno di pubblicazione:
online <- post[post$online, ]
tapply(online$visite, online$anno, median)
# 2020 2021 2022 2023 2024 2025
# 78.0 78.5 73.0 54.0 54.0 41.5Il risultato sembra netto: gli articoli del 2020 portano quasi il doppio delle visite di quelli del 2025. «I contenuti invecchiano bene, il traffico si accumula col tempo». Ora guardiamo la stessa tabella su tutti gli articoli mai pubblicati, compresi quelli rimossi:
tapply(post$visite, post$anno, median)
# 2020 2021 2022 2023 2024 2025
# 38.0 38.0 43.0 38.0 40.5 41.5La crescita sparisce: l’anno di pubblicazione non conta niente, come avevamo stabilito. L’effetto «età» era interamente prodotto dagli audit. Gli articoli del 2020 hanno subìto cinque potature e ne è rimasto il 62%, i più forti; quelli del 2025 non ne hanno subita nessuna e sono tutti lì, deboli compresi. Confrontando gruppi che hanno subìto selezioni diverse, abbiamo misurato la selezione, non i contenuti.

C’è un’ironia sottile: proprio chi lavora bene, e fa pulizia regolarmente, si costruisce un archivio che mente. E la menzogna è comoda, perché conferma che i contenuti vecchi sono preziosi e che la potatura ha funzionato.
Un avvertimento: prima di guardare un risultato, chiediamoci chi è uscito dal dataset, e perché.
Se l’uscita dipende dall’esito che stiamo misurando (il traffico, le conversioni, il successo di una strategia), qualunque media calcolata su chi è rimasto è distorta, e nessun test statistico, per quanto raffinato, se ne accorgerà: il test lavora sui dati che gli diamo, non su quelli che mancano.
Dove si nasconde il survivorship bias nella SEO
Una volta imparato a riconoscerlo, lo si trova dappertutto. Qualche esempio dalla pratica quotidiana:
- Gli studi sui fattori di ranking. Periodicamente esce lo studio che misura le pagine in prima posizione: tante parole in media, tante immagini, tanti backlink. Ma lo studio guarda solo le prime dieci posizioni: quante pagine con le stesse caratteristiche stanno in quarta pagina? Senza di loro non sappiamo se quelle caratteristiche distinguono i vincitori o sono semplicemente comuni a tutti. (È anche un problema di correlazione scambiata per causazione, ma il primo vizio è nel campione.)
- «Cosa hanno in comune i siti che hanno superato il core update». Senza guardare i siti con le stesse caratteristiche che invece sono crollati, l’elenco delle virtù dei sopravvissuti non dimostra niente.
- Search Console. Mostra le pagine e le query che hanno ottenuto impressioni: le pagine che Google non mostra mai non compaiono, e le query anonimizzate per privacy nemmeno. Le tabelle dell’interfaccia, inoltre, si fermano alle prime mille righe. Analizzare «le pagine del sito» partendo da lì significa analizzare le pagine che già funzionano.
- Le best practice degli A/B test. Le raccolte di «test vincenti» raccontano le varianti che hanno vinto, non le dieci identiche che hanno perso altrove. E i vincitori di un A/B test fermato al momento giusto, come abbiamo visto parlando di peeking, sono sopravvissuti doppiamente selezionati.
- I portfolio e le testimonianze. Un’agenzia mostra i clienti cresciuti, non quelli persi; un corso mostra gli studenti che hanno trovato lavoro. Non è disonestà: è il modo in cui funziona la vetrina. Ma la vetrina non è il magazzino.
- I dataset dei tool. I domini scaduti, i siti chiusi, le pagine eliminate escono silenziosamente dagli indici di backlink e di visibilità. Un trend storico calcolato sui siti attivi oggi è un trend dei sopravvissuti.
Come difendersi?
Non esiste una formula che corregga il survivorship bias dopo il fatto: se i casi scartati sono persi, nessun calcolo li restituisce. Esistono però abitudini che lo prevengono.
Definire il gruppo prima di conoscere l’esito. È la lezione del secondo esempio. Se vogliamo sapere come rendono gli articoli del 2020, il gruppo giusto è tutti gli articoli pubblicati nel 2020, non quelli ancora online. Gli epidemiologi lo chiamano studio di coorte: si segue tutto il gruppo dall’inizio, morti compresi. Nella simulazione, è esattamente la differenza fra la linea tratteggiata e quella continua.
Chiedere il denominatore. Davanti a un successo, la domanda è sempre «su quanti tentativi?». Cinquantacinque case study entusiasti su mille tentativi raccontano una storia molto diversa da cinquantacinque su sessanta. Se il denominatore non è noto, la conclusione onesta è che non sappiamo.
Conservare i morti. Nel nostro lavoro il cimitero silenzioso si può, in parte, conservare: le vecchie sitemap, l’elenco degli URL rimossi o reindirizzati con la data, gli export completi di Search Console scaricati regolarmente, i risultati di tutti gli A/B test, non solo dei vincenti. Costa poco, e trasforma un archivio che mente in uno che si può interrogare.
Confrontare con chi non ha fatto niente. Il modo migliore per sapere se una modifica funziona è confrontare le pagine modificate con pagine simili lasciate com’erano, scelte prima di guardare i risultati: è l’idea dello split test SEO. Il gruppo di controllo è, in un certo senso, il cimitero che ci costruiamo apposta.
Diffidare degli effetti grandi selezionati per successo. Quando un risultato ci arriva perché è stato eccezionale, aspettiamoci che alla prova successiva sia meno eccezionale. Non è pessimismo: è quello che abbiamo visto accadere ai 55 vincitori.
Domande frequenti
Qual è l’esempio più famoso di survivorship bias?
Quello degli aerei della Seconda guerra mondiale analizzati dal matematico Abraham Wald. Gli aerei che tornavano avevano pochi colpi sui motori, e la tentazione era corazzare le parti più colpite. Wald capì che i colpi sui motori mancavano perché gli aerei colpiti lì non tornavano: la corazza andava messa proprio dove, sui sopravvissuti, i fori non c’erano.
Survivorship bias e bias di selezione sono la stessa cosa?
Il survivorship bias è un caso particolare del bias di selezione. Il bias di selezione si ha ogni volta che il campione analizzato non rappresenta la popolazione di interesse; nel survivorship bias il campione è formato da chi ha superato una selezione, e la selezione dipende di solito dall’esito stesso, come il successo o la permanenza nel tempo.
Come si dice survivorship bias in italiano?
Si usano bias del sopravvissuto, bias di sopravvivenza o distorsione da sopravvivenza. Il termine inglese resta il più diffuso, anche nei testi italiani.
Perché i case study di successo sono poco affidabili?
Non perché siano falsi, ma perché sono selezionati: si pubblicano quando la strategia ha funzionato, e restano nel cassetto quando non ha funzionato. Una raccolta di case study mostra quindi solo la coda fortunata dei risultati, e la media dei successi raccontati può essere molto lontana dall’effetto reale, che può anche essere nullo.
Si può correggere il survivorship bias dopo aver raccolto i dati?
Solo se si recuperano le informazioni sui casi esclusi, o se si conosce con precisione il meccanismo che li ha esclusi e lo si può modellare. Se gli esclusi sono semplicemente spariti, nessuna tecnica statistica li restituisce: per questo conviene prevenirlo, definendo il gruppo da studiare prima di conoscere l’esito e conservando i dati dei casi falliti.
Prova tu
Il codice dell’articolo si presta a qualche esperimento.
- Si abbassa la soglia di pubblicazione dal +25% al +10% (
pubblica <- var_trim1 >= 0.10): quanti case study escono ora, e quanto vale la loro media? La distorsione si riduce, ma sparisce? - Si dà alla modifica un effetto vero ma piccolo, del +3%, aggiungendo
log(1.03)alla media dirnorm(). Di quante volte i case study pubblicati esagerano l’effetto reale? - Nella potatura si porta la probabilità di rimozione da 1/2 a 1 (
runif(nrow(post)) < 1): come cambia la tabella degli articoli online? E se la soglia passa da 30 a 60 visite?
L’ultimo esperimento è il più istruttivo: più la potatura è severa, più l’archivio «dimostra» che i contenuti vecchi sono migliori, senza che sia cambiato niente nei contenuti.
Abbiamo visto che guardare solo chi è sopravvissuto alla selezione distorce le medie, anche quando ogni dato è vero. C’è una trappola parente, che ci aspetta ogni volta che una notizia ci sembra molto più probabile di quanto sia: dimenticare quanto è raro, in partenza, l’evento che stiamo cercando. Un test accurato al 99%, se l’evento che cerca è abbastanza raro, può sbagliare la maggior parte delle volte che dà l’allarme. È la base rate fallacy, e sarà la prossima tappa del nostro viaggio tra le trappole dei dati.
Per approfondire
Sul ruolo del caso nel successo e sui sopravvissuti che scambiamo per vincitori, consiglio Giocati dal caso di Nassim Nicholas Taleb: un libro brillante e polemico, nato nel mondo della finanza ma perfetto per chi deve giudicare strategie, case study e consulenti a partire dai loro risultati.