En choisissant son ELT, Phenix n'a pas gaspillé son temps
La startup anti-gaspi Phenix entend profiter de sa manne d’informations sur les invendus de ses clients pour en extraire davantage d’indicateurs et ainsi réduire toujours plus le gaspillage alimentaire dans les grandes enseignes. Mais avant cela, il lui faut bâtir son architecture de données, ce qui demande de tirer des flux ETL/ELT vers son datawarehouse cloud. La société française a fait le choix de Fivetran et de son ELT managé.
Phenix est une startup fondée en 2014. Détentrice de l’agrément « entreprise solidaire d’utilité sociale » (ESS), elle développe une plateforme Web et une application pour mettre en relation « ceux qui ont trop avec ceux qui n’ont pas assez ». La société parisienne propose ses services aux enseignes de la grande distribution (Carrefour, Coca-Cola, Intermarché, Leroy Merlin, Franprix, Leclerc, Truffaut, etc.), industriels, grossistes, traiteurs et aux commerces de proximités.
Aujourd’hui, plus de 5 000 entreprises emploient les services de Phenix et 1 500 associations caritatives profitent des invendus dans cinq pays (France, Espagne, Portugal, Belgique, Italie).
Elle entend leur présenter des alternatives à la destruction et aux rejets des biens alimentaires et non alimentaires invendus. Les biens consommables par les humains peuvent être confiés aux associations caritatives. Les invendus et les restes, eux sont réservés aux dons pour l’alimentation animale auprès de fermes, de parcs animaliers, et autres organismes de protection des animaux. La troisième solution, cette fois-ci BtoC, consiste à revendre les produits invendus à prix réduit sur l’application mobile de Phenix.
La startup accompagne également les grandes enseignes dans leur gestion des biens périssables et des invendus. La société compte près de 200 employés (les Phéniciennes et Phéniciens) et affirme « sauver 120 000 repas par jour ».
Phenix cherche à faire renaître son architecture de données
De telles activités réclament une gestion fine des informations. Or pendant six ans, la startup n’avait pas d’architecture dédiée. Phenix souhaitait tirer davantage d’indicateurs des données consacrées aux invendus.
En juillet 2020, elle recrute son premier data engineer : Andy Barakat. Il a pour charge d’enseigner les meilleures pratiques de gestion de données à une équipe nouvellement formée, et surtout bâtir une infrastructure complète réunissant data lake, data warehouse et environnement de data science.
« Nous sommes assis sur une base de données d’invendus conséquente », affirme Andy Barakat auprès du MagIT. « L’idée était de tirer des informations en provenance de supermarchés et de commerce de proximité en France et en Europe afin de les analyser. Nous voulions également mieux comprendre les données propres à Phenix pour améliorer nos activités BtoB et BtoC ».
Quand Andy Barakat a rejoint Phenix les entités BtoB et BtoC tenaient à jour des bases de données indépendantes. « C’était forcément plus complexe pour analyser nos chiffres et nos opérations ». Le data engineer s’est attelé à rassembler ses sources de données disparates. Il lui fallait bâtir des pipelines ETL pour faciliter cette centralisation.
Andy Barakat avait deux possibilités. « Soit je construisais tous les ETL à la main, en développant les pipelines par moi-même, soit je trouvais une solution qui faisait cela pour moi », expose-t-il.
En tant qu’unique data engineer, la deuxième option s’avérait bien plus rentable. « Il ne s’agissait pas de sélectionner une solution de bout en bout. Nous avions déjà un outil BI : Looker. De par mon expérience, je préfère des systèmes spécialisés dans leur domaine et être capable d’en changer si demain nos besoins évoluent », justifie Andy Barakat.
S’en est suivi un benchmark de différents outils, dont Xplenty, Stich, Fivetran et d’autres. Respectant l’avis de son data engineer, Phenix a retenu Fivetran et son ELT managé.
« Je travaillais auparavant chez Stuart (une startup de mise en relation avec des coursiers NDLR) qui avait commencé à tester différentes solutions ETL/ELT. Fivetran faisait partie du benchmark », rappelle Andy Barakat.
La seconde évaluation a permis de valider l’intérêt de l’ELT Fivetran pour le data engineer et Phenix. La startup devait relier plusieurs sources de données : des bases de données MySQL, SQL Server, des logiciels SaaS tels Intercom, un CRM Salesforce, l’ERP NetSuite ou encore des tables Google Sheet. « Nous voulions tirer des flux d’un bon nombre de sources. Fivetran répondait en grande majorité à ce besoin ».
Pour le data engineer qui a entamé ce travail seul, la qualité du support client était un point important dans le choix de l’outil. « Nous avons une très bonne relation avec les équipes de Fivetran tout au long du processus d’implémentation. Elles ont été attentives lorsque nous rencontrions des bugs ou que la création d’un pipeline était plus complexe qu’espérée ».
Le troisième paramètre d'acquisition portait sur la tarification du service SaaS. « Nous sommes une société agrémentée ESS, nous avons réussi à établir un bon partenariat avec Fivetran qui correspond à notre critère budgétaire ».
Une semaine pour intégrer l’ELT
L’équipe data de Phenix a tiré les flux ELT vers son instance BigQuery. « La mise en place a été assez simple et a pris une semaine. Depuis BigQuery, nous pouvions vérifier les temps de chargement, les données transférées. Par ailleurs, je suis très attaché à la notion d’alerting : en cas de problème, l’accès aux logs est essentiel et je veux aussi m’assurer que les données transitent par l’infrastructure décrite par Phenix et Fivetran », explique Andy Barakat.
Selon le data engineer, l’utilisateur de l’ELT doit bien faire attention à nommer correctement ses sources et ses cibles. « Pour ce faire, vous pouvez employer l’interface ou l’API de Fivetran, recommandée pour créer des pipelines personnalisés à grande échelle. Je suis passé par l’interface, car nos besoins sont encore relativement limités ». À la fin du mois d’avril 2021, Phenix exécutait des pipelines depuis 13 sources de données.
Les bénéfices pour l’équipe data de Phenix se sont rapidement fait sentir.
Andy BarakatData engineer, Phenix
« Passer par cette solution nous a surtout permis de gagner trois à six mois sur l’implémentation des ETL. Quand il faut connecter de nouvelles sources, cela prend quelques heures et non pas un mois », affirme Andy Barakat.
Au quotidien, la maintenance des flux s’avère plus aisée. « Les changements d’API, les bugs ou les problèmes de scalabilité que l’on pourrait avoir si nous gérions nous-même l’ELT sont pratiquement éliminés. Je passe moins d’une heure par semaine pour gérer les pipelines Fivetran », indique-t-il.
L’ELT sert à récupérer des données brutes. Phenix n’utilise pas la capacité « Transform » de Fivetran, elle s’appuie sur l’outil DBT, un orchestrateur de requêtes SQL. Il permet au data engineer de créer des tables à partir des données brutes et y appliquer plusieurs couches de transformation et de modéliser ces changements. « DBT est employé pour effectuer 90 % de nos transformations de données. Quelques pipelines Apache Airflow servent à exécuter les modélisations les plus complexes », affirme Andy Barakat. Fivetran dispose d’un partenariat avec DBT autorisant à ses clients de réaliser les jobs SQL depuis les serveurs de Fivetran. « Nous n’avons pas à resservir nos pipelines », précise le data engineer de Phenix.
Les tables obtenues résident dans BigQuery. « Ensuite, Looker a accès aux tables transformées et aux données nettoyées pour les phases d’exploration et de visualisation ».
Un avenir porté sur l’analytique en temps réel et le machine learning
Cela permet au data engineer de se concentrer sur les projets « à valeur ajoutée, plus spécifiques à Phenix ». Il dirige l’implémentation d’Apache Kafka dans l’architecture de données de la startup. « Nous avons deux gros monolithes, l’un pour la partie BtoC, l’autre pour la partie BtoB. Nous voulons adopter faire en sorte l’information circule mieux entre nos outils. Kafka deviendra notre BUS de données », prévoit Andy Barakat.
La startup affiche une stratégie multicloud. Le développement de la plateforme et de l’application est effectué depuis un environnement AWS, tandis que les données sont traitées et analysées depuis Google Cloud. Pour l’instant, le déploiement de Kafka est pressenti sur AWS avec la possibilité de transférer des données via Kafka Connect vers Google Cloud Storage. Kafka sera notamment utilisé pour obtenir des rapports en temps réel. « Cela correspond probablement à 10 % de nos cas d’usage, mais ça pourrait exister », envisage notre interlocuteur. Aujourd’hui, Phenix mesure des indicateurs hebdomadaires tels le « taux de revalorisation (pourcentage en chiffre d’affaires des invendus revalorisés), le taux de rebut par rayon (fromagerie, fruits et légumes, etc.), le tonnage de produits sauvés et son équivalent en nombre de repas et en tonne de CO2, et le nombre de paniers publiés et vendus par jour sur l’application mobile », précise l’éditeur dans un communiqué.
Les tables issues de Fivetran et de DBT, tout comme les flux Kafka pourraient également à améliorer l’analyse des données pour ses clients. « Nous souhaitons mettre à disposition de nos clients des fonctionnalités d’embedded analytics, des analyses pour les aider au quotidien à réduire le gaspillage alimentaire », déclare le data engineer. Cette fonctionnalité est en cours de déploiement dans la plateforme Web.
Enfin, le responsable entrevoit la création de modèles de machine learning de recommandation afin de conseiller les grandes enseignes sur la manière de mettre en rayon les produits qui périment rapidement et d’échelonner la stratégie de vente suivant leur condition (rabais sur les invendus, dons aux associations, ou dons pour l’alimentation animale). Phenix pourrait également s’adresser aux producteurs dans le but de diminuer le volume de fabrication d’un bien alimentaire quand le nombre d’invendus est trop important. « Nous voulons créer des synergies entre nos différents outils, utiliser les données et potentiellement des algorithmes de recommandation pour encore et toujours réduire le gaspillage », affirme Andy Barakat. Phenix envisage de déployer ces modèles ML avant la fin de l’année 2021.
Pour cela, Phenix aura besoin des données granulaires, de qualité afin de proposer des analyses et des préconisations pertinentes. « J’ai déjà effectué de petits PoCs, mais je ne disposais pas d’informations suffisamment fines pour en sortir des résultats satisfaisants. Je pense que d’ici la fin de l’année, nous allons nous atteler à améliorer ces modèles, ce qui passera probablement par le recrutement de data scientists plus expert que moi dans le domaine », conclut-il.