Introduction

Ce projet s’inscrit dans une démarche d’analyse des données marketing d’une entreprise. L’objectif est d’évaluer les performances commerciales à travers l’étude du chiffre d’affaires, des marges, ainsi que du comportement des clients.

L’analyse repose sur plusieurs bases de données contenant des informations sur les clients, les commandes, les produits et les canaux marketing.

Description des données

Les données utilisées proviennent de plusieurs sources :

Ces différentes bases seront fusionnées afin de permettre une analyse globale.

Chargement des bibliothèques

Afin d’effectuer une analyse de qualité, il est nécessaire d’utliser certaines bibliothèques comme celles chargées ci-dessous :

library(dplyr)
## Warning: le package 'dplyr' a été compilé avec la version R 4.5.3
## 
## Attachement du package : 'dplyr'
## Les objets suivants sont masqués depuis 'package:stats':
## 
##     filter, lag
## Les objets suivants sont masqués depuis 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readxl)
library(ggplot2)
## Warning: le package 'ggplot2' a été compilé avec la version R 4.5.3

Importation des données

Les différentes bases de données sont importées à partir de fichiers Excel. On peut l’observer ci-après :

base_client <- read_excel("~/Etude et enquête statistiques/base client.xlsx")
base_commande <- read_excel("~/Etude et enquête statistiques/base comande.xlsx")
base_details_commandes <- read_excel("~/Etude et enquête statistiques/base details commandes.xlsx")
base_marketing <- read_excel("~/Etude et enquête statistiques/base marketing.xlsx")
base_produit <- read_excel("~/Etude et enquête statistiques/base produit.xlsx")

Exploration des données

Pour mieux comprendre la structure des différentes bases de données, nous avons procédé à une petite exploration. On peut observer :

  1. La table client :
    La base clients contient des informations essentielles permettant de comprendre le profil des consommateurs. Une exploration préalable est nécessaire afin d’identifier les variables disponibles et leur nature.
str(base_client)
## tibble [300 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Client_ID        : chr [1:300] "C0001" "C0002" "C0003" "C0004" ...
##  $ Nom              : chr [1:300] "Durand" "Richard" "Petit" "Martin" ...
##  $ Prenom           : chr [1:300] "Louis" "Lea" "Lucas" "Louis" ...
##  $ Sexe             : chr [1:300] "F" "M" "M" "M" ...
##  $ Date_naissance   : POSIXct[1:300], format: "1985-06-25" "2013-04-24" ...
##  $ Ville            : chr [1:300] "Paris" "Nantes" "Bordeaux" "Nantes" ...
##  $ Region           : chr [1:300] "Nouvelle-Aquitaine" "Occitanie" "Nouvelle-Aquitaine" "Auvergne-Rhone-Alpes" ...
##  $ Date_inscription : POSIXct[1:300], format: "2022-01-06" "2024-07-24" ...
##  $ Canal_acquisition: chr [1:300] "SEO" "Email" "SEO" "SEA" ...
##  $ Segment          : chr [1:300] "VIP" "Standard" "VIP" "VIP" ...

La base clients contient des informations démographiques et comportementales (sexe, ville, segment, canal d’acquisition). Ces données permettront d’analyser les profils clients, de réaliser une segmentation et d’étudier leur contribution au chiffre d’affaires.

  1. La table commande :
    La base commandes regroupe les transactions réalisées par les clients. L’analyse de sa structure permet de comprendre comment les ventes sont enregistrées.
str(base_commande)
## tibble [800 × 6] (S3: tbl_df/tbl/data.frame)
##  $ Commande_ID  : chr [1:800] "O00001" "O00002" "O00003" "O00004" ...
##  $ Date_commande: POSIXct[1:800], format: "2024-11-02" "2024-10-15" ...
##  $ Client_ID    : chr [1:800] "C0032" "C0295" "C0285" "C0079" ...
##  $ Canal_vente  : chr [1:800] "Online" "Magasin" "Online" "Online" ...
##  $ Code_promo   : chr [1:800] NA "PROMO20" NA "PROMO10" ...
##  $ Mode_paiement: chr [1:800] "PayPal" "CB" "Virement" "PayPal" ...

La base commandes contient les informations liées aux achats (date, client, canal de vente, mode de paiement). Elle constitue un élément central pour le calcul du chiffre d’affaires et l’analyse des comportements d’achat.

  1. La table produit :
    La base produits contient les caractéristiques des articles vendus. Elle est indispensable pour analyser la structure de l’offre commerciale.
str(base_produit)
## tibble [120 × 7] (S3: tbl_df/tbl/data.frame)
##  $ Produit_ID    : chr [1:120] "P0001" "P0002" "P0003" "P0004" ...
##  $ Categorie     : chr [1:120] "Electronics" "Maison" "Maison" "Electronics" ...
##  $ Sous_categorie: chr [1:120] "Smartphone" "Cuisine" "Mobilier" "Smartphone" ...
##  $ Marque        : chr [1:120] "BrandA" "BrandB" "BrandB" "BrandD" ...
##  $ Prix_unitaire : num [1:120] 922 537 923 578 852 ...
##  $ Cout          : num [1:120] 530 259 411 279 658 ...
##  $ Stock_initial : num [1:120] 172 383 111 157 270 499 202 393 104 141 ...

