Marketing bancaire || Analyse et prédiction

Table of Contents

Introduction

L'une des problèmatiques primordiales des banques est l'élaboration de bonnes stratégies marketing et d'assurer l'efficacité et l'amélioration des futures compagnes par rapport aux compagnes précédentes.

Pour ce faire, nous allons analyser la dernière campagne marketing réalisée par la banque pour identifier les patterns et découvrir les insights qui nous permetteront de tirer des conclusions afin d'améliorer les futures stratégies et de développer des campagnes marketing plus ciblées.

En effet, nous allons se baser sur les données des clients de la banque, qui ont accepté ou refusé de souscrire au dépôt à terme afin de mener une analyse profonde et de proposer un modèle utilisable par la banque pour identifier les clients potentiels qui seraient susceptible d'acquérir le produit proposé par la banque (dépôt à terme : dépot proposé à un taux fixe et dont l'argent est remboursé à une échéance spécifique), ainsi que l'interpretation et l'explication des résultats du modèle.

Modules du projet

Aperçu des données

Description des variables

Afin de prédire la décision du client de la banque (souscrire a un compte à terme ou pas), on dispose d'un ensemble d'informations à propos du client (variables explicatives) et d'une variable cible.

A/ informations du client

1 - age: (numérique)
2 - job : type d'emploi (catégorique : 'admin.','blue-collar','entrepreneur','housemaid','management','retired','self-employed','services','student','technician','unemployed','unknown')
3 - marital : état civil (catégorique : 'divorced','married','single','unknown' ; note : 'divorced' signifie divorcé ou veuf)
4 - education : (catégorique : primary, secondary, tertiary, unknown)
5 - default : a crédit en défaut ? (catégorique : 'no', 'yes', 'unknown')
6 - housing : a le prêt logement ? (catégorique : 'no', 'yes', 'unknown')
7 - loan : a prêt personnel ? (catégorique : 'no', 'yes', 'unknown')
8 - balance : Le solde bancaire de l'individu.

B/ informations sur le dernier contact de la campagne en cours

9 - contact : type de communication du contact (catégorique : 'cellular','telephone')
10 - month : mois du dernier contact de l'année (catégorique : 'jan', 'feb', 'mar', ..., 'nov', 'dec')
11 - day : dernier jour de contact de la semaine (catégorique : 'mon','tue','wed','thu','fri')
12 - duration : durée du dernier contact, en secondes (numérique)

C/ Autres informations

12 - campaign : nombre de contacts effectués au cours de cette campagne et pour ce client (numérique, inclut le dernier contact)
13 - pdays : nombre de jours qui se sont écoulés depuis que le client a été contacté pour la dernière fois lors d'une campagne précédente (numérique ; 999 signifie que le client n'a pas été contacté auparavant)
14 - previous : nombre de contacts effectués avant cette campagne et pour ce client (numérique)
15 - poutcome : résultat de la campagne marketing précédente (catégorique : 'failure','nonexistent','success')

D/ Cible

21 - dépôt : le client a-t-il souscrit un dépôt à terme ? (binaire : 'yes', 'no')

Variables numériques

Observations

L'age moyen des clients est 41 ans, et 75% sont agés de moins que 50 ans.
le solde bancaire est de moyenne 1528.5 et un ecart type de 3225.4, l'intervalle dans lequel varie le solde des clients et important. Cette variable contient des valeurs aberrantes.
la moyenne de la durée du dernier contact est environ 372 sec.
Le nombre moyen de contact effectués durant la compagne courante est 3, alors que le nombre maximal va jusqu'à 63.
La majorité des variables numériques contiennet des valeurs aberrantes.

Variables catégorielles

Observations

