04 · Alten · banque

Automatiser la réconciliation de volumétrie entre trois systèmes

Un outil de contrôle réutilisable qui compare les volumes entre l'outil de campagne amont, la production et l'environnement de test.

En bref
  • Comparaison sur une année complète, tous canaux
  • Normalisation des référentiels et gestion des partitions absentes
  • Colonnes de conformité et comptage automatique des écarts
  • Deux variantes pour couvrir des canaux aux structures différentes

Vérifier que la production contient bien ce que le système amont a envoyé se faisait au coup par coup, à la main, sur quelques périodes. Autant dire que les écarts n'étaient découverts que lorsqu'un utilisateur s'en plaignait.

Ce que l'outil compare

Trois sources : l'outil de campagne amont, la production, et l'environnement de test. Sur une année complète, pour tous les canaux.

Les difficultés qui rendent l'exercice moins trivial qu'il n'y paraît

Les référentiels ne s'écrivent pas pareil

Les codes de ciblage n'ont pas la même casse selon le système. Une jointure directe rate donc une partie des correspondances, et l'outil signale des écarts qui n'existent pas. La normalisation en amont de la jointure est indispensable.

Une partition absente n'est pas un volume nul

Si une période n'a pas été alimentée du tout, la jointure ne produit simplement aucune ligne, et l'écart passe inaperçu. Il faut traiter explicitement l'absence comme une valeur nulle pour qu'elle apparaisse dans le rapport.

C'est le piège le plus courant de ce type de contrôle : il détecte très bien les écarts de volume, et pas du tout les périodes entièrement manquantes, qui sont pourtant plus graves.

Les canaux n'ont pas la même structure

J'ai construit deux variantes de la recipe, parce qu'un canal se comportait différemment des autres. Tenter de tout couvrir avec une seule version conduisait à un traitement plein de conditions, illisible et fragile.

Le résultat

Ce que produit la recipe
Volumes comparés
par canal et par période, sur les trois sources
Colonnes de conformité
booléens indiquant si l'écart est acceptable
Comptage des écarts
agrégation automatique du nombre de non-conformités
Périodes manquantes
signalées comme telles, pas absentes du rapport

L'intérêt n'est pas le contrôle ponctuel mais la possibilité de le relancer à volonté, après chaque mise en production ou dès qu'un doute apparaît. Un contrôle qu'on ne peut faire qu'une fois ne sert qu'une fois.

Les noms de projets, de tables et de systèmes internes ont été retirés. Les détails techniques sont réels.

Environnement technique

Dataiku DSSSQLJointuresPartitionnementPython

Un besoin similaire ?

Écrivez-moi, je vous réponds sous 48 heures.