Machine Learning : comment HSBC analyse les données de son application PayMe
À Hong Kong, le groupe bancaire a lancé une application de paiement doublé d’un réseau social. Alessio Basso, Chief Architect de la solution explique comment il utilise les services cloud Azure et les environnements Databricks pour analyser les données des utilisateurs.
HSBC est l’un des groupes bancaires internationaux les plus importants au monde. Il gère les comptes et l’argent de 39 millions de clients à travers 66 pays. Techniquement, cela représente 21 data centers, 94 000 serveurs et 169 pétaoctets de données. Comme d’autres banques, la société britannique tente de suivre les transformations digitales et de faciliter les transactions pour ses clients, qu’ils soient des professionnels ou des particuliers. Elle cherche également à comprendre les besoins et le comportement des utilisateurs de ses services bancaires.
« Il y a environ deux ans, nous avons identifié un besoin à Hong Kong, qui est l’un de nos plus importants marchés : les familles et les amis ne pouvaient pas se rembourser de manière simple et pratique. Souvent, elles devaient retirer de l’argent à un automate pour ensuite le déposer sur le compte cible, ce qui entraînait des frais si elles n’avaient pas la même banque », explique Alessio Basso, Chief Architect de PayMe chez HSBC.
PayMe, une application de paiement PtoP très populaire à Hong Kong
Alessio BassoChief Artichect PayMe, HSBC
C’est à la même période que HSBC a lancé son application sociale PayMe à Hong Kong. Il s’agit d’un service de paiement qui, au départ, adoptait une approche pair-à-pair (PtoP). Peu de temps après, la banque a lancé une version pour les commerçants et les plateformes e-commerce : PayMe for Business. « Beaucoup d’entreprises ont commencé à l’utiliser parce que l’application permet de recevoir les paiements immédiatement contrairement à une transaction liée à une carte de crédit classique », assure Alessio Basso. Aujourd’hui, PayMe représente 1,8 million d’utilisateurs à Hong Kong, une ville qui compte 7 millions de clients HSBC. « Nous avons découvert il y a peu que PayMe était devenu un verbe très usité dans la ville », s’amuse le responsable.
Techniquement, cela réclamait une architecture axée sur la vitesse des transactions. De plus, la banque souhaitait que les nouvelles fonctionnalités apportées soient « Data Driven », inspirées des actions des utilisateurs.
HSBC a choisi un système combinant les services cloud de Microsoft Azure et de Databricks. La société utilise Azure Kubernetes Services et Azure MySQL pour gérer les transactions. Selon le responsable 98 % des paiements durent environ 500 ms. Les données des utilisateurs sont ingérées à l’aide d’Azure Event Hub et des microservices, puis retransmises par le biais d’Apache Spark à des clusters Azure Databricks. Cette version managée par Microsoft de la plateforme Unified Analytics doit faciliter les efforts analytiques et de machine learning via les outils Delta Lake, pour améliorer la classification des informations, différentes bibliothèques pour le Machine Learning et l’analyse, ainsi que MLflow, un outil de gestion de pipelines ML.
L’entreprise a effectué des analyses dès le lancement de l’application. « C’est comme cela que nous nous sommes rendu compte qu’un grand nombre de transactions étaient effectuées entre des commerçants et des particuliers. D’où le lancement de la version BtoC et BtoB ».
Dans le cas de PayMe, chaque transaction est accompagnée d’un message retransmis sur un calendrier social. HSBC s’intéresse particulièrement à cette information. Cela lui permet de déterminer pour quels types d’achats ou d’activités son application est la plus utilisée. « Nous utilisons des techniques de traitement automatique du langage naturel. Nous cherchons à comprendre quelle était l’intention derrière le paiement effectué, puis nous la catégorisons en tant qu’interaction sociale, par exemple un dîner au restaurant, ou un achat dans un magasin », précise Alessio Basso.
Utiliser le NLP à Hong Kong demande de pouvoir lire trois langues : le chinois traditionnel, le cantonais et l’anglais. « Si vous pensez que le NLP peut régler des problèmes, et bien peut-être qu’il le fait pour l’anglais, mais pour d’autres langues ce n’est pas trop ça », affirme le Chief Architect. « Ce fut un problème compliqué à résoudre parce que cela demande d’identifier des expressions qui sont souvent propres aux Hongkongais », ajoute-t-il. Par ailleurs, l’application s’adresse à une population jeune qui utilise beaucoup d’emojis. Il a donc fallu traduire une intention pour ces émoticônes.
Cela permet de compléter les informations issues du réseau formé par les clients. À l’aide des outils fournis par Microsoft et Databricks, les Data Scientists de HSBC ont mis au point des algorithmes avancés de probabilité leur permettant non seulement de recommander des amis ou des marchands aux utilisateurs de PayMe, mais surtout de prévoir les futures interactions sociales et monétaires entre les consommateurs. « Nous avons appliqué des techniques d’analyse des réseaux sociaux et nous pouvons compter les habitués actifs ou encore identifier les payeurs des commerçants. Par ailleurs, nous avons remarqué que les utilisateurs qui ont au moins quatre voisins en commun ont 4,5 fois plus de chance d’interagir dans les trois mois à venir avec un commerçant que ceux qui ont un seul voisin utilisant PayMe », analyse Alessio Basso. Ces analyses permettent d’accomplir pour maintenir l’engagement des personnes sur l’application.
Une architecture qui facilite la tâche des Data Scientists
Alessio BassoChief Architect PayMe, HSBC
Précédemment à ces résultats, le responsable a conduit plusieurs itérations avant d’obtenir l’architecture actuelle : « chacune des itérations a amené son lot de problèmes à régler », affirme-t-il. Premier problème, la plateforme doit gérer des sources à transaction lente (éléments de paramétrage) injectées en Batch (par minute ou par jour) et d’autres, rapides (paiements, interactions entre utilisateurs, etc.) en temps réel.
« Les Data Scientists formés à Python, R Studio ou Jupiter voulaient accéder à toutes les données brutes sans restriction, tandis que les Data Analysts et les commerciaux souhaitaient accéder aux données préparées pour les injecter dans Tableau » détaille le Chief Architect. « Au départ, nous créions des copies de notre data base opérationnelle, masquions les informations sensibles pour les envoyer aux machines virtuelles accessibles par les Data Scientists. Mauvaise idée, cela ne marchait pas, il y avait trop de sources à gérer manuellement ». De plus, l’export d’informations bancaires en production est très réglementé. Leur préparation s’en trouvait affectée. « Les fichiers que les analystes recevaient avaient une semaine d’âge si nous étions chanceux ».
Deuxième problème, la variété des environnements utilisés par les Data Scientists demandait une préparation particulière pour chaque type de données. « Nous étions limités par ce que nous pouvions faire avec des requêtes SQL », considère M. Basso.
Pour automatiser et faciliter l’analyse, l’équipe derrière PayMe a mis en place deux environnements Databricks. L’un est utilisé pour traiter en temps réel les données en production (relié à Tableau pour les responsables BI), et l’autre permet aux Data Scientists d’explorer afin de mettre au point des modèles de machine learning. Ceux-ci peuvent être poussés en production rapidement puisque les deux instances communiquent entre elles. Surtout, HSBC est passé de plus de 14 bases répliquées à un seul data lake orchestré à l’aide de la technologie Delta Lake. Cette infrastructure diminue le temps de calcul de 6 heures à 6 secondes et d’automatiser les data pipelines afin que les experts se concentrent sur la conception de modèles. Enfin, HSBC peut fournir des indicateurs aux commerçants et entreprises qui utilisent son application.
« Les gains sont significatifs, mais nous commençons tout juste à lancer des modèles en production », conclut Alessio Basso.