Activator data analyse

Importations de données à analyser

objectifs <- read.csv2("D:/Activator/objectifs.csv", colClasses = c('character', rep('numeric',4)))

Nettoyage du Jeu de données objectifs

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
objectifs
##         Clients Janvier Fevrier  Mars Objectifs.Premier.Trimestre.2017
## 1          JDDS    7000    9000 10000                            26000
## 2   Nealiko CMR    2000    3000  4000                             9000
## 3        Dreams    4200    5200  4000                               NA
## 4   Ets Gnepiba     500    1100  1200                             2800
## 5        PRODIS    2000    4500  5000                            11500
## 6       JIPEDIS    1000    1300  2000                             4300
## 7        Atomic    2500    4000  3000                             9500
## 8        G3-Biz     500     800  1000                             2300
## 9       Magne R     800     900   900                             2600
## 10       Bridia     150     200   400                              750
## 11          STS    2200    2800  3400                             8400
## 12          TMG     400    1000  1200                             2600
## 13      Oumarou    1800    2500  2500                             6800
## 14       Spider    1000    2000   800                             3800
## 15    SOGEDICAM     400     500   400                             1300
## 16          MGC     500     700   300                             1500
## 17        SIEGA     400     300   290                              990
## 18 SAGEL Negoce     700    3000  2000                             5700
## 19      MAND CO    1000    1800  1800                             4600
## 20        Obala     800    1200   700                             2700
## 21        Total   29850   45800 44890                           107140
## 22                   NA      NA    NA                               NA
objectifs[which(!complete.cases(objectifs)),]
##    Clients Janvier Fevrier Mars Objectifs.Premier.Trimestre.2017
## 3   Dreams    4200    5200 4000                               NA
## 22              NA      NA   NA                               NA

A la troisième ligne on a une valeur manquantes sur la colonne Objectifs.Premier.Trimestre.2017, vraisemblablement en regardant cette colonnes il s’agit de la somme des objectifs fixés en janvier fevrier et Mars

On peut donc l’imputer la somme correspondante à la ligne.

Pour la ligne 22 on peut tout simplement la supprimer

objectifs$Objectifs.Premier.Trimestre.2017[3] <- sum(objectifs[3,2:4])
objectifs <- objectifs[-22,]
objectifs
##         Clients Janvier Fevrier  Mars Objectifs.Premier.Trimestre.2017
## 1          JDDS    7000    9000 10000                            26000
## 2   Nealiko CMR    2000    3000  4000                             9000
## 3        Dreams    4200    5200  4000                            13400
## 4   Ets Gnepiba     500    1100  1200                             2800
## 5        PRODIS    2000    4500  5000                            11500
## 6       JIPEDIS    1000    1300  2000                             4300
## 7        Atomic    2500    4000  3000                             9500
## 8        G3-Biz     500     800  1000                             2300
## 9       Magne R     800     900   900                             2600
## 10       Bridia     150     200   400                              750
## 11          STS    2200    2800  3400                             8400
## 12          TMG     400    1000  1200                             2600
## 13      Oumarou    1800    2500  2500                             6800
## 14       Spider    1000    2000   800                             3800
## 15    SOGEDICAM     400     500   400                             1300
## 16          MGC     500     700   300                             1500
## 17        SIEGA     400     300   290                              990
## 18 SAGEL Negoce     700    3000  2000                             5700
## 19      MAND CO    1000    1800  1800                             4600
## 20        Obala     800    1200   700                             2700
## 21        Total   29850   45800 44890                           107140

View of correlation

pairs(objectifs[,2:5])

Nettoyage du jeux de données stocks

stocks <- read.csv2("D:/Activator/stocks.csv",  stringsAsFactors = FALSE)
#
head(stocks,20)
##            Article    Region Clients X1.Jan.17 X31.Jan.17 X28.Feb.17
## 1        FES 65cl   Douala     JDDS       278        170        125 
## 2        FES 33cl   Douala     JDDS     1 886      1 715      1 939 
## 3        FES 50cl   Douala     JDDS       -          -          -   
## 4   FES 50cl x 15   Douala     JDDS         1          1          1 
## 5        FES Cans   Douala     JDDS       -          -          -   
## 6        GES x 15   Douala     JDDS       770      1 165      1 100 
## 7        GES 65cl   Douala     JDDS       183         66        (61)
## 8              MG   Douala     JDDS         3          1        -   
## 9         MG Cans   Douala     JDDS       -          -          -   
## 10            SAT   Douala     JDDS       -          -          -   
## 11            GHP   Douala     JDDS       -          -          -   
## 12       HAR 60cl   Douala     JDDS     1 131        783      1 001 
## 13       HAR 30cl   Douala     JDDS        44         44         43 
## 14            WIN   Douala     JDDS       -          -          -   
## 15            SMR   Douala     JDDS       -          -          -   
## 16            SMB   Douala     JDDS         1         (5)        (6)
## 17    Orijin 65cl   Douala     JDDS       -          -          -   
## 18    Orijin 60cl   Douala     JDDS        30         29        580 
## 19       HAR 65cl   Douala     JDDS       -          -          -   
## 20           SMIE   Douala     JDDS       314        271        245 
##    X31.Mar.17
## 1         21 
## 2      1 712 
## 3        -   
## 4          1 
## 5        -   
## 6        763 
## 7        (63)
## 8         (9)
## 9        -   
## 10       -   
## 11       -   
## 12     1 025 
## 13        42 
## 14       -   
## 15       -   
## 16        (6)
## 17       -   
## 18       275 
## 19       -   
## 20       226

En visualisant le tableau de données stocks, on remarque la presence de beaucoup de caractère “-”. Une attention précise du set nous indique qu’il s’agit de valeur nulle zéros

# On remplace le caractère "-", par "0"
for (i in 4:7){
  stocks[,i] <- gsub("-","0", stocks[,i])
}

supprimons les espaces entres les nombres

for (i in 4:7){
  stocks[,i] <- gsub(" ","", stocks[,i])
}

Un coup d’oeil sur le jeu stocks à présent

head(stocks,20)
##            Article    Region Clients X1.Jan.17 X31.Jan.17 X28.Feb.17
## 1        FES 65cl   Douala     JDDS        278        170        125
## 2        FES 33cl   Douala     JDDS       1886       1715       1939
## 3        FES 50cl   Douala     JDDS          0          0          0
## 4   FES 50cl x 15   Douala     JDDS          1          1          1
## 5        FES Cans   Douala     JDDS          0          0          0
## 6        GES x 15   Douala     JDDS        770       1165       1100
## 7        GES 65cl   Douala     JDDS        183         66       (61)
## 8              MG   Douala     JDDS          3          1          0
## 9         MG Cans   Douala     JDDS          0          0          0
## 10            SAT   Douala     JDDS          0          0          0
## 11            GHP   Douala     JDDS          0          0          0
## 12       HAR 60cl   Douala     JDDS       1131        783       1001
## 13       HAR 30cl   Douala     JDDS         44         44         43
## 14            WIN   Douala     JDDS          0          0          0
## 15            SMR   Douala     JDDS          0          0          0
## 16            SMB   Douala     JDDS          1        (5)        (6)
## 17    Orijin 65cl   Douala     JDDS          0          0          0
## 18    Orijin 60cl   Douala     JDDS         30         29        580
## 19       HAR 65cl   Douala     JDDS          0          0          0
## 20           SMIE   Douala     JDDS        314        271        245
##    X31.Mar.17
## 1          21
## 2        1712
## 3           0
## 4           1
## 5           0
## 6         763
## 7        (63)
## 8         (9)
## 9           0
## 10          0
## 11          0
## 12       1025
## 13         42
## 14          0
## 15          0
## 16        (6)
## 17          0
## 18        275
## 19          0
## 20        226