La base produits contient les informations sur les catégories, marques, prix et coûts. Elle permet d’analyser la rentabilité des produits et d’identifier les articles les plus performants.

Fusion des tables :

La fusion des tables est une étape essentielle dans l’analyse des données. Elle permet de regrouper des informations provenant de plusieurs sources en une seule base cohérente.

Dans ce projet, les données relatives aux clients, aux commandes et aux produits sont stockées dans des tables distinctes. La fusion permet donc de relier ces informations entre elles afin d’obtenir une vision globale de l’activité.

Par exemple, elle permet d’associer chaque commande à un client et à un produit, ce qui rend possible le calcul du chiffre d’affaires, de la marge, ainsi que l’analyse du comportement des clients.

data <- base_details_commandes %>%
  left_join(base_commande, by = "Commande_ID") %>%
  left_join(base_produit, by = "Produit_ID") %>%
  left_join(base_client, by = "Client_ID")
data

Ainsi, nous avons la facilité de faire des analyses croisées et améliorer la qualité des résultats obtenus.

data$Date_commande <- as.Date(data$Date_commande)

Création des indicateurs

Dans une démarche d’analyse marketing, la création d’indicateurs constitue une étape essentielle pour évaluer la performance de l’entreprise.

Ces indicateurs permettent de traduire les données brutes en informations exploitables pour la prise de décision. Dans ce projet, l’objectif est d’adopter une vision commerciale en mesurant la performance à travers des variables clés telles que le chiffre d’affaires, le coût total et la marge.

Le chiffre d’affaires permet d’évaluer le niveau d’activité, tandis que le coût total reflète les dépenses engagées. La marge, quant à elle, mesure la rentabilité et constitue un indicateur central pour apprécier la performance économique.

Par ailleurs, l’introduction d’une dimension temporelle à travers la variable “Mois” permet d’analyser l’évolution de l’activité dans le temps.

Ainsi, ces indicateurs offrent une lecture claire et synthétique des performances commerciales et facilitent l’identification des axes d’amélioration.

data <- data %>%
  mutate(
    Mois = format(Date_commande, "%Y-%m"),
    CA = Quantite * Prix_vente,
    Cout_total = Quantite * Cout,
    Marge = CA - Cout_total
  )
  1. Chiffre d’affaire(CA) :
    Pour mesurer le niveau d’activité commerciale, nous avons calculer le chiffre d’affaire afin de d’évaluer la performence globale en termes de revenus.
CA_total <- sum(data$CA, na.rm = TRUE)
CA_total
## [1] 3805693

Ce chiffre d’affaire traduit une forte activité et une bonne capacité à générer des ventes

  1. Marge :
    Dans l’intention d’évaluer la rentabilité, nous avons calculé la marge qui représente la différence entre le chiffre d’affaire et les coûts engagés.
Marge_totale <- sum(data$Marge, na.rm = TRUE)
Marge_totale
## [1] 1453930

Durant la période étudiée, l’entreprise a parvenu à dégager un profit, c’est ce qui explique cette marge positive. Donc, il y a une bonne maîtrise des coûts et d’une stratégie commerciale efficace.

  1. Quantité vendue :
    La quantité est un indicateur reflètant le volume global des produits écoulés. Il permet d’évaluer la demande et le dynamisme commercial de l’entreprise.
Quantite_totale <- sum(data$Quantite, na.rm = TRUE)
Quantite_totale
## [1] 7514

Avec cette quantité, on peut conclure qu’il y a une forte attractivité des produits sur le marché.

  1. Analyse du chiffre d’affaire par produit :

Cette analyse permet d’identifier les produits générant le plus de chiffre d’affaires.

CA_produit <- data %>%
  group_by(Produit_ID, Categorie) %>%
  summarise(CA = sum(CA, na.rm = TRUE), .groups = "drop") %>%
  arrange(desc(CA))
CA_produit

Cette analyse suggère que le produit P006, ELECTRONICS est celui qui génre le plus de chiffre d’affaire, avec plus de 62k sur cette période.

  1. Top produit par CA :
    C’est le même principe que l’indicateur précédent, sauf qu’ici, il y a une particularité qui est d’identifier le top 10 des produits qui dominent largement les ventes. Et cela, pour comprendre les leviers stratégiques de l’entreprise.
top_produits <- CA_produit %>%
  slice_max(CA, n = 10)
top_produits

Comme on peut le remarquer, ce sont les produits de mode, maison et electronique qui sont les leviers stratégiques de l’entreprise.

Représentation Graphique :
Pour vulgariser l’information, la représentation graphique est la méthode la plus utilisée. Comme on le dit dans le jargon, une image vaut mille mots. Regardons cette repartition.

