Determinare se un sito Web è attivo utilizzando le visite giornaliere


15

Contesto:

Ho un gruppo di siti Web in cui registro il numero di visite su base giornaliera:

W0 = { 30, 34, 28, 30, 16, 13, 8, 4, 0, 5, 2, 2, 1, 2, .. } 
W1 = { 1, 3, 21, 12, 10, 20, 15, 43, 22, 25, .. }
W2 = { 0, 0, 4, 2, 2, 5, 3, 30, 50, 30, 30, 25, 40, .. } 
...
Wn 

Domanda generale:

  • Come determinare quali sono i siti più attivi?

Con questo intendo ricevere più visite o avere un improvviso aumento delle visite negli ultimi giorni. A scopo illustrativo, nel piccolo esempio sopra W0 sarebbe inizialmente popolare ma sta iniziando a mostrare abbandono, W1 sta mostrando una popolarità costante (con qualche picco isolato) e W3 un importante rilancio dopo un inizio tranquillo).

Pensieri iniziali:

Ho trovato questo thread su SO in cui è descritta una formula semplice:

// pageviews for most recent day
y2 = pageviews[-1]
// pageviews for previous day
y1 = pageviews[-2]
// Simple baseline trend algorithm
slope = y2 - y1
trend = slope * log(1.0 +int(total_pageviews))
error = 1.0/sqrt(int(total_pageviews))
return trend, error

Questo sembra buono e abbastanza facile, ma sto avendo un problema.

Il calcolo si basa sulle pendenze. Questo va bene ed è una delle caratteristiche che mi interessano, ma IMHO ha problemi per le serie non monotone. Immagina che durante alcuni giorni abbiamo un numero costante di visite (quindi la pendenza = 0), quindi la tendenza sopra sarebbe zero.

Domande:

  • Come gestisco entrambi i casi (aumento / diminuzione monotonico) e un gran numero di hit?
  • Dovrei usare formule separate?

1
Sono sorpreso che non hai ancora ricevuto alcuna risposta (anche se è una domanda ovviamente popolare). Dal momento che ognuno dei tuoi quattro proiettili merita una domanda in sé e per sé, che ne dici di limitare questa domanda a uno di loro e pubblicare gli altri in domande separate. Sono tutte domande davvero eccellenti che adottano approcci distinti e tutti e quattro valgono la pena da soli.
Andy W.

Ciao Andy, grazie mille per la tua risposta. Proverò a riformularlo e mi concentrerò su un singolo problema alla volta. Il mio pensiero iniziale era di renderlo il più ampio possibile (ed evitare di ripetere la stessa domanda in seguito), ma data la mancanza di risposte, sembra che sia troppo generale per qualcuno a cui rispondere.
Dan,

Ho modificato la domanda per esporre i due problemi principali che mi interessano maggiormente. Ho scelto di inserirli nella stessa domanda, dato il loro stretto rapporto.
Dan,

1
Non riesco ancora a capire perché avere una stima con un piccolo errore rende un approccio "inutilizzabile".
onestop,

Grazie per il commento. Non sto dicendo che l'approccio (calcolo dell'andamento) fosse inutilizzabile, ma il suo calcolo dell'errore potrebbe avere un potenziale problema. Dato che finora non ho ricevuto risposta, rimuoverò quell'elemento dalla domanda sperando che sia più facile rispondere.
Dan,

Risposte:



2

Esistono sicuramente modi più e meno complessi per affrontare questo tipo di problema. Dal suono delle cose, hai iniziato con una soluzione abbastanza semplice (la formula che hai trovato su SO). Con quel tipo di semplicità in mente, ho pensato di rivisitare alcuni punti chiave che fai nel tuo post (la versione attuale di).

Finora hai affermato di voler acquisire la tua misurazione dell '"attività del sito":

  • Cambiamenti di pendenza nelle visite / giorno negli "ultimi giorni"
  • Variazioni di magnitudo in visite / giorno negli "ultimi giorni"

Come sottolinea @ jan-galkowski, sembra che tu sia (almeno tacitamente) interessato al rango dei siti l'uno rispetto all'altro lungo queste dimensioni.

Se tale descrizione fosse accurata, proporrei di esplorare la soluzione più semplice possibile che incorpori queste tre misure (cambiamento, grandezza, grado) come componenti separati. Ad esempio, puoi prendere:

  • I risultati della tua soluzione SO per catturare la variazione di pendenza (anche se vorrei incorporare 3 o 4 giorni di dati)
  • Entità del valore delle visite / giorno più recenti di ciascun sito (y2)diviso per la media delle visite / giorno per quel sito ( Y):

y2 / mean(Y)

Per W0, W1 e W2 rispettivamente, produce 0,16, 1,45 e 2,35. (Per motivi di interpretazione, considera che un sito il cui valore delle visite al giorno più recenti era uguale alla media delle visite al giorno genererebbe un risultato di 1). Tieni presente che puoi anche regolare questa misura per acquisire gli ultimi 2 (o più) giorni più recenti:

y2 + y1 / 2 * mean(Y)

Ciò produce: 0,12, 1,33, 1,91 per i tre siti di esempio.

Se, infatti, utilizzi la media della distribuzione di visite / giorni di ciascun sito per questo tipo di misura, analizzerei anche la deviazione standard della distribuzione per avere un'idea della sua volatilità relativa. La deviazione standard per la distribuzione di visita / giorno di ciascun sito è: 12.69, 12.12 e 17.62. Pensare alla y2/mean(Y)misura relativa alla deviazione standard è utile perché consente di mantenere in prospettiva la grandezza recente dell'attività sul sito W2 (deviazione standard più grande = meno stabile / coerente nel complesso).

Infine, se sei interessato ai ranghi, puoi estendere questi approcci anche in quella direzione. Per esempio, io penserei che conoscere rango di un sito in termini di visite più recenti per i valori giorno, così come il grado di visite medi di ciascun sito al giorno (il rango di mean (Y)per ciascuna WinWn potrebbe essere utile ). Ancora una volta, puoi personalizzare le tue esigenze.

È possibile presentare i risultati di tutti questi calcoli come una tabella o creare una visualizzazione aggiornata regolarmente per monitorarli su base giornaliera.


1

Si noti che i tassi di arrivo degli utenti ai siti Web sono brutte serie, tendono ad essere sovradispersi (dal punto di vista di Poisson), quindi considerare le distribuzioni binominali negative per esaminare gli arrivi e il loro adattamento. Inoltre, potresti voler esaminare le statistiche degli ordini dei siti ogni giorno anziché i loro numeri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.