Il y a plusieurs données entre parenthèses, nettoyons les!

for (i in 4:7){
  stocks[,i] <- gsub("\\(|\\)","", stocks[,i])
}

Verifions si nous n’avons pas de cases vides

stocks[which(!complete.cases(stocks)),]
## [1] Article    Region     Clients    X1.Jan.17  X31.Jan.17 X28.Feb.17
## [7] X31.Mar.17
## <0 rows> (or 0-length row.names)
stocks[sample(20),]
##            Article    Region Clients X1.Jan.17 X31.Jan.17 X28.Feb.17
## 4   FES 50cl x 15   Douala     JDDS          1          1          1
## 9         MG Cans   Douala     JDDS          0          0          0
## 14            WIN   Douala     JDDS          0          0          0
## 1        FES 65cl   Douala     JDDS        278        170        125
## 11            GHP   Douala     JDDS          0          0          0
## 6        GES x 15   Douala     JDDS        770       1165       1100
## 19       HAR 65cl   Douala     JDDS          0          0          0
## 12       HAR 60cl   Douala     JDDS       1131        783       1001
## 17    Orijin 65cl   Douala     JDDS          0          0          0
## 16            SMB   Douala     JDDS          1          5          6
## 2        FES 33cl   Douala     JDDS       1886       1715       1939
## 3        FES 50cl   Douala     JDDS          0          0          0
## 18    Orijin 60cl   Douala     JDDS         30         29        580
## 15            SMR   Douala     JDDS          0          0          0
## 5        FES Cans   Douala     JDDS          0          0          0
## 7        GES 65cl   Douala     JDDS        183         66         61
## 8              MG   Douala     JDDS          3          1          0
## 10            SAT   Douala     JDDS          0          0          0
## 13       HAR 30cl   Douala     JDDS         44         44         43
## 20           SMIE   Douala     JDDS        314        271        245
##    X31.Mar.17
## 4           1
## 9           0
## 14          0
## 1          21
## 11          0
## 6         763
## 19          0
## 12       1025
## 17          0
## 16          6
## 2        1712
## 3           0
## 18        275
## 15          0
## 5           0
## 7          63
## 8           9
## 10          0
## 13         42
## 20        226

Il n’y a plus de valeurs manquantes, reste à convertir les les colonnes 4 à 7 en type numeric

stocks2 <- stocks
for (i in 4:7){
  stocks[,i] <- as.numeric(stocks[,i])
}
head(stocks, 20)
##            Article    Region Clients X1.Jan.17 X31.Jan.17 X28.Feb.17
## 1        FES 65cl   Douala     JDDS        278        170        125
## 2        FES 33cl   Douala     JDDS       1886       1715       1939
## 3        FES 50cl   Douala     JDDS          0          0          0
## 4   FES 50cl x 15   Douala     JDDS          1          1          1
## 5        FES Cans   Douala     JDDS          0          0          0
## 6        GES x 15   Douala     JDDS        770       1165       1100
## 7        GES 65cl   Douala     JDDS        183         66         61
## 8              MG   Douala     JDDS          3          1          0
## 9         MG Cans   Douala     JDDS          0          0          0
## 10            SAT   Douala     JDDS          0          0          0
## 11            GHP   Douala     JDDS          0          0          0
## 12       HAR 60cl   Douala     JDDS       1131        783       1001
## 13       HAR 30cl   Douala     JDDS         44         44         43
## 14            WIN   Douala     JDDS          0          0          0
## 15            SMR   Douala     JDDS          0          0          0
## 16            SMB   Douala     JDDS          1          5          6
## 17    Orijin 65cl   Douala     JDDS          0          0          0
## 18    Orijin 60cl   Douala     JDDS         30         29        580
## 19       HAR 65cl   Douala     JDDS          0          0          0
## 20           SMIE   Douala     JDDS        314        271        245
##    X31.Mar.17
## 1          21
## 2        1712
## 3           0
## 4           1
## 5           0
## 6         763
## 7          63
## 8           9
## 9           0
## 10          0
## 11          0
## 12       1025
## 13         42
## 14          0
## 15          0
## 16          6
## 17          0
## 18        275
## 19          0
## 20        226
stocks[which(!complete.cases(stocks2)),]
## [1] Article    Region     Clients    X1.Jan.17  X31.Jan.17 X28.Feb.17
## [7] X31.Mar.17
## <0 rows> (or 0-length row.names)

La table stocks est prête !

Nettoyage de la table ventes

ventes<- read.csv2("D:/Activator/Ventes.csv",stringsAsFactors = FALSE)

Visualisons un peu ce jeu de données

head(ventes, 20)
##          Article  Region Clients X1.Jan.17 X5.Jan.17 X10.Jan.17 X15.Jan.17
## 1       FES 65cl Douala     JDDS       50        95        210        -   
## 2       FES 33cl Douala     JDDS      234       436        526        -   
## 3       FES 50cl Douala     JDDS      -         -          -          -   
## 4  FES 50cl x 15 Douala     JDDS      -         -          -          -   
## 5       FES Cans Douala     JDDS      -         -          -          -   
## 6       GES x 15 Douala     JDDS      -           3        -          -   
## 7       GES 65cl Douala     JDDS       98       256        162        -   
## 8             MG Douala     JDDS       18        11          4        -   
## 9        MG Cans Douala     JDDS      -         -          -          -   
## 10           SAT Douala     JDDS      -         -          -          -   
## 11           GHP Douala     JDDS      -         -          -          -   
## 12      HAR 60cl Douala     JDDS      247       387        482        -   
## 13      HAR 30cl Douala     JDDS        2         1          1        -   
## 14           WIN Douala     JDDS      -         -          -          -   
## 15           SMR Douala     JDDS      -         -          -          -   
## 16           SMB Douala     JDDS        1         3         35        -   
## 17   Orijin 65cl Douala     JDDS      -         -          -          -   
## 18   Orijin 60cl Douala     JDDS       11         3        -          -   
## 19      HAR 65cl Douala     JDDS      -         -          -          -   
## 20          SMIE Douala     JDDS       28        56         76        -   
##    X25.Jan.17 X6.Feb.17 X12.fev17 X19.Fev17 X21Fev17 X28Fev17 X1.Mar.17
## 1        247       123        69       215      347      308       -   
## 2        599       443       297       534      692      729       -   
## 3        -         -         -         -        -        -         -   
## 4        -         -         -         -        -        -         -   
## 5        -         -         -         -        -        -         -   
## 6        -         -         -         642      977    1 133       -   
## 7         14       300       338       453        7        5       -   
## 8        -         -         -         -         57      -         -   
## 9        -         -         -         -        -        -         -   
## 10       -         -         -         -        -        -         -   
## 11       -         -         -         -        -        -         -   
## 12       768       539       338       299      366      488       -   
## 13         1         1         2         1        1        7       -   
## 14       -         -         -         -        -        -         -   
## 15       -         -         -         -        -        -         -   
## 16       -         -          10       -        -        -         -   
## 17       -         -         -         -        -        -         -   
## 18       -         -         -          45      979      927       -   
## 19       -         -         -         -        -        -         -   
## 20        67        67       134        32       43       74       -   
##    X8.Mar.17 X15.Mar.17 X21.Mar.17 X30.Mar.17
## 1       318         73          3        207 
## 2       622        608        445        494 
## 3       -          -          -          -   
## 4       -          -          -          -   
## 5       -          -          -          -   
## 6       983        962        581        438 
## 7       -            1          1          1 
## 8       -          -          -          -   
## 9       -          -          -          -   
## 10      -          -          -          -   
## 11      -          -          -          -   
## 12      635        770        407        422 
## 13        1          1        -            2 
## 14      -          -          -          -   
## 15      -          -          -          -   
## 16      -          -          -          -   
## 17      -          -          -          -   
## 18      665        573        372        398 
## 19      -          -          -          -   
## 20       72         80         41         45

