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: Marco Cilia 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.


May 26 2012

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

Limiti assoluti di Google Analytics

autore: Marco Cilia categoria: generale

Sono incappato in un interessante post su customreportsharing.com: quali sono i limiti assoluti, intesi come imposti dalla piattaforma o dagli ingegneri di Google, di Analytics? Ecco le risposte che sono uscite fuori:

100 account (200 per gli account certificati, qualsiasi cosa voglia dire)
50 profili per account

500 richieste alla gif per sessione
10 richieste massime in 5 secondi
5 variabili custom per ogni richiesta (ma sono 50 per GA Premium)

256 caratteri nei filtri di visualizzazione
4 segmenti avanzati massimi contemporaneamente (sono 8 solo col confronto temporale)
5 tab per ogni custom report
5 gruppi di metriche per custom report
5 dimensioni annidate per custom report
5 filtri per ogni custom report
10 metriche per ogni gruppo di metriche nei custom report
50 caratteri massimi per il nome di un custom report, per il nome di un gruppo di metriche, per il nome di una tab
500 il numero massimo di righe esportabili per ogni report (ma esiste un trucco e lo sappiamo)

80 è invece il massimo numero di caratteri nel nome di un alert personalizzato

256 caratteri massimo per il nome di un GOAL
20 goal per profilo
5 gruppi di goal per profilo
5 goal per gruppo
10 passaggi al massimo per ogni funnel che precede un GOAL
99999999999999999999999999999999 è invece il valore massimo che si può attribuire a un GOAL 🙂

sembrerebbe non esistere, o non è stato trovato, un limite alle condizioni che si possono impostare nella definizione di un segmento avanzato

12 widget per ogni dashboard
(20 dashboard per profilo, ne sono quasi certo anche se non è elencato nel post)
65536 caratteri massimi nel nome di una dashboard

50000 visite al giorno (in realtà non è un limite, ovviamente: l’help dice che se si inviano più di 50000 visite al giorno si perde l’elaborazione delle informazioni continua ed essa viene fatta una volta al giorno, alle 12:00 UTC (le 2 del mattino pomeriggio in Italia), e il processo dura circa 10 ore)
10 milioni di hits alla gif al mese – PER ACCOUNT

50000 richieste al giorno per ogni progetto che usa le API
10 query al secondo per IP
4 richieste contemporanee dallo stesso IP
non più di 10 richieste al secondo per IP per TUTTE le Google API insieme
10000 richieste al giorno per profilo
10 richieste contemporanee per profilo

Mancano ancora informazioni circa il numero massimo di custom report, di categorie di custom report, di alert per profilo e di utenti cui può essere dato accesso a un profilo. Per cui se siete incorsi in qualcuno di questi limiti, segnalatelo!