Retour

2026 - aujourd'hui · Consultant en business intelligence

Infrastructure de reporting

Construction des modèles Snowflake et de la couche de reporting nécessaires à un fonds de capital-investissement après une acquisition : traçables jusqu'aux systèmes sources et définis de la même manière chaque trimestre.

4
domaines de reporting modélisés
1
source de vérité gouvernée
0
double comptage toléré

Contexte

Une entreprise SaaS B2B a été acquise par un fonds de capital-investissement. Après une acquisition, le reporting qu'une entreprise utilisait en interne correspond rarement à celui dont son nouvel actionnaire a besoin. Les chiffres doivent être reproductibles, défendables et traçables. Ils doivent aussi conserver le même sens d'un trimestre à l'autre.

Ce que j'ai construit

  • Des modèles de données Snowflake pour l'ARR, le chiffre d'affaires, le compte de résultat et le bilan
  • Une couche de traduction transformant la logique métier de Salesforce CPQ en indicateurs documentés et gouvernés
  • Un rapprochement entre Salesforce et les systèmes financiers, fondé sur une granularité de reporting maîtrisée et des fonctions de fenêtrage
  • Des tableaux de bord Tableau utilisés par l'équipe finance et par le fonds

La difficulté principale

La logique métier ne se trouvait pas dans un modèle de données. Elle résidait dans Salesforce CPQ : dans les configurations de devis, les avenants aux contrats et les règles de cycle de vie écrites par des personnes qui résolvaient des problèmes commerciaux, pas des problèmes de reporting. Traduire cette logique en analyses gouvernées oblige à prendre des décisions que les systèmes sources n'ont jamais formulées explicitement : ce qu'est encore un contrat après quatre avenants, à quelle période rattacher chaque revenu et que faire lorsque Salesforce et le système financier décrivent différemment le même abonnement.

Il est également tentant de corriger les doublons dans l'outil de BI, où l'on voit le chiffre se rectifier immédiatement. Mais chaque nouveau tableau de bord doit alors reconstruire la même correction, jusqu'au jour où l'un d'eux diverge. En plaçant la règle dans le modèle, on rend le mauvais chiffre difficile à produire, plutôt que simplement facile à corriger.