Avoir un prêt désencourage le client de souscrire à un compte à terme.
Les clients mariés sont plus susceptibles que les célibataires à accepter de souscrire, et pas de difference remarquable dans le comportement des clients divorcés.
Les souscripteurs qui ont été contacté par contact cellulaire sont plus nombreux, et les clients dont le moyen de contact est inconnu ont majoritairement refusé de souscrire.
Les clients sont moins susceptibles à souscrire vers la fin du printemps/été (pendant les mois mai, juin, juillet, aout) qu'en automne (pendant les mois septembre, octobre)

Variable cible

La variable cible est équilibrée.

Valeurs manquantes

Interactions des variables

La duration semble etre une variable qui influence la variable cible : decision du client.
Alors, commençons par explorer l'effet de la duration sur le comportement du client.

Analyse exploratoire de données (EDA)

Impact de la durée du contact sur la décision du client

Les clients qui acceptent de souscrire ont généralement une durée du dernier contact plus importante que les client qui refusent, ce qui signifie que plus la durée est élevée, plus il est probable qu'un client ouvre un dépôt à terme.
Le client accepte de souscrire avec une probabilité de 50% lorsque la durée est inférieure ou égale à 500sec et avec une probabilité d'environ 90% lorsque la durée est de 1000sec ou moins. Certes, une durée importante a un impact positif, mais lorsque celle si dépasse 2000sec, le refus du client est quasiment certain.
On peut conclure que la duration est un facteur qui impacte directement la décision du client. Mais est ce que la duration impacte l'ensemble des clients de la même manière?

L’immense majorité des personne agées de moins de 60 ans qui ont refusé de souscrire ont une duration inférieure à 500 sec, au déla de ce seuil, les clients deviennent plus susceptibles à accepter de souscrire.
Ce suil existe également pour les client qui dépassent 60 ans, mais il est beaucoup moins important. Ceci dit, ils sont plus vite convaincu sans avoir besoin à prolonger l'appel aussi long que pour les autres clients, la même chose est constatée chez les clients qui ne dépassent pas 25 ans.
Prolonger la durée de l'appel ne peut impacter que positivement la décision du client.

Le solde du client a t-il un impact sur sa décision?

Les souscripteurs ont une médiane du solde bancaire qui dépasse celle des non souscripteurs.
Les clients ayant un solde bancaire négatif ont majoritairement refusé de souscrire. Alors que pour les clients ayant un solde positif, les nombres des souscripteurs et non souscripteurs sont assez proches.

Les clients agés de plus de 60 ans et les clients appartenant à la catégorie d'age 18-25 sont plus susceptibles à etre impactés par la campagne. Alors que les clients appartenant aux autres groupes d'age qui n'ouvrent pas un compte d'épargne sont plus nombreux. De plus, les clients qui dépassent 60 ans ont quasiment tous un solde positif.
D'autre part, la médiane du solde bancaire croit avec l'age, On peut conclure que la souscription des clients agés de plus de 55ans est expliquée par leurs soldes bancaires importants.

Le niveau éducatif et la profession du client ont t-ils un impact direct ou indirect sur sa volenté à souscrire à un compte à terme?

Les clients ayant un niveau d'éducation teritaire sont plus susceptibles de souscrire, ceci peut être expliqué par la médiane élevée du solde bancaire.
Les clients ayant un niveau d'éducation primaire et secondaire on majoritairement refusé de souscrire.

En groupant les clients par leurs professions, on peut remarquer que les groupes "management", "admin" et "self-employed" sont approximativement homogènes par rapport a la variable cible "deposit". Les client "Blue-collar" sont moins susceptible à souscrire, et les clients retraités sont les plus susceptibles a etre impacté par la campagne. D'autre part, on peut constater que le groupe des clients retraités possède la médiane de solde bancaire la plus élevée, donc on peut expliquer leurs souscription par leurs soldes élevées. Les étudiant on majoritairement accepté de souscrire, ceci est compatible avec la remarque faite auparavant a propos des clients agés entre 18 et 25ans.

la persistence et l'insistence ont un effect négatif ou positif sur la décision du client?

