Exploiter le potentiel des données pour rendre nos outils plus intelligents

Les logiciels que vous utilisez au quotidien sont un peu comme des calculatrices.

Vous tapez des chiffres et des opérations sur le clavier, et vous obtenez un résultat.

C'est comme ça sur Excel. Ou sur votre logiciel de gestion. Vous entrez des données (c'est parfois difficile de savoir ou exactement...), et vous obtenez d’autres données.

Vous pilotez le logiciel. Vous devez savoir comment faire pour l'utiliser, et savoir l'expliquer à de nouveaux utilisateurs.

Et si nos outils faisaient preuve d'autonomie et d'initiative ?

Prenons l'exemple d'un CRM.

Un CRM (Customer Relationship Management) sert à gérer votre base de données de prospects et de clients. Vous y notez tous les contacts entrants, et vous pilotez des actions commerciales depuis la prise de rendez-vous jusqu'à la signature du devis.

Pour ça, vous avez un fichier Excel. Ou peut-être un outil en ligne comme SalesForce ou Zoho CRM.

Chaque jour, vous entrez vos données dans le CRM. Vous consultez régulièrement les listes de prospects. Vous mettez à jour des actions : envoi de mail, prise de rendez-vous, ...

Votre outil est "passif". Il attend que vous fassiez quelque chose.

Et si votre CRM pouvait suggérer des actions, au lieu d'attendre que vous tapiez sur les bonnes touches ? Par exemple :

  • Vous présenter directement les derniers dossiers consultés, au lieu de vous laisser les rechercher,
  • proposer des actions de relances pour certains prospects qui n'ont pas encore répondu à la première demande,
  • suggérer de reprendre contact avec un client satisfait d'une prestation précédente, et pour lequel vous aviez indiqué à l'époque qu'il y avait d'autres projets à suivre,
  • récapituler ce qui s'est passé dans votre portefeuille de prospect au retour d'une une période de congés.

De cette façon, la prospection commerciale gagnerait en efficacité. En repérant les actions fréquemment réalisées, l'outil pourrait les anticiper et faire gagner du temps à l'utilisateur.

Ne pas sur-estimer la complexité technique.

Un logiciel intelligent ? Rien que le mot fait peur.

Lorsqu'on évoque l'intelligence artificielle, on pense à la voiture autonome ou à la traduction en temps-réel. On s'imagine des puissances de calcul gigantesques, hors de portée des logiciels de notre quotidien.

En réalité, il existe une large palette de suggestions automatiques qui sont faisables simplement.

Par exemple, voici comment j'ai implémenté la catégorisation d'une transaction bancaire à partir de son libellé et des catégorisations déjà réalisées auparavant :

-- The pg_trgm module provides functions and operators 
-- for determining the similarity of alphanumeric text 
-- based on trigram matching. 

-- text % text returns true if its arguments have a 
-- similarity that is greater than the current similarity 
-- threshold. 

-- text <-> text returns the “distance” between the arguments.
 
UPDATE "relevés_bancaires"  
SET "catégorie" = (      
      SELECT "relevés_bancaires_passés"."catégorie"  		     
      FROM   "relevés_bancaires" as "relevés_bancaires_passés"     
      WHERE  "relevés_bancaires"."libellé"     
             %"relevés_bancaires_passés"."libellé"
      AND    "relevés_bancaires_passés"."validé" = TRUE        
      ORDER  BY "relevés_bancaires"."libellé" <-> 
                "relevés_bancaires_passés"."libellé"     
      LIMIT  1)  
WHERE "relevés_bancaires"."validé"=FALSE; 

Ces quelques lignes de SQL ("Structured Query Language", le langage d'interrogation d'une base de données relationnelle) sont loin de la complexité que l'on s'imagine pour un algorithme qui propose un classement automatiquement déduit des classements précédents !

Elles suffisent pourtant à suggérer à l'utilisateur un classement de ses opérations bancaires, qu'il peut valider en 1 clic ou corriger.

Cette suggestion semble intelligente, puisqu'elle "apprend" les règles de classement des transactions à partir de ce qui est précédemment validé par l'utilisateur.

Observer l'utilisation pour l'optimiser

Comment trouver les améliorations possibles qui vont rendre l’utilisation plus intuitive ?

Comme souvent, c'est en mesurant quelque chose qu'on l'améliore :

  • quels sont les écrans sur lesquels les utilisateurs passent le plus de temps ?
  • quelles sont les actions les plus fréquemment utilisées ?
  • quels sont les gestes les plus répétitifs ?

Lors de la conception du logiciel, on peut imaginer les réponses à la question en adoptant le point de vue de l'utilisateur.

Mais le plus efficace consiste à mettre l'outil très tôt entre les mains des utilisateurs et recueillir leurs observations. Elles sont une mine d'or pour déterminer les améliorations d'ergonomie à apporter sur l'épicentre du projet :

  • suggérer une action au lieu d'un menu,
  • présenter l'information prioritaire, et un moyen de voir les détails secondaires,
  • suggérer un choix le plus probable, au lieu de le noyer dans une liste déroulante interminable,
  • repérer par des badges les endroits ou des actions sont attendues.

Tous ces détails contribuent à simplifier l’utilisation.

Injecter l'autonomie et l'initiative dans vos projets

Les progrès réalisés dans le domaine de l'intelligence artificielle changent nos attentes vis-à-vis des outils technologiques de notre quotidien.

Les utilisateurs attendent moins de complexité, davantage d'initiative. Nos logiciels doivent anticiper leurs attentes, et ne plus être en stand-by jusqu'à ce qu'ils tapent sur les bonne touches.

Cette attente mérite d'être injectée dès le début d'un projet, sans forcément augmenter sa complexité technique ni son coût. Elle guidera les développements et s'installera progressivement comme un principe implicite qui rendra l'outil intuitif.