Abbiamo avuto modo di esaminare, nel corso dei precedenti articoli, come funziona il test delle ipotesi e come la distribuzione t ci permetta di lavorare anche quando non conosciamo la deviazione standard della popolazione. In entrambi i casi, ci siamo concentrati su una domanda precisa: “posso rifiutare l’ipotesi nulla, sì o no?”
Ma c’è un’altra domanda, altrettanto importante, che nella pratica quotidiana ci poniamo continuamente: quanto vale, con ragionevole approssimazione, il parametro che sto stimando? Non ci basta sapere se la media è diversa da un certo valore; vogliamo sapere dove si trova, con quale margine di incertezza.
Qui entrano in gioco gli intervalli di confidenza (in inglese confidence intervals, spesso abbreviati in IC o CI), uno degli strumenti più utili e al contempo più fraintesi di tutta la statistica inferenziale.
Di cosa parleremo
- Cos’è un intervallo di confidenza
- Il grande malinteso: cosa NON è un intervallo di confidenza
- Costruire un IC per la media
- IC per proporzioni
- La relazione tra IC e test delle ipotesi
- Livelli di confidenza: 90%, 95%, 99%
- Cosa influenza la larghezza dell’IC
- Un esempio pratico: IC del CTR organico
- Prova tu
Cos’è un intervallo di confidenza
Partiamo da un esempio concreto. Supponiamo di voler conoscere la durata media delle sessioni organiche sul nostro sito. Non possiamo osservare tutte le sessioni che ci saranno mai (sarebbe la “popolazione”); possiamo però osservarne un campione, diciamo le sessioni dell’ultimo mese.
Dal campione calcoliamo una media: ad esempio 2 minuti e 45 secondi. Ma sappiamo bene che questa è una stima puntuale: se prendessimo un altro campione (il mese successivo, per dire), otterremmo un valore leggermente diverso. La stima puntuale, da sola, non ci dice nulla sulla sua precisione.
L’intervallo di confidenza risolve esattamente questo problema. È un intervallo di valori, costruito a partire dai dati campionari, che con un certo livello di fiducia contiene il vero parametro della popolazione.
In termini più chiari e diretti: anziché dire “la durata media è 2:45”, diciamo “siamo ragionevolmente sicuri che la durata media della popolazione si trovi tra 2:30 e 3:00”. Abbiamo scambiato la precisione illusoria di un singolo numero con l’onestà di un intervallo.
Il grande malinteso: cosa NON è un intervallo di confidenza
Va sempre tenuto bene a mente un punto fondamentale, perché qui si annida uno degli errori più diffusi in statistica.
Quando diciamo “intervallo di confidenza al 95%”, non stiamo dicendo che c’è il 95% di probabilità che il parametro della popolazione cada dentro quell’intervallo. Il parametro della popolazione è un valore fisso (anche se sconosciuto): non “cade” da nessuna parte, non è una variabile casuale.
Quello che il 95% significa è questo: se ripetessimo il campionamento molte volte, e per ogni campione calcolassimo un intervallo di confidenza, il 95% di quegli intervalli conterrebbe il vero parametro. È una proprietà della procedura, non del singolo intervallo.
Sembra difficile? Facciamo un esempio al volo. Immaginiamo di lanciare una rete da pesca 100 volte. Se la nostra rete è buona (costruita al 95%), circa 95 volte su 100 catturerà il pesce. Ma una volta che abbiamo lanciato la rete e l’abbiamo tirata su, il pesce o c’è dentro o non c’è: non ha senso dire “c’è il 95% di probabilità che il pesce sia nella rete”. L’intervallo di confidenza è la rete; il parametro è il pesce.
Costruire un IC per la media
Vediamo come si costruisce concretamente un intervallo di confidenza per la media di una popolazione. La formula è:
\(\bar{x} \pm t_{\alpha/2, \, n-1} \cdot \frac{s}{\sqrt{n}} \\
\)
dove:
- \(\bar{x}\) è la media campionaria
- \(t_{\alpha/2, \, n-1}\) è il valore critico della distribuzione t con \(n – 1\) gradi di libertà
- \(s\) è la deviazione standard campionaria
- \(n\) è la numerosità del campione
- \(\frac{s}{\sqrt{n}}\) è l’errore standard della media
Il termine \(t_{\alpha/2, \, n-1} \cdot \frac{s}{\sqrt{n}}\) si chiama margine di errore (come dicono gli anglosassoni, margin of error). È la “larghezza del braccio” del nostro intervallo: più è grande, più siamo incerti.
Esempio numerico
Supponiamo di aver misurato la durata media delle sessioni organiche su un campione di 30 giorni. I dati:
- Media campionaria: \(\bar{x} = 200\) secondi
- Deviazione standard campionaria: \(s = 12\) secondi
- Numerosità: \(n = 30\)
- Livello di confidenza desiderato: 95%
Calcoliamo passo dopo passo.
Passo 1: Troviamo il valore critico \(t\). Per un livello di confidenza del 95%, cerchiamo \(t_{0.025, \, 29}\) (cioè il valore che lascia il 2.5% nelle code). Con 29 gradi di libertà, \(t \approx 2.045\).
Passo 2: Calcoliamo l’errore standard:
\(SE = \frac{s}{\sqrt{n}} = \frac{12}{\sqrt{30}} \approx 2.19 \\
\)
Passo 3: Calcoliamo il margine di errore:
\(ME = t \cdot SE = 2.045 \times 2.19 \approx 4.48 \\
\)
Passo 4: Costruiamo l’intervallo:
\(200 \pm 4.48 = [195.52, \; 204.48] \\
\)
Dunque: siamo ragionevolmente sicuri (al 95%) che la durata media delle sessioni nella popolazione si trovi tra circa 195.5 e 204.5 secondi.
In R
Calcoliamo lo stesso intervallo in R:
n <- 30
xbar <- 200
s <- 12
margin <- qt(0.975, df = n - 1) * s / sqrt(n)
lower <- xbar - margin
upper <- xbar + margin
cat("IC al 95%:", round(lower, 2), "-", round(upper, 2), "\n")
cat("Margine di errore:", round(margin, 2), "\n")
Risultato: IC al 95%: 195.52 – 204.48, con un margine di errore di 4.48 secondi.
Come si vede, davvero un giochetto da ragazzi: tre righe di codice e abbiamo il nostro intervallo.
IC per proporzioni
Nella realtà operativa della SEO e del marketing digitale, spesso lavoriamo non con medie ma con proporzioni: tassi di conversione, CTR, bounce rate. Per le proporzioni la formula è leggermente diversa.
L’intervallo di confidenza per una proporzione è:
\(\hat{p} \pm z_{\alpha/2} \cdot \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \\
\)
dove:
- \(\hat{p}\) è la proporzione campionaria (ad esempio, il tasso di conversione osservato)
- \(z_{\alpha/2}\) è il valore critico della distribuzione normale standard (qui usiamo la \(z\) perché con proporzioni e campioni sufficientemente grandi la distribuzione è approssimativamente normale)
- \(n\) è la numerosità del campione
n.b.: questa formula (detta di Wald) funziona bene quando \(n\) è sufficientemente grande e \(\hat{p}\) non è troppo vicino a 0 o a 1. Come regola pratica, servono almeno \(n \cdot \hat{p} \geq 5\) e \(n \cdot (1 – \hat{p}) \geq 5\).
Esempio: IC del tasso di conversione
Una landing page ha ricevuto 500 visite nell’ultimo mese, con 18 conversioni. Il tasso di conversione osservato è:
\(\hat{p} = \frac{18}{500} = 0.036 \quad (3.6\%) \\
\)
Calcoliamo l’IC al 95%. Il valore critico \(z_{0.025} = 1.96\).
\(
SE = \sqrt{\frac{0.036 \times 0.964}{500}} = \sqrt{\frac{0.0347}{500}} \approx 0.0083 \\
\)
\(
ME = 1.96 \times 0.0083 \approx 0.0163 \\
\)
\(
IC = [0.036 – 0.0163, \; 0.036 + 0.0163] = [0.0197, \; 0.0523] \\
\)
In altri termini: il tasso di conversione reale della pagina si trova, con il 95% di confidenza, tra l’1.97% e il 5.23%.
Questo è di estrema utilità nella pratica. Se qualcuno ci chiede “qual è il conversion rate di quella pagina?”, rispondere “3.6%” è una mezza verità. Rispondere “tra il 2% e il 5.2%” è onesto e informativo.
In R
Costruiamo lo stesso calcolo in R:
n <- 500
successi <- 18
p_hat <- successi / n
se <- sqrt(p_hat * (1 - p_hat) / n)
z <- qnorm(0.975)
margin <- z * se
lower <- p_hat - margin
upper <- p_hat + margin
cat("Proporzione:", round(p_hat, 4), "\n")
cat("IC al 95%:", round(lower, 4), "-", round(upper, 4), "\n")
# oppure, con la funzione integrata:
prop.test(successi, n, conf.level = 0.95)
La funzione prop.test() di R restituisce direttamente l’intervallo di confidenza (usando una correzione di continuità che lo rende leggermente più conservativo).
La relazione tra IC e test delle ipotesi
C’è un legame profondo tra intervalli di confidenza e test delle ipotesi, e capirlo chiarisce entrambi i concetti.
Se un valore ipotizzato cade fuori dall’intervallo di confidenza al 95%, allora il test delle ipotesi a quel valore sarebbe rifiutato con \(\alpha = 0.05\). E viceversa: se il valore cade dentro l’IC, non possiamo rifiutare l’ipotesi nulla.
Facciamo un esempio. Torniamo alla nostra durata media delle sessioni: IC al 95% = [195.52, 204.48]. Se qualcuno ipotizza che la durata media sia 190 secondi, possiamo rispondere: “190 cade fuori dal nostro IC al 95%, quindi rifiuteremmo l’ipotesi nulla \(H_0: \mu = 190\) con \(\alpha = 0.05\)“. Se invece l’ipotesi fosse \(\mu = 198\), 198 cade dentro l’intervallo, e non potremmo rifiutare.
In un certo senso, l’intervallo di confidenza è più informativo del test delle ipotesi: il test ci dice solo “sì/no”, mentre l’IC ci dice dove si trova il parametro. È come la differenza tra chiedere “sei a Roma?” (test) e chiedere “dove sei?” (IC).
Livelli di confidenza: 90%, 95%, 99%
Il livello di confidenza più usato è il 95%, ma non è l’unico. Vediamo come cambia l’intervallo al variare del livello:
| Livello | Valore critico z | IC per il nostro esempio (media) |
|---|---|---|
| 90% | 1.645 | [196.40, 203.60] |
| 95% | 1.960 | [195.52, 204.48] |
| 99% | 2.576 | [193.36, 206.64] |
La regola è semplice: più alta la confidenza, più largo l’intervallo. È il prezzo della sicurezza: se vogliamo essere più certi che l’intervallo contenga il parametro, dobbiamo allargare la rete.
È una scelta di compromesso. Un IC al 99% è quasi certamente corretto, ma è così largo da essere poco utile (“la media è tra 193 e 207 secondi” – e allora?). Un IC al 90% è più stretto e operativamente utile, ma sbaglia più spesso.
Nella pratica quotidiana della SEO e del marketing, il 95% è la convenzione standard. Non c’è nulla di magico in quel numero (come per il famoso \(\alpha = 0.05\) nei test delle ipotesi), ma è il compromesso che la comunità scientifica ha adottato, e non ha senso reinventare la ruota.
Cosa influenza la larghezza dell’IC
Tre fattori determinano quanto sarà largo (o stretto) il nostro intervallo:
- La dimensione del campione (\(n\)): più dati abbiamo, più stretto sarà l’IC. Questo è intuitivo: più osservazioni raccogliamo, più precisa diventa la nostra stima. La relazione è con \(\sqrt{n}\), il che significa che per dimezzare la larghezza dell’IC dobbiamo quadruplicare il campione.
- La variabilità dei dati (\(s\)): più i dati sono dispersi, più largo sarà l’IC. Se il traffico del sito è molto variabile giorno per giorno, la nostra stima della media sarà meno precisa.
- Il livello di confidenza: come visto, più alta la confidenza, più largo l’intervallo.
Dei tre fattori, l’unico su cui abbiamo un controllo diretto è la dimensione del campione. Ecco perché la domanda “quanti dati mi servono?” è così importante – ed è un tema che affronteremo in un prossimo articolo.
Un esempio pratico: IC del CTR organico
Applichiamo tutto questo a un caso reale. Supponiamo di avere una pagina che in Search Console mostra questi dati per l’ultimo mese:
- Impressioni: 2000
- Click: 140
- CTR osservato: \(\frac{140}{2000} = 0.07\) (7%)
Costruiamo l’IC al 95% per il CTR:
n <- 2000
click <- 140
ctr <- click / n
se <- sqrt(ctr * (1 - ctr) / n)
z <- qnorm(0.975)
lower <- ctr - z * se
upper <- ctr + z * se
cat("CTR osservato:", round(ctr * 100, 2), "%\n")
cat("IC al 95%:", round(lower * 100, 2), "% -", round(upper * 100, 2), "%\n")
Risultato: CTR osservato 7.00%, IC al 95%: 5.88% – 8.12%.
Questo ci dice qualcosa di importante: quel 7% è una stima ragionevolmente precisa (il margine è di circa un punto percentuale in ogni direzione), grazie alle 2000 impressioni. Se avessimo avuto solo 200 impressioni, l’intervallo sarebbe stato molto più largo e la stima molto meno affidabile.
È un’informazione preziosissima quando facciamo confronti. Se un’altra pagina ha un CTR del 6.5% su un numero simile di impressioni, possiamo già intuire (e con un test formale verificare) che la differenza non è statisticamente significativa: i due intervalli si sovrappongono ampiamente.
Prova tu
Una campagna di email marketing ha prodotto questi risultati nell’ultimo trimestre:
- Email inviate: 1200
- Aperture: 312
- Click nel corpo dell’email: 78
- Calcola l’intervallo di confidenza al 95% per il tasso di apertura (open rate)
- Calcola l’intervallo di confidenza al 95% per il tasso di click (click rate, sul totale delle email inviate)
- Un collega sostiene che “il nostro open rate è del 30%”. Sulla base del tuo IC, questa affermazione è compatibile con i dati?
Suggerimento: usa la formula dell’IC per proporzioni. In R, prop.test(successi, totale) fa tutto il lavoro.
Abbiamo visto come l’intervallo di confidenza trasformi una stima puntuale (un numero solo, illusoriamente preciso) in un’informazione onesta sulla nostra incertezza. Ma una domanda resta aperta: se la larghezza dell’IC dipende dalla dimensione del campione, quanti dati ci servono per ottenere un intervallo sufficientemente stretto da essere utile? È il problema della dimensione campionaria, ed è un tema che merita un articolo a sé.