Jul 10 2012

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

Come funziona il campionamento (ufficiale)?

autore: categoria: generale

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.

Condividi l'articolo:

4 Commenti

  1. ciao marco, sono un fan del tuo sito a tal punto che dopo anni di pagina iniziale di chrome “bianca” ho deciso di mettere goanalytics! 🙂
    casca a pennello questo tuo post perche mi trovo nella situazione di avere due report di analytics completamente discordanti:
    periodo gennaio 2011 – giugno 2012
    sito con traffico decrescente
    analisi: guardo il traffico direct, referral e non paid search.
    se selezione le sorgenti di traffico e guardo uno per uno vedo una discesa
    se invece uso i segmenti, e vado a vedermi i dati medesimi, Ga passa ai dati campionati, con lo 0.2% dei dati, e mi da un crollo verticale del traffico (Diciamo del 80%) nel giorno del 21/3/2011.
    STampo i dati dei segmenti e chiamo il cliente: “ecco non ve ne siete mai accorti ma l’anno scorso (quando non c’eravamo noi) qualcun ha fatto qualche modifica sul sito e ci sono almeno il 80% delle pagine che non hanno il tag di g.a.
    Pero’ poi torno a vedere i dati non campionati e capisco che ci deve essere qualcosa che non torna, forse sono stati fatti effettivamente dei cambi di url nel sito, g.a. parte con il campionamento guarda caso proprio sulle pagine che poi non esisteranno piu e quindi mi mostra questa discrepanza. Che ne dici? ti manderei le videate se vuoi, per un tuo parere… grazie e non ti far prendere troppo dal tuo nuovo lavoro! saluti francesco

  2. se campiona lo 0,2% a 250k visite significa che hai milioni di visite… difficile che si possa trattare di un problema di pagine senza codice che finiscono nel campione. Se fossero, sarebbero probabilmente insignificanti. Se fosse un fenomeno massivo, te ne saresti accorto anche senza campionamento…

  3. qiundi rimane il problema. il traffico direct normale non mi fa notare nlla di particolare. usando il segmento (dove non so perche ma campiona) mi da un crollo verticale, cioe’ i due grafici non sono uguali. tenderei a classificarlo come errore di analytics e nient’altro? cmq si, certo, sono milioni di visite…

  4. Scusa avevo letto male il periodo, sono 18 mesi… prova a analizzare meno mesi alla volta e vedere se isoli il problema in un certo periodo…

Scrivi un Commento