Rendre la donnée accessible avec un outil open source : Metabase

Adrien Lin
passCultureofficiel
6 min readNov 16, 2021

--

Les différentes applications du pass Culture collectent, dans le respect du cadre de la protection des données personnelles, une quantité de données considérable (rien que notre base de données applicatives pèse près de 200 Go) : données d’usage de l’application, données transactionnelles créées par les jeunes bénéficiaires, données d’offres créées par les lieux et structures culturelles partenaires du dispositif… Il a donc rapidement été établi que l’exploitation de ces données pourrait être riche et donner lieu à de nombreux cas d’usages :

  • le pilotage de l’activité et le suivi des indicateurs clés du pass Culture (nombre d’inscrits, de réservations, de partenaires etc.)
  • l’analyse du comportement des jeunes utilisateurs et des partenaires sur l’application et l’identification de points de blocage dans les parcours d’inscription, de création d’offre, de réservation etc.
  • l’accompagnement opérationnel à l’ensemble de l’organisation dans l’atteinte de leurs objectifs : quels sont les secteurs culturels qui nécessitent le plus d’accompagnement et sur quel territoire ?
  • la production de connaissance sur les pratiques culturelles des jeunes de 18 ans

La solution Metabase

Nous avons choisi d’utiliser Metabase afin de permettre à tous de bénéficier de la richesse des données collectées par notre application.

Metabase est une solution d’exploration et de visualisation de données open-source, répondant aux exigences suivantes (en plus des fonctionnalités essentielles partagées par la plupart des outils BI) :

  • accessibilité pour des utilisateurs non-techniques : un non-analyste a la possibilité de creuser la donnée et d’explorer les tables sans écrire de requêtes SQL, en appliquant des filtres, en agrégeant des métriques, voire en joignant des tables entre elles, autant de possibilités qu’offre l’interface clic-bouton de Metabase (ci-dessous les données d’utilisateurs filtrées sur le 93).
  • efficacité coût par utilisateur : la configuration et l’hébergement de Metabase sont pris en charge au sein de nos infrastructures (solution open-source), mais l’outil permet de passer à l’échelle facilement et nous permet de rendre les données accessibles à chacun des membres de l’organisation sans coût supplémentaire par utilisateur comme de nombreuses solution SaaS qui facturent par utilisateur.
  • compatibilité avec nos outils : Metabase peut se connecter tous types de bases de données (BigQuery, Druid, Google Analytics, H2, MongoDB, MySQL, PostgreSQL, Presto, Amazon Redshift, Snowflake, Spark SQL, SQLite, SQL Server), peut s’intégrer avec Slack et permet d’envoyer des rapports et des visualisations par email. A l’heure actuelle, l’application ne s’intègre malheureusement pas avec Notion qui est un outil incontournable au sein de l’organisation.

L’entrepôt de données BigQuery

Metabase ne permettrait de diffuser la donnée au sein d’une équipe sans une base de données performante et bien organisée. En effet, il s’agit de rendre les données rapidement requêtable afin de systématiser le recours aux tableaux de bord et à l’exploration au moment de résoudre une problématique métier. Si la personne qui doit attendre 20 voire 30 secondes que la requête tous à chaque interrogation, voire doute des indicateurs, elle perdra patience et confiance dans l’outil.

Nous avons donc choisi de rapatrier toutes les données que nous voulions valoriser au sein de notre organisation au sein d’un entrepôt de données BigQuery connecté à notre instance Metabase afin de garantir un accès fiable et rapide à ces données. Parmi ces données, nous avons :

  • les données applicatives (toutes les données collectées par l’application au sein de la base de production de l’application)
  • les données de navigation collectées par des tierces parties (Firebase pour notre application mobile, Matomo pour notre WEBAPP)
  • les données de notre questionnaire des pratiques initiales permettant de recueillir des informations déclaratives sur les pratiques initiales des jeunes (QPI)
  • des données géographiques nous permettant de transformer des adresses en coordonnées géographiques et de récupérer des informations propres sur la localisation du jeune sur le territoire (commune, EPCI, région, quartier prioritaire le cas échéant etc.)

Ci-dessous un schéma résumant l’architecture des flux de données au sein de nos infrastructures dédiées :

Comme ce schéma l’indique et afin de faciliter l’accès à la donnée à l’ensemble des personnes désireuses d’avoir un meilleure accès à la donnée, nous avons également opéré certaines transformations au sein de l’entrepôt en créant notamment des tables dites “enrichies”, reprenant les tables principales de notre base produit en y joignant d’autres et en y agrégeant des données.

Ainsi la table enrichie des réservations du pass Culture va reprendre les faits principaux liés aux réservations (date de création de la réservation, date d’annulation le cas échéant, identifiant de l’utilisateur ayant effectué la réservation, etc.) mais y ajouter des informations concernant l’offre qui a été réservée (catégorie de l’offre, nom de l’offre,etc.), le lieu ayant publié l’offre réservée (nom du lieu, département et région du lieu,etc.) et l’utilisateur ayant effectué la réservation (département d’origine, rang de la réservation, rang de la réservation au sein de cette même catégorie etc.).

Concrètement quelle est la valeur ajoutée par l’accessibilité de ces informations ?

Quelques exemples d’utilisation

Supposons que nous sommes en charge de développer l’offre présente sur le pass Culture dans la région Bretagne, et que nous voulons avoir une ventilation des lieux inscrits par type de lieux en Bretagne. L’exploration de la table enrichie des lieux permet d’obtenir cette information en quelques clics.

Il suffit d’appliquer un filtre sur la région du lieu sur le Bretagne et de compter le nombre de lignes en agrégeant par type de lieu. Metabase propose automatiquement une visualisation sous forme d’histogramme mais il est possible de la changer en cliquant sur le bouton visualisation.

Supposons que l’on veuille avoir la même information mais en chiffre d’affaires généré plutôt qu’en nombre de lieux, il est tout à fait possible de sommer le chiffre d’affaires plutôt que de compter les lignes en agrégeant par la même dimension.

Au-delà de rendre accessible à tous les utilisateurs et les utilisatrices de la plateforme l’exploration de tables de données, Metabase permet aux analystes de mettre à disposition des tableaux de bord filtrables contenant des requêtes et des visualisations plus avancées.

Par exemple le tableau de bord, “Profil des réservations” permet (en filtrant sur une offre donnée, une plage de dates de réservations, une institution culturelle…) de creuser la typologie des réservations selon le(s) filtre(s) appliqué(s) : combien de réservations effectuées, part des premières réservations, ventilation par provenance géographique etc.

Ci-dessous un exemple de quelques questions du tableau de bord filtrées sur l’offre “L’Elyxir d’amour à l’Opéra National de Paris”.

Aujourd’hui ce sont 121 utilisateurs actifs internes qui utilisent Metabase chaque jour pour piloter leur activité en consultant des tableaux de bord ou en posant directement des questions à la base de données via l’interface. Plus de 3000 questions ont été posées et sauvegardées et 230 tableaux de bord ont été créés. Cet outil, bien que comportant de nombreuses limites en termes de gouvernance de la donnée et de visualisation a permis à l’ensemble du pass Culture de prendre des décisions de manière plus éclairée et de passer à l’échelle en garantissant à chacun un accès facile à un entrepôt de données dédié à la lecture et à l’analyse des données (il y a 2 ans, l’accès à la donnée au sein du pass Culture devait systématiquement passer par des requêtes SQL et des jointures de tables effectués par des utilisateurs techniques).

--

--