Figure 1 Logo de Supmti
PROJET DE FIN D’ETUDES
Pour obtention du diplôme
D’INGENIEUR D’ETAT
Filière :
Génie informatique (GI)/option : ingénierie de la Data science
(IDS)
Sujet :
Conception et Réalisation d'une application de
prédiction du churn d’une entreprise en ligne et
ajustement du marketing nécessaire.
Réaliser par et encadrer par Mr
Amadou Oury Diallo M.Lazaar
Année Universitaire 2024-2025
DEDICACES
On dédie ce travail a :
Nos chers parents
Aucun mot ne saurait exprimer pleinement la gratitude que nous ressentons
envers nos parents pour tout l’amour et le soutien qu'ils nous ont toujours
donnés. À tous nos amis et frères dont les conseils ont été d’un grand soutien,
nous exprimons également notre profonde reconnaissance.
A notre chère et dynamique encadrant
Mr. LAZAR Un remerciement particulier et sincère pour tous vos efforts fournis
tout au long du processus. Vous avez toujours été présent. Que ce travail soit un
témoignage de nos gratitudes et nos profonds respects.
REMERCIEMENT
Je souhaite exprimer ma profonde gratitude à toutes les personnes qui ont
contribué, de près ou de loin, à la réalisation de ce projet de fin d’études.
Je remercie tout particulièrement mes parents pour leur amour, leur soutien
inestimable et leurs encouragements constants qui ont été pour moi une source
de motivation tout au long de mon parcours.
J’adresse également mes sincères remerciements à mon encadrant, Mr. LAZAR,
pour sa disponibilité, ses conseils précieux et son accompagnement tout au long
de ce projet. Son expertise et ses orientations ont largement contribué à la
qualité de ce travail.
Je n’oublie pas de remercier l’ensemble du corps enseignant et administratif de
SupMTI pour les connaissances transmises et pour la qualité de l’encadrement
offert durant mes années d’études.
Enfin, je remercie mes amis et camarades pour leur soutien et les moments de
partage vécus ensemble.
À toutes et à tous, merci.
RESUME
Ce projet de fin d’études a pour objectif de concevoir et réaliser une application
web interactive de prédiction du churn et d’ajustement marketing. Dans un
contexte où la fidélisation client est stratégique pour les entreprises, ce projet
propose une solution basée sur le machine learning pour anticiper le départ des
clients et recommander des actions marketing personnalisées.
L’application, développée avec le framework Streamlit, permet de charger des
données clients, de prédire leur probabilité de churn via un modèle de stacking
combinant XGBoost, LightGBM et SVM, et de générer des recommandations
adaptées à chaque situation. Le système intègre également des modules
d’explicabilité (SHAP) et de détection de dérive des données en production
(alibi-detect), ainsi qu’un simulateur d’actions marketing.
Le projet s’appuie sur une démarche rigoureuse de gestion agile et une
planification structurée en six phases : étude documentaire, collecte et
préparation des données, modélisation, intégration des modules, développement
de l’application et tests. Les résultats obtenus confirment l’apport des
technologies de data science dans la gestion proactive de la relation client et
l’optimisation des campagnes marketing.
ABSTRACT
In a highly competitive digital environment, customer retention has become a
major challenge for companies. The ability to anticipate customer churn — the
loss of clients — is now essential for sustaining business growth and
profitability. This end-of-study project aims to design and develop an interactive
web application for churn prediction and marketing strategy adjustment.
The proposed solution leverages machine learning techniques through a stacking
model that combines XGBoost, LightGBM, and SVM, enhanced with
explainability tools (SHAP) and data drift detection (alibi-detect). The system
enables users to import customer data, predict individual churn probabilities, and
receive personalized marketing recommendations based on these results.
Developed using the Streamlit framework, the application offers an intuitive and
user-friendly interface, making advanced analytics accessible to marketing
teams without technical expertise. The project follows an agile management
approach and includes a simulation module to estimate the potential impact of
marketing actions on customer retention.
The results demonstrate the relevance and effectiveness of integrating data
science into customer relationship management processes, providing operational
teams with a powerful decision-making tool for optimizing marketing
campaigns and reducing churn rates.
LISTES DES FIGURES
Figure 1 Logo de Supmti ........................................................................ 1
Figure 2 Logo de python ....................................................................... 37
Figure 3 Logo de vscode ....................................................................... 38
Figure 4 Logo de Pandas ...................................................................... 40
Figure 5 Logo Numpy .......................................................................... 41
Figure 6 Logo de Scikit-learrn .............................................................. 43
Figure 7 Logo de Xgboost .................................................................... 45
Figure 8 Logo de LightGbm ................................................................. 46
Figure 9 Logo de Faker ......................................................................... 47
Figure 10 Logo de Alibit .......................................................................
48 Figure 1 Logo de Supmti ................................................................................... 1
DEDICACES ............................................................................................................. 2
Nos chers parents ...................................................................................................... 2
REMERCIEMENT .................................................................................................. 3
RESUME .................................................................................................................... 4
ABSTRACT ............................................................................................................... 5
LISTES DES FIGURES ......................................................................................... 6
INTRODUCTION GENERALE........................................................................... 9
Chapitre 1 : Contexte ............................................................................................. 10
1.1 Présentation du projet :........................................................................................ 11
1.2 Contexte du projet ............................................................................................... 11
1.3 Problématique abordée : ...................................................................................... 12
1.4 Solution envisagée............................................................................................... 13
1.4.1 Collecte et préparation des données .................................................................... 13
1.4.2 Construction et entraînement d’un modèle prédictif ........................................ 13
1.4.3 Développement d’une application interactive avec ............................................ 14
Streamlit ....................................................................................................................... 14
Détection de dérive des données en production........................................................... 14
1.4.4 Recommandations marketing personnalisées...................................................... 14
1.5 Conduite du projet ............................................................................................... 15
1.5.1 Démarche de gestion de projet ............................................................................ 15
1.5.2.2 Diagramme de Gantt .............................................................................. 17
1.5.2.3 Suivi du planning ................................................................................... 18
1.6 Conclusion ........................................................................................................... 19
Chapitre 2 : Analyse ............................................................................................... 19
2.2 Revue Littéraire et Étude des Solutions Existantes ............................................ 20
2.2.1 Revue Théorique sur la Prédiction du Churn...................................................... 20
2.2.1 Approches Classiques vs. Approches ................................................................. 20
Modernes ...................................................................................................................... 20
2.2.1.1 Approches Classiques ............................................................................ 20
2.3 Analyse des besoins : .......................................................................................... 27
2.3.1 Spécification des besoins : .................................................................................. 27
2.3.1.1 Besoins fonctionnels .............................................................................. 27
10. 2.3.1.2 Besoins non fonctionnels (détaillés)................................................ 28
2.3.2 Cas d’utilisations : ............................................................................................... 30
2.3.2.1 Cas d'utilisation 1 : Prédire le churn des clients .................................... 30
2.3.2.2 Cas d'utilisation 2 : Proposer des actions marketing personnalisées ..... 31
2.3.2.3 Cas d'utilisation 3 : Suivre l'impact des actions marketing.................... 32
2.4 Conclusion ........................................................................................................... 33
Chapitre 3 : Environnement ................................................................................. 35
3.1 outils .................................................................................................................... 35
3.1.1 langage utilises .................................................................................................... 35
3.1.1.1 python ..................................................................................................... 35
Figure 2 Logo de python ....................................................................................... 36
3.1.2 IDE ...................................................................................................................... 37
Figure 3 Logo de vscode ....................................................................................... 37
3.1.2.1 Visual Studio Code : Un Éditeur de Code Moderne et Polyvalent ........ 37
3.2 Outils de bibliothèque : ....................................................................................... 39
3.2.1 Pandas.................................................................................................................. 39
Figure 4 Logo de Pandas ....................................................................................... 39
3.2.2 Numpy ................................................................................................................. 40
Figure 5 Logo Numpy ........................................................................................... 40
3.2.3 Scikit-learn .......................................................................................................... 42
Figure 6 Logo de Scikit-learrn ............................................................................. 42
3.2.4 XGBoost .............................................................................................................. 43
Figure 7 Logo de Xgboost .................................................................................... 43
3.2.5 LightGBM ........................................................................................................... 44
Figure 8 Logo de LightGbm................................................................................. 44
3.2.6 Faker .................................................................................................................... 45
Figure 9 Logo de Faker ......................................................................................... 45
3.2.7 Alibi-Detect ......................................................................................................... 46
Figure 10 Logo de Alibit ....................................................................................... 47
3.3 Conclusion ........................................................................................................... 47
Chapitre 4 : Réalisation ......................................................................................... 48
4.1.1 Processus de Prédiction du Churn .................................................................... 48
4.1.1.1 Chargement et préparation des données................................................. 48
4.1.1.2 Modélisation et prédiction...................................................................... 50
4.1.1.3 Explicabilité des décisions ..................................................................... 50
4.1.2 Processus d’Ajustement ................................................................................... 51
4.1.2.1 Analyse individualisée ........................................................................... 51
4.1.2.2 Apprentissage actif ................................................................................. 52
4.1.3 Simulation Marketing....................................................................................... 52
4.1.3.1 Objectif de la simulation ........................................................................ 52
4.1.3.2 Fonctionnement du module .................................................................... 53
4.2 Conclusion ......................................................................................................... 54
INTRODUCTION GENERALE
Dans un environnement concurrentiel où les clients disposent de multiples choix
et où leur fidélité est de plus en plus difficile à obtenir, la capacité des
entreprises à anticiper les comportements de départ de leurs clients est devenue
un enjeu stratégique. La perte de clients, appelée churn, représente un coût
significatif pour les entreprises, souvent supérieur à celui de l’acquisition de
nouveaux clients.
Ce projet de fin d’études s’inscrit dans cette problématique et vise à concevoir
une application de prédiction du churn et d’ajustement des actions marketing, en
exploitant les techniques de data science et d’intelligence artificielle.
L’application permettra aux équipes marketing et commerciales d’identifier les
clients à risque, de comprendre les raisons de ce risque et de mettre en œuvre
des stratégies de fidélisation adaptées et ciblées.
La réalisation de ce projet repose sur le développement d’un modèle de machine
learning performant et explicable, ainsi que d’une interface web interactive et
intuitive, accessible même aux utilisateurs non techniques. Ce travail se veut à la
fois technique et opérationnel, avec pour ambition d’apporter une solution
concrète et efficace aux problématiques de gestion de la relation client dans les
environnements digitaux actuels.
Chapitre 1 : Contexte
Contexte général du projet
Ce chapitre introduit la problématique du churn, ses enjeux économiques
et commerciaux. Il présente le contexte du projet, les objectifs
poursuivis et la solution envisagée. Une méthodologie de gestion agile et
un planning prévisionnel sont également exposés.
1.1 Présentation du projet :
Dans un environnement où la concurrence entre entreprises devient de plus en
plus intense, la gestion de la relation client représente un enjeu stratégique
majeur. Conserver ses clients actuels coûte en général moins cher que d’en
acquérir de nouveaux, et permet à l’entreprise de garantir une certaine stabilité
de ses revenus. Toutefois, il n’est pas rare qu’une entreprise soit confrontée à
des situations où ses clients décident d’arrêter d’utiliser ses produits ou services.
Ce phénomène, couramment désigné sous le nom de churn ou attrition client,
constitue une problématique critique dans de nombreux secteurs :
télécommunications, banque, assurance, e-commerce, services numériques, etc.
Face à cette situation, plusieurs entreprises cherchent aujourd’hui à s’appuyer
sur l’exploitation de leurs données clients et sur des outils basés sur
l’intelligence artificielle pour prédire le churn et mettre en œuvre des actions
adaptées à chaque situation. C’est dans cette perspective que s’inscrit ce projet
de fin d’études.
Le projet consiste à développer une application web interactive via le
Framework Streamlit, qui permet à l’utilisateur d’importer des données clients,
de prédire la probabilité de churn pour chaque client grâce à un modèle de
machine Learning et de générer des recommandations marketing personnalisées
en fonction des résultats obtenus. L’objectif est d’apporter un support
décisionnel aux équipes commerciales et marketing afin de limiter le départ des
clients et d’optimiser les campagnes de fidélisation.
1.2 Contexte du projet
Avec la digitalisation et l’évolution rapide des marchés, les comportements des
clients ont profondément changé. Ils sont désormais mieux informés, plus
exigeants et moins fidèles, car ils disposent de nombreux choix et peuvent
comparer facilement les offres concurrentes. Cette tendance s’est accentuée avec
le développement des services en ligne, où l’abandon d’un service ou le passage
à la concurrence peut se faire en quelques clics.
Dans un tel contexte, la maîtrise de la relation client et l’anticipation du risque
de churn deviennent des enjeux majeurs pour la pérennité des entreprises. Il est
aujourd’hui indispensable pour les entreprises de savoir identifier les clients
susceptibles de partir et de comprendre les raisons qui pourraient les pousser à
quitter. La prédiction du churn permet ainsi de :
• Prendre des décisions stratégiques sur les clients à fidéliser en priorité.
• Adapter les offres et services proposés.
• Déployer des campagnes marketing ciblées et personnalisées.
Grâce aux avancées en data science et en machine Learning, il est désormais
possible de développer des modèles prédictifs capables d’estimer la probabilité
de départ des clients à partir des données historiques de l’entreprise.
L’utilisation de ces outils, combinée à des interfaces interactives comme
Streamlit, permet de rendre ces analyses accessibles à des utilisateurs non
techniques et de faciliter leur intégration dans la prise de décision quotidienne.
1.3 Problématique abordée :
Dans ce contexte, la problématique centrale à laquelle ce projet tente de
répondre est la suivante :
Comment prédire efficacement le churn des clients et ajuster les stratégies
marketing afin de maximiser leur fidélisation ?
Cette problématique soulève plusieurs sous-questions :
• Quelles données collecter et analyser pour détecter les signes
avantcoureurs du churn ?
• Quels modèles de machine Learning sont les plus adaptés pour effectuer
des prédictions fiables sur des données clients ?
• Comment rendre les résultats de ces prédictions compréhensibles et
exploitables par des équipes marketing et commerciales sans expertise
technique avancée ?
• Quelles recommandations personnalisées proposer pour agir efficacement
selon le profil et le risque de churn de chaque client ?
• Comment faire pour réduire les couts marketing ?
Le projet vise ainsi à apporter une réponse structurée et opérationnelle à cette
problématique, en intégrant des solutions d’analyse prédictive et des
recommandations opérationnelles au sein d’une application web.
1.4 Solution envisagée
Pour répondre à cette problématique, la solution proposée repose sur plusieurs
composantes complémentaires articulées autour d’un pipeline complet de
machine Learning et de visualisation interactive :
1.4.1 Collecte et préparation des données
Le projet débute par la constitution d’une base de données clients simulés à
partir de jeux de données publics. Ces données incluent des informations
personnelles, des historiques d’achats, des interactions digitales ainsi que des
données transactionnelles et comportementales. Un important travail de feature
engineering est réalisé afin d’enrichir les données brutes : calcul de la fréquence
d’achat, valeurs moyennes des commandes, indicateurs temporels (comme le
nombre de jours depuis la dernière commande) et encodage des variables
catégorielles. Les données sont ensuite nettoyées et normalisées pour garantir
leur compatibilité avec les algorithmes de machine Learning.
1.4.2 Construction et entraînement d’un modèle prédictif
Plusieurs modèles supervisés sont testés et comparés dans le cadre d’un
Stacking Classifier, combinant plusieurs classifieurs complémentaires :
• XGBoost : reconnu pour sa performance et sa capacité à gérer des
données complexes et hétérogènes.
• LightGBM : apprécié pour sa rapidité d’exécution et son efficacité sur de
gros volumes de données.
• SVM (Support Vector Machine) : intégré avec une calibration de ses
scores pour fournir des probabilités de churn précises.
Les prédictions issues de ces trois modèles sont ensuite agrégées via un
métamodèle de régression logistique.
L’évaluation du modèle se fait selon plusieurs métriques (précision, rappel,
score F1) et en utilisant une validation croisée temporelle (TimeSeriesSplit) pour
respecter la dimension temporelle des comportements clients.
1.4.3 Développement d’une application interactive avec
Streamlit
Pour rendre le système accessible aux équipes marketing et opérationnelles, une
application web interactive est développée avec Streamlit. Cette application
permet de :
• Importer des fichiers de données clients au format CSV.
• Générer instantanément des prédictions de churn pour chaque client via le
modèle de stacking.
• Visualiser les résultats sous forme de tableaux et de graphiques
dynamiques.
• Afficher des analyses explicatives des prédictions grâce à l’intégration de
SHAP qui identifie les variables les plus influentes sur la probabilité de
churn de chaque client.
• Faire des simulations avant le lancement de nouveaux produits pour
optimiser le marketing en diminuant les couts marketings.
Détection de dérive des données en production
Afin de garantir la robustesse du modèle dans le temps, un module de détection
de dérive (Data Drift Detection) est mis en place via la librairie alibi-detect. Ce
système permet de comparer les distributions statistiques des variables entre les
données actuelles et un jeu de référence utilisé lors de l’entraînement du modèle.
Des alertes sont générées en cas de dérive significative pouvant affecter la
performance prédictive.
1.4.4 Recommandations marketing personnalisées
En fonction du score de churn prédit pour chaque client, l’application propose
des recommandations marketing adaptées :
• Pour les clients à faible risque : maintien des campagnes de fidélisation
courantes.
• Pour les clients à risque modéré : envoi d’offres promotionnelles ciblées
ou de codes de réduction.
• Pour les clients à fort risque : prise de contact personnalisée, appels
téléphoniques et propositions d’avantages exclusifs.
L’objectif est d’optimiser l’allocation des ressources marketing en priorisant les
actions sur les clients à forte probabilité de churn, tout en renforçant la relation
avec les clients fidèles.
1.5 Conduite du projet
1.5.1 Démarche de gestion de projet
Pour mener à bien ce projet de prédiction du churn client, une démarche de
gestion de projet rigoureuse a été adoptée, inspirée des méthodes agiles,
favorisant la flexibilité et l’amélioration continue. Cette approche permet
d’adapter le déroulement du projet aux éventuels imprévus techniques et
d’intégrer progressivement des ajustements fonctionnels.
Le projet s’est structuré autour de plusieurs cycles itératifs comprenant :
• L’analyse des besoins techniques et fonctionnels :
Identification précise des livrables attendus, choix des outils de
Développement (Python, Streamlit, scikit-learn, XGBoost, SHAP,
alibidetect) et définition des métriques de performance adaptées
(accuracy, recall, F1-score, AUC).
• Le découpage en lots de tâches : chaque phase de travail est divisée en
tâches unitaires avec des objectifs clairs (ex. : traitement des valeurs
manquantes, entraînement d’un modèle Random Forest, intégration de
SHAP).
• Des revues techniques intermédiaires : à la fin de chaque phase, les
livrables sont testés et validés afin de détecter d’éventuels
dysfonctionnements ou pistes d’amélioration (ajustement
d’hyperparamètres, ajout de nouvelles visualisations…).
• L’intégration continue et validation des modules : chaque fonctionnalité
(prétraitement, modèle, interface Streamlit) est intégrée et testée avant de
passer à l’étape suivante.
• La documentation continue : rédaction des observations techniques,
résultats de tests, et justifications des choix méthodologiques.
Cette démarche permet ainsi de garantir la qualité progressive de la solution et
d’assurer que les contraintes fonctionnelles et techniques sont respectées à
chaque étape.
1.5.2 Planification du projet
Afin d’assurer le bon déroulement du projet et de respecter les délais impartis,
un planning prévisionnel structuré en six phases a été établi, chacune
correspondant à un livrable concret et mesurable.
1.5.2.1 Tableau de planification
Phases Objectifs Livrables associés
Durée
estimée
Phase 1 : Étude 1 semaine Rapport de veille
documentaire technologique et
Réaliser une veille sur les bibliographique
problématiques de churn et
les techniques de machine
learning.
Phase 2 : Collecte et 1 semaine Rassembler un jeu de Jeu de données
préparation des données données adapté et effectuer final prêt à l’usage
le nettoyage, normalisation
et transformation.
Phase 3 : Conception et 2 semaines Implémenter plusieurs Modèles entraînés
entraînement des modèles modèles, comparer leurs et évaluation des
performances et sélectionner performances
le plus performant.
1 semaine Mettre en place les modules Modules
SHAP et alibidetect. opérationnels
Phase 4 : Intégration des intégrés
modules
Explicatifs et de détection
de dérive
1 semaine
Phase 5 : Créer une interface web Application
Développement de conviviale pour les Streamlit
l’application Streamlit utilisateurs. fonctionnelle
Phase 6 : Tests finaux et 1 semaine Effectuer les tests globaux de Rapport de projet et
rédaction du rapport la solution et rédiger la support de
documentation finale. Présentation
1.5.2.2 Diagramme de Gantt
Phases Semaine Semaine Semaine Semain e Semain e
1 2 3 4 5 Se
mai
ne
6
Phase 1 : Étude █████
documentaire
██
█████
Phase 2 : Collecte et ██
préparation des données
Phase 3 : Conception et █████ █████
entraînement des
modèles
Phase 4 : Intégration █████
des modules
██
explicatifs et de
détection de dérive
Phase 5 : █████
Développement de
██
l’application Streamlit
Phase 6 : Tests finaux et
rédaction du rapport ██
██
██
█
Légende :
███████ = période de réalisation de la phase.
1.5.2.3 Suivi du planning
Un point hebdomadaire permet de contrôler l’avancement des tâches,
d’identifier les éventuels retards ou obstacles et de réajuster les priorités si
nécessaire. Cette planification prévisionnelle a permis de structurer
l’organisation du travail et d’anticiper les étapes critiques du projet.
1.6 Conclusion
Ce premier chapitre a permis de poser les bases théoriques et organisationnelles
du projet. À partir d’une problématique clairement définie — la prédiction du
churn client et l’optimisation des actions marketing —, les objectifs généraux et
spécifiques ont été explicités.
La solution envisagée repose sur l’utilisation de techniques avancées de machine
learning supervisé, associées à des modules d’explicabilité et de détection de
dérive, le tout intégré dans une application web interactive Streamlit accessible
aux décideurs non spécialistes.
La démarche de gestion de projet adoptée, inspirée des méthodes agiles, a
permis d’établir une planification structurée et évolutive, garantissant ainsi un
pilotage efficace et une montée en qualité progressive de la solution.
Le chapitre suivant détaillera la mise en œuvre technique du projet, en décrivant
étape par étape la constitution et la préparation du jeu de données, le
développement et la comparaison des modèles de machine Learning,
l’intégration des modules d’explicabilité et de détection de dérive, ainsi que le
déploiement de l’application web
Chapitre 2 : Analyse
2.1Analyse et Conception du Projet
Cette partie analyse les approches existantes en prédiction du churn,
qu’elles soient classiques (régression logistique, arbres de décision) ou
modernes (Random Forest, XGBoost, Deep Learning). Elle détaille les
besoins fonctionnels et techniques de l’application et décrit les cas
d’utilisation attendus.
2.2 Revue Littéraire et Étude des Solutions Existantes
2.2.1 Revue Théorique sur la Prédiction du Churn
Le churn client, ou attrition, correspond à la perte de clients dans un contexte
commercial. Anticiper le churn permet aux entreprises de prendre des mesures
préventives en mettant en place des stratégies de fidélisation ciblées. L’enjeu
économique est majeur, car il est généralement beaucoup plus coûteux de
conquérir un nouveau client que de conserver un client existant.
De nombreux travaux de recherche ont été menés dans ce domaine, aussi bien en
statistiques qu’en intelligence artificielle (AI). Cette revue théorique propose de
comparer les approches classiques et modernes de la prédiction du churn,
d’expliquer les techniques d’assemblage utilisées pour améliorer la performance
des modèles, et de présenter les différentes méthodes d’évaluation des modèles
prédictifs.
2.2.1 Approches Classiques vs. Approches Modernes
2.2.1.1 Approches Classiques
Les approches classiques, issues de la statistique, ont longtemps constitué la
base des modèles prédictifs utilisés pour estimer le risque de churn. Ces
méthodes sont appréciées pour leur simplicité, rapidité d’exécution et leur
interprétabilité.
La régression logistique
• Modèle de classification binaire qui estime la probabilité qu’un
événement se produise (ici le churn).
• Elle permet de quantifier l’effet de chaque variable explicative sur la
variable cible (ex : impact de l’ancienneté client sur la probabilité de
départ).
• Formule :
P(y=1X) =11+e−(β0+∑βiXi)P(y=1|X) = \frac {1} {1+e^ {-(\beta_0 +
\sum \beta_i X_i)}} P(y=1X) =1+e−(β0 +∑βi Xi )1 Avantages
:
• Facile à interpréter
• Robuste sur des petits jeux de données
Limites :
• Hypothèse de linéarité entre les variables explicatives et le logit
• Moins efficace sur des relations complexes ou non linéaires
2.2.1.1.2 Analyse discriminante linéaire et quadratique
• Classifie les observations en fonction des distributions statistiques des
groupes.
• Hypothèses plus strictes que la régression logistique (ex : normalité et
égalité des matrices de variance-covariance).
2.2.1.1.3 Arbres de décision simples
• Méthode arborescente divisant l’échantillon en sous-groupes homogènes.
• Facile à visualiser et à comprendre, mais sujette à l’overfitting.
2.2.1.2 Approches Modernes
Avec l’émergence du big data, des volumes de données massifs et variés, et
l’amélioration des ressources de calcul, des méthodes modernes de machine
Learning et de Deep Learning se sont largement répandues.
2.2.1.2.2 Arbres d’ensemble (Ensembles Trees-Based Models)
• Random Forest : agrégation de plusieurs arbres de décision construits sur
des échantillons aléatoires.
• Gradient Boosting Machines (GBM, XGBoost, LightGBM, CatBoost) :
construction séquentielle d’arbres, où chaque arbre corrige les erreurs du
précédent.
Avantages :
• Précision élevée
• Résistance à l’overfitting (notamment pour Random Forest)
• Gestion efficace des données déséquilibrées avec pondération
2.2.1.2.2 Support Vector Machines (SVM)
• Algorithme qui sépare les classes à l’aide d’un hyperplan maximisant la
marge.
• Efficace pour des données de faible dimension ou de dimension moyenne.
2.2.1.2.3 Réseaux de neurones et Deep Learning
• Perceptron multicouche (MLP) pour des problèmes de classification non
linéaire.
• Réseaux récurrents (RNN, LSTM) pour des données séquentielles (ex :
historique de consommation). Avantages :
• Capacité à gérer de grands volumes de données
• Apprentissage de relations complexes
• Intégration de données non structurées (textes, images)
Inconvénients :
• Besoin de beaucoup de données
• Faible interprétabilité
• Temps de calcul important
2.2.1.3 Techniques d’Assemblage
Les techniques d’assemblage combinent plusieurs modèles pour obtenir une
prédiction plus fiable et plus précise qu’un modèle unique. Elles permettent de
réduire la variance et le biais.
2.2.1.3.1 Bagging (Bootstrap Agrégations)
• Principe : création de plusieurs jeux de données d’apprentissage par tirage
aléatoire avec remise.
• Construction d’un modèle sur chaque sous-échantillon.
• Agrégation des résultats (vote majoritaire ou moyenne des probabilités).
Exemple : Random Forest
Avantage : réduit la variance et limite le sur-apprentissage.
2.2.1.3.2 Boosting
• Principe : les modèles sont entraînés séquentiellement ; chaque nouveau
modèle corrige les erreurs du précédent.
• Pondération des observations mal classées pour leur accorder plus
d’importance.
Exemples : AdaBoost, XGBoost, LightGBM, CatBoost
Avantage : amélioration progressive de la performance et capacité à gérer des
données déséquilibrées.
2.2.1.3.3 Stacking (Stacked Generalization)
• Combine différents modèles de base (ex : SVM, Random Forest, Logistic
Regression).
• Les prédictions des modèles de base servent d’entrée à un modèle méta
apprenant (souvent une régression logistique).
Avantage : profite des forces de différents modèles
D. Évaluation des Modèles
L’évaluation de la performance des modèles de prédiction de churn est
essentielle, notamment dans des contextes où la classe minoritaire (les churners)
est beaucoup moins représentée.
Indi Définition Avantages Inconvénients
cate ur
Acc Taux de prédictions Simple à calculer et à
urac y correctes (proportion des cas comprendre. Peu fiable en cas de
correctement classés). classes déséquilibrées
(ex : beaucoup plus de
nonchurners que de
churners).
Préc Proportion de churners Réduit les faux positifs, Ignore les faux négatifs ;
isio n correctement identifiés parmi utile pour éviter des peut être insuffisant si le
les clients prédits churners. actions coûteuses sur de rappel est faible.
faux churners.
Rec all Proportion de churners Réduit le risque de rater Peut augmenter le nombre
(Sen correctement détectés des churners de faux positifs si utilisé
sibili té) parmi les churners réels. (faux négatifs). seul.
F1scor Moyenne harmonique de la Bon équilibre entre Moins intuitif à interpréter
e précision et du rappel. précision et rappel dans seul, surtout pour des
des jeux de données profils non techniques.
déséquilibrés.
AUC Surface sous la courbe Synthétique et robuste face Peut-être abstrait sans la
- ROC, mesure la capacité du au déséquilibre des classes,courbe associée ; parfois
ROC modèle à bien distinguer utile pour comparerdifficile à interpréter pour
churners et nonchurners. plusieurs modèles. les décideurs.
2.2.2 Étude Comparative des Solutions Existantes
Soluti Fonctionnal Méthodes de Recomm Coût / Avantage Inconvéni
on ités prédiction andation acces s ents
Principales utilisées s sibilit é
marketin g
Oui Payan t
Intégré au
(sur
Salesf CRM avec IA Machine CRM,
devis) Coûteux,
orce intégrée, Learning dépendant
Einste scoring de automatisé Facile à de
in churn (MLaaS) déployer Salesforce
Payan t Interface
Non natif vieillissant e
IBM Analyse Random Interpréta
SPSS prédictive, Forest, ble,
Model détection de SVM, historique
er churn Régression solide
CRM + Machine Oui Abord
Tableau de bord Learning (campagn able
Zoho analytique intégré es ciblées) Facile à Moins
CRM configurer performant
Analyt , intégré sur gros
ics CRM volumes
HubS pot CRM + Règles métiers Oui Facile Moins
Servic e scoring de + d’accès pour Puissant sur la
Hub clients IA basique Freem PME data
ium /
Payan
t
Predic Machine Oui Dispar u Historique N'existe plus
tive.io Marketing Learning (à rempl intéressan
(ancie n) prédictif acer) t
et
scoring de
churn
2.2.3 Partie 2 : Comparatif des approches algorithmiques
Critère XGBoost Deep Learning
Random Logistic
Forest Regression
85% 88-90% 75-80% 90%+
Précision moyenne
Interprétabilit é Moyenne Moyenne Excellente Faible
Rapide Moyen Très rapide Long
Temps
d’entraînemen
t
Moyen Moyen à élevé Élevé
Besoin en Faible à
données moyen
Toutes
Gestion des Catégorielles & Catégorielles & Variables
variables numériques numériques linéaires
Résistance au Bonne Très bonne Moyenne Moyenne (si pas
surapprentiss age bien régulé)
Cas idéal Datasets Datasets Cas simples et Gros volumes,
moyens, non complexes et interprétable s détection patterns
linéaires volumineux
Notre valeur ajoutée :
• Combinaison de plusieurs modèles (Stacking) pour une meilleure
généralisation.
• Interface Streamlit permettant une interaction sans code pour les équipes
marketing.
• Validation temporelle (TimeSeriesSplit) pour éviter les fuites de données
et simuler des conditions réelles.
2.3 Analyse des besoins :
2.3.1 Spécification des besoins :
Afin de réaliser notre projet ; il est impératif d’expliciter les différents besoins
fonctionnels et techniques, comme il suit :
2.3.1.1 Besoins fonctionnels
1.Gestion des utilisateurs
a. Authentification et gestion des droits d’accès (admin, analyste,
marketeur).
b. Création et gestion des profils utilisateurs.
2. Importation et gestion des données
a. Importation des fichiers clients et transactions au format
CSV/Excel.
b. Visualisation et consultation des données dans des tableaux.
c. Nettoyage et préparation des données intégrés (gestion des valeurs
manquantes, doublons).
3. Modélisation et prédiction
a. Entraînement de modèles de machine learning.
b. Possibilité de tester plusieurs algorithmes et de comparer leurs
performances.
c. Prédiction du churn pour les clients actifs.
d. Affichage de la probabilité de churn par client.
4. Segmentation des clients
a. Catégorisation automatique des clients : à risque élevé, moyen,
faible.
b. Visualisation graphique des segments (diagramme, heatmap…).
5. Recommandation marketing
a. Génération de recommandations marketing personnalisées en
fonction du segment client.
b. Possibilité de définir des scénarios marketing selon le niveau de
risque.
6. Suivi des campagnes
a. Enregistrement des campagnes lancées.
b. Suivi des actions marketing par client (offres envoyées, retours,
conversions).
7. Analyse et reporting
a. Génération de rapports statistiques (taux de churn, performance des
campagnes).
b. Affichages de Dashboard personnalisables avec des indicateurs
clés.
c. Exportation des rapports en PDF ou Excel.
8. Alertes et notifications
a. Notification automatique des marketeurs pour les clients à risque
élevé.
b. Système d’alertes paramétrables selon les seuils de churn définis.
9.
10. 2.3.1.2 Besoins non fonctionnels (détaillés)
11. Performance
a. Prédictions réalisées en moins de 3 secondes par client pour des
bases jusqu’à 100 000 clients.
b. Rapports générés en moins de 5 secondes.
12. Sécurité
a. Authentification forte (login/mot de passe et éventuellement double
facteur).
b. Chiffrement des données sensibles (nom, email, transactions).
c. Gestion des logs d’activité des utilisateurs.
13. Scalabilité
a. Capacité à gérer l’évolution du nombre d’utilisateurs et du volume
de données sans perte de performance.
b. Possibilité d’ajouter de nouvelles sources de données ou variables
explicatives.
14. Disponibilité
a. Application disponible 24h/24 et 7j/7.
b. Taux de disponibilité supérieur à 99%.
15. Accessibilité et ergonomie
a. Interface responsive (web et mobile).
b. Design simple, intuitif et adapté aux usages professionnels.
c. Navigation fluide avec menus clairs et pages de consultation
rapides.
16. Facilité d’intégration
a. Intégration possible avec le CRM existant et d’autres outils
marketing.
b. API pour automatiser l’import/export de données.
17. Maintenabilité
a. Documentation technique et utilisateur.
b. Facilité d’évolution pour ajouter de nouveaux modules
(ex :
module de satisfaction client futur).
18. Conformité
a. Respect des normes de protection des données personnelles (ex :
RGPD pour les données clients en Europe).
2.3.2 Cas d’utilisations :
. Acteurs :
• Utilisateur Administrateur : Personne qui a accès à toutes les
fonctionnalités du système, comme la gestion des utilisateurs et des
paramètres.
• Marketeur : Utilisateur chargé de la gestion des campagnes marketing, qui
consulte les prédictions de churn et ajuste les actions marketing.
• Système : Le système de prédiction et d’ajustement marketing.
2. Cas d’utilisation principaux :
Voici les principaux cas d’utilisation pour ton projet, détaillés avec leurs
objectifs, préconditions et scénarios.
2.3.2.1 Cas d'utilisation 1 : Prédire le churn des clients
Acteur principal : Marketeur
• Objectif : Prédire la probabilité de churn pour chaque client de
l'entreprise.
• Préconditions :
o Le système doit être connecté à la base de données clients et aux
historiques transactionnels.
o Le modèle de prédiction du churn est déjà formé et prêt à l’emploi.
Scénario principal : o Le marketeur se connecte à l’application.
o Il accède à l'onglet Prédiction du churn.
o Le système analyse les données historiques des clients
(Transactions, interactions, comportement) et génère une
probabilité de churn pour chaque client.
o
Le marketeur consulte la liste des clients et leurs probabilités de
churn.
o Le marketeur peut filtrer les clients en fonction du niveau de
risque (faible, moyen, élevé).
Scénarios alternatifs :
o Si des données sont manquantes pour certains clients, un
message d'erreur s'affiche, indiquant que le churn ne peut
pas être prédit pour ces clients.
o Si le modèle de churn est obsolète, le système invite
l'administrateur à réentraîner le modèle avec de nouvelles
données.
2.3.2.2 Cas d'utilisation 2 : Proposer des actions marketing personnalisées
Acteur principal : Marketeur
• Objectif : Générer des actions marketing adaptées aux clients à risque
de churn.
• Préconditions :
o Le système a déjà prédit le churn pour tous les clients.
o Des scénarios marketing sont préalablement définis dans le
système.
Scénario principal :
o Le marketeur consulte la liste des clients à risque de churn, obtenue
à partir de la prédiction du churn.
o Le marketeur sélectionne un client à risque élevé.
o Le système génère automatiquement une action marketing (offre
spéciale, réduction, campagne personnalisée) pour le client à risque
élevé.
o Le marketeur valide ou ajuste l'action marketing proposée. o
L’action marketing est envoyée au client via les canaux appropriés
(email, SMS, notification push, etc.).
Scénarios alternatifs :
o
o Si aucun scénario marketing n'est défini pour ce type de client, le
système propose une action générique.
Si le client a déjà reçu une action marketing similaire récemment,
une alerte informe le marketeur.
2.3.2.3 Cas d'utilisation 3 : Suivre l'impact des actions marketing
Acteur principal : Marketeur
• Objectif : Suivre les résultats des actions marketing sur le churn.
• Préconditions :
o Les actions marketing ont été lancées et les retours clients sont
collectés.
Scénario principal :
o Le marketeur accède à l'onglet Suivi des actions marketing.
o Le système affiche un tableau de bord montrant les résultats des
campagnes (taux de conversion, impact sur la réduction du churn).
o Le marketeur consulte les métriques clés : réduction du taux de
churn, nombre de clients réengagés, retours des clients, etc.
o Le marketeur ajuste la stratégie marketing en fonction des résultats
obtenus.
Scénarios alternatifs :
o Si aucune donnée n'est disponible pour une campagne particulière,
un message informe le marketeur que les données de suivi sont
insuffisantes pour une analyse.
2.3.2.4 Cas d'utilisation 4 : Gérer les utilisateurs (Admin)
Acteur principal : Administrateur
• Objectif : Gérer les comptes utilisateurs (marketeurs, analystes, etc.) et
leurs autorisations.
• Préconditions : o L'administrateur doit être authentifié et avoir les
droits nécessaires.
Scénario principal :
o
o L’administrateur accède à l’interface d’administration.
L’administrateur crée un nouveau compte utilisateur (marketeur,
analyste, etc.). o L’administrateur attribue des rôles et des
permissions spécifiques pour chaque utilisateur.
o L’administrateur peut également supprimer ou modifier les
informations des utilisateurs existants.
Scénarios alternatifs :
o Si l’administrateur tente de créer un utilisateur avec un email déjà
existant, un message d’erreur apparaît.
2.4 Conclusion
Ce chapitre a permis d’établir une fondation théorique et pratique pour la
prédiction du churn, en analysant les approches classiques
(Régression logistique, arbres de décision) et modernes (Random Forest,
XGBoost, Deep Learning), ainsi que leurs avantages et limites. Les techniques
d’assemblage (bagging, boosting, stacking) se sont révélées essentielles pour
améliorer la robustesse des modèles, tandis que les méthodes d’évaluation
(F1score, AUC-ROC) ont été sélectionnées pour garantir des résultats fiables
malgré le déséquilibre des classes.
L’étude comparative des solutions existantes a mis en évidence des lacunes
(coût, interprétabilité, scalabilité), justifiant notre proposition de solution
hybride, combinant performance algorithmique et accessibilité via une interface
intuitive (Streamlit). Les besoins fonctionnels et techniques identifiés (gestion
des données, modélisation, personnalisation marketing) ont été traduits en cas
d’utilisation concrets, alignant la technique avec les attentes métiers. En
synthèse, cette analyse confirme la faisabilité du projet et son potentiel impact
pour les entreprises, en offrant un outil prédictif précis, interprétable et intégré
aux workflows marketing. Le prochain chapitre détaillera la mise en œuvre
technique, incluant le prétraitement des données, l’entraînement des modèles et
le déploiement de l’application.
o
Chapitre 3 : Environnement
3.1Outils et environnement
Dans ce chapitre, nous allons aborder les outils et
différentes technologiques utilises dans notre solution.
Pour s’assurer de la force et la fiabilité de notre solution le
choix des solutions a été une étape très importante.
3.1 outils
3.1.1 langage utilises
3.1.1.1 python
Figure 2 Logo de python
i
Python est aujourd’hui l’un des langages de programmation les plus populaires et les plus
utilisés dans le monde. Conçu à la fin des années 1980 par Guido van Rossum, Python se
distingue par sa simplicité, sa lisibilité et sa polyvalence, ce qui en fait un choix privilégié pour
les débutants comme pour les professionnels.
L’une des forces de Python réside dans sa syntaxe claire et intuitive, qui favorise une approche
accessible de la programmation. Contrairement à d’autres langages plus complexes, Python
permet de se concentrer sur la logique du code plutôt que sur des détails techniques superflus.
Cette caractéristique en fait un outil idéal pour l’apprentissage de la programmation, mais
aussi pour le développement rapide d’applications.
Python est un langage interprété, ce qui signifie qu’il ne nécessite pas de compilation avant
son exécution. Cette particularité permet une grande flexibilité et facilite les tests et les
modifications en temps réel. Bien qu’il puisse être moins performant que des langages
compilés comme le C ou le C++, son efficacité et sa rapidité de développement compensent
largement ce léger inconvénient dans la plupart des cas d’utilisation courante.
L’un des atouts majeurs de Python est son écosystème extrêmement riche. Grâce à une vaste
bibliothèque standard et à des milliers de modules externes, Python couvre un large éventail de
domaines d’application. En développement web, des frameworks comme Django et Flask
permettent de créer des sites et des API robustes et évolutifs. Dans le domaine de la data
science et de l’intelligence artificielle, des bibliothèques telles que NumPy, Pandas,
TensorFlow et scikit-learn en font un outil incontournable pour l’analyse de données et le
machine Learning. Python est également utilisé en automatisation, en cybersécurité, et même
dans la création de jeux vidéo.
La communauté Python est l’une des plus actives et des plus solidaires du monde du
développement. Cette dynamique contribue à une documentation abondante, à des mises à jour
régulières et à une multitude de ressources gratuites, facilitant ainsi l’apprentissage et la
résolution des problèmes rencontrés par les développeurs.
En conclusion, Python est bien plus qu’un simple langage de programmation : c’est un outil
puissant, adaptable et soutenu par une communauté mondiale. Que ce soit pour des projets
personnels, académiques ou professionnels, Python offre des solutions efficaces et accessibles,
ce qui explique son succès croissant et sa place prépondérante dans le paysage technologique
actuel.
3.1.2 IDE
Figure 3 Logo de vscode
3.1.2.1 Visual Studio Code : Un Éditeur de Code Moderne et Polyvalent
Visual Studio Code (VSCode) est un éditeur de code source développé par
Microsoft, devenu en quelques années l'un des outils les plus populaires parmi
les développeurs. Gratuit, open source et multiplateforme, VSCode se distingue
par sa légèreté, sa personnalisation avancée et son écosystème d'extensions riche,
en faisant un choix privilégié pour des projets de toutes tailles et dans de
nombreux langages de programmation, dont Python.
Une Expérience de Développement Optimisée
VSCode offre une interface intuitive et moderne, conçue pour améliorer la
productivité. Son système d'onglets, sa barre latérale modulable et ses thèmes
personnalisables permettent à chaque développeur d'adapter l'environnement à ses
préférences. Contrairement à des environnements de développement intégrés
(IDE) plus lourds, VSCode allie performance et simplicité, tout en restant
extrêmement réactif, même sur des machines peu puissantes.
L'une des grandes forces de VS Code réside dans sa marketplace d'extensions, qui
étend ses fonctionnalités de base. Que ce soit pour le développement web,
l'analyse de données, la programmation système ou le DevOps, des milliers
d'extensions sont disponibles pour répondre à des besoins spécifiques. Pour
Python, par exemple, des outils comme l'extension officielle Python, Pylance ou
Jupyter permettent une autocomplétion intelligente, un débogage avancé et une
exécution simplifiée de notebooks.
VSCode intègre nativement des outils qui en font bien plus qu'un simple éditeur de
texte. Parmi eux :
• Un terminal intégré, évitant de jongler entre plusieurs fenêtres.
• Un débogueur puissant, avec points d'arrêt et inspection des variables.
• Une intégration Git fluide, pour gérer les dépôts et les commits directement
depuis l'interface.
• La prise en charge des environnements virtuels, essentielle pour un
développement Python organisé.
VSCode facilite également le travail collaboratif grâce à des fonctionnalités
comme Live Share, qui permet à plusieurs développeurs de coder ensemble en
temps réel, quel que soit leur emplacement géographique. De plus, sa compatibilité
avec des outils comme Docker, des linters (pour la vérification du code) et des
formateurs automatiques (comme Black ou Prettier) en fait un environnement
complet, adaptable à presque tous les workflows.
Que vous soyez débutant ou développeur expérimenté, VSCode offre un
équilibre parfait entre accessibilité et fonctionnalités avancées. Son approche
modulaire permet de l'utiliser aussi bien pour de petits scripts que pour des
projets complexes, sans sacrifier la rapidité ou l'efficacité. Avec une communauté
active et des mises à jour régulières, VSCode reste à la pointe de l'innovation, en
faisant bien plus qu'un éditeur : un véritable compagnon de développement.
En résumé, Visual Studio Code représente aujourd'hui une référence
incontournable dans le monde du développement, alliant légèreté, polyvalence et
puissance, le tout dans un outil gratuit et ouvert à tous.
3.2 Outils de bibliothèque :
3.2.1 Pandas
Figure 4 Logo de Pandas
Pandas est la bibliothèque incontournable pour la manipulation et l'analyse de
données en Python. Avec ses structures phares que sont les Data Frames et les
Séries, Pandas permet de nettoyer, transformer et explorer des jeux de données
de manière intuitive et efficace. Que ce soit pour agréger des données, gérer les
valeurs manquantes ou fusionner des tables, Pandas offre une syntaxe claire et
des performances optimisées, en faisant l'outil de prédilection des data scientistes
et analystes.
Pandas s'est imposé comme la bibliothèque incontournable pour tout travail
d'analyse et de manipulation de données en Python. Fondée en 2008 par Wes
McKinney, cette bibliothèque open source a révolutionné la façon dont les data
scientistes et analystes interagissent avec les données tabulaires. En entreprise,
Pandas est utilisé pour :
• L'analyse financière et risque crédit
• Le traitement de logs et données utilisateurs
• La préparation de datasets pour le ML
• L'automatisation de rapports business
• La manipulation de séries temporelles complexes
Avec plus de 10 millions de téléchargements mensuels sur PyPI, Pandas reste la
pierre angulaire de l'écosystème data Python, combinant productivité des
développeurs et performances d'exécution. Sa maturité et sa stabilité en font un
outil essentiel pour tout professionnel travaillant avec des données.
3.2.2 Numpy
Figure 5 Logo Numpy
NumPy est une bibliothèque incontournable du langage Python, largement utilisée
pour le calcul numérique. Elle a été créée afin de faciliter le travail avec des
tableaux multidimensionnels et de proposer des fonctions mathématiques rapides
et efficaces. Grâce à ses performances optimisées, elle est devenue un outil
essentiel pour les scientifiques, les ingénieurs et les spécialistes de la donnée.
Ce module permet de manipuler des structures de données appelées "tableaux" ou
"arrays". Ces structures sont beaucoup plus légères et rapides que les listes
classiques de Python. NumPy offre également une vaste collection de fonctions
mathématiques prêtes à l’emploi. On peut ainsi effectuer des calculs statistiques,
des opérations sur des matrices ou encore des transformations mathématiques
complexes.
Un des grands avantages de NumPy réside dans sa capacité à gérer de grands
volumes de données numériques. Les tableaux qu'elle propose peuvent être de
plusieurs dimensions, ce qui est très pratique dans des domaines comme
l'intelligence artificielle ou le traitement d’images. De plus, NumPy est souvent
utilisé avec d’autres bibliothèques célèbres comme Pandas, SciPy ou Matplotlib.
Son efficacité repose aussi sur sa compatibilité avec les bibliothèques écrites en
C, ce qui accélère les calculs. NumPy simplifie également la gestion des données
grâce à des fonctions de manipulation et de transformation très puissantes.
Aujourd’hui, elle est enseignée dans la plupart des formations en data science et
en informatique scientifique.
En résumé, NumPy est un outil incontournable dès qu’il s’agit de calcul
numérique sous Python. Elle offre rapidité, simplicité et performance pour
manipuler et analyser des données numériques. Grâce à elle, de nombreuses tâches
complexes deviennent accessibles et plus lisibles. C’est donc une alliée précieuse
pour tout développeur ou analyste souhaitant travailler efficacement avec des
données.
Ce module permet de manipuler des structures de données appelées "tableaux" ou
"arrays". Ces structures sont beaucoup plus légères et rapides que les listes
classiques de Python. NumPy offre également une vaste collection de fonctions
mathématiques prêtes à l’emploi. On peut ainsi effectuer des calculs statistiques,
des opérations sur des matrices ou encore des transformations mathématiques
complexes.
Un des grands avantages de NumPy réside dans sa capacité à gérer de grands
volumes de données numériques. Les tableaux qu'elle propose peuvent être de
plusieurs dimensions, ce qui est très pratique dans des domaines comme
l'intelligence artificielle ou le traitement d’images. De plus, NumPy est souvent
utilisé avec d’autres bibliothèques célèbres comme Pandas, SciPy ou Matplotlib.
Son efficacité repose aussi sur sa compatibilité avec les bibliothèques écrites en
C, ce qui accélère les calculs. NumPy simplifie également la gestion des données
grâce à des fonctions de manipulation et de transformation très puissantes.
Aujourd’hui, elle est enseignée dans la plupart des formations en data science et
en informatique scientifique.
En résumé, NumPy est un outil incontournable dès qu’il s’agit de calcul
numérique sous Python. Elle offre rapidité, simplicité et performance pour
manipuler et analyser des données numériques. Grâce à elle, de nombreuses tâches
complexes deviennent accessibles et plus lisibles.
C’est donc une alliée précieuse pour tout développeur ou analyste souhaitant
travailler efficacement avec des données.
3.2.3 Scikit-learn
Figure 6 Logo de Scikit-learrn
Scikit-learn est une bibliothèque Python spécialisée dans le domaine du machine
Learning. Elle a été conçue pour offrir des outils simples et efficaces afin de
créer et d’expérimenter des modèles d’apprentissage automatique. Très prisée par
les data scientistes et les chercheurs, elle fait aujourd’hui partie des références
incontournables dans ce domaine.
Cette bibliothèque permet de réaliser plusieurs types d’analyses prédictives,
comme la classification, la régression et le regroupement de données. Elle
propose une large gamme d’algorithmes standard, faciles à utiliser et bien
documentés. Grâce à sa structure claire et accessible, Scikit-learn s’adresse autant
aux débutants qu’aux utilisateurs expérimentés.
Scikit-learn se base sur d’autres bibliothèques comme NumPy, SciPy et
Matplotlib pour le traitement et la visualisation des données. Elle facilite ainsi
l’enchaînement des étapes d’un projet de machine Learning : depuis la préparation
des données jusqu’à l’évaluation du modèle. On peut facilement comparer
différents algorithmes pour trouver celui qui donne les meilleurs résultats.
Un autre avantage de Scikit-learn est sa grande communauté active qui contribue
régulièrement à son amélioration. Elle est largement utilisée dans les projets de
reconnaissance d’image, de traitement du langage naturel et d’analyse
prédictive. Son interface cohérente permet d’essayer plusieurs techniques avec
peu de modifications dans le code.
En résumé, Scikit-learn est un outil puissant et convivial pour ceux qui souhaitent
se lancer dans le machine Learning en Python. Elle simplifie l’application des
méthodes d’intelligence artificielle et permet de prototyper rapidement des
modèles fiables et performants. Grâce à elle, l’apprentissage automatique devient
plus accessible et plus intuitif.
3.2.4 XGBoost
Figure 7 Logo de Xgboost
XGBoost est une bibliothèque très puissante utilisée en machine Learning,
principalement pour les tâches de classification et de régression. Son nom signifie
“Extreme Gradient Boosting”, car elle repose sur une technique d'optimisation
appelée gradient boosting, mais avec des améliorations qui la rendent plus rapide
et plus performante. Aujourd’hui, elle est considérée comme l’un des outils les
plus efficaces pour les compétitions et projets de data science. Ce qui rend
XGBoost spécial, c’est sa capacité à gérer de grands ensembles de données avec
rapidité tout en maintenant une excellente précision. Elle a été pensée pour
optimiser l'utilisation des ressources et accélérer les calculs grâce à des
techniques comme le traitement parallèle et la gestion intelligente de la mémoire.
Elle offre aussi des options avancées pour éviter le surapprentissage, un problème
fréquent en machine learning.
XGBoost est compatible avec plusieurs langages de programmation dont
Python, R et Julia, ce qui la rend accessible à un large public. Elle est souvent
utilisée dans les compétitions Kaggle où les meilleurs modèles sont
fréquemment basés sur cette bibliothèque. De nombreuses entreprises et
laboratoires de recherche font également confiance à XGBoost pour leurs projets
d’analyse prédictive.
Elle permet de gérer facilement les valeurs manquantes et offre des outils pour
évaluer la performance des modèles de manière précise. Son approche par arbres
de décision successifs améliore progressivement les résultats en corrigeant les
erreurs des modèles précédents. Cela permet d’obtenir des prédictions plus fiables
et cohérentes.
En résumé, XGBoost est une bibliothèque incontournable pour tous ceux qui
souhaitent développer des modèles de machine Learning performants. Elle
combine vitesse, précision et souplesse, ce qui en fait un outil très apprécié dans le
monde de la data science et de l’intelligence artificielle.
3.2.5 LightGBM
Figure 8 Logo de LightGbm
LightGBM est une bibliothèque de machine Learning spécialisée dans les modèles de gradient
boosting, comme XGBoost, mais conçue pour être encore plus rapide et efficace sur de gros
volumes de données. Développée par Microsoft, elle s'est rapidement imposée comme une
référence dans le domaine de l’apprentissage automatique. Elle est particulièrement appréciée
pour sa capacité à gérer des datasets volumineux tout en réduisant le temps de calcul.
Contrairement aux méthodes traditionnelles, LightGBM construit ses arbres de décision de
manière innovante. Au lieu de croître en largeur comme les autres algorithmes, elle privilégie
la croissance par feuilles, ce qui permet d'améliorer la précision du modèle tout en accélérant
l’entraînement. Cette approche réduit aussi l'utilisation de mémoire, un atout majeur pour les
projets complexes.
LightGBM est compatible avec Python, R et C++, et peut s’intégrer facilement avec des
bibliothèques comme Scikit-learn. Elle est idéale pour des tâches de classification, régression,
et même classement de données. En plus de ses performances élevées, elle propose des options
avancées pour ajuster le modèle et éviter les problèmes de surapprentissage.
Elle gère également très bien les valeurs manquantes et supporte le traitement parallèle, ce qui
réduit considérablement les temps d'exécution sur des serveurs ou des machines multicœurs.
C'est pourquoi LightGBM est souvent utilisée dans les compétitions de data science et les
projets en entreprise où la rapidité et la précision sont essentielles.
En résumé, LightGBM est une solution performante et flexible pour développer des modèles
prédictifs puissants. Elle offre aux data scientistes un outil fiable pour travailler efficacement
avec des bases de données volumineuses et complexes.
3.2.6 Faker
Figure 9 Logo de Faker
Faker est une bibliothèque Python très pratique utilisée pour générer de fausses
données réalistes. Elle est souvent employée par les développeurs et les data
scientistes pour créer des jeux de données factices lorsqu’aucune donnée réelle
n’est disponible ou lorsqu’on souhaite effectuer des tests sans compromettre des
informations sensibles. Grâce à elle, il est possible de produire des données variées
et crédibles en quelques secondes.
Cette bibliothèque peut générer des noms, adresses, numéros de téléphone,
emails, dates, et même des profils complets ou des textes aléatoires. Faker est
également capable de créer des données localisées en fonction de la langue ou du
pays choisi, ce qui permet de produire des informations adaptées à différents
contextes culturels. Cette fonctionnalité est particulièrement utile pour tester des
applications destinées à un public international.
Faker est compatible avec plusieurs langages et formats, ce qui en fait un outil
souple et facile à intégrer dans divers projets. Elle est souvent utilisée pour
alimenter des bases de données de test, créer des scénarios de simulation ou
vérifier le comportement d’une application face à de grandes quantités de données.
Un autre avantage de Faker est sa simplicité d’utilisation. Elle permet de
personnaliser les types de données générées en fonction des besoins du projet. Que
ce soit pour tester un site web, un algorithme de tri ou une application mobile,
Faker permet de fournir rapidement des données crédibles et structurées.
En résumé, Faker est un outil pratique et indispensable pour simuler des données
sans risques. Elle facilite les phases de test et de développement, tout en permettant
de travailler avec des données réalistes et variées. C’est une solution idéale pour
créer des environnements de test sûrs et efficaces.
3.2.7 Alibi-Detect
Figure 10 Logo de Alibit
Alibi-Detect est une bibliothèque Python spécialisée dans la détection
d’anomalies et l’explicabilité des modèles de machine Learning. Elle est conçue
pour aider à surveiller le comportement des modèles en production et à repérer les
cas où les données d'entrée ou les prédictions sortent de la norme attendue. Cette
capacité est essentielle dans les systèmes d’intelligence artificielle où la fiabilité
et la transparence sont cruciales.
Développée par la société Seldon, Alibi-Detect propose des outils pour détecter
les dérives de données, les outliers (valeurs aberrantes), ou encore les adversarial
attacks (attaques malveillantes destinées à tromper un modèle). Elle est
particulièrement utile dans des contextes où les données évoluent dans le temps
et peuvent compromettre la qualité des prédictions si on ne les surveille pas.
La bibliothèque repose sur des techniques statistiques, des méthodes
d’apprentissage automatique non supervisé et même des approches basées sur
des réseaux neuronaux. Elle offre une large variété d’algorithmes adaptés à
différents types de données : numériques, images, textes, etc. Cela en fait un outil
polyvalent et adaptable à de nombreux projets.
Un autre atout d’Alibi-Detect est sa capacité à s’intégrer facilement dans des
pipelines de machine learning, notamment dans des environnements de production
utilisant Kubernetes ou des plateformes de déploiement de modèles comme
Seldon Core.
En résumé, Alibi-Detect est une bibliothèque puissante pour garantir la robustesse,
la sécurité et l’intégrité des systèmes d’intelligence artificielle en production. Elle
aide les équipes à détecter rapidement les anomalies et à maintenir la qualité des
modèles face aux changements du monde réel.
3.3 Conclusion
En conclusion voici les explications des choix technologiques que j’ai eu à faire et
une brève documentation sur chacun d’eux pour plus compréhension de
l'application et de ses différents outils que l’on a eu à utiliser au cours de cette
démarche.
Chapitre 4 : Réalisation
4.1 Réalisation de l’application
Dans ce chapitre, nous allons présenter la phase de
réalisation qui permettra de concrétiser l’architecture et
solution exposée lors des chapitres précédents. Nous
commencerons par le processus de production du churn en
passant par l'ajustement du marketing nécessaire jusqu’à la
simulation du marketing.
4.1.1 Processus de Prédiction du Churn
Cette section présente le fonctionnement interne de l’application de prédiction du
churn développée dans le cadre de ce projet. Elle détaille les différentes étapes
qui permettent de passer des données brutes à une prédiction précise et
explicable du risque de churn client.
4.1.1.1 Chargement et préparation des données
L’application commence par le chargement d’un jeu de données clients simulés ou
provenant d’une source réelle. Ces données contiennent des informations variées
sur le comportement d’achat et d’interaction des clients avec la marque, telles que
:
• Le nombre total de commandes passées,
• Le montant total dépensé depuis l’inscription,
• Le taux de retour des articles commandés,
• Le nombre de pages vues et le temps passé sur le site,
• Le nombre d’emails marketing ouverts,
• Ainsi que des données démographiques et comportementales comme la
catégorie de produit favorite ou la couleur préférée.
Afin de rendre ces données exploitables pour les algorithmes de machine learning,
un travail de feature engineering avancé est ensuite réalisé. La fonction
advanced_feature_engineering() se charge de créer de nouvelles variables
synthétiques issues des données initiales. Parmi celles-ci :
• Purchase frequency : fréquence moyenne des achats depuis l’inscription.
• Average order value : montant moyen dépensé par commande.
• Engagement score : indicateur composite basé sur le temps passé sur le site,
le nombre de pages vues et les interactions avec les emails.
• Is holiday season : indicateur signalant si le dernier achat s’est effectué
pendant une période promotionnelle (fêtes de fin d’année).
Value to return ratio : ratio entre la valeur d’achat et le taux de retour.
Ces variables supplémentaires permettent d’enrichir la base et d’apporter des
dimensions comportementales et temporelles que le modèle peut exploiter
pour affiner ses prédictions.
4.1.1.2 Modélisation et prédiction
La prédiction du churn repose sur un modèle d’apprentissage supervisé par
stacking. Cette approche consiste à combiner plusieurs modèles de machine
learning dans le but de maximiser les performances globales.
Trois modèles de base ont été sélectionnés :
• XGBoost : reconnu pour son efficacité en classification binaire.
• LightGBM : performant et rapide sur les datasets de grande taille.
• SVM calibré : adapté aux petits jeux de données et aux
distributions complexes.
Ces modèles sont ensuite empilés (stackés) et leurs prédictions sont agrégées
via un modèle final de régression logistique. Le tout est validé à l’aide d’une
validation croisée temporelle pour éviter les biais liés à l’ordre chronologique
des transactions.
À l’issue de l’entraînement, le modèle prédit pour chaque client :
• Une probabilité de churn comprise entre 0 et 1.
• Une classe finale (churn ou non churn) à partir d’un seuil
prédéfini.
Ces prédictions sont stockées et intégrées dans l’interface Streamlit sous forme
de tableaux, graphiques et indicateurs.
4.1.1.3 Explicabilité des décisions
L’application intègre un module d’explicabilité basé sur la bibliothèque SHAP.
Celui-ci permet :
De visualiser l’importance globale des variables dans le modèle.
• D’expliquer, pour chaque client, quels facteurs ont contribué à
augmenter ou diminuer sa probabilité de churn.
Grâce à cela, les équipes marketing peuvent comprendre non seulement qui
risque de partir, mais surtout pourquoi et ainsi adapter les actions en
conséquence.
4.1.2 Processus d’Ajustement
Marketing
L’objectif de cette partie de l’application est de transformer les prédictions de
churn en décisions marketing concrètes et personnalisées. Il s’agit de tirer parti
des informations issues de la modélisation pour optimiser les actions de
fidélisation et minimiser les départs de clients.
4.1.2.1 Analyse individualisée
Dans l’onglet Analyse Client, l’utilisateur peut sélectionner un client
spécifique et consulter un tableau de bord individualisé :
• La probabilité de churn associée à ce client,
• Son nombre de commandes,
• Son montant total dépensé,
• Son taux de retour,
• Et d’autres informations comportementales et transactionnelles.
En complément, une recommandation marketing automatisée est générée
pour chaque client à partir de règles métier définies selon son profil. Par
exemple :
• Si le client est à fort risque mais fidèle avec un historique d’achats
élevé, une offre de remise personnalisée sera proposée.
Si le client interagit peu avec les emails mais dépense beaucoup,
une relance via SMS ou notification push pourra être envisagée.
• Si le risque est faible, aucune action n’est recommandée. Cette
partie permet ainsi d’assurer une prise de décision personnalisée et
efficace, en alignant les ressources marketing sur les besoins réels.
4.1.2.2 Apprentissage actif
Pour améliorer la précision du modèle et affiner la stratégie marketing,
l’application intègre un module d’apprentissage actif. Celui-ci cible les cas où
le modèle est incertain (probabilité de churn proche de 0.5).
Ces clients sont identifiés et affichés dans l’interface. L’utilisateur peut alors :
• Examiner leur profil détaillé,
• Et leur attribuer manuellement une étiquette de churn ou non churn
en fonction d’informations externes ou d’intuitions métier.
Le modèle est ensuite mis à jour instantanément avec ces nouvelles étiquettes,
ce qui permet d’améliorer progressivement sa performance et sa fiabilité sur
les cas limites.
4.1.3 Simulation Marketing
Le module de simulation marketing offre la possibilité de tester virtuellement
l’impact de différentes actions commerciales avant leur mise en œuvre.
4.1.3.1 Objectif de la simulation
Dans un contexte concurrentiel où la fidélisation client est stratégique, il est
essentiel de pouvoir anticiper les effets des décisions marketing sur la rétention
et la rentabilité.
Cette fonctionnalité permet ainsi :
• De cibler un sous-groupe de clients à haut risque,
• De simuler l’application d’une action marketing hypothétique
(offre spéciale, relance, bon d’achat…),
• Et de visualiser l’impact attendu sur leurs probabilités de churn et
d’achat.
4.1.3.2 Fonctionnement du module
L’utilisateur sélectionne d’abord un ou plusieurs segments de clients en
fonction de critères définis :
• Niveau de risque de churn,
• Historique d’achat,
• Catégorie de produit préférée.
Ensuite, une ou plusieurs actions marketing hypothétiques peuvent être
simulées. Le système prédit alors comment ces actions influencerait les
probabilités de churn et d’achat de ces clients.
Les résultats sont restitués sous forme :
• De graphiques comparatifs (avant/après action),
• De tableaux de synthèse,
• Et d’indicateurs de performance (chiffre d’affaires potentiel, taux
de conversion attendu).
Ce module aide à prioriser les actions les plus rentables et à optimiser
les budgets marketing.
4.2 Conclusion
Ce chapitre a permis de détailler la réalisation de l’application de prédiction et
d’ajustement marketing développée dans le cadre de ce projet.
Nous avons d’abord présenté le processus complet de prédiction du churn,
depuis la préparation des données jusqu’à l’obtention de prédictions précises
et explicables.
Puis, nous avons décrit le processus d’ajustement marketing automatisé,
intégrant une logique de recommandations et un apprentissage actif pour
les cas incertains.
Ensuite, nous avons abordé la simulation marketing, outil essentiel pour
anticiper les effets des décisions commerciales avant leur déploiement
opérationnel.
L’ensemble de ces fonctionnalités contribue à fournir aux décideurs marketing
:
• Des analyses prédictives fiables et compréhensibles,
• Des recommandations personnalisées,
Et des outils d’aide à la décision basés sur des données objectives et
dynamiques.
Ce projet illustre ainsi l’apport concret des techniques de data science et
d’apprentissage automatique dans la gestion de la fidélisation et l’optimisation
des campagnes marketing.
Conclusion générale
Ce projet de fin d’études a permis de concevoir et de développer une
solution complète de prédiction du churn et d’ajustement marketing pour
une entreprise en ligne. Dans un contexte économique où la fidélisation
des clients est devenue un enjeu crucial, la mise en place d’un outil
capable d’anticiper les départs potentiels permet d’adopter une stratégie
proactive et personnalisée.
Grâce à l’utilisation de techniques avancées de machine learning
(XGBoost, LightGBM, SVM) combinées dans un modèle de stacking,
l’application offre des prédictions fiables et exploitables. L’intégration
d’outils tels que SHAP pour l’explicabilité et Alibi-Detect pour la
détection de dérive renforce la robustesse et la transparence du système.
Le tout est rendu accessible via une interface intuitive développée avec
Streamlit, facilitant ainsi son adoption par les équipes marketing sans
compétences techniques avancées.
Cette réalisation met en lumière la valeur ajoutée des approches data-driven dans la gestion
de la relation client. Elle ouvre également la voie à des perspectives d’amélioration, telles
que l’intégration de feedback utilisateur, l’exploitation de données non structurées, ou
encore l’optimisation continue des campagnes marketing par apprentissage actif. En
somme, ce travail démontre comment la data science peut transformer les pratiques
marketing en les rendant plus intelligentes, ciblées et efficaces.
Bibliographie
1. https://machinelearningmastery.com/imbalanced-classification-with-
python/
2 . https://link.springer.com/book/10.1007/978-0-387-84858-7
3
https://papers.nips.cc/paper_files/paper/2017/hash/8a20a8621978632d76c43df
d28b67767-Abstract.html
4 https://docs.python.org/3/
5 Streamlit Inc. (2024). Streamlit Documentation. https://docs.streamlit.io/
6 Microsoft. (2024). LightGBM Documentation. https://lightgbm.readthedocs.io/
7 Alibi Detect Documentation. (2024). https://docs.seldon.io/projects/alibi-detect/
8 https://www.researchgate.net/publication/51969319_Scikit-
learn_Machine_Learning_in_Python
Webographie
[1] pandas - PythonData
Analysis Library
[2] NumPy
[3] Project Jupyter |
Home
[4] alibi-detect·PyPI
[5] XGBoost Documentation — xgboost 3.0.2 documentation [6] Welcome to
LightGBM’s documentation! — LightGBM 4.6.0.99 documentation [7]
Scikit-learn SVM
Tutorial with Python
(Support Vector
Machines) | DataCamp