On a 440 lignes et 16 colonnes

nous allons le nettoyer de la même façons que le stocks

# On remplace le caractère "-", par "0"
for (i in 4:18){
  ventes[,i] <- gsub("-","0", ventes[,i])
}
# On remplace le caractère " ", par ""
for (i in 4:18){
  ventes[,i] <- gsub(" ","", ventes[,i])
}

Takes a loop !

head(ventes,20)
##          Article  Region Clients X1.Jan.17 X5.Jan.17 X10.Jan.17 X15.Jan.17
## 1       FES 65cl Douala     JDDS        50        95        210          0
## 2       FES 33cl Douala     JDDS       234       436        526          0
## 3       FES 50cl Douala     JDDS         0         0          0          0
## 4  FES 50cl x 15 Douala     JDDS         0         0          0          0
## 5       FES Cans Douala     JDDS         0         0          0          0
## 6       GES x 15 Douala     JDDS         0         3          0          0
## 7       GES 65cl Douala     JDDS        98       256        162          0
## 8             MG Douala     JDDS        18        11          4          0
## 9        MG Cans Douala     JDDS         0         0          0          0
## 10           SAT Douala     JDDS         0         0          0          0
## 11           GHP Douala     JDDS         0         0          0          0
## 12      HAR 60cl Douala     JDDS       247       387        482          0
## 13      HAR 30cl Douala     JDDS         2         1          1          0
## 14           WIN Douala     JDDS         0         0          0          0
## 15           SMR Douala     JDDS         0         0          0          0
## 16           SMB Douala     JDDS         1         3         35          0
## 17   Orijin 65cl Douala     JDDS         0         0          0          0
## 18   Orijin 60cl Douala     JDDS        11         3          0          0
## 19      HAR 65cl Douala     JDDS         0         0          0          0
## 20          SMIE Douala     JDDS        28        56         76          0
##    X25.Jan.17 X6.Feb.17 X12.fev17 X19.Fev17 X21Fev17 X28Fev17 X1.Mar.17
## 1         247       123        69       215      347      308         0
## 2         599       443       297       534      692      729         0
## 3           0         0         0         0        0        0         0
## 4           0         0         0         0        0        0         0
## 5           0         0         0         0        0        0         0
## 6           0         0         0       642      977     1133         0
## 7          14       300       338       453        7        5         0
## 8           0         0         0         0       57        0         0
## 9           0         0         0         0        0        0         0
## 10          0         0         0         0        0        0         0
## 11          0         0         0         0        0        0         0
## 12        768       539       338       299      366      488         0
## 13          1         1         2         1        1        7         0
## 14          0         0         0         0        0        0         0
## 15          0         0         0         0        0        0         0
## 16          0         0        10         0        0        0         0
## 17          0         0         0         0        0        0         0
## 18          0         0         0        45      979      927         0
## 19          0         0         0         0        0        0         0
## 20         67        67       134        32       43       74         0
##    X8.Mar.17 X15.Mar.17 X21.Mar.17 X30.Mar.17
## 1        318         73          3        207
## 2        622        608        445        494
## 3          0          0          0          0
## 4          0          0          0          0
## 5          0          0          0          0
## 6        983        962        581        438
## 7          0          1          1          1
## 8          0          0          0          0
## 9          0          0          0          0
## 10         0          0          0          0
## 11         0          0          0          0
## 12       635        770        407        422
## 13         1          1          0          2
## 14         0          0          0          0
## 15         0          0          0          0
## 16         0          0          0          0
## 17         0          0          0          0
## 18       665        573        372        398
## 19         0          0          0          0
## 20        72         80         41         45
ventes[which(!complete.cases(ventes)),]
##  [1] Article    Region     Clients    X1.Jan.17  X5.Jan.17  X10.Jan.17
##  [7] X15.Jan.17 X25.Jan.17 X6.Feb.17  X12.fev17  X19.Fev17  X21Fev17  
## [13] X28Fev17   X1.Mar.17  X8.Mar.17  X15.Mar.17 X21.Mar.17 X30.Mar.17
## <0 rows> (or 0-length row.names)

Convertissons pour finir les colonnes 4 à 16 en type numeric

for (i in 4:18){
  ventes[,i] <- as.numeric(ventes[,i])
}
ventes[which(!complete.cases(ventes)),]
##  [1] Article    Region     Clients    X1.Jan.17  X5.Jan.17  X10.Jan.17
##  [7] X15.Jan.17 X25.Jan.17 X6.Feb.17  X12.fev17  X19.Fev17  X21Fev17  
## [13] X28Fev17   X1.Mar.17  X8.Mar.17  X15.Mar.17 X21.Mar.17 X30.Mar.17
## <0 rows> (or 0-length row.names)

La table ventes est donc prête pour l’analyse

A Analyse globale

  1. Présenter toutes les données chiffrées en effectuant la somme des ventes du premier trimestre 2017 par clients sous forme de tableau appelée Rapport Général
for (i in 1:nrow(ventes)){
  ventes$total[i] <- sum(ventes[i,4:16])
}
head(ventes, 20)
##          Article  Region Clients X1.Jan.17 X5.Jan.17 X10.Jan.17 X15.Jan.17
## 1       FES 65cl Douala     JDDS        50        95        210          0
## 2       FES 33cl Douala     JDDS       234       436        526          0
## 3       FES 50cl Douala     JDDS         0         0          0          0
## 4  FES 50cl x 15 Douala     JDDS         0         0          0          0
## 5       FES Cans Douala     JDDS         0         0          0          0
## 6       GES x 15 Douala     JDDS         0         3          0          0
## 7       GES 65cl Douala     JDDS        98       256        162          0
## 8             MG Douala     JDDS        18        11          4          0
## 9        MG Cans Douala     JDDS         0         0          0          0
## 10           SAT Douala     JDDS         0         0          0          0
## 11           GHP Douala     JDDS         0         0          0          0
## 12      HAR 60cl Douala     JDDS       247       387        482          0
## 13      HAR 30cl Douala     JDDS         2         1          1          0
## 14           WIN Douala     JDDS         0         0          0          0
## 15           SMR Douala     JDDS         0         0          0          0
## 16           SMB Douala     JDDS         1         3         35          0
## 17   Orijin 65cl Douala     JDDS         0         0          0          0
## 18   Orijin 60cl Douala     JDDS        11         3          0          0
## 19      HAR 65cl Douala     JDDS         0         0          0          0
## 20          SMIE Douala     JDDS        28        56         76          0
##    X25.Jan.17 X6.Feb.17 X12.fev17 X19.Fev17 X21Fev17 X28Fev17 X1.Mar.17
## 1         247       123        69       215      347      308         0
## 2         599       443       297       534      692      729         0
## 3           0         0         0         0        0        0         0
## 4           0         0         0         0        0        0         0
## 5           0         0         0         0        0        0         0
## 6           0         0         0       642      977     1133         0
## 7          14       300       338       453        7        5         0
## 8           0         0         0         0       57        0         0
## 9           0         0         0         0        0        0         0
## 10          0         0         0         0        0        0         0
## 11          0         0         0         0        0        0         0
## 12        768       539       338       299      366      488         0
## 13          1         1         2         1        1        7         0
## 14          0         0         0         0        0        0         0
## 15          0         0         0         0        0        0         0
## 16          0         0        10         0        0        0         0
## 17          0         0         0         0        0        0         0
## 18          0         0         0        45      979      927         0
## 19          0         0         0         0        0        0         0
## 20         67        67       134        32       43       74         0
##    X8.Mar.17 X15.Mar.17 X21.Mar.17 X30.Mar.17 total
## 1        318         73          3        207  2055
## 2        622        608        445        494  5720
## 3          0          0          0          0     0
## 4          0          0          0          0     0
## 5          0          0          0          0     0
## 6        983        962        581        438  4700
## 7          0          1          1          1  1634
## 8          0          0          0          0    90
## 9          0          0          0          0     0
## 10         0          0          0          0     0
## 11         0          0          0          0     0
## 12       635        770        407        422  5319
## 13         1          1          0          2    19
## 14         0          0          0          0     0
## 15         0          0          0          0     0
## 16         0          0          0          0    49
## 17         0          0          0          0     0
## 18       665        573        372        398  3203
## 19         0          0          0          0     0
## 20        72         80         41         45   729

