Développer une application de Business Intelligence

Quang T
Sandbox Produit
Published in
5 min readJan 25, 2019

Je présente dans cette article les enseignements que je tire de mon expérience de Product Owner sur la refonte d’un outil de média planning en un vrai outil de Business Intelligence (BI).

Quel est le contexte de la refonte chez le client ?

Nous avons une application desktop complexe et mature qui satisfait les besoins des agences et des régies pour créer des campagnes publicitaires. Un projet de réécriture est décidé essentiellement motivé par :

  • Le risque d’obsolescence technologique qui rend le développement de toute nouvelle fonctionnalité de plus en plus compliqué. En l’occurrence, il ne serait pas possible d‘intégrer des données d’audience plus fréquentes et plus riches.
  • L’opportunité de moderniser l’application grâce à une approche exploratoire de la donnée. Les nombreux boîtes de configuration sont remplacés par une interface où l’utilisateur sélectionne à la volée ce qu’il veut afficher.
  • Les bénéfices de la montée en base de donnée qui permet de fiabiliser et de partager l’information. Les erreurs de manipulation sur des fichiers seront réduites.
Exemple d’un outil de média planning

Pourquoi développer un logiciel BI desktop en 2019 ?

Avec l’émergence des applications web plus riches et performantes, il est légitime de se demander si nous avons encore aujourd’hui besoin des applications bureautiques.

Dans mon contexte, la décision du desktop a été principalement motivée par les habitudes et l’environnement technique du logiciel existant qui exploite pleinement les possibilités offertes à savoir :

  • Des algorithmes très gourmands en ressources qui auraient pénalisé la fluidité des opérations si elles devaient se faire par un serveur. Il faut imaginer une vingtaine d’utilisateurs qui sollicitent en permanence toute la puissance de leur machine.
  • Des manipulations complexes sur des objets qui nécessitent des interactions riches : navigation par onglet, glissez-déposer, options d’affichage et de filtres, menu contextuel, pop-up séparé…
  • Des échanges de fichiers nombreux, volumineux et aux formatés hétérogènes. Les outils de production et les processus métiers étant déjà en place, il aurait été difficile de refaire également cette partie.

Dans ce contexte, faire une refonte en web aurait été un choix trop coûteux pour l’équipe de développement et trop radical pour les clients.

Néanmoins, nous avons implémenté un stockage en base de données pour les documents produites par la nouvelle application. C’est un bon compromis entre la performance, la maintenance du logiciel et l’effort de développement. Cette démarche ouvre également la porte à un passage entièrement dans le cloud à l’avenir.

Comment fonctionne un outil décisionnel ?

Un outil décisionnel ou Business Intelligence (BI) permet d’avoir une vue d’ensemble de l’activité d’une entreprise en consolidant différentes sources de données internes et/ou externes. Il permet généralement de :

  • de sélectionner des données chiffrées relatives à une période, un produit ou un segment de client
  • de trier, regrouper ou répartir ces données selon des critères
  • de réaliser des calculs sur ces données (total, moyenne, différence…)
  • d’afficher les résultats d’une manière synthétique ou détaillée, souvent sous forme graphique

L’enjeu technique est de projeter des mesures sur des différents axes d’analyse en fonction des requêtes de l’utilisateur. Ce traitement analytique prend la forme d’un hypercube multidimensionnel (OLAP) qui permet de croiser un grand nombre de modalités différentes. Chaque cellule de cette hypercube correspond à une intersection des sous-ensembles de chacun des dimensions qui la composent.

Exemple d’un cube OLAP

Pour revenir au contexte, notre application reçoit en entrée des données de tarifs et d’audience existantes pour des jours et des heures. Grâce à des algorithmes, il en ressort des indicateurs de couverture sur des populations qui permettent de construire des campagnes publicitaires ciblées.

Notre cube OLAP de média planning se compose donc :

  • des supports médias (et leurs tarifs)
  • des cibles d’invididus (et leurs habitudes d’écoute)
  • des sources et les vagues de mesure d’audience
  • des jours et les heures d’écoute
  • des indicateurs de couverture (GRP)

Comment implémenter l’interface graphique d’un cube OLAP ?

L’interface la plus adaptée pour explorer le cube OLAP est le tableau croisé dynamique. Dans notre outil, il est enrichit par des interactions utilisateurs spécifiques comme :

  • Une barre latérale pour naviguer entre les dimensions disponibles à l’analyse avec des options de recherche et de tri
  • Un glisser-déposer des dimensions depuis la barre latérale pour construir le tableau croisé en ligne ou en colonne
  • Des cases à cocher sur les dimensions depuis la barre latérale pour aggréger et filtrer les résultats du tableau
  • Une arborescence dans les axes qui permet d’avoir plusieurs dimensions en ligne et en colonne
  • Des couleurs en dégradé permet d’avoir une information supplémentaire sur les indicateurs
  • Des fenêtres séparées qui permettent d’éditer et d’agréger les dimensions disponibles
  • Un menu contextuel permet de faire des opérations avancées dans le tableau
  • Des barres de filtre spécifiques aux découpages de temps
Exemple d’un explorateur de cube OLAP

Quand faut-il investir dans un outil décisionnel sur-mesure ?

Le logiciel décisionnel sur-mesure présente des avantages indéniables :

  • Métier : L’expérience utilisateur est plus simple et les rapports en sortie correspondent au plus juste aux besoins
  • Performance : Les calculs se font à la volée et sont optimisés aux requêtes des utilisateurs
  • Indépendance technologique : La maîtrise du code et des orientations du logiciel est un avantage concurrentiel certain

D’un autre côté, un logiciel décisionnel du marché présente d’autres avantages par rapport à un outil sur-mesure :

  • Efficacité : La licence reste le moyen le plus économique et rapide d’acquérir un outil décisionnel
  • Richesse fonctionnelle : L’utilisateur utilise une petite partie des fonctionnalités proposées mais pourra facilement étendre son usage
  • Support technique : Les ressources pour maîtriser l’outil sont disponibles sur le marché

Compte tenu de ces éléments, les bonnes questions à se poser pour décider de développer une application décisionnel sur-mesure sont les suivants :

  • Les données en entrée sont-elles compliquées à extraire, transformer et charger ?
  • Il y a-t-il des applications métiers riches qui vont au-delà de la visualisation de tableaux de reporting ?
  • Il y a-t-il un avantage stratégique ou financier à posséder l’outil en propre ?

Quel avenir pour les outils d’aide à la prise de décision ?

Les outils décisionnels d’aujourd’hui se basent sur des sources de données arrêtées et maîtrisées. On suppose que ces données sont suffisantes pour nous permettre de générer des indicateurs pertinents pour prendre des décisions sur la base des liens de causalité.

La Data Science se veut être une approche complémentaire à la Business Intelligence. Elle cherche à explorer toutes les données disponibles d’une entreprise pour trouver des corrélations. Au delà du traitement de la donnée, ce travail nécessite des compétences à la fois mathématiques et programmatiques pour faire émerger des modèles non apparents.

Ces nouvelles applications font appel en réalité du développement spécifique qui exploitent pleinement des librairies principalement open source de traitement de mégadonnées (Big Data) et d’apprentissage machine (Machine Learning).

Data Science versus Business Intelligence

--

--