Pour accompagner le nombre croissant d’établissements couverts par la solution de comptage d’Affluences, il est nécessaire de mettre à disposition des équipes internes des outils permettant de suivre “l’état de santé” de nos établissements partenaires.
Afin de fournir aux équipes une analyse synthétique, rapide et complète de l’état d’un espace, nous avons mis en place un indicateur appelé Affluscore.
Comment créer un indicateur de performance pouvant refléter l’état de santé d’un établissement ?
L’Affluscore est une note, comprise entre 0 et 100, calculée quotidiennement pour chaque établissement, qui permet de cibler les éventuels problèmes que ce dernier peut rencontrer.
La génération du score s’appuie sur les données traitées et historisées de chaque espace mesuré. Le calcul du score est donc directement lié au calcul de l’historique.
Afin de respecter la temporalité (historique créé et sauvegardé avant que le score ne soit calculé), le pipeline de données suit un procédé évènementiel.
Un planificateur de tâche demande chaque soir le traitement des données remontées lors de la journée. Un fois les données corrigées et historisées, un message est envoyé sur un exchange Rabbitmq pour signaler, aux consommateurs reliés, que l’historique de l’établissement est disponible. Le consommateur Worker Score peut alors procéder au calcul de l’Affluscore pour la journée concernée.
Cette architecture permet de respecter la temporalité (on lance le calcul du score uniquement lorsque l’historique est prêt) et permet une mise à l’échelle rapide (on peut provisionner plusieurs workers qui se répartissent les calculs).
L’utilisation de MongoDB pour stocker les scores est justifiée ici par la nature dynamique des données (capteurs différents, type de données différents, informations diverses).
Sur quels critères se base Affluscore ?
Affluscore contient 8 indicateurs clés.
Parmi ces indicateurs, deux sont éliminatoires :
- Le site est mal paramétré : les données qu’il reçoit ne correspondent pas au type de données renseigné. Les données ne peuvent donc pas être correctement traitées par nos algorithmes.
- Le site n’a pas reçu de données alors qu’il est indiqué comme ouvert : soit les horaires d’ouverture de l’établissement sont mal renseignés soit il n’y a effectivement plus de données qui remontent pour ce site (capteurs hors-service, connexion dégradée, piles faibles etc.)
Pourquoi ces critères sont-ils éliminatoires ?
Dans les deux cas mentionnés ci-dessus, les données affichées aux utilisateurs sont fausses ou inexistantes, ce qui n’est pas souhaitable. Des actions rapides peuvent être menées par l’équipe Support ou les partenaires pour permettre au système de comptage de l’établissement de fonctionner correctement à nouveau. Afin de promptement repérer ces cas, si un de ces critères est déclenché pour un espace, son Affluscore vaut automatiquement zéro. Sinon, l’Affluscore correspond à la moyenne des six autres critères permettant de juger la qualité des données.
Les six autres indicateurs permettent de valider les données reçues par rapport à la configuration de l’espace mesuré (jauge maximale, amplitude horaire, …). Cela permet de garantir la qualité des données récoltées dans le contexte de l’établissement équipé.
L’Affluscore est disponible sous forme de graphes pour nos équipes avec, pour chaque jour, le détail des valeurs analysées.
En conclusion, l’Affluscore est un indicateur dont l’évolution permet de cibler et identifier des problèmes ou un changement de comportement pour chaque site afin de pouvoir apporter rapidement les correctifs nécessaires. De nombreuses évolutions ont déjà été identifiées pour rendre cet indicateur encore plus pertinent pour faciliter davantage les opérations des équipes Affluences au quotidien, comme par exemple enrichir le système avec des informations de contexte, alimenter le score avec de nouveaux critères ou encore proposer une visualisation haut niveau de l’Affluscore à l’échelle de l’ensemble de nos établissements partenaires !