Pour repondre à notre premier probleme on peut aggreger le total des ventes en fonction des clients

ventes$Clients <- as.factor(ventes$Clients)
RapportG <- aggregate(total~Clients, ventes, sum)

A view of RapportG

RapportG
##         Clients total
## 1        Atomic  9224
## 2        Bridia   772
## 3        Dreams 12677
## 4   Ets Gnepiba  2258
## 5        G3-Biz  2332
## 6          JDDS 23518
## 7       JIPEDIS  3798
## 8       Magne R  2207
## 9       MAND CO  3140
## 10          MGC  1625
## 11  Nealiko CMR  7413
## 12        Obala  2711
## 13      Oumarou  5387
## 14       PRODIS  9283
## 15 SAGEL Negoce  5392
## 16        SIEGA  1030
## 17    SOGEDICAM  1019
## 18       Spider  3688
## 19          STS  7080
## 20          TMG  3266
  1. Au niveau du tableau «  Rapport Générale » classer les clients par ordre croissant selon leur performance de vente
RapportG <- arrange(RapportG, desc(total))
RapportG
##         Clients total
## 1          JDDS 23518
## 2        Dreams 12677
## 3        PRODIS  9283
## 4        Atomic  9224
## 5   Nealiko CMR  7413
## 6           STS  7080
## 7  SAGEL Negoce  5392
## 8       Oumarou  5387
## 9       JIPEDIS  3798
## 10       Spider  3688
## 11          TMG  3266
## 12      MAND CO  3140
## 13        Obala  2711
## 14       G3-Biz  2332
## 15  Ets Gnepiba  2258
## 16      Magne R  2207
## 17          MGC  1625
## 18        SIEGA  1030
## 19    SOGEDICAM  1019
## 20       Bridia   772
  1. Créer un colonne appelée « Poids » et indiquer le poids des ventes de chaque client sur les ventes totales
RapportG <- mutate(RapportG, poids=total/sum(total))
RapportG
##         Clients total       poids
## 1          JDDS 23518 0.218122797
## 2        Dreams 12677 0.117575589
## 3        PRODIS  9283 0.086097199
## 4        Atomic  9224 0.085549991
## 5   Nealiko CMR  7413 0.068753478
## 6           STS  7080 0.065664997
## 7  SAGEL Negoce  5392 0.050009275
## 8       Oumarou  5387 0.049962901
## 9       JIPEDIS  3798 0.035225376
## 10       Spider  3688 0.034205157
## 11          TMG  3266 0.030291226
## 12      MAND CO  3140 0.029122612
## 13        Obala  2711 0.025143758
## 14       G3-Biz  2332 0.021628640
## 15  Ets Gnepiba  2258 0.020942311
## 16      Magne R  2207 0.020469301
## 17          MGC  1625 0.015071415
## 18        SIEGA  1030 0.009552959
## 19    SOGEDICAM  1019 0.009450937
## 20       Bridia   772 0.007160082
  1. Créer une colonne additionnelle appelée « Objectifs  » et à l’aide d’une formule Excel renseigner les objectifs de chaque client
RapportG <- merge(RapportG, objectifs[,c(1,5)], by="Clients")
RapportG <- arrange(RapportG, desc(total))
RapportG
##         Clients total       poids Objectifs.Premier.Trimestre.2017
## 1          JDDS 23518 0.218122797                            26000
## 2        Dreams 12677 0.117575589                            13400
## 3        PRODIS  9283 0.086097199                            11500
## 4        Atomic  9224 0.085549991                             9500
## 5   Nealiko CMR  7413 0.068753478                             9000
## 6           STS  7080 0.065664997                             8400
## 7  SAGEL Negoce  5392 0.050009275                             5700
## 8       Oumarou  5387 0.049962901                             6800
## 9       JIPEDIS  3798 0.035225376                             4300
## 10       Spider  3688 0.034205157                             3800
## 11          TMG  3266 0.030291226                             2600
## 12      MAND CO  3140 0.029122612                             4600
## 13        Obala  2711 0.025143758                             2700
## 14       G3-Biz  2332 0.021628640                             2300
## 15  Ets Gnepiba  2258 0.020942311                             2800
## 16      Magne R  2207 0.020469301                             2600
## 17          MGC  1625 0.015071415                             1500
## 18        SIEGA  1030 0.009552959                              990
## 19    SOGEDICAM  1019 0.009450937                             1300
## 20       Bridia   772 0.007160082                              750
  1. Créer une colonne additionnelle appelée « % de Réalisation » et déterminer à l’ aide d’une formule Excel le pourcentage de réalisation de chaque client
RapportG <- mutate(RapportG, PourcReal=(total/Objectifs.Premier.Trimestre.2017)*100)
RapportG
##         Clients total       poids Objectifs.Premier.Trimestre.2017
## 1          JDDS 23518 0.218122797                            26000
## 2        Dreams 12677 0.117575589                            13400
## 3        PRODIS  9283 0.086097199                            11500
## 4        Atomic  9224 0.085549991                             9500
## 5   Nealiko CMR  7413 0.068753478                             9000
## 6           STS  7080 0.065664997                             8400
## 7  SAGEL Negoce  5392 0.050009275                             5700
## 8       Oumarou  5387 0.049962901                             6800
## 9       JIPEDIS  3798 0.035225376                             4300
## 10       Spider  3688 0.034205157                             3800
## 11          TMG  3266 0.030291226                             2600
## 12      MAND CO  3140 0.029122612                             4600
## 13        Obala  2711 0.025143758                             2700
## 14       G3-Biz  2332 0.021628640                             2300
## 15  Ets Gnepiba  2258 0.020942311                             2800
## 16      Magne R  2207 0.020469301                             2600
## 17          MGC  1625 0.015071415                             1500
## 18        SIEGA  1030 0.009552959                              990
## 19    SOGEDICAM  1019 0.009450937                             1300
## 20       Bridia   772 0.007160082                              750
##    PourcReal
## 1   90.45385
## 2   94.60448
## 3   80.72174
## 4   97.09474
## 5   82.36667
## 6   84.28571
## 7   94.59649
## 8   79.22059
## 9   88.32558
## 10  97.05263
## 11 125.61538
## 12  68.26087
## 13 100.40741
## 14 101.39130
## 15  80.64286
## 16  84.88462
## 17 108.33333
## 18 104.04040
## 19  78.38462
## 20 102.93333

