Feb 11 2009

Ancora sul tempo sul sito

autore: categoria: web analytics tag:

orologiOltre al commento di Antonio, è un periodo che mi capita di leggere in giro domande sul tempo sul sito. Penso sia necessario ritornarci ancora una volta, perché è un concetto mai abbastanza ribadito, ed è importante comprenderlo fino in fondo:

Nel nostro mondo il tempo è un concetto lineare, lo impariamo sin da piccoli. Non è invertibile, scorre in un solo senso, ed ha intervalli di durata nota: un secondo, un minuto, tre ore, cinque giorni… Possiamo quasi sempre sapere quanto tempo occorra affinché una cosa accada, sia che debba ancora accadere sia che stia accadendo. Ad esempio quando rispondiamo alla domanda “tra quanto tempo tramonterà il Sole?” facciamo la differenza tra l’ora del tramonto e l’ora corrente. Quando invece proviamo a capire se nostro figlio sarà un campione di apnea iniziamo a contare quando immerge la testa sott’acqua e smettiamo quando risale paonazzo 🙂
Questi due esempi hanno qualcosa in comune: si basano sulla differenza tra due momenti distinti.

Nel mondo dei bit, e di internet in particolare, le cose sono leggermente più complicate: l’HTTP, cioè il protocollo attraverso il quale viaggiano le informazioni sul web, è un protocollo senza comunicazione di stato (stateless), e questo comporta il fatto che ogni richiesta che viene fatta “riparte da capo”, non ha memoria di ciò che è successo prima. Inoltre le richieste vengono in genere fatte dal browser e le risposte vengono date dal server, che chiude la comunicazione appena ha terminato il compito e aspetta la prossima richiesta, dello stesso o di un altro browser. In una ipotetica conversazione umana, le cose andrebbero all’incirca così:

browser1: “ciao server, sono Firefox dall’ip 1.2.3.4 e mi serve la pagina index.html”
server: “eccoti la pagina index.html”
browser2: “ciao server, sono Internet Explorer dall’ip 6.72.33.124 e mi serve la pagina index.html”
server: “eccoti la pagina index.html”
browser1: “ciao server, sono Firefox dall’ip 1.2.3.4 e mi serve la pagina contatti.html”
server: “eccoti la pagina contatti.html”

e così via. Nessuna frase inizia con “ti ricordi di me? ora mi servirebbe…”

Questo preambolo serve ad introdurre la frase centrale di questo post: che si usi un sistema basato su logfiles o su tag javascript, di ogni comunicazione viene registrata SOLO E SOLTANTO la data e l’ora di richiesta.

Da qui l’assunto numero due: per calcolare il tempo di stazionamento di un utente su una pagina, servono gli stessi dati che usiamo noi per calcolare la dimensione di un lasso temporale: servono almeno due orari. D’altronde i computer sono costruiti dagli uomini, e sanno solo fare meglio i calcoli 🙂

Se una persona non guarda due pagine, non sarà possibile sapere per quanto tempo è stata sull’unica che ha visto (ed ecco perché i bounce contano zero).
Se una persona guarda 6000 pagine, il calcolo sarà fatto su 5999, perché non è nota l’ora in cui è stata vista la pagina 6001, che non esiste.
Sarebbe come se – ipoteticamente – nel mondo reale un osservatore dovesse calcolare quanto tempo un uomo rimane dentro una stanza: ci rimane il tempo che intercorre tra l’ora in cui esce e l’ora in cui entra. Ma se questo uomo fosse in grado di teletrasportarsi altrove dopo essere entrato?
Analogamente al famoso gatto di Schrödinger un utente su una pagina può essere considerato sia come “visita ancora attiva” sia come “visita terminata”. L’equivalente dell’aprire la scatola per noi è la visita della pagina successiva.

Questo problema viene risolto dalla web analytics introducendo il concetto di “tempo della sessione”, ovvero un tempo solitamente configurabile – e per convenzione impostato a trenta minuti – entro il quale se non viene registrato un’altra data/pagina vista la visita viene considerata conclusa (in Google Analytics si usa la funzione _setSessionTimeout). Per continuare con l’analogia della stanza, è come se l’osservatore esterno di cui sopra avesse istruzioni di andarsene e non registrare nulla se la persona non esce dalla stanza dopo mezz’ora.

In conclusione ricordatevi una cosa: di ogni pagina si conosce esclusivamente il momento in cui l’utente inizia a guardarla… almeno fino a quando non ne guarda un’altra 🙂

image credits: Fabiola Medeiros su Flickr

Condividi l'articolo:

3 Commenti

  1. Che grande articolo, con risvolti metafisici e fisici. Ho colto un aspetto interessante e curioso nella relazione tra umani e macchine, in genere potrebbero fare annoiare le tematiche di queste articoli invece il suo è scorrevole e avvincente. Grazie e a presto.

  2. Chissà, forse a forza di dirlo, un po’ alla volta la gente capirà… :p

  3. la speranza è quella 🙂

Scrivi un Commento