Jul 10 2012




Come funziona il campionamento (ufficiale)?
Avevo già scritto come funziona il campionamento, ma era una descrizione semplificata e non approfondita, presa da un episodio della Web Analytics TV.
Sono capitato su questo articolo dell’help ufficiale che invece descrive il processo nel dettaglio, e siccome non è disponibile in lingua italiana può valere la pena di tradurlo, almeno nei concetti principali.
Come funzionano i report standard
Ogni web property in Google Analytics contiene una copia di tutti i dati non filtrati associati all’id della web property. Ogni profilo associato alla web property crea un set di tabelle aggregate e non campionate, che vengono processate su base giornaliera. I report standard di GA si basano su queste tabelle pre-aggregate, in modo da fornire report non campionati in pochissimo tempo.
L’utente potrebbe però chiedere informazioni con delle interrogazioni ad hoc, tipicamente quando applica segmenti avanzati, aggiunge una dimensione secondaria o guarda un report personalizzato. Quando l’interfaccia interroga il database, Analytics controlla le tabelle pre-aggregate per vedere se la query può essere soddisfatta con i dati in esse presenti; se non è possibile, allora si rivolge ai dati grezzi per estrarre i dati al volo. Quando questo accade e i dati sono campionati, vi appare il box informativo giallo.
Quando è il momento di una interrogazione ai dati grezzi, GA controlla per prima cosa il numero di visite registrate nel periodo selezionato; se questo numero è superiore a 250 mila (o al valore risultante dalla vostra selezione tramite lo slider), verrà applicato l’algoritmo di campionamento e scelto un sottoinsieme di 250 mila visite, proporzionali alla distribuzione delle visite nel periodo temporale di riferimento. Ne consegue che il campionamento è differente per ogni query fatta a seconda di quante visite debba “scomodare” per ricavare il dato.
Implicazioni per i profili filtrati e i segmenti avanzati
E’ importante notare che il campionamento avviene a livello di web property e non di profilo. Per i profili filtrati, il campione di 250 mila visite viene scelto dai dati grezzi, e soltanto dopo vengono riapplicati i filtri di profilo, quindi il numero di visite nel campione di questi profili potrebbe essere minore di 250 mila. La stessa cosa avviene con i segmenti avanzati, che vengono applicati solo dopo aver isolato il campione
Dimensioni aggregate, come funzionano i report standard
Le tabelle pre-aggregate naturalmente non contengono dati infiniti, esiste un limite anche per esse (nota 3: Le tabelle possono corrispondere a un singolo report o a multipli report. Possono contenere una singola dimensione (es. la keyword) o dimensioni multiple (es. gruppo annunci e campagne). Al livello più granulare possibile, i report conterranno 50mila righe). Google Analytics aggrega i dati che eccedono le 50mila righe per tabella per giorno. Ovvero, quando esistono più di 50 mila righe per una certa tabella, GA prende gli N valori più importanti (N è determinato in base alle metriche rilevanti per quella tabella) e aggrega gli altri nel valore (other)
Implicazioni per le richieste su più giorni
Questo viene fatto su base giornaliera; se ad esempio selezionate un singolo giorno del report Pagine, vedrete al massimo 50 mila valori. Le altre pagine sono aggregate nel valore (other). Però una pagina potrebbe essere aggregata nel valore (other) un certo giorno ma non il giorno successivo (magari peché riceve più visite e viene “scelta” per finire nelle 50 mila di quel giorno), quindi se fate un report per un periodo di più giorni potreste avere delle inconsitenze perché un certo valore alcune volte viene incluso nel gruppo (other) e alcune volte no.
In aggiunta, quando si fanno interrogazioni su più giorni, il numero massimo di righe lette per giorno è 1 milione diviso n, dove n è il numero di giorni della query. Di conseguenza per ogni query che abbracci più di 20 giorni, GA potrebbe troncare il numero di righe lette per giorno, se ci sono più di 50 mila righe di dati.
Ad esempio:
- un report per gli ultimi 30 giorni leggerebbe all’incirca 30 mila righe per giorno (1.000.000/30)
- un report per gli ultimi 60 giorni leggerebbe un massimo di 16 mila righe per giorno (1.000.000/60)
Siccome i valori delle dimensioni spesso si ripetono nel tempo (URl del sito o keyword in ingresso), questo problema tipicamente affligge siti con molti contenuti unici o keyword molto variegate.
Campionamento di altri report
Le canalizazioni multicanale sono basate su un massimo di un milione di conversioni. Se ve ne sono di più, GA campionerà usandone un milione, questa volta per profilo e non per web property.
Il numero massimo di percorsi di conversione è di 200 mila al giorno. Il resto finisce nell’aggregato (other)
I report sui flussi di visitatori sono generati da un sottoinsieme di 100 mila visite, campionate a livello di web property. Quindi usarli su profili filtrati o in combinazione con segmenti avanzati può ridurre ulteriormente il valore del campione utilizzato.