Les algorithmes sont utiles pour organiser la pagaille de nos comptes en banque

Y a-t-il un sujet moins excitant que la gestion de son compte en banque ? On parlait de COBOL, il y a peu. Restons dans le monde bancaire pour parler d’un problème qui nous concerne tous : la pagaille qui règne dans nos comptes.

Les habitudes de consommation

Aller chez son caviste préféré.
Acheter un billet de train pour un week-end en Provence.
Payer son loyer.
Il y a les achats fréquents et classiques.
Il y a des achats rares.
Il y a des habitudes de consommation communes.
Les entreprises achètent aussi, de manière différente.
Il est utile de pouvoir classer ses opérations bancaires.
Voire nécessaire.

Reconnaitre et catégoriser, puis classer

Classer les opérations bancaires, c’est faire des catégories.
Restaurants, énergie, déplacements, nourriture, etc.
Pour les entreprises : fournitures, locations, honoraires, etc.

Il en existe des dizaines.

Les comptables parleront eux des comptes 600, 610, 620, 630, etc.
Ces gens sont bizarres.
Il s’agit de proposer des règles de classement des opérations à partir des données brutes disponibles sur le compte. 

C'est utile pour comprendre la ventilation de ses dépenses.
Quelques banques le proposent à leurs clients.

On va parler d'une belle histoire française.

Une belle histoire

#fintech #SaaS #scaleup #hypercroissance

Tiime est une société d’expertise comptable qui propose des services automatiques.
Dont le classement automatiques des opérations bancaires.
Une belle histoire française. 

Nous travaillons avec eux depuis 2016.
On les aime bien.

Une transaction vit dans un espace de grande dimension

La France compte plus de 70 millions de comptes courants.
En moyenne 400 paiements CB sont réalisés chaque seconde.
Il y a d’autres types d’opérations : virements, prélèvements, retraits en liquide.

Ca fait une belle masse de données.

Des données complexes, en plus.
Car une transaction bancaire est un objet complexe. 
Un montant, une monnaie, une date, une heure, un libellé, un type et d’autres informations techniques comme l’IBAN ou le terminal de paiement.
Chaque transaction est une petite base de données.

Travailler les données

Les algorithmes sont au cœur des services de traitement de données.
C'est rapide et fiable.
Vous le savez.
Le classement des opérations bancaires utilise différents algorithmes.

Les progrès récents en apprentissage automatique et dans l’outillage informatique permettent de créer des services performants et efficaces.

Vous vous en doutiez.

Malheureusement, les sujets data sont confidentiels.
Idem pour les algorithmes.
Difficile d’en parler en détail.

Un exemple

On pourrait imaginer traiter tous les achats réalisés dans les MacDo en détectant la chaîne “MacDo” dans le libellé de l’opération, puis les ranger dans la catégorie des restaurants.
Autre exemple. 
Lister tous les libellés des stations services (Esso, Total, BP etc), et les catégoriser comme “énergie” ou “déplacements”.
Vous avez l'idée.

Utiliser une méthode naïve ?

Raisonner avec ce type de règles, ça marche.
Si on est assez patient.
Très patient.
En pratique, ça ne marche pas.

On appelle ça une méthode naïve.
Ces approches sont souvent gloutonnes.
Oui, ce terme est réellement utilisé.
C’est ce qu’on essaie en premier, parfois sans trop y croire.
Ça marche rarement.

Le vieux sage sur la colline

On peut procéder par étapes, en suivant Sun Tzu.
Diviser pour mieux régner.
Divide and conquer.
Ça marche souvent en informatique : on casse un problème compliqué en sous-problèmes simples.
C'est plus intéressant que l’approche naïve.
La question devient donc : peut-on ramener le gros problème du classement d’une opération bancaire à une suite de petits problèmes plus simples ?

Oui, mais

Ce problème de classement est en réalité résolu.
Chaque année.
Par des milliers d’humains et de comptables.
Ils affectent ces opérations aux bonnes catégories.
Manuellement.
Dans leurs études.
Ces gens sont des héros.

Vers un classement automatique

Est-il possible d’utiliser cette expérience accumulée pour classer automatiquement les nouvelles opérations ?
Oui.
Avec des algorithmes d'apprentissage automatique.
C'est aujourd'hui classique.
On se ramène, pour chaque opération, au calcul de probabilité d’affectation pour chaque catégorie. De loin, on est dans un espace métrique.

Ca marche assez bien.

Le hic

Il faut des données de qualité.
Beaucoup de données.
Énormément.
… ou, si on est malin, beaucoup moins ;-)


Thomas