Machine Learning · Python · R · Marketing Analytics

Prédiction du churn et optimisation de campagne marketing

Pipeline ML complet sur 80 000 clients d'un musée italien — préprocessing multi-sources en R, comparaison de 4 modèles de classification, tuning des hyperparamètres et optimisation d'une campagne marketing via une courbe de profit.

Python R Scikit-learn XGBoost Random Forest Logistic Regression
Voir sur GitHub Retour aux projets
Churn prediction visualization

Contexte & Problème

Le secteur muséal fait face à un défi majeur : retenir ses abonnés d'une année sur l'autre. Pour un musée italien disposant d'une base de 80 000 clients, prédire qui va renouveler son abonnement et qui va churner est crucial pour cibler efficacement les actions marketing.

L'objectif de ce projet : construire un modèle de prédiction du churn capable d'identifier les clients à risque, puis utiliser ces prédictions pour optimiser une campagne de relance par téléphone — en maximisant le profit tout en minimisant les coûts d'appel.


Approche méthodologique

1

Préprocessing R

Nettoyage et fusion de 3 bases de données (clients, visites, abonnements) en R, traitement des valeurs manquantes et aberrantes, encodage des variables binaires.

2

Sélection de features

Tests statistiques pour identifier les variables les plus pertinentes pour la prédiction de churn.

3

Modélisation

Entraînement de 4 modèles de classification : Logistic Regression, Decision Tree, Random Forest, XGBoost.

4

Tuning hyperparamètres

Optimisation des paramètres de chaque modèle via GridSearch et validation croisée.

5

Évaluation ROC/AUC

Comparaison des performances via courbes ROC et matrices de confusion.

6

Courbe de profit

Calcul du profit net selon le pourcentage de population ciblée par la campagne d'appels.


Résultats clés

75.32%
Accuracy XGBoost
0.78
AUC-ROC XGBoost
30%
Population à cibler pour maximiser le profit
4
Modèles comparés

Ce que j'ai appris


Limitations & Améliorations possibles