Ornikar : Structurer une approche Analytics Engineering (CI/CD, FinOps, Naming & Semantic Layer)
#141 - Le zoom, le podcast avec Bastien et sa ressource préférée
Hello,
Bienvenue dans l’édition #141 de la newsletter DataGen ! 👋
L’agenda de la semaine :
🔍 Zoom sur l’approche Analytics Engineering d’Ornikar
🎙 Le podcast avec Bastien, Head of Data Platform chez Ornikar
📚 La ressource recommandée par Bastien
📆 Le prochain bootcamp Analytics Engineering démarre le 24 février
C’est parti !
🔍 Zoom sur l’approche Analytics Engineering d’Ornikar - 3 min
Ce zoom est tiré de l’échange qu’a eu Caroline* avec Bastien, Head of Data Platform chez Ornikar, la scale-up française qui a modernisé l'apprentissage du permis de conduire en le rendant 100% en ligne. Ils se sont aussi récemment lancés dans l'assurance auto et comptent déjà plus de 100 000 assurés.
*Caroline est une nouvelle hôte du podcast DataGen qui est experte en Analytics Engineering.
Le contexte de départ
Bastien arrive chez Ornikar en 2022 en tant que premier Analytics Engineer. À ce moment-là, il y a déjà des outils de la Modern Data Stack en place et dbt est déployé depuis 6 mois avec environ 500 modèles construits par l’équipe Analytics. En revanche, il n’y a pas encore de standards clairs et les modèles ne sont pas assez robustes.
“Je suis arrivé pour harmoniser les pratiques de développement, créer des guidelines et améliorer la robustesse des modèles et de la stack qui était déjà en place. Il fallait également clarifier et donner de la visibilité sur nos coûts de transformation.”
Les 3 axes prioritaires de développement (un peu technique)
La CI/CD
Bastien et son équipe ont développé une solution qui permet de valider que les nouveaux développements réalisés sur un projet dbt peuvent être mis en production et qu’ils ne vont pas avoir d’impacts négatifs (ex : casser certains modèles dbt).
Ils utilisent pour ça le manifest du projet dbt. C’est un fichier généré par dbt qui contient toutes les informations sur le projet : les modèles, leurs dépendances, les configurations.
“On compare le manifest du projet dbt développé avec le manifest du projet dbt déjà en production. Ça nous permet d’identifier précisément quels seront les impacts si on pousse ces modifications en production. C’est une fonctionnalité qui est maintenant native dans dbt. À l’époque, elle n’existait pas.”
Le FinOps
Ornikar avait des coûts de transformation élevés par rapport au nombre de modèles qu’ils avaient en production.
Ils ont mis en place plusieurs actions pour réduire les coûts :
Estimation du coût de chaque modèle dbt
Identification des 10 modèles les plus coûteux
Passage en incrémental sur les tables à forte volumétrie
Sensibilisation des Data Analysts sur l’utilisation des partitions et du clustering
Optimisation des requêtes sur les jobs liés à ces modèles
“En se concentrant sur les 10 modèles les plus coûteux, on a réduit d’environ 40% nos coûts de transformation.”
Les naming conventions
Bastien et son équipe ont mis en place une convention de nommage précise pour toute l’équipe Data.
“C’est important d’avoir des conventions de nommage sur les tables et les colonnes pour que tout les utilisateurs comprennent facilement et rapidement les données qu’ils manipulent.”
Voici les éléments principaux :
Toutes les tables de staging sont préfixées par STG
Toutes les tables de dimension sont préfixées par DIM
Toutes les tables de définition sont préfixées par DEF
Chaque table de dimension inclut le nom de la source sur laquelle elle est branchée
Chaque table de définition inclut l’objet qui est manipulé
“Avec une naming convention, dès que tu vois une table dans le Data Warehouse, tu sais de quelle source elle dépend, quelle est la couche de transformation associée, quel objet cette table construit…”.
🎙 Le podcast avec Bastien, Head of Data Platform chez Ornikar
On aborde :
Le parcours de Bastien de Data Analyst à Head of Data Platform
L’organisation de l’équipe Data chez Ornikar
Le contexte de départ (cf. zoom)
Les 3 axes prioritaires de développement : CI/CD, FinOps, Naming (cf. zoom)
Leurs plus grosses difficultés
La mise en place d’un Semantic Layer dans dbt pour centraliser le calcul des KPIs
Les bonnes pratiques de collaboration : documentation Notion, building committee et workflows automatisés
La mise en place de Dust pour le Self-Service (“chat with your data”)
La mise en place de n8n pour automatiser les workflows Git et les peer reviews
Leurs prochaines étapes : adoption massive de la GenAI et collaboration avec la Data Science
“Lorsqu’on a répliqué toutes les transformations dans dbt, on s’est rendu compte qu’il y avait une bonne partie de la modélisation qui avait été faite dans Metabase, notre outil de Data Visualisation. L’enjeu, c’était de rapatrier la modélisation dans dbt tout en assurant la continuité sur la partie Data Visualisation.”
Liens vers l’épisode : Apple Podcasts | YouTube | Spotify
📚 La ressource recommandée par Bastien
La newsletter Blef.fr
“Au début, j'étais le 1er Analytics Engineer de l'équipe, je me suis beaucoup appuyé sur les articles de Blef. Je la recommande à ceux qui souhaitent bien cerner les problématiques liées à la modélisation et la transformation de données. C'est hyper pertinent.”
📆 Le prochain bootcamp Analytics Engineering démarre le 24 février
On a lancé fin 2024 un bootcamp Analytics Engineering en collaboration avec DataBird.
Depuis le lancement, on a formé +150 Analytics Engineers.
Pour rappel, le bootcamp est à temps partiel pendant 6 semaines (10h / semaine), peut être suivi en parallèle de son job et est finançable via CPF.
La prochaine session démarre le 24 février.
Si vous souhaitez en savoir plus, vous pouvez écouter l’épisode qu’on a enregistré avec le co-fondateur de DataBird sur la tendance de l’Analytics Engineering et sur le programme du bootcamp.
Liens vers l’épisode : Apple Podcasts | YouTube | Spotify
Si vous êtes intéressés, vous pouvez télécharger le programme détaillé ci-dessous.
Et pour candidater, c’est par ici.