Exportation de données en csv

write.csv2(RapportG, file = "Rapport General.csv")
write.csv2(objectifs, file = "objectifsclean.csv")
write.csv2(ventes, file = "venteclean.csv")
write.csv2(stocks, file = "stocksClean.csv")

Exportation de Rapport general en fichier excel

library("xlsx")
write.xlsx(RapportG, file = "Rapport General.xlsx", sheetName="RapportG", append=FALSE)

B Analyse mensuelle

1.Présenter sur un tableau appelée « Rapport Par mois » les ventes par mois (Janvier, Février et Mars) et par clients pour le premier trimestre 2017

for (i in 1:nrow(ventes)){
  ventes$TotalJan[i] <- sum(ventes[i,4:8])
  ventes$TotalFev[i] <- sum(ventes[i,9:13])
  ventes$TotalMar[i] <- sum(ventes[i,14:18])
}
RapportMoisJan <- aggregate(TotalJan~Clients, ventes, sum)
RapportMoisFev <- aggregate(TotalFev~Clients, ventes, sum)
RapportMoisMar <- aggregate(TotalMar~Clients, ventes, sum)
RapportMoisJan
##         Clients TotalJan
## 1        Atomic     3754
## 2        Bridia      191
## 3        Dreams     4122
## 4   Ets Gnepiba      683
## 5        G3-Biz      639
## 6          JDDS     5132
## 7       JIPEDIS      596
## 8       Magne R      968
## 9       MAND CO      923
## 10          MGC      657
## 11  Nealiko CMR     2207
## 12        Obala      952
## 13      Oumarou     1910
## 14       PRODIS     1127
## 15 SAGEL Negoce      621
## 16        SIEGA      480
## 17    SOGEDICAM      324
## 18       Spider     1288
## 19          STS     2218
## 20          TMG      399
RapportMois <- merge(RapportMoisJan, RapportMoisFev, by='Clients')
RapportMois <- merge(RapportMois, RapportMoisMar, by='Clients')
RapportMois
##         Clients TotalJan TotalFev TotalMar
## 1        Atomic     3754     4432     2141
## 2        Bridia      191      286      571
## 3        Dreams     4122     5684     4626
## 4   Ets Gnepiba      683     1176     1085
## 5        G3-Biz      639     1113      971
## 6          JDDS     5132    12022    10221
## 7       JIPEDIS      596     2143     1581
## 8       Magne R      968      866      595
## 9       MAND CO      923     1626     1105
## 10          MGC      657      737      384
## 11  Nealiko CMR     2207     3247     3552
## 12        Obala      952     1318      694
## 13      Oumarou     1910     2662     1399
## 14       PRODIS     1127     5777     4004
## 15 SAGEL Negoce      621     3492     2290
## 16        SIEGA      480      386      286
## 17    SOGEDICAM      324      480      393
## 18       Spider     1288     2029      652
## 19          STS     2218     3702     2368
## 20          TMG      399     2499      852

2.Créer des colonnes additionnelles appelées « Objectifs Mois  » et à l’aide d’une formule Excel renseigner les objectifs de chaque clients pour les mois de Janvier, Février et Mars

RapportMois <- merge(RapportMois, objectifs)
RapportMois
##         Clients TotalJan TotalFev TotalMar Janvier Fevrier  Mars
## 1        Atomic     3754     4432     2141    2500    4000  3000
## 2        Bridia      191      286      571     150     200   400
## 3        Dreams     4122     5684     4626    4200    5200  4000
## 4   Ets Gnepiba      683     1176     1085     500    1100  1200
## 5        G3-Biz      639     1113      971     500     800  1000
## 6          JDDS     5132    12022    10221    7000    9000 10000
## 7       JIPEDIS      596     2143     1581    1000    1300  2000
## 8       Magne R      968      866      595     800     900   900
## 9       MAND CO      923     1626     1105    1000    1800  1800
## 10          MGC      657      737      384     500     700   300
## 11  Nealiko CMR     2207     3247     3552    2000    3000  4000
## 12        Obala      952     1318      694     800    1200   700
## 13      Oumarou     1910     2662     1399    1800    2500  2500
## 14       PRODIS     1127     5777     4004    2000    4500  5000
## 15 SAGEL Negoce      621     3492     2290     700    3000  2000
## 16        SIEGA      480      386      286     400     300   290
## 17    SOGEDICAM      324      480      393     400     500   400
## 18       Spider     1288     2029      652    1000    2000   800
## 19          STS     2218     3702     2368    2200    2800  3400
## 20          TMG      399     2499      852     400    1000  1200
##    Objectifs.Premier.Trimestre.2017
## 1                              9500
## 2                               750
## 3                             13400
## 4                              2800
## 5                              2300
## 6                             26000
## 7                              4300
## 8                              2600
## 9                              4600
## 10                             1500
## 11                             9000
## 12                             2700
## 13                             6800
## 14                            11500
## 15                             5700
## 16                              990
## 17                             1300
## 18                             3800
## 19                             8400
## 20                             2600

Renomons nos varibles

RapportMois <- rename(RapportMois, ObjectifJan=Janvier,ObjectifFev=Fevrier,ObjectifMar=Mars )
RapportMois
##         Clients TotalJan TotalFev TotalMar ObjectifJan ObjectifFev
## 1        Atomic     3754     4432     2141        2500        4000
## 2        Bridia      191      286      571         150         200
## 3        Dreams     4122     5684     4626        4200        5200
## 4   Ets Gnepiba      683     1176     1085         500        1100
## 5        G3-Biz      639     1113      971         500         800
## 6          JDDS     5132    12022    10221        7000        9000
## 7       JIPEDIS      596     2143     1581        1000        1300
## 8       Magne R      968      866      595         800         900
## 9       MAND CO      923     1626     1105        1000        1800
## 10          MGC      657      737      384         500         700
## 11  Nealiko CMR     2207     3247     3552        2000        3000
## 12        Obala      952     1318      694         800        1200
## 13      Oumarou     1910     2662     1399        1800        2500
## 14       PRODIS     1127     5777     4004        2000        4500
## 15 SAGEL Negoce      621     3492     2290         700        3000
## 16        SIEGA      480      386      286         400         300
## 17    SOGEDICAM      324      480      393         400         500
## 18       Spider     1288     2029      652        1000        2000
## 19          STS     2218     3702     2368        2200        2800
## 20          TMG      399     2499      852         400        1000
##    ObjectifMar Objectifs.Premier.Trimestre.2017
## 1         3000                             9500
## 2          400                              750
## 3         4000                            13400
## 4         1200                             2800
## 5         1000                             2300
## 6        10000                            26000
## 7         2000                             4300
## 8          900                             2600
## 9         1800                             4600
## 10         300                             1500
## 11        4000                             9000
## 12         700                             2700
## 13        2500                             6800
## 14        5000                            11500
## 15        2000                             5700
## 16         290                              990
## 17         400                             1300
## 18         800                             3800
## 19        3400                             8400
## 20        1200                             2600

3.Créer une colonne appelée « Poids » et indiquer le poids des ventes de chaque client sur les ventes totales pour chaque mois