Le nombre de contacts lorsqu'il ne dépasse pas la moyenne (3 contacts) n'affecte pas d'une manière remarquable la décision du client. Cependant lorsque celui ci dépasse la moyenne, le nombre de refus augmente avec l'augmentation du nombre de contacts .
On pourra déduire que contrairement à l'insistance par le prolongement de l'appel qui a un impact positif sur la décision du client, un nombre exageré de contact désencourage le client à souscrire.

Les clients qui ont été déja contacté pendant une campagne précédante ont majoritairement accepté de souscrire un compte de dépot à terme dans la campagne courante. On pourra conclure que la persistance par le contact des clients qui ont déja refusé a un impact positif contrairement à la persistance par les appels repetés.

Le succès de la dernière compagne impacte positivement le résultat de la compagne courante, l'echec n'a pas d'effet remarquable, et les clients dont le résultat de la dernière compagne est inconnu qui sont implicitement ceux qui n'ont jamais été contacté sont plus susceptibles à souscrire.

Modélisation

Preparation de données

Nous allons commencer par la transformation de la variable cible ainsi que les variables explicatives ayant deux modalités (oui/non). La variable "duration" ne pourra pas etre utilisé dans la prédiction vu qu'elle constitue une source de "Data leakage".
En effet, cette variable représente la durée du dernier contact avec le client, or celle ci n'est disponible qu'à la fin de l'appel où la réponse du client(notre variable cible) sera également connue.
Notre modèle doit inclure seulement les variables qui sont disponibles au moment de la prédiction. Pour ce faire, on va commencer par supprimer la variable "duration.
Nous allons également codifier la variable cible ainsi que les variables binaires.

La prochaine étape est la sépartion des données en train set qui sera utilisé pour l'entrainement et l'optimisation des modèles, et le test set pour l'évaluation et l'intérprétation.
Et pour préparer les données au prétraitement, une séparations des variables numériques et catégorielles (ordinales ou nominales) est nécessaire.

Prétraitement de données

Afin d'entrainer les modèles, nous allons devoir mettre les données à la forme correcte.
D'une part, la codification des variables catégorielles (conversion vers numérique) est une étape necessaire vu que la majorité des modèles d'apprentissage automatique acceptent uniquement des variables numériques. la codification peut etre effectuée via différentes méthodes (ordinal encoding, OH encoding...).
D'autre part, les variables numériques peuvent etre standariser ou normaliser, certains modèles qui incluent des calculs de distances exigent que les variables soient dans une même échelle pour extraire correctement l'information, d'autres modèles tirent bénéfice de la normalité des variables.
Pour appliquer les étapes du prétraitement d'une manière pratique et efficace, nous allons utiliser les pipelines.
On va préparer un ensemble de preprocessing pipelines, et on va les appliquer sur un ensemble de modèles qu'on souhaite tester pour retenir pour chaque modèle ou type de modèles le pretraitement approprié.

A partir du tableau qui synthètise les résultats, on peut constater que les modèles interagissement differement avec les traitraitements appliqués.
On peut remarquer par exemple que le modèle SVM atteind sa performance maximale lorsque les variables numériques sont normalisées et toutes les variables catégorielles sont codifiées via OH encoder, et les deux modèles logistic regression et random forest privilégient OH encoder.
Pour une optimisation de performance, on va selectionner pour chaque modèle le meilleur prétraitement et l'adopter dans les prochaines étapes.

Feature engineering

Dans cette étape, nous allons créer des variables polynomiales à partir des variables originales et obverver leur impact sur la performance de chaque modèle.

On observe une détérioration dans la performance de tous les modèles sauf pour la régression logistique.
En effet, la régression logistique est un modèle linéaire et l'ajout de termes polynomiaux au modèle peut être un moyen efficace de permettre au modèle d'identifier les relations non linéaires. Pour ceci nous allons garder les variables polynomiales pour ce modèle en particulier.

Optimisation des hyperparamètres

