Perché il mio report continua a produrre gli stessi risultati da mesi? Sto eseguendo un report basato sull’attività fin dall’inizio della community. La community è diventata sempre più attiva per tutto questo tempo.
Ad esempio, un utente risulta nei risultati della query come avente 271 argomenti visualizzati, mentre il riepilogo del suo profilo indica 1,2k argomenti visualizzati.
Eseguendo rapidamente la query qui su Meta, le statistiche si aggiornano quando modifico il valore di ‘durata’, quindi non sembra bloccarsi da nessuna parte. L’ho anche eseguita per una durata di 90 giorni e l’ho confrontata con un utente nuovo di zecca la cui attività principale si è svolta in quel periodo, e le sue statistiche corrispondono al suo riepilogo.
C’è qualcos’altro che potrei controllare per vedere se riesco a replicare?
Sto cercando di eseguire una query a partire da 439 giorni fa (guardando la data di iscrizione di un utente specifico come test) e scegliendo la data di durata come lo stesso numero di giorni. Avevo capito che questo avrebbe incluso tutti i loro dati di partecipazione dalla loro iscrizione. Tuttavia, i dati non lo riflettono.
Sembra anche che una query sulle statistiche di partecipazione degli utenti, risalente a 439 giorni fa fino ad ora, includa solo i membri che erano già registrati e attivi in quel momento. Non include i dati di partecipazione dei membri che si sono registrati successivamente ed erano attivi in quel lasso di tempo.
Qualcuno può aiutarmi a personalizzare il report per crearne uno che catturi i dati di cui ho bisogno? Conosco l’SQL solo a livello superficiale.
Guardando il report, sembra essere in ordine di visite con il più alto in cima - quindi chiunque si sia unito a metà della finestra temporale selezionata sarà da qualche parte in fondo alla lista (e la lista visibile è limitata a 1000, anche se penso che tu possa ottenere 10.000 se esporti i risultati come CSV).
Possiamo però creare una query personalizzata. Che dati stai cercando esattamente?
Non abbiamo nemmeno così tanti membri… ancora, quindi tutto bene lì.
evvai
Una cosa che sarebbe utile chiarire è come viene calcolata ciascuna colonna. Ci sono discrepanze tra il CSV e ciò che è sulla pagina Riepilogo profilo di un membro (nota: stiamo confrontando solo questi due diversi set di dati in cui le date della query corrispondono al ciclo di vita dell’iscrizione del membro).
statistiche di partecipazione per tutti i membri con 1 o più visite, indipendentemente da quando durante il periodo di query si sono uniti
le statistiche vengono estratte alla fine di ogni mese per mostrare la partecipazione cumulativa dal lancio della nostra nuova community.
Abbiamo pensato, dato il lasso di tempo :from_days_ago e :duration_days della query, che fossero questi i dati che stava producendo.
Ci ho dato un’occhiata stamattina per vedere se riuscivo a scoprire di più. Il mio va in timeout quando provo a tornare indietro di 498 giorni (alla mia data di inizio ), ma sono riuscito a ottenerne uno per un anno, quindi posso confrontarlo approssimativamente con le Statistiche Utente. (più o meno qualche ora di dati)
C’è una differenza per posts_created, topics_created, likes_given e likes_received tra i due - e dando un’occhiata più da vicino all’SQL sembra che la query User Participation Statistics non escluda post eliminati, sussurri o PM, il che potrebbe spiegarlo.
I topics_viewed e posts_viewed sembrano abbastanza accurati per entrambi.
Non sono sicuro del motivo per cui alcuni dei tuoi utenti non vengono visualizzati? L’unico criterio di esclusione che penso di vedere è che devono aver letto più di 0 post nella finestra temporale - il che dovrebbe includere praticamente tutti, a parte gli utenti staged.
pr AS (
SELECT user_id, COUNT(1) AS visits,
SUM(posts_read) AS posts_read
FROM user_visits, t
WHERE posts_read > 0
AND visited_at > t.START
AND visited_at < t.END
GROUP BY
user_id
Continuerò a scavare e vedrò se riesco a trovare di più.
Quando inserisco 441 in :from_days_ago e 441 in :duration_days ottengo questi (sotto). Rispetto a questo report per lo stesso intervallo di tempo (almeno… per l’utente evidenziato).
Me ne sono reso conto pochi minuti prima della tua risposta, hahaha. Grazie per la tua pazienza.
…
Ho cambiato :from_days_ago in 0 e tutto nella vita ha senso!!
Sembra che il mio cervello stesse lavorando cronologicamente per quanto riguarda il significato di :duration_days. Pensavo che :from_days_ago fosse il primo giorno in cui la query avrebbe estratto dati, per poi continuare a farlo, lavorando cronologicamente nel tempo (cioè dati di 441 giorni fa, 440 giorni fa, 439 giorni fa e così via fino al tempo presente). Sembra che estragga i dati in ordine cronologico inverso. Capito!