RapportMois <- mutate(RapportMois, poidsJan=(TotalJan/sum(TotalJan)))
RapportMois <- mutate(RapportMois, poidsFev=(TotalFev/sum(TotalFev)))
RapportMois <- mutate(RapportMois, poidsMar=(TotalMar/sum(TotalMar)))
RapportMois
##         Clients TotalJan TotalFev TotalMar ObjectifJan ObjectifFev
## 1        Atomic     3754     4432     2141        2500        4000
## 2        Bridia      191      286      571         150         200
## 3        Dreams     4122     5684     4626        4200        5200
## 4   Ets Gnepiba      683     1176     1085         500        1100
## 5        G3-Biz      639     1113      971         500         800
## 6          JDDS     5132    12022    10221        7000        9000
## 7       JIPEDIS      596     2143     1581        1000        1300
## 8       Magne R      968      866      595         800         900
## 9       MAND CO      923     1626     1105        1000        1800
## 10          MGC      657      737      384         500         700
## 11  Nealiko CMR     2207     3247     3552        2000        3000
## 12        Obala      952     1318      694         800        1200
## 13      Oumarou     1910     2662     1399        1800        2500
## 14       PRODIS     1127     5777     4004        2000        4500
## 15 SAGEL Negoce      621     3492     2290         700        3000
## 16        SIEGA      480      386      286         400         300
## 17    SOGEDICAM      324      480      393         400         500
## 18       Spider     1288     2029      652        1000        2000
## 19          STS     2218     3702     2368        2200        2800
## 20          TMG      399     2499      852         400        1000
##    ObjectifMar Objectifs.Premier.Trimestre.2017    poidsJan    poidsFev
## 1         3000                             9500 0.128601281 0.079601990
## 2          400                              750 0.006543113 0.005136771
## 3         4000                            13400 0.141207907 0.102088834
## 4         1200                             2800 0.023397623 0.021121828
## 5         1000                             2300 0.021890309 0.019990301
## 6        10000                            26000 0.175807612 0.215923990
## 7         2000                             4300 0.020417252 0.038489861
## 8          900                             2600 0.033160906 0.015553999
## 9         1800                             4600 0.031619335 0.029204160
## 10         300                             1500 0.022506937 0.013237064
## 11        4000                             9000 0.075605495 0.058318516
## 12         700                             2700 0.032612792 0.023672252
## 13        2500                             6800 0.065431126 0.047811484
## 14        5000                            11500 0.038607790 0.103759182
## 15        2000                             5700 0.021273680 0.062718896
## 16         290                              990 0.016443424 0.006932845
## 17         400                             1300 0.011099311 0.008621154
## 18         800                             3800 0.044123189 0.036442337
## 19        3400                             8400 0.075982323 0.066490651
## 20        1200                             2600 0.013668596 0.044883884
##       poidsMar
## 1  0.053834549
## 2  0.014357556
## 3  0.116318833
## 4  0.027281871
## 5  0.024415388
## 6  0.257002766
## 7  0.039753583
## 8  0.014961026
## 9  0.027784762
## 10 0.009655519
## 11 0.089313553
## 12 0.017450339
## 13 0.035177269
## 14 0.100678904
## 15 0.057581091
## 16 0.007191350
## 17 0.009881820
## 18 0.016394267
## 19 0.059542369
## 20 0.021423183
  1. Quels sont les clients qui ont réalisé leur Objectifs du mois de Janvier 2017 ?
RapportMois[which(RapportMois$TotalJan>=RapportMois$ObjectifJan),]
##        Clients TotalJan TotalFev TotalMar ObjectifJan ObjectifFev
## 1       Atomic     3754     4432     2141        2500        4000
## 2       Bridia      191      286      571         150         200
## 4  Ets Gnepiba      683     1176     1085         500        1100
## 5       G3-Biz      639     1113      971         500         800
## 8      Magne R      968      866      595         800         900
## 10         MGC      657      737      384         500         700
## 11 Nealiko CMR     2207     3247     3552        2000        3000
## 12       Obala      952     1318      694         800        1200
## 13     Oumarou     1910     2662     1399        1800        2500
## 16       SIEGA      480      386      286         400         300
## 18      Spider     1288     2029      652        1000        2000
## 19         STS     2218     3702     2368        2200        2800
##    ObjectifMar Objectifs.Premier.Trimestre.2017    poidsJan    poidsFev
## 1         3000                             9500 0.128601281 0.079601990
## 2          400                              750 0.006543113 0.005136771
## 4         1200                             2800 0.023397623 0.021121828
## 5         1000                             2300 0.021890309 0.019990301
## 8          900                             2600 0.033160906 0.015553999
## 10         300                             1500 0.022506937 0.013237064
## 11        4000                             9000 0.075605495 0.058318516
## 12         700                             2700 0.032612792 0.023672252
## 13        2500                             6800 0.065431126 0.047811484
## 16         290                              990 0.016443424 0.006932845
## 18         800                             3800 0.044123189 0.036442337
## 19        3400                             8400 0.075982323 0.066490651
##       poidsMar
## 1  0.053834549
## 2  0.014357556
## 4  0.027281871
## 5  0.024415388
## 8  0.014961026
## 10 0.009655519
## 11 0.089313553
## 12 0.017450339
## 13 0.035177269
## 16 0.007191350
## 18 0.016394267
## 19 0.059542369

On les voit sur le tableau ci dessus, il s’agit du clients

  • Atomic

  • Bridia

  • Ets Gnepiba

  • G3-Biz

  • Magne R

  • MGC

  • Nealiko CMR

  • Obala

  • Oumarou

  • SIEGA

  1. Quels sont les clients qui n’ont pas réalisé leur objectifs en Février 2017 ?
RapportMois[which(RapportMois$TotalFev<=RapportMois$ObjectifFev),]
##      Clients TotalJan TotalFev TotalMar ObjectifJan ObjectifFev
## 8    Magne R      968      866      595         800         900
## 9    MAND CO      923     1626     1105        1000        1800
## 17 SOGEDICAM      324      480      393         400         500
##    ObjectifMar Objectifs.Premier.Trimestre.2017   poidsJan    poidsFev
## 8          900                             2600 0.03316091 0.015553999
## 9         1800                             4600 0.03161933 0.029204160
## 17         400                             1300 0.01109931 0.008621154
##      poidsMar
## 8  0.01496103
## 9  0.02778476
## 17 0.00988182

iCI ils sont trois clients à n’avoir pas atteint les objectifs de Fevrier,

Il s’agit de:

  • Magne R

  • Mand Co

  • SODEDICAM

B-Analyse Des marques et des stock

  1. Présenter sur un tableau appelée « Articles Par Région  » les ventes par articles et par mois (Janvier, Février et Mars)
ventes$Article <- as.factor(ventes$Article)
ArticleRegionJan <- aggregate(ventes$TotalJan~Article,ventes,sum)
ArticleRegionFev <- aggregate(ventes$TotalFev~Article,ventes, sum)
ArticleRegionMar <- aggregate(ventes$TotalMar~Article,ventes, sum)
ArticleRegion0 <- merge(ArticleRegionJan, ArticleRegionFev)
ArticleRegion <- merge(ArticleRegion0, ArticleRegionMar)
ArticleRegion
##          Article ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1       FES 33cl           10183           16586           10329
## 2       FES 50cl               0               0               0
## 3  FES 50cl x 15               0               0               0
## 4       FES 65cl            3294            7050            2995
## 5       FES Cans               0               0               0
## 6       GES 65cl            1993            2945            1048
## 7       GES x 12             135             126             116
## 8       GES x 15            3580            9184            6761
## 9            GHP               0               0               0
## 10      HAR 30cl              68              65              34
## 11      HAR 60cl            6249            8347            6492
## 12      HAR 65cl               0               0               0
## 13            MG            1221            2062             827
## 14       MG Cans               0               0               0
## 15   Orijin 30cl               0               0               0
## 16   Orijin 60cl            1485            6378            7837
## 17   Orijin 65cl               1            1400            2452
## 18           SAT               0               0               0
## 19           SMB             397             750             317
## 20          SMIE             585             784             562
## 21           SMR               0               0               0
## 22           WIN               0               0               0
write.xlsx(ArticleRegion, file = "Article Par Region.xlsx", sheetName="ArticleParRegions", append=FALSE)