ggplot(top_produits, aes(x = reorder(Produit_ID, CA), y = CA)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  coord_flip() +
  labs(title = "Top 10 produits par chiffre d'affaires",
       x = "Produits",
       y = "CA")

Les résultats montrent que c’est plus pratique de remaquer la repartition sur le graphique que sur un tablaeau.

  1. Evolution du chiffre d’affaire par mois :
    Il est recommendé d’évaluer le CA au fil du temps, parce que cela nous permet de réaliser s’il ya un saisonnalité ou non afin de mieux situer les investissements. Donc, c’est un indicateur clé.
CA_mensuel <- data %>%
  group_by(Mois) %>%
  summarise(CA = sum(CA, na.rm = TRUE), .groups = "drop") %>%
  arrange(Mois)
CA_mensuel

Nous constatons une augmentation considérable du CA en Avril et Mai 2024 si on les compare à ceux de 2023; ainsi, on peut dire qu’il y a une réussite au niveau des actions commerciales(pub, marketing,…)

Représenation graphique :
On peut mieux observer cette évolution à travers cette courbe

ggplot(CA_mensuel, aes(x = Mois, y = CA, group = 1)) +
  geom_line(color = "red") +
  labs(title = "Evolution du chiffre d'affaires",
       x = "Mois",
       y = "CA") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

La courbe a été un bon choix pour observer cette évolution.

  1. Analyse du chiffre d’affaire par canal de ventes :
    Cette partie compare les performances des différents canaux de vente. C’est une méhode utlisée pour répondre aux besoins des clients
CA_canal <- data %>%
  group_by(Canal_vente) %>%
  summarise(CA = sum(CA, na.rm = TRUE), .groups = "drop") %>%
  arrange(desc(CA))
CA_canal

Malgré l’évolution des ventes en lignes,le canal magasin génère plus de CA, ce qui peut s’expliquer par une préférence des clients pour l’achat physique ou une meilleure expérience en point de vente.

Représentation graphique :
A travers ce garphique en barres, on peut mieux visualiser cette différence

ggplot(CA_canal, aes(x = reorder(Canal_vente, CA), y = CA)) +
  geom_bar(stat = "identity", fill = "darkred") +
  coord_flip() +
  labs(title = "CA par canal de vente",
       x = "Canal",
       y = "CA")

Ce graphique suggère que les ventes physiques restent encore importantes.

  1. Analyse du chiffre d’affaire par client :

Cette analyse identifie les clients les plus importants en termes de chiffre d’affaires. C’est une méthode utilisée pour évaluer la fidélité des clients. On peut l’utliser pour récompenser s’il y a à ces top clients.

CA_clients <- data %>%
  group_by(Client_ID, Ville, Segment) %>%
  summarise(CA = sum(CA, na.rm = TRUE), .groups = "drop") %>%
  arrange(desc(CA))

head(CA_clients, 10)

S’il y a une récompense, le client C0044 résident à Marseille serait le premier à la recevoir puisqu’il est le client qui génère le chiffre d’affaire pour l’entreprise.

  1. Analyse du chiffre d’affaire par segment :

Cette partie permet de comparer les performances selon les segments de clients.On essaye de savoir quel type de clients revient le plus souvent, mais aussi de mésurer le cout d’opportinuté.

CA_segment <- data %>%
  group_by(Segment) %>%
  summarise(
    CA = sum(CA, na.rm = TRUE),
    Nb_clients = n_distinct(Client_ID),
    .groups = "drop"
  )

CA_segment

Que ça soit en terme de CA ou nombre de clients, il y a un équilbre entre les différents segments, puisqu’on observe qu’une légre différence. On peut dire que notre produit intéresse tout le monde même si les segments Premium et VIP sont ceux qui contribuent au plus au chiffre d’affaires global.

  1. Analyse du chiffre d’affaire par genre :

L’analyse selon le genre permet d’identifier d’éventuelles différences de comportement.

CA_sexe <- data %>%
  group_by(Sexe) %>%
  summarise(CA = sum(CA, na.rm = TRUE), .groups = "drop")

CA_sexe

On observe une légère dominance du chiffre d’affaires généré par les hommes.

Conclusion générale

Cette étude avait pour objectif d’analyser les performances commerciales d’une entreprise à partir de données marketing issues de plusieurs sources (clients, commandes, produits et marketing). La fusion de ces bases a permis de construire une vision globale de l’activité et de répondre à plusieurs questions stratégiques liées aux ventes et au comportement des clients.

Les résultats obtenus montrent que l’entreprise réalise un chiffre d’affaires global de 3 805 693, avec une marge de 1 453 930, ce qui confirme une activité globalement rentable. Le volume total de ventes, estimé à 7 514 unités, témoigne également d’une forte dynamique commerciale.

L’analyse a permis de répondre aux principales questions posées dans l’étude :

Globalement, l’analyse montre que la performance de l’entreprise repose principalement sur un ensemble de produits et de segments clients stratégiques, ce qui constitue à la fois une force et un point d’attention pour la diversification des revenus.


Recommandations

À la lumière de ces résultats, plusieurs axes d’amélioration peuvent être proposés :


Conclusion finale

Cette analyse fournit une vision claire et structurée des performances commerciales de l’entreprise. Elle constitue une base solide pour orienter les décisions stratégiques, améliorer la rentabilité et optimiser les actions marketing futures.