Le problème initial
Notre client consolidait chaque mois des données issues de 4 sources différentes : un ERP, un CRM, des exports Excel des équipes commerciales et un outil de BI. Le processus impliquait 3 personnes, durait 2 jours complets et générait régulièrement des erreurs de saisie.
La demande était simple : automatiser ce processus et livrer le rapport en PDF formaté directement dans la boîte mail du directeur financier le 1er de chaque mois.
L'architecture mise en place
Étape 1 : collecte et normalisation
Un pipeline Python avec Pandas et SQLAlchemy récupère automatiquement les données des 4 sources via API et connecteurs directs. Les données sont normalisées et stockées dans une base PostgreSQL. Durée d'exécution : 12 minutes.
Étape 2 : calcul des indicateurs
Un module de calcul génère les 23 KPIs du reporting COMEX selon les formules validées par le client. Chaque indicateur est comparé au mois précédent et à l'objectif annuel. Les variations significatives sont automatiquement signalées.
Étape 3 : génération du rapport
Un template Jinja2 intégré dans un workflow Python génère le rapport Word puis le convertit en PDF. Les graphiques sont produits avec Matplotlib et injectés automatiquement aux bons endroits.
Le secret du succès : nous avons passé 40% du temps de projet à valider les formules de calcul avec le client avant d'écrire une ligne de code. La data pipeline la plus solide est inutile si les calculs sont faux.
Les écueils que nous avons évités
Premier piège : vouloir tout automatiser d'un coup. Nous avons commencé par les 5 indicateurs les plus consultés, livré en 1 semaine, validé, puis étendu. Approche incrémentale indispensable.
Deuxième piège : ne pas prévoir les cas d'exception. Que se passe-t-il si une source de données est indisponible le 1er du mois ? Nous avons prévu un mécanisme de retry automatique et une alerte email en cas d'échec.
Automatiser un reporting de bout en bout, de la source au document envoyé, est un des projets du Bootcamp Data Analyst.