2.Créer une colonne appelée « Vente mensuelle par Article » et calculer la moyenne mensuelle des ventes par article

for (i in 1:nrow(ArticleRegion)){
  ArticleRegion$venteMslleArticle[i] <- mean(as.numeric(ArticleRegion[i,2:4]))
}
ArticleRegion
##          Article ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1       FES 33cl           10183           16586           10329
## 2       FES 50cl               0               0               0
## 3  FES 50cl x 15               0               0               0
## 4       FES 65cl            3294            7050            2995
## 5       FES Cans               0               0               0
## 6       GES 65cl            1993            2945            1048
## 7       GES x 12             135             126             116
## 8       GES x 15            3580            9184            6761
## 9            GHP               0               0               0
## 10      HAR 30cl              68              65              34
## 11      HAR 60cl            6249            8347            6492
## 12      HAR 65cl               0               0               0
## 13            MG            1221            2062             827
## 14       MG Cans               0               0               0
## 15   Orijin 30cl               0               0               0
## 16   Orijin 60cl            1485            6378            7837
## 17   Orijin 65cl               1            1400            2452
## 18           SAT               0               0               0
## 19           SMB             397             750             317
## 20          SMIE             585             784             562
## 21           SMR               0               0               0
## 22           WIN               0               0               0
##    venteMslleArticle
## 1        12366.00000
## 2            0.00000
## 3            0.00000
## 4         4446.33333
## 5            0.00000
## 6         1995.33333
## 7          125.66667
## 8         6508.33333
## 9            0.00000
## 10          55.66667
## 11        7029.33333
## 12           0.00000
## 13        1370.00000
## 14           0.00000
## 15           0.00000
## 16        5233.33333
## 17        1284.33333
## 18           0.00000
## 19         488.00000
## 20         643.66667
## 21           0.00000
## 22           0.00000

3.Créer une colonne appelée « Stock » et indiquer à l’ aide d’une formule Excel les stocks par article au 31 Mars 2017

head(stocks,20)
##            Article    Region Clients X1.Jan.17 X31.Jan.17 X28.Feb.17
## 1        FES 65cl   Douala     JDDS        278        170        125
## 2        FES 33cl   Douala     JDDS       1886       1715       1939
## 3        FES 50cl   Douala     JDDS          0          0          0
## 4   FES 50cl x 15   Douala     JDDS          1          1          1
## 5        FES Cans   Douala     JDDS          0          0          0
## 6        GES x 15   Douala     JDDS        770       1165       1100
## 7        GES 65cl   Douala     JDDS        183         66         61
## 8              MG   Douala     JDDS          3          1          0
## 9         MG Cans   Douala     JDDS          0          0          0
## 10            SAT   Douala     JDDS          0          0          0
## 11            GHP   Douala     JDDS          0          0          0
## 12       HAR 60cl   Douala     JDDS       1131        783       1001
## 13       HAR 30cl   Douala     JDDS         44         44         43
## 14            WIN   Douala     JDDS          0          0          0
## 15            SMR   Douala     JDDS          0          0          0
## 16            SMB   Douala     JDDS          1          5          6
## 17    Orijin 65cl   Douala     JDDS          0          0          0
## 18    Orijin 60cl   Douala     JDDS         30         29        580
## 19       HAR 65cl   Douala     JDDS          0          0          0
## 20           SMIE   Douala     JDDS        314        271        245
##    X31.Mar.17
## 1          21
## 2        1712
## 3           0
## 4           1
## 5           0
## 6         763
## 7          63
## 8           9
## 9           0
## 10          0
## 11          0
## 12       1025
## 13         42
## 14          0
## 15          0
## 16          6
## 17          0
## 18        275
## 19          0
## 20        226

Dressons un tableau de stocks par article au 31 Mars 2017. Nous le nommons Colstoks31Mar

stocks$Article <- as.factor(stocks$Article)
ColStoks31Mar <- aggregate(X31.Mar.17~Article, stocks, sum)
ColStoks31Mar <- rename(ColStoks31Mar, stock=X31.Mar.17)
ColStoks31Mar
##            Article stock
## 1        FES 33cl   5184
## 2        FES 50cl      0
## 3   FES 50cl x 15      1
## 4        FES 65cl    807
## 5        FES Cans      0
## 6        GES 65cl    944
## 7        GES x 12     42
## 8        GES x 15   2846
## 9             GHP      0
## 10       HAR 30cl    402
## 11       HAR 60cl   5042
## 12       HAR 65cl      2
## 13             MG   1332
## 14        MG Cans     18
## 15    Orijin 30cl      0
## 16    Orijin 60cl   2696
## 17    Orijin 65cl    226
## 18            SAT      0
## 19            SMB    553
## 20           SMIE    495
## 21            SMR      0
## 22            WIN      0

Il est aisé de voir rapidement que certains produits sont en manques tandis que d’autres sont encore en grande quantité dans le stocks (FES 33cl, GES x 15, FES 65cl GES 65cl)

df <- ColStoks31Mar
df$Article <- gsub(" ","",as.character(df$Article))
df2 <- ArticleRegion
df2$Article <- gsub(" ","",as.character(df2$Article))
Article_Region <- merge(df,df2, by="Article")
Article_Region
##       Article stock ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1     FES33cl  5184           10183           16586           10329
## 2     FES50cl     0               0               0               0
## 3  FES50clx15     1               0               0               0
## 4     FES65cl   807            3294            7050            2995
## 5     FESCans     0               0               0               0
## 6     GES65cl   944            1993            2945            1048
## 7      GESx12    42             135             126             116
## 8      GESx15  2846            3580            9184            6761
## 9         GHP     0               0               0               0
## 10    HAR30cl   402              68              65              34
## 11    HAR60cl  5042            6249            8347            6492
## 12    HAR65cl     2               0               0               0
## 13         MG  1332            1221            2062             827
## 14     MGCans    18               0               0               0
## 15 Orijin30cl     0               0               0               0
## 16 Orijin60cl  2696            1485            6378            7837
## 17 Orijin65cl   226               1            1400            2452
## 18        SAT     0               0               0               0
## 19        SMB   553             397             750             317
## 20       SMIE   495             585             784             562
## 21        SMR     0               0               0               0
## 22        WIN     0               0               0               0
##    venteMslleArticle
## 1        12366.00000
## 2            0.00000
## 3            0.00000
## 4         4446.33333
## 5            0.00000
## 6         1995.33333
## 7          125.66667
## 8         6508.33333
## 9            0.00000
## 10          55.66667
## 11        7029.33333
## 12           0.00000
## 13        1370.00000
## 14           0.00000
## 15           0.00000
## 16        5233.33333
## 17        1284.33333
## 18           0.00000
## 19         488.00000
## 20         643.66667
## 21           0.00000
## 22           0.00000
  1. Créer une colonne appelée Ventes moyenne par jour et calculer les ventes moyennes par jour en divisant la valeur des Vente mensuelle par Article par 26
