« You can’t manage what you can’t measure. » – Peter Drucker
Une citation simpliste rappelle cette nécessité de mesurer pour mieux comprendre et améliorer. Elle s’applique parfaitement en data science et en DataOps, qui se développe de plus en plus avec le Big Data et l’émergence des services cloud comme ceux de Microsoft Azure.
Cependant, il faut identifier les indicateurs pertinents, ou Key Performance Indicator (KPI), selon l’anglicisme dédié, au risque de mesurer des données sans importance.
Le DataOps, contraction des mots « data » et « opérations » et application du DevOps au monde des données, est une méthodologie reposant sur :
- le développement Agile pour une gestion plus réactive ;
- un processus collaboratif pour rapprocher les différentes équipes : développeurs, clients, métier, ingénieur data… ;
- le contrôle statistique des processus afin d’améliorer les données collectées et le code.
L’intérêt des indicateurs en DataOps
Dans le processus de gestion de projets, notamment autour des données, il est important de pouvoir mesurer la qualité de développement, d’intégration et de mise en production dans chaque environnement. C’est cela qui va déterminer la pertinence des modèles d’une solution et l’utilisation d’une application. Nous avons vu qu’il est crucial de communiquer sur ses résultats auprès des différentes équipes avec une méthodologie DevOps ou DataOps.
Trois types d’indicateurs en data
En DataOps comme en DevOps, il faut différencier trois grandes catégories de données clés en gestion de projets et en data science.
1. Les indicateurs métier en DataOps
Les indicateurs métier ou business sont souvent des métriques assez générales et de haut niveau, ayant un lien direct ou quasi direct avec la performance du produit, du business ou de l’entreprise.
Ils sont concrets et consensuels pour mesurer la réussite d’un projet. Il peut s’agir de ROI (« return on investment »), de valeur moyenne des commandes avec livraison, de nombre de clients journaliers dans une antenne de l’entreprise… Ces exemples d’indicateurs dépendent surtout de votre métier et de votre stratégie digitale, ils existent donc antérieurement à tout projet data science.
Cependant, ces indicateurs sont trop vagues pour être utilisés lors du développement d’un projet technique, notamment data, car ils sont mesurables uniquement a posteriori.
Il est donc nécessaire d’avoir différents indicateurs permettant de mesurer et d’anticiper l’impact d’un projet d’analyse de données.
Les indicateurs techniques en DataOps
En data science et en DataOps, il existe des métriques très techniques pour l’analyse de la qualité des pièces sur la ligne de production et pour détecter des défauts avant livraison. Ces métriques aident les spécialistes data dans le développement d’une solution et à anticiper les performances.
Ces indicateurs sont donc potentiellement non optimaux pour mesurer des données techniques a posteriori, c’est-à-dire lors de la mise en production des projets.
Les indicateurs de monitoring en DataOps
Les indicateurs dédiés au monitoring sont aussi des indicateurs techniques, mais utiles pour mesurer a posteriori sur le terrain.
Le monitoring est un principe clé en DataOps comme en DevOps. Il est essentiel de mettre en place une méthodologie de gestion de vos projets data en production et de suivi de la qualité, notamment pour prévenir certains problèmes comme le « data drift ».
Les difficultés pour définir les indicateurs des projets DataOps
La différence entre les indicateurs business et techniques en DataOps
a difficulté majeure lors de la définition de KPI pour des projets data survient lorsqu’il faut traduire les indicateurs business en indicateurs techniques. Définir des indicateurs techniques non corrélés au business se traduira par des projets qui auront de bons résultats sur le papier, mais qui seront inutiles en pratique.
Il n’y a pas de méthode infaillible pour déterminer les indicateurs des projets. Une bonne communication entre experts techniques et experts métiers, complétée par leurs expériences respectives, est le principal facteur de réussite.
Des métriques adaptées à vos interlocuteurs en DataOps
Réservez les bons indicateurs aux bonnes personnes !
Il ne sert à rien de parler de ROI à quelqu’un qui n’a jamais vu de processus comptable de sa vie. De même, les responsables business des entreprises auront sûrement peu d’intérêt à connaître la valeur précise des indicateurs des technologies d’infrastructure de données.
Il faut savoir s’adapter à son interlocuteur, à ses équipes. Manquer à ce principe sera au mieux source de confusion, et au pire, source d’incompréhension profonde.
L’illusion des indicateurs parfaits en DataOps
L’une des limites de la citation en entête de cet article est qu’il n’existe pas d’indicateur parfait.
Prenons un exemple : un test médical dont la précision est de 99 % sur le papier peut en réalité se tromper 1 fois sur 2 en pratique. Comment cela est-il possible ? Le contexte :
Un test précis à 99 % signifie (en simplifiant) que 1 personne sur 100 sera testée positive alors qu’elle n’est pas malade (fausse alerte). Or, si la maladie est rare, mettons 1 % de prévalence dans la population, et que vous testez aléatoirement 1000 personnes (on suppose cet échantillon représentatif de la population générale), vous aurez les résultats suivants :
- 1 % de 1000 personnes est malade et sera détecté comme tel, soit 10 personnes testées positives et vraiment malades.
- Les 99 % de précision du test se traduiront par 1 fausse alerte pour 100 personnes, soit, sur notre échantillon, 10 personnes testées positives sans être vraiment malades.
Résultat : 20 personnes ont un résultat de test positif, dont 50 % ne sont pas vraiment malades, soit 1 chance sur 2…
Aucun indicateur ne décrit pleinement une situation. De fait, il est préférable de sélectionner plusieurs indicateurs, sans avoir une confiance aveugle en aucun d’entre eux et en gardant un esprit critique.
Même en data, l’intuition a sa place. L’intégration d’indicateurs et d’outils dans les projets d’analyse de données est importante pour que les entreprises puissent mesurer la qualité des infrastructures, des tests, des modèles, des technologies, du code et de son déploiement.