Performance des modèles avant l'optimisation

Optimisation

On va opté pour pour une optimisation par GridSearchCV qui permet de tester toutes les combinaisons des hyperparamètres possibles pour les deux modèles régression logistique et KNearest neighbors. et pour les autres modèles qui disposent de plusieurs hyperparamètres à optimiser on va opter pour une optimisation bayesiènne via BayesSearchCV.

Régression logistique

L'inclusion de termes polynomiaux dans le modèle peut causer une redondance d'information et par la suite un surapprentissage où le modèle capte le bruit des données, pour surmonter ce problème une régularisation est nécessaire.
La courbe de validation du paramètre C montre que la diminution de ce paramètre (une régularisation plus forte) permet de résoudre le problème de surapprentissage.

Support vector classifier

XGBoost

Random forest

KNearest neighbors

Learning curves

une courbe d'apprentissage montre comment la performance change à mesure que la taille de l'ensemble d'apprentissage augmente.
On peut constater que la courbe d'apprentissage de validation :

Evaluation

Discrimination threshold : choix du seuil de probabilité

Précision : est la mesure des cas positifs correctement identifiés parmi tous les cas positifs prédits. Ainsi, il est utile lorsque le coût des faux positifs est élevé.
Rappel (recall) : est la mesure des cas positifs correctement identifiés parmi tous les cas positifs réels. C'est important lorsque le coût des faux négatifs est élevé.
F1-score : combine la précision et le rappel en une seule métrique en calculant la moyenne harmonique entre ces deux.

Les modèles de classification permettent de générer des probabilités qui sont utilisés pour prédire la classe de la variable cible. Lorsque la probabilité (de la classe positive)dépasse un certain seuil, l'observation est prédite comme étant Positive(1), sinon elle est est prédite comme étant négative(0).
Généralement 0.5 est utilisé comme seuil par défaut, pourtant il peut etre ajusté pour augmenter ou diminuer le rappel (recall) et la précision.
Généralement, il est fixé à 50 %, mais l'ajustement du seuil de discrimination ajustera la sensibilité aux faux positifs qui est décrite par la relation inverse de précision et de rappel par rapport au seuil.

Dans notre cas, on souhaite maximiser la proportion de points correctement prédits par le modèle (True positive et true negative) tout en gardant un équilibre entre "False Positives" et "False Negatives".
Pour ce faire on va ajuster le seuil pour optimiser f1 score, et utiliser le seuil optimale pour effectuer les prédictions.

Evaluation des Modèles

Features importance

la "permutation feature importance" est définie comme étant la diminution du score d'un modèle lorsqu'une seule variable explicative est mélangée de manière aléatoire. Cette procédure permet de casser le lien qu’elle peut entretenir avec la cible (et les autres variables par la même occasion), ainsi la baisse du score du modèle indique à quel point le modèle dépend de la variable.
"SHAP values" interprètent l'impact d'avoir une certaine valeur pour une variable donnée par rapport à la prédiction si cette variable prenait une valeur de base, elles indiquent comment les variables ont-elles tendance à influencer la prédiction du modèle.
On peut constater d'une part que les informations concernant le dernier contact de la compagne courante (date et type du contact) sont très pertinentes pour la prédiction de la décision du client. D'autres part, certaines variables n'ont aucune contribution pour certains modèles tels que les variables "default", "job" et "previous" pour le modèle de régression logistique. La variable "default" semble etre inutile pour tous les modèles.
La suppression des variables inutiles pour chaque modèle peut améliorer la performance ou la maintenir tout en réduisant sa complexité.
L'impact des valeurs prises par les variables sur la prédiction des modèles (indiqué dans les graphiques de SHAP values) sont harmoniques avec les conclusion tirés à partir de l'éxploration de données, les modèles sont alors capables d'exploiter correctement l'information existente pour effectuer les prédictions.

Quelles actions la Banque devrait-elle envisager ?