Académique Documents
Professionnel Documents
Culture Documents
Option
Business Intelligence
Sujet
A ma famille dont le soutien et les prières n’ont jamais cessé durant toutes mes
années d’études et tout au long des épreuves que j’ai surmontées grâce à eux.
A mes amis, ma seconde famille, avec qui j’ai vécu des moments et des souvenirs
qui resteront gravés dans ma mémoire et ancrés dans mon cœur.
A tous les professeurs, les grands messieurs et les grandes dames qui m’ont formé
depuis la primaire jusqu’à la terminale et à ceux qui ont fait de moi un ingénieur.
Massyle
Ce mémoire constitue une synthèse de notre projet de fin d’études réalisé au sein de la société
de services et de conseil en Business Intelligence « INTEGRYTIS ».
Ce projet concerne la mise en place d’un système décisionnel au profit du service marketing
d’une chaine de distribution française. Dans ce sens, le projet est une application des concepts
et technologies de l’informatique décisionnelle dans le domaine du marketing. De ce fait, la
mission à réaliser consiste en la conception et le développement d’un Datamart Marketing dont
les résultats seront intégrés ensuite dans des rapports d’analyse qui serviront de support à l’étude
de marché et au ciblage des clients.
Afin d’aboutir à un résultat satisfaisant et répondant à toutes les exigences du client nous avons
suivi un processus de développement agile. Grâce à cette gestion agile du projet, le client est
fortement impliqué dans les principaux jalons à savoir : l’analyse et la spécification du besoin,
la conception de la solution et toutes les étapes de mise en œuvre. En outre, le présent rapport
présente de manière détaillée les tâches réalisées au niveau de chacune de ses étapes du projet.
Sur la base des besoins et des exigences de notre client nous avons conçu un schéma
dimensionnel en constellation qui regroupe tous les faits et mesures nécessaires à l’étude
marketing. Ensuite nous avons développé les flux ETL nécessaires au calcul de ces mesures et
à l’alimentation de la base de données grâce à l’outil Talend et au SGBD Microsoft SQL Server.
Enfin nous avons créé les rapports d’analyses avec Qlikview et vérifié la pertinence des résultats
obtenus en utilisant l’outil de datamining SPSS Modeler.
This dissertation represents the result of our end of study project that took place in
“INTEGRYTIS”, a Business Intelligence consulting company.
The project consists on the implementation of a BI solution for the market department of a well-
known French retailer. In fact, it is an application of the BI concepts and technologies in the
marketing domain. Thus the mission that we accomplished consisted on the design and the
development of a marketing database whose data are going to be integrated in reports for
analytical purposes.
With the aim of satisfying our client, we used an agile development process which allowed us
to involve the final user in the major phases of the project which are: the technical and functional
analysis of the requirements, the design of the database and reports and the development of the
designed solution. This document presents the details of what was achieved in each of these
phases.
Knowing our client’s needs and requirements, we started by conceiving our dimensional model
with a constellation schema that includes all the facts and measures required by the marketing
study. Then using Talend software we developed the ETL flows to populate the SQL Server
database. Finally, we created dynamic reports with Qlikview and tested the relevance of our
results using the datamining tool SPSS Modeler.
Key words: INTEGRYTIS, Marketing, Agile process, Constellation, ETL, Talend, Qlikview,
SQL Server, SPSS Modeler.
BI Business Intelligence
CA Chiffre d’affaire
CRM Client Relationship Management
DM Datamart
DW Datawarehouse
ERP Enterprise Resource Planning
ETL Extract - Transform - Load
HT Hors Taxe
MS Microsoft
ODS Operational Data Store
RFM Récence – Fréquence - Montant
ROI Return On Investment
SGBD Système de Gestion de Base de Données
SI Système d’information
SQL Structured Query Language
TOS Talend Open Studio
TTC Toutes Taxes Comprises
Remerciements ....................................................................................................................................... 4
Résumé .................................................................................................................................................... 5
Abstract ................................................................................................................................................... 6
Liste des abréviations .............................................................................................................................. 7
Table des figures ..................................................................................................................................... 8
Liste des tableaux .................................................................................................................................. 10
Table des matières ................................................................................................................................ 11
Introduction générale ........................................................................................................................... 14
1. Contexte général du projet ....................................................................................................... 17
Présentation de l’entreprise d’accueil .............................................................................. 17
1.1.1. Présentation générale ............................................................................................... 17
1.1.2. L’approche INTEGRYTIS ............................................................................................. 17
1.1.3. Services de l’entreprise ............................................................................................. 18
1.1.4. Références de l’entreprise ........................................................................................ 19
Présentation du client d’INTEGRYTIS ................................................................................ 20
1.2.1. Secteur d’activité de JARDILAND............................................................................... 20
1.2.2. L’entreprise en chiffres ............................................................................................. 20
Présentation du projet ...................................................................................................... 20
1.3.1. Problématique du projet ........................................................................................... 20
1.3.2. Objectifs du projet..................................................................................................... 21
1.3.3. Conduite du projet .................................................................................................... 22
Gestion du projet .................................................................................................. 22
Planification du projet ........................................................................................... 24
2. Analyse et spécification du besoin ............................................................................................ 29
Analyse fonctionnelle ........................................................................................................ 29
2.1.1. Le scoring et la segmentation RFM ........................................................................... 29
La méthode RFM ................................................................................................... 29
Le modèle RFM du client....................................................................................... 30
2.1.2. Le scoring potentiel ................................................................................................... 34
Etude de l’existant ............................................................................................................. 41
2.2.1. Etude des technologies ............................................................................................. 41
Description des logiciels utilisés............................................................................ 41
Le marketing a donc beaucoup évolué lors de la dernière décennie, grâce notamment aux atouts
offerts par l’informatique qui en est devenu un outil incontournable. De ce fait, les systèmes
d’information des grandes entreprises incluent désormais une base de données dédiée au
marketing qui permet de mener des études et des prospections de marché. Dans cette optique,
le rôle des bases de données en entreprises ne se résume plus au simple stockage des données
mais permet en plus de les exploiter. En effet, les données peuvent aujourd’hui être considérées
comme un capital de l’entreprise au même titre que les autres ressources ; c’est un patrimoine
immatériel dont la gestion efficace peut révéler de nombreuses richesses. On parle alors de
systèmes d’information décisionnels (bases de données dimensionnelles) dédiés
spécifiquement au domaine du marketing.
C’est dans ce cadre que s’inscrit ce projet réalisé au sein d’INTEGRYTIS (organisme d’accueil)
en faveur d’une chaîne de distribution française. Cette dernière a fait appel aux services
d’INTEGRYTIS, qui est une société de conseil spécialisée en business intelligence, pour mettre
en place un système d’information décisionnel au sein de son département marketing. Les
concepts et les technologies de la business intelligence seront ainsi utilisés pour mettre en place
une base de données marketing qui servira à la segmentation puis au ciblage des clients ainsi
qu’au suivi des performances de ventes.
Ensuite, le deuxième chapitre détaille l’analyse fonctionnelle ainsi que l’analyse technique des
besoins du client et spécifie les exigences auxquels doit répondre la solution proposée.
Enfin, le quatrième et dernier chapitre présente la solution finale et les outils utilisés pour son
développement ainsi qu’une étude et une vérification de la pertinence des résultats obtenus.
Phase 5 Phase 2
Suivi et Construction de
amélioration la solution
Phase3
Phase 4
Mise en oeuvre
Déploiement du pilote et
expérimentation
Cette approche permet d’améliorer les performances des entreprises en travaillant avec ses
clients sur l’optimisation de leurs indicateurs techniques, fonctionnels et métiers.
INTEGRYTIS offre également à ses clients une approche très différente grâce à une
méthode collaborative mettant l’accent sur le transfert de compétences et propose une offre
cohérente allant du conseil en amont à l’externalisation en passant par la réalisation et la
formation.
b. Service CRM
INTEGRYTIS propose une offre globale de services pour mieux exploiter la connaissance
et le parcours des clients pour une relation de valeur, durable et profitable :
• Référentiel Client ;
• Connaissance Client ;
• CRM (opérationnel, analytique et e-CRM) et centre de contacts multicanal ;
• Gestion de campagnes multicanal ;
• Social CRM, expérience client ;
• Marketing temps réel, moteurs de décision temps réel.
• Deux enseignes ;
• Plus de 200 magasins ;
• 11 affiliés ;
• Un site internet e-commerce ;
• 3 pépinières d’élevage sur plus de 700 hectares ;
• Une pépinière de multiplication dédiée à l’innovation et à la production de
jeunes plantes ;
• En 2012, le réseau des magasins réalise un chiffre d’affaires TTC de 816
millions d’euros (magasins intégrés, franchisés et affiliés).
Présentation du projet
Depuis qu’elle a été rachetée par un fond d’investissement français, JARDIALND œuvre
pour reconquérir son marché afin de reconfirmer son statut de leader du secteur de jardinerie
en France. Cela repose sur plusieurs facteurs fondamentaux dont le renouement et la
fortification de la relation avec le client, rôle que joue le département marketing de
l’entreprise. Ce dernier a donc pour mission de mieux comprendre les attentes des clients et
Dans cette optique, le système d’information sur lequel reposait le département marketing a
dû subir un remaniement. En effet, ce système était géré par plusieurs entreprises tierces qui
proposaient à l’entreprise plusieurs services depuis la gestion des transactions journalières
au niveau des magasins à la gestion de la relation client et de la fidélisation. Ce qui rendait
l’entreprise intimement dépendante de ses différents sous-traitants. Elle avait donc affaire à
plusieurs sources de données et son système d’information reposait sur plusieurs
prestataires.
C’est donc dans ce cadre que s’inscrit notre projet, qui a pour mission de remplacer le
système d’information existant par un nouveau système qui sera quant à lui interne à
l’entreprise cliente et qui lui permettra de gérer elle-même toutes les opérations liées au
service marketing. Lors de la phase de transition, il est impératif que l’ancien système reste
opérationnel et ne subisse aucune interruption, ainsi le passage de l’ancien vers le nouveau
système se fera par lots pour éviter toute rupture et donc perte de données.
Le défi que représente ce projet est de pouvoir d’un côté, doter le client d’une solution
décisionnelle qui puisse combler le vide que laissera le système actuel, et d’un autre, de
proposer des améliorations au niveau du service d’analyse et de reporting pour optimiser les
campagnes marketing basées sur la méthode RFM.
Gestion du projet
La réussite de tout projet est liée à sa gestion. Il existe plusieurs manières de gérer un projet
informatique et celles-ci sont regroupées dans des modèles, méthodes et cycles dits de
développement. Une mauvaise gestion de projet est principalement due à un non-respect des
délais, du budget ou des exigences du projet. Dans le cas d’un projet informatique de type
décisionnel le risque d’échec est augmenté par le fait que la nature du projet exige une étroite
collaboration entre le client et les prestataires à plusieurs niveaux.
Pour cette raison, les cycles de développement classiques ne conviennent pas, et on a plutôt
recours à des méthodes de développement agiles.
Les méthodes agiles reposent toutes sur des valeurs qui ont été énoncées dans le Manifeste
Agile, un texte écrit et signé par 17 experts reconnus pour leurs apports respectifs aux
méthodes de développement d’applications informatiques :
• Priorité des personnes et des interactions sur les procédures et les outils
• Priorité d’applications opérationnelles sur une documentation exhaustive
• Priorité de la collaboration avec le client sur la négociation de contrat
• Priorité de l’acceptation du changement sur la planification
Ces 4 valeurs sont à mettre en regard des pratiques fréquemment rencontrées notamment
lors de la mise en place de méthodes traditionnelles : priorité aux processus et outils,
importance de la documentation, respect du contrat à la lettre et planification rigide.
Scrum est une méthode de développement agile. Son nom est à l’origine un terme sportif de
rugby signifiant « mêlée » et la métaphore symbolise ainsi l’aspect de gestion de projet en
équipe où les acteurs sont soudés et avancent à pas sûr, suivant un processus itératif, vers la
réalisation du projet.
Comme toutes les méthodes agiles, Scrum permet une étroite collaboration entre le client et
le prestataire. Elle fait intervenir trois acteurs : Le product owner, le scrum master et l’équipe
de développement ; comme le montre la figure suivante [W1] :
Avec l’accord du client, le projet est divisé en lots et chaque lot donne naissance à des sprints
qui concernent un ou plusieurs aspects de la solution proposée, comme le montre la figure
suivante :
Lot Développement
1 …
Produit
Test
… Validation
Livraison
Lot
2 …
Planification du projet
La planification est la première étape du projet. Elle permet d’estimer les charges et de les
contrôler, ainsi que de déterminer les principaux jalons du projet. En général, il est connu
que pour un projet décisionnel la phase de développement de l’ETL est une phase critique
qui consomme beaucoup de ressources. Dans le cadre de ce projet les principales phases
sont :
C’est une phase d’étude qui commence par l’étude des spécifications émises par le client et
leur traduction en fonctionnalités. Ensuite, une analyse de l’existant permet de déterminer
ce qu’il est utile de garder et ce qu’il faut modifier ou améliorer. Au terme de cette phase
on se retrouve avec un ensemble d’objectifs fonctionnels qui devront être satisfaits à la fin
du projet.
• Conception de la solution
• Développement de la solution
Le développement de la solution concerne d’abord les ETL à partir des fichiers sources vers
le datamart et ensuite la génération des rapports. Cette phase est la plus longue du projet et
consomme le plus de ressources.
• Test et recettes
La phase de test et recette précède la livraison du produit final. En effet, lors de cette phase
on vérifie que la solution s’intègre parfaitement dans l’environnement du client. Les
éventuelles erreurs survenues lors de la phase d’essai sont corrigées et on refait un test
jusqu’à n’avoir aucune erreur. A ce moment-là le lot est prêt à être livré.
b. Diagramme de GANTT
Dans ce chapitre nous avons présenté l’organisme d’accueil INTEGRYTIS ainsi que son
client JARDILAND. Nous avons ensuite présenté le projet en expliquant sa problématique
et en détaillant les objectifs attendus. Enfin, nous avons parlé de la conduite de ce projet, et
de sa planification. Dans ce qui suit, nous analyserons la problématique pour en déduire les
exigences fonctionnelles et techniques du projet et spécifier le besoin du client.
La méthode RFM
L’avantage de la méthode RFM réside dans sa pertinence puisqu’elle prend en compte des
variables observables et objectives. Les données qu’elle utilise sont disponibles à partir de
l’historique des commandes de chaque client et sa mise en œuvre nécessite une période
d’analyse, des critères et des scores.
La méthode RFM a plusieurs variantes, souvent développées en interne, les modèles sont ainsi
adaptés à l’activité de l’entreprise et à son organisation commerciale. Cependant, quel que soit
la variante elle repose sur 3 critères principaux [1] :
• Récence
Elle est déterminée par la proximité de la date du dernier achat avec la borne de fin de l'analyse.
Plus elle est proche, meilleure elle est. Elle peut être exprimée en nombre de jours.
• Fréquence
Elle observe la régularité des achats par périodes. Plus elle est forte (récurrente, au moins un
achat tous les mois), meilleure elle est.
Il peut être égal soit à la somme ou à la moyenne des chiffres d’affaires engendrés par le client
dans la période d’analyse.
Pour chacun de ces critères, un score est affecté selon une échelle déterminée. Il revient à
l’entreprise de décider des pondérations à affecter à chaque critère.
Ainsi, la segmentation est réalisée à partir des scores basés sur la méthode RFM et d’autres
paramètres déterminés par JARDILAND et qui sont liées à l’activité des acheteurs.
Pour réaliser sa segmentation, le client d’INTEGRYTIS utilise, en plus des critères de récence,
fréquence et montant, d’autres indicateurs, et ce sur une base trimestrielle.
Les indicateurs choisis par l’équipe marketing sont au nombre de six : Nombre de catégories,
Panier moyen, Nombre de mois avec achat, Ancienneté, Score trimestriel, NB3. La valeur de
ces indicateurs est déterminée de la manière suivante :
• Nombre de catégories
Ainsi, la valeur de l’indicateur nombre de catégories est égale à la somme des valeurs prises
par ces 9 variables pour un client.
• Panier moyen
Le panier moyen est calculé à partir de la somme des chiffres d’affaires de chaque panier
(passage à la caisse) divisée par le nombre de passage sur un an glissant.
• Ancienneté
Cet indicateur vaut la durée entre le premier achat du client sur tout l’historique des achats et la
date de l’analyse.
• Score trimestriel
L’indicateur score trimestriel est basé sur la méthode RFM et prends 4 valeurs possibles : 0,1,
2 ou 3.
Le score 3 est attribué aux clients ayant effectué au moins un achat sur le trimestre et faisant
partie des 20% au CA le plus élevé.
Le score 2 est attribué aux clients ayant effectué au moins un achat sur le trimestre et faisant
partie de la tranche entre 50% et 20% au CA le plus élevé.
Le score 1 est attribué aux clients restants ayant effectué au moins un achat dans le trimestre.
Le score 0 est attribué aux contacts n’ayant effectué aucun achat durant le trimestre.
• NB3
L’indicateur NB3 signifie « nombre de 3 » et compte le nombre de fois ou le score 3 est obtenu
sur les 4 derniers trimestres.
c. L’arbre de segmentation
Les flags définis en amont engendrent des règles de segmentation. A partir de ces règles, nous
divisons les clients en 7 segments auxquels nous ajoutons deux autres segments, un pour les
clients qui n’ont effectué aucun achat durant l’année et un autre pour les clients non segmentés.
VIP ‘Flag_100%_catégories’ = 1 et
‘Flag_Panier_Moyen+’ = 1 et
‘Flag_Regularité+’ = 1
(‘Flag_Panier_Moyen+’ = 1 et
‘Flag_Regularité+’ = 1)
‘Flag_Regularité+’ = 1
‘Flag_Regularité+’ = 0 et
‘Flag_Capacité+’= 1
Occasionnel+ ‘Flag_Panier_Moyen+’ = 1 et
‘Flag_Regularité+’ = 0 et
‘Flag_Capacité+’= 0
Occasionnel- ‘Flag_Panier_Moyen+’ = 0 et
‘Flag_Regularité+’ = 0
Nouveau ‘Flag_Nouveau’ = 1
L’arbre de segmentation prend en entrée les clients actifs sur les 12 derniers mois. Il permet
donc de déterminer pour chacun des 7 premiers segments les clients qui y appartiennent. L’arbre
de segmentation est présenté dans la figure suivante :
Une fois que le client est segmenté, le score potentiel permet de prévoir une éventuelle évolution
de segment compte tenu de plusieurs indicateurs. Comme le score de segmentation RFM, il est
évalué trimestriellement. Les indicateurs utilisés pour le calcul du score potentiel sont pondérés
par des coefficients qui dépendent du segment actuel du client.
Les indicateurs du score potentiel sont calculés pour une période d’analyse de 12 mois glissants
jusqu’à la date de segmentation pour le client ayant au moins 1 an d’ancienneté, et sur une
Les indicateurs RFM, comme leur nom l’indique, reprennent les concepts du modèle RFM
c’est-à-dire qu’ils tiennent compte de la récence, le chiffre d’affaire et la fréquence. Cependant,
outre ces 3 paramètres, les indicateurs RFM du score potentiel en utilisent d’autres tels qu’ils
sont décrits dans le tableau suivant avec leurs règles de calcul :
Les indicateurs géomarketing comportent des paramètres liés à la position géographique des
magasins du client d’INTEGRYTIS et à la présence ou non de concurrents.
Chaque client est qualifié en fonction de son magasin de rattachement. Ainsi, les paramètres
sont calculés pour la zone de chalandise dans laquelle est situé ce magasin.
Les indicateurs géomarketing et leurs règles de calculs sont explicités dans le tableau suivant :
Les indicateurs de qualification concernent certains attributs et activités du client qui ont un
rapport avec les produits vendus.
Ces indicateurs ainsi que leurs règles de calcul sont explicités dans le tableau suivant :
exp(note j )
Pj =
1 + exp(note j )
Dans cet exemple, on considère un client fictif qui appartient au segment Occasionnel-.
Les coefficients des indicateurs relatifs à ce segments décrits dans le tableau suivant ne sont pas
réels mais sont néanmoins proches de la réalité:
Constante -1.955
Indicateurs RFM
Pépinière 0 0
Serre chaude 0 0
Semence et bulbes 0 1
Entretien 0.0398 1
Matériel 0.0485 1
Animalerie 0 0
Fréquence 0.998 0
Récence -0.0693 1
Ancienneté 0.0369 0
Indicateurs Géomarketing
Concurrence Hyper-marché 0 0
Concurrence LISA 0 0
Concurrence 3 -0.0659 0
Indicateurs de qualification
Balcon 0 0
Chien 0 1
Chat 0 0
Poisson 0 1
Freq Jardi P 0 0
Etude de l’existant
Le client d’INTEGRYTIS dispose d’une solution qui lui permet de gérer ses clients et ses
campagnes marketing. Néanmoins cette gestion est déléguée à un prestataire et donc la solution
n’est pas utilisée en interne par l’équipe marketing qui n’en exploite que le résultat. Le service
Marketing fournit au prestataire les fichiers contenant les informations sur les clients et les
passages à la caisse et en retour reçoit des rapports sur les profils des clients et sur les
performances de vente.
LASER Loyalty est une société française, filiale du groupe BNP Paribas et des galeries
Lafayette, spécialisée dans la vente de chèques et carte de fidélité. Elle est éditrice du logiciel
éponyme qui est utilisé par le service marketing pour gérer les cartes de fidélités, les cartes
cadeaux et les points de fidélités.
b. Le logiciel APRIMO
APRIMO est une société basée à Indianapolis aux Etats-Unis, filiale de TERADATA qui est
basée à Dayton en Ohio. Elle est l’éditrice du logiciel de marketing intégré qui porte son nom.
Elle est spécialisée dans le marketing sur demande au profit des entreprises B2C et B2B, et gère
en outre les campagnes marketing, l’image de marque, le ciblage par téléphone ou par e-mail,
le marketing social etc…en plus de la gestion de projet et des processus métiers.
APRIMO est utilisé par le service marketing pour gérer les offres promotionnelles, les
campagnes marketing et le ciblage des clients.
Dynamics CRM est un logiciel de gestion de clients propriété de Microsoft. Ce service bénéficie
de plusieurs fonctionnalités dont celles du Cloud Computing, permettant un accès instantané
aux données à partir d’une multitude de terminaux.
Cette solution est utilisée par le service marketing pour générer les rapports concernant les
profils des clients, leur segmentation ainsi que les résultats des ventes. Dynamics prend en
entrée les données provenant de LASER et d’APRIMO les intègre dans un datamart à partir
duquel il génère les rapports. L’architecture du logiciel est explicitée dans la figure suivante
[W2] :
D’après cette figure, on constate que dynamics génère les rapports à partir des vues SQL sur
les données. Comme précisé en amont, ces données se situent au niveau du datamart, dans
lequel elles ont été intégrées après avoir été transformés et agrégées. Le système décisionnel du
service marketing est ainsi géré par le CRM Dynamics.
Critique de l’existant
La solution utilisée par le service marketing de JARDILAND est une combinaison de trois
technologies différentes appartenant chacune à un éditeur. La première question qui se pose
donc est la possibilité ou non de les remplacer par un seul outil qui ferait tout le traitement.
Cette option fournirait donc plus de sécurité et les problèmes d’intégration et de compatibilité
seront évités.
De plus, le logiciels Dynamics CRM et un outil qui peux effectuer toutes les opérations et tous
les traitements souhaités à lui seul et de même pour Laser Loyalty. Ainsi, le service marketing
pourrait utiliser l’un ou l’autre sans avoir besoin d’utiliser les deux combinés en plus avec
Aprimo. Cela réduirait considérablement les couts d’autant plus que seules certaines
Dans ce sens, le service marketing de JARDILAND souhaite effectuer une refonte de son
système d’information pour internaliser les traitements. Cette nouvelle solution permettra ainsi
une meilleure gestion et c’est ce qui est demandé à l’issu de ce projet.
Le diagramme de flux
Le traitement de l’information se fait à plusieurs niveaux et fait intervenir les trois logiciels
cités dans la partie précédente. Le premier logiciel est Laser Loyalty, il fournit au service
marketing les fichiers FEAC1 (transactions), FECL1 (clients), FENO1 (hiérarchie produits),
FENO2 (produits), FESI1 (magasins), FEAC1_NC (transactions NC). Ces fichiers sont ensuite
transmis au prestataire qui utilise le logiciel Dynamics CRM pour générer deux fichiers FASC1
(Campagnes marketing), FACL2 (Score, segments, magasin principal) ainsi que les rapports
relatifs aux profils des clients et aux ventes. Un deuxième flux entrant vers Dynamics concerne
les campagnes, les offres et les clients ciblés et provient du logiciel Aprimo.
Les flux d’informations sont synthétisés dans la figure suivante :
FEAC1
FECL1
FENO1
FENO2
LASER FESI1
CLL FEAC1_NC
FASC1
FACL2
Dynamics
APRIMO
Campagne
Offre
Client ciblés
Le premier lot du projet concernera les flux de LASER Loyalty, et le deuxième lot traitera le
flux entrant à partir d’APRIMO.
Les fichiers provenant d’APRIMO ne seront utilisés qu’au niveau du deuxième lot ils n’ont
donc pas encore été livrés à INTEGRYTIS. Ainsi, les fichiers sources décrits dans cette partie
concernent uniquement ceux qui proviennent de LASER CLL.
Le client d’INTEGRYTIS dispose déjà d’un entrepôt de données dans lequel sont stockées
plusieurs tables que l’on peut exploiter. Parmi les tables qui existent déjà dans l’entrepôt, il y a
la table Magasin, la table Produit et la table Hiérarchie produits. De ce fait, la nouvelle solution
ne reprendra que les fichiers sources concernant les clients (FECL1) et les fichiers des
transactions (FEAC1 et FEAC1_NC) qui ont été remplacés par les fichier ‘sjcli’ et ‘sjart’ pour
faciliter le traitement.
Ils contiennent des données issues, pour la plupart, d’un formulaire renseigné par le client au
moment de la création de sa carte de fidélité ainsi que des informations concernant cette
dernière.
Ces fichiers sont de type texte (.txt) et contiennent des données relatives à un ou plusieurs
clients organisées en blocs de plusieurs lignes qui contiennent à leurs tours plusieurs attributs.
A la différence d’un fichier délimité (.csv), les attributs ne sont déterminés ni par un espace, ni
par un point-virgule ou un quelconque délimiteur mais par leurs positions dans la ligne.
La figure ci-dessus présente un modèle de fichier contenant les données relatives à deux clients
fictifs. Les lignes 1 et 2 constituent respectivement l’entête et le pied du fichier et contiennent
des données générales telles que le numéro du fichier, la date et l’heure de sa création et le
nombre d’enregistrement par bloc. Les lignes 3 et 4 constituent le bloc 30. Ce bloc contient des
données sur le client telles que le nom, le prénom, l’adresse, le numéro de téléphone, ainsi que
des données sur sa carte telles que le numéro, la date de création, la date de validité etc. Les
lignes 5 et 6 constituent le bloc 35 qui contient des informations dynamiques sur le client tel
que le fait d’avoir des enfants, de posséder un jardin, des animaux, une maison, un balcon etc.
Les lignes 7, 8 et 9 concernent respectivement les blocs 40 45 et 50 qui contiennent des données
supplémentaires sur la carte de fidélité, les points bonus attribués au client etc.
Ces fichiers sont de deux types : les fichiers « Entête » qui contiennent de données agrégées de
la transaction telles que les totaux HT et TTC, le numéro du client, le nombre d’articles achetés
et les fichiers « Ligne » qui contiennent les détails de la transaction avec notamment des
données sur les produits, leurs prix unitaires, leurs quantités etc.
La figure suivante présente un modèle de fichier « Ligne » dont la première ligne est un entête
qui contient des informations générales sur le fichier telles que son numéro, sa date et heure de
création etc. Ce fichier concerne 4 transactions.
La figure suivante présente un modèle de fichier « Entête » ou chaque ligne correspond à une
transaction et contient en l’occurrence la date de la transaction, le code du magasin.
Les données des deux fichiers sont liés par l’attribut « Numéro de ticket », qui joue le rôle d’une
clé étrangère.
Spécification du besoin
2.3.1. Généralités
Le référentiel des exigences comportant les exigences techniques et fonctionnelles que doit
satisfaire le projet est spécifié en amont du projet par l’équipe d’assistance à la maitrise
d’ouvrage.
Les exigences fonctionnelles décrivent les caractéristiques du système ou des processus que le
système doit exécuter. On trouve dans cette catégorie les règles métiers, ainsi que d’autres
exigences telles que la confidentialité :
Les exigences fonctionnelles déduites du cahier des charges sont explicitées dans le tableau
suivant :
Les exigences techniques décrivent les propriétés que le système doit avoir; par exemple les
exigences techniques de sécurité informatique (confidentialité, intégrité, disponibilité), de
performance, d'accessibilité, selon des critères définis.
L’analyse faite à partir du cahier des charges ainsi que l’étude du système existant a permis de
dégager les principales exigences fonctionnelles et non-fonctionnelles que doit satisfaire la
solution. Il est a présent clair qu’il faut concevoir un système décisionnel qui traite les fichiers
en entrées provenant de Laser Loyalty et Aprimo tel que le faisait Dynamics. Les données de
ces fichiers devront être intégrées dans un datamart marketing intégré au datawerhouse local de
JARDILAND puis exploitées dans la génération des rapports. Le prochain chapitre présentera
ainsi la conception de la solution qui répond à ce besoin.
Conception de la solution
Ce chapitre est dédié à la partie du projet ou l’on conçoit une solution qui répond aux
exigences émises suite à l’analyse du besoin. Dans cette partie, on présente les
indicateurs et leurs axes d’analyse pour ensuite les modéliser au sein d’un schéma de
données, ce qui constituera le datamart marketing. Ensuite, on conçoit la structure des
rapports qui exploiteront les données intégrées dans le datamart.
Finance
Datamarts
Marketing
Logistique
Cette approche est la mieux adaptée au projet, car le but est de créer un datamart pour le service
marketing de JARDILAND qui sera alimenté à partir de fichiers sources (.txt) et des tables déjà
créés dans la base de données. Le datawarehouse de l’entreprise est en fait constitué de
l’ensemble de ses datamarts auxquels s’ajoutera le datamart marketing [W6].
Le modèle multidimensionnel est un concept qui a également été établi par Ralph Kimball et
qui introduit deux notions principales : les faits et les dimensions. Dans un tel modèle, les
données sont structurées d’une manière différente du modèle relationnel classique des bases de
données transactionnelles qui respectent la 3ème forme normale.
En effet, un modèle multidimensionnel contient des tables de faits reliées à une ou plusieurs
dimensions. La table de fait contient les indicateurs mesurables ou non que l’on veut analyser,
et les dimensions contiennent les axes d’analyse. Chaque table de faits possède une clé étrangère
qui la relie avec la clé primaire des tables de dimension auxquelles elle est reliée.
• Le schéma en étoile
Dans ce schéma, la table de fait placée au milieu et directement liée aux dimensions formant
ainsi une structure en étoile.
• Le schéma en flocon
La différence entre un schéma en étoile et en flocon est que le dernier contient des dimensions
qui au lieu d’être liées directement à la table de faits sont liés à d’autres dimensions. Cela crée
une hiérarchie entre les dimensions allant du général au particulier formant une structure qui
ressemble à un flocon. On peut avoir par exemple une dimension ville liée à une dimension
pays qui elle-même est liée à une dimension continent.
Le schéma en étoile peut contenir plus d’une table de faits ou chacun est reliée à des dimensions
en fonction du besoin. Les tables de faits peuvent avoir des dimensions en commun.
La chaine décisionnelle constitue l’ensemble des étapes, des opérations et des traitements par
lesquels passe l’information depuis les bases de données sources jusqu’aux rapports et tableaux
de bords. Dans le cadre de ce projet, les principales étapes de la chaine décisionnelle sont
présentées dans la figure suivante :
Restitution
Suite à l’analyse fonctionnelle et à la spécification des besoins, il est clair que l’objectif
principal du système décisionnel est de segmenter les clients de JARDILAND. Ainsi, les tables
que nous devons générer doivent agréger les données des clients et permettre de calculer les
mesures qui interviennent dans la segmentation. Donc, à partir des indicateurs de segmentation
relevés dans la partie d’analyse nous pouvons déduire les indicateurs et les mesures que nous
devrons inclure dans notre système décisionnel. Ces indicateurs sont détaillés dans la partie
analyse et repris dans le tableau suivant :
Indicateur Description
Ces indicateurs sont résumés dans des tableaux pour chaque flag de segmentation :
• Calcul de « Flag_100PC_Secteurs »
D’après les spécifications fonctionnelles, la valeur de ce flag dépend des achats effectués par le
client au niveau des 9 secteurs principaux de JARDILAND. Nous avons donc besoin de savoir
si le client a effectué ou pas un achat d’un produit par rapport à ces 9 secteurs.
Les indicateurs dont dépend ce flag sont ainsi résumés donc le tableau suivant :
• Calcul de « Flag_Panier »
Pour calculer ce flag nous avons besoin de connaître les montants des achats effectués par le
client, puis calculer leur moyenne et la comparer à un seuil. Ainsi, les indicateurs dont dépend
ce flag sont :
Indicateur Description
• Calcul de « Flag_Regularite »
La régularité d’un client est déterminée à partir de sa fréquence d’achat. Celle-ci est égale au
nombre de mois au cours desquels le client a effectué un achat. Ainsi, ce flag est déterminé par
les indicateurs suivants :
• Calcul de « Flag_Capacite»
Le calcul de ce flag est le plus complexe de tous. A partir de l’indicateur CA_NET_TTC calculé
pour « Flag_Panier » nous devons établir un classement des clients, et leur attribuer des scores
en fonction de ce classement : si le client appartient aux premiers 20% au chiffre d’affaire le
plus élevé on lui attribue un score de 3, s’il appartient à la tranche comprise entre 50% et 20%
on lui donne un score de 2. Le score 1 est attribué aux clients ayants effectué au moins un achat
sur le trimestre, et 0 aux clients qui n’ont pas effectué d’achat. Ensuite nous calculons le nombre
de fois ou le client a obtenu un score de 3, sur 4 trimestres glissant à partir du trimestre où la
segmentation est réalisée.
Indicateur Description
Le besoin de JARDILAND n’est pas uniquement de faire une segmentation de ses clients mais
également de mieux connaître leurs tendances et leurs habitudes d’achat à travers
l’établissement d’un profil d’achat par mois et par secteur de produit. Cette étude se fait à la
demande du service marketing de JARDILAND et n’a pas de périodicité fixe, ce qui importe
est que ces données doivent être récoltées sur une période d’un an glissant à partir de l’instant
où la demande a été formulée
Pour cela nous avons conçus des indicateurs en fonction des exigences de JARDILAND. Ces
indicateurs sont décrits dans le tableau suivant :
Indicateur Description
En plus de vouloir mieux connaitre et étudier les clients de JARDILAND, le service marketing
souhaite également avoir un aperçu sur les performances de ventes. Le besoin est alors d’avoir
une information sur les ventes réalisées par produits, par secteur et par magasin. Nous avons
donc besoin de deux indicateurs :
Indicateur Description
Ces deux indicateurs seront ensuite agrégés par magasin, par secteur et par produit en fonction
du besoin de JARDILAND.
Une fois que nous avons déterminé les indicateurs, nous pouvons à présent relever les axes
d’analyse à partir du besoin du service marketing. Les axes d’analyse sont cités implicitement
dans la description car nous savons par exemple que la segmentation est liée à un client au cours
d’un trimestre donné et que le profiling du client se fait sur une année glissante. De plus nous
savons les indicateurs de ventes seront analysés en fonction des magasins, des produits et des
secteurs, à une date donnée.
Ainsi, suite à l’analyse détaillée des besoins de JARDILAND, les axes suivants ont été relevés :
• Client
Le client est le principal centre d’intérêt de l’étude que mène le service marketing de
JARDILAND. En effet, comme l’objectif de ce projet est de faire un profiling et une
segmentation du client il est évident qu’il est l’un des axes d’analyses les plus importants.
• Article
L’article tout comme le magasin constitue le centre de l’étude. Tout comme il est important de
connaître quel client achète le plus, il est indispensable pour l’étude marketing de connaître
quel produit se vend le plus.
• Magasin
Pour suivre les activités de l’entreprise, le service marketing a besoin de suivre et d’étudier les
performances de ventes réalisées par les magasins de JARDILAND. Cela lui permettre
• Région
L’analyse des ventes par région permet d’avoir une vision géographique sur les zones où les
clients achètent le plus et où les magasins ont plus de succès. Cela permettre d’orienter les
stratégies d’investissement.
En plus de l’analyse des ventes par produit, le service marketing souhaiterait également avoir
une idée sur les ventes d’un point de vue plus global. Le besoin est donc d’analyser les ventes
par produit, et d’agréger ensuite le résultat par groupe de produits, par sous-famille et par
famille.
• Temps
Il est clair que les résultats obtenus à la suite de l’analyse dépendent du temps. Cela permettra
au service marketing d’établir une courbe d’évolution des performances de ventes mais aussi
d’étudier ses clients par période car leurs habitudes d’achats changent certainement d’une
période à une autre.
Dans notre cas, comme nous faisons une segmentation trimestrielle nous avons besoin d’une
dimension « Trimestre ». De plus, les ventes sont analysées à la demande pour une date
données, et ces informations pourront être agrégées par la suite sur un mois, un trimestre, ou un
an. Nous avons donc besoin d’une dimension « Date ». Le profiling quant à lui se fait sur une
année glissante mais ne dépend que du client, et la date à laquelle il est effectuée est incluse
dans les indicateurs.
La matrice d’expression du besoin permet d’établir les relations entre les indicateurs et les
axes d’analyse. Elle donne une vision préliminaire de ce à quoi va ressembler notre datamart.
Les indicateurs sont placés sur les lignes de la matrice et les axes d’analyse (dimensions)
occupent les colonnes de la matrice. Les cases cochées signifient qu’il existe une dépendance
entre l’indicateur et l’axe d’analyse correspondants.
ATTRIBUT TYPE
CA_HT_TRIM Numeric(18,2)
CA_TTC_TRIM Numeric(18,2)
FLAG_CARTE_ELIGIBLE Smallint
FLAG_CARTE_VALIDE Smallint
NB_PASSAGES Int
NB_MOIS_ACHAT Int
FLAG_SECTEUR_1 Smallint
FLAG_SECTEUR_2 Smallint
FLAG_SECTEUR_3 Smallint
FLAG_SECTEUR_4 Smallint
FLAG_SECTEUR_5 Smallint
FLAG_SECTEUR_6 Smallint
FLAG_SECTEUR_7 Smallint
FLAG_SECTEUR_8 Smallint
FLAG_SECTEUR_9 Smallint
FLAG_ACHAT_MOIS1 Smallint
FLAG_ACHAT_MOIS2 Smallint
FLAG_ACHAT_MOIS3 Smallint
FLAG_REGULARITE Smallint
FLAG_NOUVEAU Smallint
FLAG_100PC_SECT Smallint
SCORE_TRIMESTRIEL Int
TRIM Int
NB3 Smallint
FLAG_CAPACITE Smallint
PANIER_MOYEN Numeric(18,2)
FLAG_PANIER Smallint
SEGMENT Int
SCORE_POTENTIEL Numeric(1,5)
La table de fait F_CLIENT_ACTIVITE contiendra les données relatives aux achats des clients
par rapport aux différents secteurs de vente de JARDILAND, ainsi que d’autres données
concernant entre autres la fréquence et la récence de ses achats. Le tableau suivant montre en
détail les attributs de la table et leurs types :
F_CLIENT_ACTIVITE
ATTRIBUT TYPE
CA_HT_12MOIS Numeric(18,2)
CA_TTC_12MOIS Numeric(18,2)
CA_TTC_SECTEUR_1 Numeric(18,2)
NB_PASSAGES Int
NB_PRODUITS Int
DATE_DERNIER_ACHAT Date
DATE_PREMIER_ACHAT Date
ID_MAGASIN_PRINCIPAL Char(10)
ID_STATUT_ACHAT Smallint
DATE_CAPTURE Date
La table de fait « F_VENTES » contient trois attributs qui sont les CA_TTC, CA_HT, et la
QUANTITE. Comme elle sera liée aux dimensions Magasin, Article et Date elle nous permettra
de connaître pour une date et un magasin donnés combien d’articles ont été vendus et à combien.
Le tableau suivant montre en détail les attributs de la table et leurs types :
F_VENTES
ATTRIBUT TYPE
CA_TTC Numeric(18,2)
QUANTITE Int
Les tables de dimension représentent les axes d’analyse des mesures et des indicateurs. Elles
contiennent chacune une clé primaire que l’on retrouvera dans les tables de faits auxquelles
elles sont liées. En plus, les tables de dimensions contiennent des données qui permettront
d’analyser les mesures selon plusieurs degrés de détail. Les tables de dimensions sont
modélisées comme suit :
• La table D_CLIENT
La table D_CLIENT contient les données des clients de JARDILAND qui proviennent des
fichiers sources (.txt). Seules les données utiles à l’analyse et aux reporting ont été retenues et
sont explicitées dont le tableau suivant :
D_CLIENT
ATTRIBUT TYPE
ID_CLIENT Char(20)
CODE_PAYS Char(10)
ID_STATUT_CARTE Char(2)
ID_MAGASIN_RATT Char(5)
ID_TYPE_CLIENT Char(2)
EMAIL Char(20)
MOBILE Char(20)
POINT_REMISE Char(20)
ADRESSE Char(20)
ID_CARTE Char(20)
NB_CARTES_ACTIVES Int
DT_ADHESION Date
DT_DERNIERE_ADHESION Date
NOM Char(20)
PRENOM Char(20)
CIVILITE Char(10)
DT_CRE Date
DT_MAJ Date
• La table D_MAGASIN
D_MAGASIN
ATTRIBUT TYPE
ID_MAGASIN Char(20)
LIB_MAGASIN Char(20)
NUM_MAGASIN Char(10)
ID_PAYS Char(3)
ID_REGION Char(5)
CD_POSTAL Char(20)
LIB_VILLE Char(20)
LIB_ADR1 Char(20)
LIB_ADR2 Char(20)
ID_ENSEIGNE Char(10)
ID_TYPOLOGIE Char(1)
SURFACE Int
• La table D_REGION
La table de dimension D_REGION permettra d’analyser les ventes par région. Les attributs de
cette table sont comme suit :
D_MAGASIN
ATTRIBUT TYPE
ID_REGION Char(20)
LIB_REGION Char(20)
• La table D_ARTICLE
La table de dimension D_ARTICLE contient des données sur les produits vendus par les
magasins de JARDILAND. Elle nous permettra d’analyser les ventes réalisées par produit et
ainsi de déterminer les produits les plus vendus et ceux qui le sont moins. Les attributs de la
table sont les suivants :
D_ARTICLE
ID_ARTICLE Char(10)
ID_ARTICLE_ORIGINE Char(10)
LIB_ARTICLE Char(20)
LIB_COURT_ARTICLE Char(5)
ID_GROUPE Char(10)
DT_CRE Date
DT_MAJ Date
• La table D_GROUPE
Cette table a pour but d’agréger les données de ventes par groupes d’articles.
Les attributs de la table D_GROUPE sont les suivants :
D_GROUPE
ATTRIBUT TYPE
ID_GROUPE Char(10)
LIB_GROUPE Char(20)
ID_SFAMILLE Char(10)
• La table D_SOUSFAMILLE
Cette table a pour but d’agréger les données de ventes par sous-familles d’articles.
Les attributs de la table D_SOUSFAMILLE sont les suivants :
D_SOUSFAMILLE
ATTRIBUT TYPE
ID_SFAMILLE Char(10)
ID_FAMILLE Char(10)
• La table D_FAMILLE
Cette table a pour but d’agréger les données de ventes par familles d’articles.
Les attributs de la table D_FAMILLE sont les suivants :
D_FAMILLE
ATTRIBUT TYPE
ID_FAMILLE Char(10)
LIB_FAMILLE Char(20)
• La table D_DATE
La table D_DATE permettra d’avoir des données de ventes journalières, pour un suivi des
performances au quotidien. Elle comporte de nombreux attributs qui faciliteront l’analyse des
données par périodes.
D_DATE
ATTRIBUT TYPE
ID_JOUR Char(10)
MOIS Char(10)
ID_TRIMESTRE Char(6)
ID_ANNEE Char(4)
ID_JOUR_A1 Char(10)
ID_JOUR_M1 Char(10)
ID_JOUR_S1 Char(10)
ID_JOUR_J1 Char(10)
LIB_JOUR Char(10)
NUM_JOUR_SEMAINE Int
LIB_JOUR_SEMAINE Char(10)
NUM_JOUR_MOIS Int
NUM_JOUR_ANNEE Int
• La table D_TRIMESTRE
La table D_TRIMESTRE permet de faire une segmentation trimestrielle des clients et d’étudier
les changements de segments de manière trimestrielle.
D_TRIMESTRE
ATTRIBUT TYPE
ID_TRIMESTRE Char(6)
ID_SEMESTRE Char(6)
ID_ANNEE Char(4)
LIB_TRIMESTRE Char(10)
NUM_TRIMESTRE Int
NB_JOURS_TRIM Int
DT_DEB_TRIMESTRE Date
DT_FIN_TRIMESTRE Date
ID_TRIMESTRE_T1 Char(6)
Les rapports centrés autour du client ont pour but de synthétiser toutes les données utiles
quant au suivi de ses activités d’achat et de sa segmentation. Ces rapports devront également
tirer profit des informations renseignées par le client dans un formulaire qu’il aura rempli
pour recevoir sa carte de fidélité. Les informations issues de ce formulaire serviront
également au ciblage lors des campagnes marketing car elles concernent des données
personnelles du client relatives à son emploi, sa situation familiale, son type d’habitat etc.
Les rapports de ventes sont destinés au suivi des transactions réalisées par les magasins de
Jadiland. Le service marketing a besoin de savoir quels magasins vendent le plus et lesquels
vendent le moins d’articles et quels sont les articles les plus vendus. Il est également utile de
savoir quelles régions et quelles villes réalisent le plus de ventes. Les indicateurs retenus à ce
propos sont les suivants :
Dans ce chapitre nous présentons les outils et technologies utilisée ainsi que les étapes
de développement de la solution décisionnelle. Ces étapes suivent la chaîne décisionnelle
présentée dans le chapitre précédant. Nous commençons ainsi par le développement des
flux ETL des fichiers sources vers l’ODS puis de l’ODS vers le datamart Marketing.
Ensuite nous créons les rapports à partir des données issues du datamart. Enfin, nous
évaluons les résultats obtenus.
Le choix des outils est la première étape du développement informatique. Les outils doivent
être choisis avec attention et doivent correspondre aux besoins fonctionnel et technique du
projet. Dans notre cas nous avons besoin d’un outil ETL pour l’extraction des données et leur
intégration dans le datamart, d’un SGBD pour stocker et gérer les données et d’un outil de
reporting pour la restitution des données.
La solution qui a été retenue pour le développement des flux ETL est Talend Open Studio qui
est un outil open source développé par la société Talend.
Talend Open Studio (TOS) est une plate-forme d’intégration de données basée sur le langage
Java. Elle permet de répondre à toutes les problématiques liées au traitement des données dans
la chaîne décisionnelle grâce à une panoplie de plus de 250 composants. La force de cet outil
réside dans le fait qu’il permet de se connecter à n’importe qu’elle source de données et dispose
de tous les avantages qu’offre le langage Java [W4].
Comme tous les outils informatiques, Talend Open Studio a des points forts et des points
faibles que nous détaillons ci-dessous :
• L’espace de travail de TOS est portable grâce à son référentiel en fichiers qui
permet de l’exécuter sur des environnements différents ;
• Talend est programmé en Java et donc tire profit des avantages de Java;
• Son interface intuitive est basée sur Eclipse et ne nécessite pas de formation pour
l’utiliser ;
• Il dispose d’une interface graphique qui permet de construire les flux, de les
grouper en jobs puis en packages de manière fluide;
• La communauté Talend est très active. Et la communauté française est très présente
ce qui est un grand avantage vu que le client est français ;
• Talend Open Studio est gratuit pour un utilisateur sur le référentiel. Son usage pour
les PME d’un ou deux informaticiens permet de se doter d’un outil puissant sans
engager de frais de licence.
b. Points faibles
• Talend Open Studio nécessite une espace mémoire important pour bien
fonctionner et consomme beaucoup de RAM ;
• Comme c’est un outil open source, les composants sont en perpétuelle évolution
mais des bugs peuvent parfois survenir au moment de l’installation ;
• Ne permet certaines fonctionnalités telles que la création des tables SQL Server
dans la base de données cible.
D’un point de vue technique, la force de Talend réside dans la gestion de plusieurs sources de
données qui est un point très important sachant que pour ce projet nous avons plusieurs supports
de données différents : des fichiers délimités, des fichiers positionnels et des bases de données.
De plus, dans le cadre de ce projet nous avons des données massives qui atteignent parfois les
70 millions d’enregistrement, nous avons donc besoin d’un outil robuste. Bien qu’il consomme
beaucoup d’espace mémoire, chose commune pour la plupart des ETL, Talend dispose d’un
composant tMap très puissant qui permet en l’occurrence de traiter les enregistrements ligne
par ligne sans encombrer la RAM.
Enfin, comme c’est une solution open source écrite en Java, les membres de l’équipe
d’INTEGRYTIS travaillent à optimiser les composants pour les rendre plus performants
compte tenu des besoins du projet.
Microsoft SQL Server est un système de gestion de bases de données (SGBD) développé par
Microsoft qui est adapté uniquement aux systèmes d’exploitation Windows. Il fait partie de la
suite Microsoft BI qui comporte plusieurs outils tels que SSIS pour l’intégration des données,
SSAS pour l’analyse des données et le développement des cubes OLAP et SSRS pour le
reporting.
Dans le cas de notre projet nous n’avons besoin que de l’outil de gestion de base données et son
interface de gestion graphique SSMS (SQL Server Management Studio). La version avec
laquelle nous travaillions est Microsoft SQL Server 2008.
Intérêt de l’outil
Le fait que Talend nous offre la possibilité de nous connecter à n’importe quel serveur de base
de données nous offre l’opportunité de choisir un SGBD indépendamment de la contrainte
d’intégration avec l’ETL. L’intérêt de Microsoft SQL Server est le fait qu’il repose sur le
langage T-SQL qui est largement documenté. Il dispose également d’une forte communauté
d’utilisateurs francophone en plus d’un support technique à l’écoute des utilisateurs. C’est en
effet une solution payante, et le fait que le client ainsi qu’INTEGRYTIS possèdent déjà une
licence a facilité le choix de cet outil. Car il n’est pas intéressant de payer des frais
supplémentaires pour acheter un autre outil alors que celui-ci répond parfaitement au besoin.
Présentation de Qlikview
Qlikview est un logiciel développé par l’entreprise suédoise Qlik pour le reporting et l’analyse
des données. Ainsi, les données à analyser sont chargées dans l’application par l’intermédiaire
d’un éditeur de script. Les tables chargées dans l’outil se lient entre elles automatiquement par
homonymie des noms des colonnes.
Choix de Qlikview
Le choix de l’outil Qlikview est principalement dû aux nombreux avantages qu’il offre grâce à
sa sélection dynamique de données et à ses filtres. En effet, dans le cas du service marketing,
les données à analyser sont volumineuses. Donc pour une meilleure visibilité des données et
pour faciliter l’analyse et le suivi des performances nous avons choisi de créer des rapports
interactifs avec Qlikview.
Dans le cadre du projet, Qlikview permet facilement d’afficher les données relatives à un
segment de clients, à une région et une période données. D’autant plus que d’après le quadrant
magique de Gartner, Qlikview est parmi les leaders des technologies BI pour la 6ème année.
La première phase dans la réalisation du projet consiste à développer les flux ETL qui se fait
en 3 étapes principales :
• Etape 1
Dans la première étape, nous avons extrait et transformé les donnés à partir de fichiers sources
vers l’ODS comme le montre le schéma suivant :
• Etape 2
Dans la deuxième étape, nous avons alimenté les tables de dimensions du datamart à partir du
datawarehouse de JARDILAND, comme le montre le schéma suivant :
DW DM Marketing
• Etape 3
Dans la troisième étape, nous avons alimenté les tables de faits grâce aux données précedemment
intégrés dans l’ODS, comme le montre le schéma ci-dessous :
ODS DM Marketing
Dans notre cas, nous avons quatre fichiers sources que nous devons intégrer dans quatre tables
dans l’ODS :
• Le premier fichier contient les données générales sur les clients et leurs cartes de fidélité
que nous avons intégrées dans la table D_CLT_CLIENT ;
• Le deuxième fichier contient les données issues des formulaires renseignés par les
clients, et nous les avons intégrées dans la table D_CLT_ATTRIBUTS ;
• Le troisième fichier contient les données de transactions issues des tickets de caisses en
détaillant chaque produit acheté dans une ligne. Nous avons intégré ces données dans la
table F_TCK_LIGNE ;
• Le quatrième et dernier fichier concerne également des données issues des tickets de
caisses et contient en particulier les montants totaux et des informations sur l’acheteur
et omet le détail des produits achetés.
Alimentation de D_CLT_CLIENT
Dans la partie analyse, nous avons détaillé la structure du fichier « Clients » où les données sont
organisées par blocs. Au sein du bloc, les valeurs des attributs sont identifiées par leurs positions
dans la ligne. Par exemple, on sait que l’attribut ID_CARTE dans le Bloc 30 occupe les
positions 5 à 10 dans le fichier et que les positions de 10 à 20 sont occupées par ID_MAGASIN.
Dans notre cas les blocs qui nous intéressent sont les blocs n° 30, n° 40 et n° 50.
Le flux ETL commence par une lecture du fichier source, que l’on place ensuite en mémoire
grâce au composant tHash. Cela nous évite une relecture du fichier pour chaque bloc et accélère
le traitement. Ensuite à partir des données placés en mémoire en filtre les blocs qui nous
intéressent grâce au composant tFilter. Pour chaque bloc récupéré, nous faisons une extraction
positionnelle avec le composant tExtractPositional. Enfin, les flux des trois blocs sont
transformés et mappés grâce aux composant tMap puis intégrés dans la table D_CLT_CLIENT.
Alimentation de D_CLT_ATTRIBUTS
Les fichiers sources contenants les informations issues des formulaires ont une particularité qui
ajoute une difficulté au niveau de l’ETL : pour chaque client, les attributs occupent chacun une
ligne et leur ordre diffère d’un client à l’autre. De ce fait, nous ne pouvons pas définir une règle
générale qui s’applique à tous les clients et nous devons trouver un moyen de transformer les
lignes en colonnes comme le montre la figure suivante :
Ensuite, à partir de ce fichier nous faisons une transformation et un mapping des données que
nous intégrons à la base de données.
Alimentation de F_TCK_LIGNE
Les fichiers sources sont issues des tickets de caisses et contiennent les informations détaillées
sur les produits achetés, leurs prix, leurs quantités ainsi que sur le montant payé par produit.
Le flux commence par une lecture du fichier grâce au composant tFilePostionnal qui permet en
même temps la lecture et l’extraction des attributs. Ensuite, nous filtrons les données qui nous
intéressent et on les transmet au composant tMap. Enfin les données sont intégrées dans la table
F_TCK_LIGNE.
Dans ce cas également les données sont issues des tickets de caisses mais elles sont mises dans
un fichier à part qui ne contient que les informations générales de la transaction telles que les
montants totaux, les quantités totales et les informations sur l’acheteur.
Le flux est identique à celui de F_TCK_LIGNE à la seule différence que nous ne faisons pas
de filtre sur les données.
L’alimentation des tables de dimensions se fait donc sans transformation de données ni mapping
grâce à de simples flux de migration à l’exception de la dimension Article ou grâce au
composant tMap nous faisons une transformation du modèle de date.
L’alimentation des tables constitue l’une des phases clés qui détermine le succès du projet. Le
degré de difficulté dépend notamment des nombres d’indicateurs et des dépendances qui
existent entre les indicateurs d’une même table.
La table de faits F_VENTES est alimentée à partir des données de la table F_TCK_LIGNE.
Le job d’alimentation commence par une connexion à la base de données grâce au composant
tMSSqlConnection. Ce dernier permet d’établir une seule est unique connexion commune à
tous les composants de bases de données Sql Server utilisés dans le job. Cela permet une lecture
et une écriture instantanées dans la base de données sans devoir établir de connexion à chaque
fois, et permet ainsi de réduire le temps d’exécution du job.
Une fois la connexion établie, on lit les données à partir de la table F_TCK_LIGNE et on fait
un mapping au niveau du premier composant tMap avec un lookup sur la table D_ARTICLE.
Le flux final des données agrégées par article, magasin et date est intégré dans la table
F_VENTES du datamart marketing.
Alimentation de F_CLIENTS_ACITIVITE
Il est possible d’extraire les données telles qu’elles sont à partir de la base de données et de faire
des agrégations au niveau de Talend grâce au composant tAggregateRow. Mais dans notre cas
où nous travaillons avec des données volumineuses, cela nécessite beaucoup d’espace mémoire
et le temps d’exécution est trop élevé. Ce n’est donc pas la solution optimale.
Ainsi pour résoudre cette problématique, au lieu d’extraire des colonnes nous avons ajouté une
requête SQL au niveau du compostant tMSSqlInput qui permet de faire un select sur les
agrégats comme le montre la figure suivante :
Ensuite les données issues de cette requête ainsi que l’ID_CLIENT de la dimension
D_CLIENT sont mappés au sein du composant tMap puis intégrées dans le datamart.
Pour ce job, nous avons créé une variable de contexte qui prend en entrée une date. A
l’exécution du job, une fenêtre de dialogue permet d’insérer la date dont dépendront les
données.
A partir de cette valeur, nous définissons des variables globales qui seront utilisées par les flux
d’alimentations pour agréger les données. Ces variables correspondent au trimestre
ID_TRIMESTRE, à la première date du trimestre DAT_DEB_TRIM et à la dernière date du
trimestre DAT_FIN_TRIM.
Une fois les mesures insérées dans la table de faits, nous récupérons le nombre de ligne dans
une variable grâce au composant tJava qui sera utile pour le calcul d’une mesure dépendante.
Le deuxième flux relit la table de faits pour calculer les mesures suivantes :
clients qui correspond à la variable récupérée par le composant tJava. Le résultat obtenu permet
de déterminer le score trimestriel de chaque client conformément à la règle vue dans la partie
analyse selon laquelle les 20% de clients au CA le plus élevé ont un score de 3, les clients
faisant partie de la tranche entre 50% et 20% ont un score de 2 etc…
Dans la deuxième phase de mise à jour on calcule les indicateurs TRIM, NB3 et
FLAG_CAPACITE qui dépendent du score trimestriel.
Les rapports orientés clients sont utilisés par le service marketing de JARDILAND pour le
ciblage dans leurs campagnes marketing. Pour répondre à ce besoin nous avons créé deux
rapports : le premier présente les résultats de la segmentation et le second concerne les
informations des clients.
Comme son titre l’indique ce rapport permet au service marketing de filtrer la liste des clients
qu’ils peuvent contacter pour faire de la promotion. Cette liste permettra donc d’abord de
déterminer les clients à contacter et ensuite de déterminer le canal de communication. En
effet si le client a renseigné son numéro de téléphone il sera contacté par SMS ou par spot
vocal, s’il a renseigné son adresse on pourra lui envoyer un prospectus etc… En plus de cela
ce rapport inclut d’autres informations telles que la date d’adhésion et le magasin principal.
Ce rapport permet au service marketing de filtrer les clients par segments. Une fois le segment choisi, la liste des clients appartenant à ce segment
apparait, on peut ainsi connaître les propriétés de chaque segment par trimestre. Et si l’on applique un autre filtre par client, Qlikview affiche les
informations relatives à ce client ce qui permet à l’utilisateur de faire un profiling du client et de connaitre ses préférences et ses activités d’achats.
L’utilité de ce rapport consiste en le suivi des performances de ventes. Les tableaux dynamiques permettent de visualiser les ventes par produit et
par magasin. Le graphique à barre montre les différences de CA d’un magasin à l’autre. Et les courbes présentent l’évolution du CA par magasin
et par article.
Dans la perspective de présenter au client une solution satisfaisante adaptée à son besoin,
l’équipe d’INTEGRYTIS accorde une grande importance à la qualité de ces livrables.
Dans le cadre de ce projet, il est important de veiller à ce que les résultats obtenus reflètent de
manière exacte la réalité des choses. En outre, lorsqu’on fait une segmentation de clients, il faut
s’assurer que le segment attribué à chaque client lui correspond effectivement.
En effet, les campagnes marketing, qui exigent un investissement souvent couteux, reposent
sur les résultats de notre étude. Il est dont de notre devoir de fournir au client une base solide et
concrète pour faire ses études marketing.
Ainsi, nous avons fait une évaluation des résultats de segmentation obtenus sur deux niveaux.
D’abord nous avons évalué l’arbre et l’algorithme de segmentation et ensuite nous avons vérifié
les résultats obtenus à partir de cet algorithme. Cette étude repose sur des concepts de
Datamining.
En marketing, le datamining est l’ensemble des concepts et des technologies qui permettent
d’analyser les informations d’une base de données marketing pour y trouver des informations
utiles à l’action marketing et d’éventuelles corrélations signifiantes et utilisables entre les
données. Il peut également être considéré comme un processus qui permet d’extraire des
informations commercialement pertinentes à partir d’une grande masse d’informations.
Dans cette partie nous détaillons les algorithmes que nous avons choisis pour évaluer nos
résultats et nous justifions le choix de chacun d’eux :
a. L’arbre de décision
A partir des données, on crée une représentation graphique hiérarchique en forme d’arbre où
les nœuds internes correspondent aux attributs, les branches à un test sur un attribut et les
feuilles aux classes obtenues. Et pour chaque chemin de l’arbre, allant de la racine à la feuille
une règle est générée.
L’équipe fonctionnelle d’INTEGRYTIS a utilisé un arbre de décision pour identifier les règles
de segmentation au début du projet mais dans cette partie nous allons présenter le résultat que
nous avons-nous même obtenu et faire une comparaison pour déterminer si les règles que nous
avons utilisées sont pertinentes.
Parmi les avantages de l’arbre de décision, nous pouvons citer le fait qu’il soit facile à
comprendre surtout que les résultats sont visibles et parlant. Aussi, il permet de traiter tous les
types de données et résiste aux bruits et aux valeurs manquantes [3].
b. Méthode K-means
Cette méthode permet de traiter des données de taille importante mais l’inconvénient est qu’il
faut déterminer à l’avance le nombre K de clusters. Dans notre cas, cela ne pose pas de problème
car on connait le nombre de segments ciblés mais s’il on veut vérifier si ce nombre est correcte
ou bien s’il existe en réalité plus ou moins de segment il va falloir utiliser une autre méthode
[3].
c. Algorithme de Kohonen
Il s’agit d’un algorithme de classification qui a été défini par Teuvo Kohonen dans les années
80. L’algorithme regroupe les observations et les données en classes en respectant la topologie
de l’espace des observations. En effet, il définit une notion de voisinage entre classes. Ainsi,
les observations voisines dans l’espace des variables appartiennent après classification à la
même classe où à des classes voisines.
L’avantage que présente cet algorithme par rapport aux deux autres c’est que nous ne
définissons pas les nombres de classe en amont. Ainsi à partir des données que nous lui
fournirons en entrée, il nous permettra de vérifier si le nombre de segments est effectivement
égal à neuf ou s’il existe d’autres segments [3].
Pour exploiter les algorithmes de datamining nous avons choisi l’outil SPSS Modeler créé par
IBM et originalement appelé Clementine. C’est un logiciel de datamining et d’analyse de
données utilisé notamment pour créer des modèles descriptifs ou prédictifs de données. Son
interface graphique est facile à utiliser et permet à la fois de faire une étude statistique et
analytique dans un même flux.
Le choix de cet outil est justifié par le fait qu’il inclut tous les algorithmes dont nous avons
besoin pour notre étude. De plus, c’est un outil que nous savons manipuler et dont on a déjà
testé les performances à l’occasion d’autres projets.
L’arbre ainsi que les règles de segmentation ont été établis par l’équipe fonctionnelle
d’INTEGRYTIS en collaboration avec le client. Ces règles ont été détaillés dans la partie
analyse, cependant nous les rappelons dans le schéma suivant :
Pour évaluer l’arbre de segmentation nous avons nous-même conçu un arbre de décision à
partir des données de la table F_SEGMENT_SCORE pour vérifier la pertinence des règles.
Pour faire notre évaluation nous avons choisi comme Cible le SEGMENT et les Valeurs
prédites (Entrées) que nous avons choisies correspondent aux critères de sélection choisis par
l’équipe fonctionnelle :
Le flux ci-dessus commence par une lecture des données à partir d’un fichier plat. Ce fichier
contient les données de la table F_SEGMENT_SCORE que nous avons exporté pour faciliter
leur lecture sans avoir besoin d’une connexion ODBC.
Ensuite le nœud typer permet de filtrer les données que nous mettrons en entrée et de vérifier
leurs types et leurs plages de valeurs.
Sur cette figure nous constatons qu’il existe une forte corrélation entre NB_PASSAGE et
NB_MOIS_ACHAT, FLAG_NOUVEAU et FLAG_REGULARITE, puis FLAG_NOUVEAU
et FLAG_CAPACITE. Ces corrélations fortes et moins fortes nous permettent de déduire que :
• Un nouveau client ne va pas dépenser un montant très élevé et ne vas pas faire
plusieurs achats ;
• Un client régulier va forcément faire des achats pendant plusieurs mois ;
• Un client qui fait des achats à partir de plusieurs secteurs va forcément dépenser
plus qu’un client qui n’est intéressé que par un ou deux secteurs.
Ensuite, grâce à la sortie CHAID nous créons l’arbre de décision dont le résultat est comme
suit :
La figure ci-dessus contient deux résultats : à gauche les règles générées par notre modèle et à
droite l’implication des entrées dans la valeur du segment.
Nous constatons que le Panier Moyen est le plus important des critères de segmentation avec
un poids de 0.55, et qu’il est suivi par FLAG_REGULARITE avec un poids de 0.35. Nous
pouvons donc conclure que la régularité et le montant des achats déterminent la segmentation
des clients ce qui justifie le choix de la méthode RFM détaillée dans la partie analyse.
Concernant les règles émises par notre arbre décision elles s’alignent avec les règles fixées par
l’équipe fonctionnelle dans la mesure où nous constatons que les clients que nous pouvons
qualifier de « Bons » ont généralement un panier moyen supérieur à 50 euros, sont réguliers et
ne sont pas des nouveaux clients. Nous pouvons également noter que les nouveaux clients
doivent figurer dans un segment à part car ils se distinguent notablement des autres clients par
le nombre de passages, leur panier moyen et leur régularité. Les clients que nous qualifierons
de « Moins bons » seront alors les clients qui ont un panier moyen inférieur à 50 euros et une
régularité faible.
Tout au long de notre projet nous avons travaillé avec un nombre de segments égal à neuf. Dans
cette partie nous vérifions la justesse et la pertinence de ce nombre.
Pour faire notre évaluation nous avons utilisé l’algorithme de Kohonen car il génère lui-même
le nombre de clusters. Le flux que nous avons utilisé est le suivant :
Nous avons utilisé le même fichier en lecture que pour l’arbre de décision, un nœud Typer pour
filtrer les données en entrée et vérifier leurs valeurs. Les composants de sorties sont :
l’algorithme de Kohonen, un graphe à barre pour visualiser les résultats, et un tableau pour
filtrer les résultats par segment et faciliter l’analyse et la comparaison.
D’après cette figure, nous avons obtenu grâce à l’algorithme de Kohonen un bon résultat avec
5 attributs en entrée et 10 segments en sortie ce qui est proche de nos attentes. Ce résultat
confirme donc que le nombre de segments que nous avons utilisé tout au long du projet est le
bon. Néanmoins, il reste à vérifier la qualité des segments obtenus. Pour ce faire nous utilisons
les descriptions présentées par la figure suivante :
Nous savons à présent que le nombre de segments que nous avons utilisé est correct. Mais
ignorons toujours si à travers les nombreux traitements que nous avons effectués tout au long
du projet nous avons attribué à chaque client le segment qui lui correspond.
Pour évaluer nos résultats nous allons utiliser la méthode K-means en fixant k=9. Ensuite, on
comparera pour chaque K-cluster parmi les 9 si les clients qui y appartiennent sont les mêmes
qui appartiennent au segment correspondant au cluster en question.
Les résultats obtenus à partir du nœud K-means sont affichés un tableau puis exporté vers notre
base de données pour pouvoir faire nos tests de vérification à partir de requêtes SQL.
1 4
2 6
3 8
4 1
5 5
6 2
7 9
8 3
9 7
Les résultats obtenus sont plutôt satisfaisants sauf pour les cas des segments 3 et 8 avec
respectivement 35% et 31%. Ces faibles taux peuvent être dus à un mapping des K-clusters
qui n’est pas parfait et qui est basé sur des estimations.
Après avoir conçu une solution qui répond au besoin du service marketing, nous avons choisis
les outils et les technologies qui nous aiderons à mettre en place notre système décisionnel. Ce
dernier a été développé en deux phases, une première phase qui concerne l’extraction et
l’intégration des données et une deuxième phase de création des rapports d’analyse. Au bout
du compte, nous sommes arrivés à segmenter les clients et à synthétiser les données de ventes
pour produire en faveur du service marketing un résultat qui leur servira dans leurs études de
marché et leurs campagnes marketing. En outre, pour vérifier la pertinence et la véracité de ces
résultats nous nous sommes aidés des concepts et outils de datamining ce qui nous a permis de
nous assurer que le résultat final peut effectivement constituer une base solide pour les études
marketing de JARDILAND.
Au terme de notre projet de fin d’étude nous aurons pu mettre en place une solution
décisionnelle en faveur du service marketing lui permettant de segmenter ses clients et de suivre
et contrôler les ventes. Afin de lui proposer une base solide pour ses études marketing nous
avons d’abord étudié et analysé les spécifications exigées et les besoins fonctionnels et
techniques à satisfaire. Ensuite, en nous basant sur les résultats de cette analyse nous avons
conçu un modèle dimensionnel pour le datamart marketing associant les mesures et les axes
d’analyses dans un schéma en constellation. A partir de cette conception nous avons développé
les flux ETL d’abord pour alimenter la base de donnée opérationnelle et ensuite pour construire
le datamart. Nous avons utilisé pour ce fait l’outil ETL Talend et la base données SQL Server
de Microsoft. Enfin nous avons généré les rapports d’analyse avec l’outil Qlikview et nous
avons vérifié les résultats obtenus avec SPSS Modeler en exploitant les concepts de datamining.
Par conséquent, à partir du résultat obtenu, le service marketing de JARDILAND peut faire un
ciblage de ses clients lors de ses campagnes marketing et peut facilement visualiser les courbes
des ventes réalisées par les différents magasins pour différents articles. L’étude des tendances
d’achats des clients peut également servir à identifier les secteurs et familles de produits à
succès et ainsi orienter les investissements et mieux diriger les travaux de recherche et
développement dont le pôle est l’un des plus importants au sein de l’entreprise cliente.
Cela dit, notre mission n’est pas encore terminée, et comme perspective nous avons l’intention
de pousser l’étude un peu plus loin en analysant les retours des campagnes marketing. A ce
propos, il serait intéressant d’élargir le périmètre de notre datamart marketing pour inclure les
mesures et indicateurs relatifs aux réponses des clients et aux résultats des campagnes et des
offres marketing.
Bibliographie
[2]: Ricco Rakotomalala, Pratique de la Régression Logistique, Université Lyon II, 2003
Webographie