Une banque est, par définition, une «organisation monétaire» et son avenir dépend du succès avec lequel cette organisation émet et rembourse des prêts. Pour réussir à travailler avec des prêts, vous devez comprendre la situation financière des emprunteurs, qui est aidée par les facteurs de risque de crédit (FKR). Les analystes de crédit les identifient dans d'énormes quantités d'informations bancaires, traitent ces facteurs et prévoient de nouveaux changements. En règle générale, des analyses descriptives et diagnostiques sont utilisées à cette fin, mais nous avons décidé de connecter les outils d'apprentissage automatique au travail. Lisez ce qui s'est passé dans le post.

Certains facteurs de risque de crédit se trouvent à la surface, d'autres doivent être approfondis dans les entrailles des données bancaires. Changements dans le taux de change du dollar, les revenus des clients, le fardeau de la dette, la baisse des ventes et des notations, les tribunaux, les affaires pénales, les fusions et les acquisitions - tout cela donne un signal statistique de différents atouts. Afin de composer correctement l'image globale de l'emprunteur, il est nécessaire non seulement de capter tous les signaux qui lui sont associés, mais également d'évaluer leur force.
Les analyses descriptives et diagnostiques ont bien fonctionné en travaillant avec FCR, mais néanmoins, ces méthodes ne sont pas sans inconvénients. L'utilisation de l'analyse est limitée aux régulateurs - toutes les méthodes et tous les modèles avancés ne peuvent pas être approuvés par eux. Analytics n'est pas flexible et ne donne pas la possibilité de présenter des données dans une tranche arbitraire - et cela est souvent très nécessaire. Et avec l'efficacité dans ce cas, tout n'est pas génial. Et il arrive aussi que pour certains modèles analytiques, il n'y ait tout simplement pas assez de données.
Pourquoi ne pas essayer l'apprentissage automatique à ces fins? Il est donc tout à fait possible d'améliorer le calcul de l'importance des facteurs de risque de crédit, en termes techniques - d'augmenter de plusieurs points de pourcentage l'indicateur de Gini, par lequel nous évaluons la précision des modèles de prévision. Plus le calcul du FKR est bon, plus l'évaluation de la situation financière des clients est précise - meilleure est la qualité du portefeuille de prêts de la banque. Et plus la proportion de travail manuel est faible.
Avancement du projet
Cloudera Hadoop a été choisi pour le stockage des mégadonnées, Apache Spark et Apache Hive SQL ont été déployés pour l'accès aux données brutes et Apache Oozie a été utilisé pour coordonner et démarrer le chargement et le calcul des flux de données. En utilisant Apache, Zeppelin et JupyterHub ont visualisé et exploré les données. En outre, ils ont utilisé un certain nombre de bibliothèques d'apprentissage automatique qui prennent en charge le traitement parallèle - Spark MLIB, PySpark et H20.

Sept nœuds ont été alloués pour tout cela:
- 3 nœuds maîtres avec 64 Go de vRAM et 2 To d'espace disque chacun
- 3 nœuds de données avec 512 Go de vRAM et 8 To chacun
- 1 nœud pour les applications avec 128 Go de vRAM, 2,5 To

L'ensemble du projet a duré trois mois et comprenait trois étapes de démonstration, quatre sprints hebdomadaires dans chacune. Pour le calcul, 22 facteurs de risque de crédit ont été choisis au cours du projet.
Dans un premier temps, nous avons déployé l'infrastructure et connecté les premières sources de données:
- Stockage d'informations d'entreprise (FIR) - le stockage principal de la banque. Afin d'opérer librement avec les données dans Data Lake et de ne pas créer de charge sur les systèmes de production, nous les avons en fait chargés dans leur ensemble.
- Le système de calcul des notations () est l'une des principales bases de données permettant d'évaluer les risques liés aux activités des entreprises clientes. Il contient des informations sur les notations des entreprises, les indicateurs des états financiers.
- Données provenant de sources externes reflétant l'affiliation et d'autres critères.
- Fichiers séparés contenant des informations et des données supplémentaires pour le travail des scientifiques des données.
À la deuxième étape, le premier PCF a été calculé, nous avons essayé de construire des modèles basés sur ces indicateurs, installé un outil BI et discuté de la façon de visualiser la dynamique du PCF. En conséquence, nous avons décidé de conserver la structure de feuille de calcul Excel familière dans le nouvel outil, laissant une visualisation avancée pour l'avenir.
Enfin, au stade final, nous avons téléchargé toutes les données manquantes, y compris à partir d'une source externe. La banque craignait que leur signification statistique soit faible, nous avons donc effectué des tests statistiques qui ont prouvé le contraire. La démo finale a démontré le fonctionnement des outils de datascience, la BI, le chargement régulier et la mise à jour des données. Sur les 22 facteurs, seuls deux n'ont pas été calculés dans le cadre du pilote, pour des raisons externes - le manque de données de la qualité requise.
Résultat
Le cluster sur Hadoop est facilement évolutif et permet aux modèles d'alimenter plus de données, et ils peuvent effectuer des calculs en parallèle. L'indicateur de Gini a augmenté - les modèles ont prédit avec plus de précision certains événements liés aux facteurs de risque de crédit.
Auparavant, nos analystes devaient contacter le service informatique pour écrire des requêtes SQL dans le référentiel de l'entreprise, puis traiter les modèles sur leurs ordinateurs personnels. Et maintenant, le cluster pilote permet aux analystes d'écrire eux-mêmes des requêtes, c'est-à-dire que l'augmentation des données brutes et les modèles de traitement sont beaucoup plus rapides.
Plans
Cette année, nous poursuivrons le développement du projet. Nous déploierons l'infrastructure de Data Lake sur du matériel spécialisé pour augmenter la vitesse d'échantillonnage et de traitement. Nous organisons sur la base du «lac» une ressource unique et centralisée pour l'analyse de crédit. Ajoutez quelques sources de données supplémentaires et branchez de nouvelles bibliothèques d'apprentissage automatique.
D'autres divisions de la banque se sont intéressées à notre projet - CRM, audit interne (recherche de fraudeurs, identification des transactions suspectes), support opérationnel (antifraude), analystes du secteur. Lorsque nous utilisons le «bac à sable», nous leur donnons nos développements, ils auront un accès facile aux données, la possibilité de connecter toutes les sources de données et de les expérimenter à l'aide de modèles d'apprentissage automatique.