Article_Region <- mutate(Article_Region, venteMoyJour = venteMslleArticle/26)
Article_Region
##       Article stock ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1     FES33cl  5184           10183           16586           10329
## 2     FES50cl     0               0               0               0
## 3  FES50clx15     1               0               0               0
## 4     FES65cl   807            3294            7050            2995
## 5     FESCans     0               0               0               0
## 6     GES65cl   944            1993            2945            1048
## 7      GESx12    42             135             126             116
## 8      GESx15  2846            3580            9184            6761
## 9         GHP     0               0               0               0
## 10    HAR30cl   402              68              65              34
## 11    HAR60cl  5042            6249            8347            6492
## 12    HAR65cl     2               0               0               0
## 13         MG  1332            1221            2062             827
## 14     MGCans    18               0               0               0
## 15 Orijin30cl     0               0               0               0
## 16 Orijin60cl  2696            1485            6378            7837
## 17 Orijin65cl   226               1            1400            2452
## 18        SAT     0               0               0               0
## 19        SMB   553             397             750             317
## 20       SMIE   495             585             784             562
## 21        SMR     0               0               0               0
## 22        WIN     0               0               0               0
##    venteMslleArticle venteMoyJour
## 1        12366.00000   475.615385
## 2            0.00000     0.000000
## 3            0.00000     0.000000
## 4         4446.33333   171.012821
## 5            0.00000     0.000000
## 6         1995.33333    76.743590
## 7          125.66667     4.833333
## 8         6508.33333   250.320513
## 9            0.00000     0.000000
## 10          55.66667     2.141026
## 11        7029.33333   270.358974
## 12           0.00000     0.000000
## 13        1370.00000    52.692308
## 14           0.00000     0.000000
## 15           0.00000     0.000000
## 16        5233.33333   201.282051
## 17        1284.33333    49.397436
## 18           0.00000     0.000000
## 19         488.00000    18.769231
## 20         643.66667    24.756410
## 21           0.00000     0.000000
## 22           0.00000     0.000000
  1. Créer une colonne appelée « Couverture Journalière par Article » et calculer la couverture Journalière en utilisant la formule suivante:

( courvertureJournArticle= )

Article_Region <- mutate(Article_Region, CouvJourArticle = stock/venteMoyJour)
Article_Region
##       Article stock ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1     FES33cl  5184           10183           16586           10329
## 2     FES50cl     0               0               0               0
## 3  FES50clx15     1               0               0               0
## 4     FES65cl   807            3294            7050            2995
## 5     FESCans     0               0               0               0
## 6     GES65cl   944            1993            2945            1048
## 7      GESx12    42             135             126             116
## 8      GESx15  2846            3580            9184            6761
## 9         GHP     0               0               0               0
## 10    HAR30cl   402              68              65              34
## 11    HAR60cl  5042            6249            8347            6492
## 12    HAR65cl     2               0               0               0
## 13         MG  1332            1221            2062             827
## 14     MGCans    18               0               0               0
## 15 Orijin30cl     0               0               0               0
## 16 Orijin60cl  2696            1485            6378            7837
## 17 Orijin65cl   226               1            1400            2452
## 18        SAT     0               0               0               0
## 19        SMB   553             397             750             317
## 20       SMIE   495             585             784             562
## 21        SMR     0               0               0               0
## 22        WIN     0               0               0               0
##    venteMslleArticle venteMoyJour CouvJourArticle
## 1        12366.00000   475.615385       10.899563
## 2            0.00000     0.000000             NaN
## 3            0.00000     0.000000             Inf
## 4         4446.33333   171.012821        4.718944
## 5            0.00000     0.000000             NaN
## 6         1995.33333    76.743590       12.300702
## 7          125.66667     4.833333        8.689655
## 8         6508.33333   250.320513       11.369424
## 9            0.00000     0.000000             NaN
## 10          55.66667     2.141026      187.760479
## 11        7029.33333   270.358974       18.649279
## 12           0.00000     0.000000             Inf
## 13        1370.00000    52.692308       25.278832
## 14           0.00000     0.000000             Inf
## 15           0.00000     0.000000             NaN
## 16        5233.33333   201.282051       13.394140
## 17        1284.33333    49.397436        4.575136
## 18           0.00000     0.000000             NaN
## 19         488.00000    18.769231       29.463115
## 20         643.66667    24.756410       19.994821
## 21           0.00000     0.000000             NaN
## 22           0.00000     0.000000             NaN

On a des NaN et des Inf. On peut affiner l’analyse et comprendre qu’il s’agit des divisions par zero

Sauvegardons cette table

write.xlsx(Article_Region, file = "Article_Region.xlsx", sheetName="Article.Regions", append=FALSE)
  1. Quel sont les Articles  ayant une couverture Journalière supérieur a 50 jours
Article_Region[which(Article_Region$CouvJourArticle>50),]
##       Article stock ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 3  FES50clx15     1               0               0               0
## 10    HAR30cl   402              68              65              34
## 12    HAR65cl     2               0               0               0
## 14     MGCans    18               0               0               0
##    venteMslleArticle venteMoyJour CouvJourArticle
## 3            0.00000     0.000000             Inf
## 10          55.66667     2.141026        187.7605
## 12           0.00000     0.000000             Inf
## 14           0.00000     0.000000             Inf

Au Fond il n’y a que l’article HAR 30cl qui a une couverture journalière superieure à 50 jours

## Presentation pour la reunion

  1. Prepare un graph d’evolution des ventes du mois de Janvier, Fevrier et Mars pour les articles FES 65 cl, FES 33cl et la GES x 15
datagraph <- filter(Article_Region, Article=="FES65cl"|Article=="FES33cl"|Article=="GESx15")
datagraph
##   Article stock ventes$TotalJan ventes$TotalFev ventes$TotalMar
## 1 FES33cl  5184           10183           16586           10329
## 2 FES65cl   807            3294            7050            2995
## 3  GESx15  2846            3580            9184            6761
##   venteMslleArticle venteMoyJour CouvJourArticle
## 1         12366.000     475.6154       10.899563
## 2          4446.333     171.0128        4.718944
## 3          6508.333     250.3205       11.369424
library(tidyr)
datagraph1 <- datagraph[,1:5]
names(datagraph1) <- c("Article","stock", "01Jan", "02Fev", "03Mar")
D <- gather(datagraph1, Mois, count, -Article, -stock)
D
##   Article stock  Mois count
## 1 FES33cl  5184 01Jan 10183
## 2 FES65cl   807 01Jan  3294
## 3  GESx15  2846 01Jan  3580
## 4 FES33cl  5184 02Fev 16586
## 5 FES65cl   807 02Fev  7050
## 6  GESx15  2846 02Fev  9184
## 7 FES33cl  5184 03Mar 10329
## 8 FES65cl   807 03Mar  2995
## 9  GESx15  2846 03Mar  6761
library(ggplot2)
g <- ggplot(D, aes(x=factor(Mois), y=count))
g+geom_bar(stat="identity", color="red", fill="steelblue") + facet_grid(.~ Article) +
  labs(x="Mois", y=expression("Total Vente Mois"))+
 ggtitle("Presentation ventes Mois par acticle FES 33cl, 65cl et GES x15")

  1. Le produit FES 33cl est le plus vendu des trois

FES 65cl et GES x 15 ont une même moyenne de ventes

Fevrier apparait comme mois où on vend plus

  1. En utilisant le logiciel power point, present un etat de stock de cloture au 31 Mars ainsi que leur couverture journalier

Agregeonsles stocks par article

D2 <- aggregate(stock~Article, D, sum)
g <- ggplot(D2, aes(x=factor(Article), y=stock))
g+geom_bar(stat="identity", color="red", fill="steelblue")+
 ggtitle("Etat des stoks par acticle au 31Mars FES 33cl, 65cl et GES x15")

  1. Fait un commentaire sur la situation
    Bon les stocks sont tels que les plus vendus sont en quantité élévé pour repondre à la demande