Index du Forum » » Le coin des codeurs

Auteur

Statistiques inscriptions-newsletter discussions-posts
freud
113     

  Posté : 09-12-2011 15:49

Salut la communauté,

J'ajoute sur mon site (version sable) quelques statistiques qui ne sont pas inintéressantes et que l'on ne peut avoir via Analytics ou autre:
- nombre d'inscriptions journalières avec proportion de gens qui s'inscrivent à la newsletter
- nombre de discussions créées par jour et nombre de posts, permettant aussi de déterminer le nombre moyen de posts par discussions.

Voici ce que ça donne sur 30 jours :



Graph 1 on a en bleu clair et en noir le nbr d'inscriptions, et en bleu foncé le nbr d'inscrits à la newsletter parmi ces nouveaux membres. A droite les totaux sur 30 jours avec le pourcentage d'inscrits à la newsletter.
Graph 2 en bleu clair et en noir le nbr de posts journaliers tous forums confondus, et en bleu foncé écriture blanche le nbr de topics créés. A droite les totaux et la moyenne de posts par topic.

Je compte faire de même avec des stats mensuelles pour comparer les tendances d'un mois à l'autre et éventuellement d'une année à l'autre.

Pour éviter à chaque affichage des stats de multiplier les requêtes (recherches sur la totalité des membres ou des posts, etc) j'ai créé une routine exécutée à heure fixe tous les jours par une tâche Cron sur serveur Unix (cela suppose d'avoir un hébergement qui le permette).

J'ai donc une fonction sur un fichier baptisé 'routine.php' qui tous les jours fera le bilan de la veille et enregistrera les données dans la BDD (nouvelle table).

Pour visualiser les stats je n'ai plus qu'à aller chercher les infos sur les 30 derniers jours et afficher le tout sous forme de graphique (simples div imbriqués dans un tableau).

Voilà, pour ceux que ça intéresse je joins une archive contenant la procédure (fichier au format PHP pour faciliter la lecture des codes) et une copie de ma table de statistiques.

Lien vers l'archive (.rar)



Attention (Edit du 15/12/2011): Les fonctions d'affichage on été modifiées. Prendre connaissance des messages suivant avant de tester.


Quelques précisions :

Le format actuel des dates d'inscriptions dans la table 'users' ne facilite pas les recherches pour ce genre de données. J'ai ajouté une colonne à la table 'users' au format 'datetime' pour les stats et conservé l'ancienne par soucis de compatibilité avec les fonctions natives.
Cela suppose de modifier le fichier user.php pour enregistrer les dates dans cette nouvelle colonne.

Je me suis amusé à retourner l'historique des inscriptions passées (30 derniers jours) vers la table de statistiques pour tester le code. La procédure n'est pas fournie car c'est facultatif. Il suffit d'attendre 1 mois pour avoir de premières données.

Peut-être que cela donnera des idées pour les prochaines versions d'NPDS, ou peut-être aussi avez-vous déjà inclut ou prévu ce genre de chose.

++

Message édité par : freud / 09-12-2011 15:52



Message édité par : freud / 15-12-2011 13:47




Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=25291&forum=5