Qu'est-ce que l'analyse du panier d'achat ?

Analyse des paniers d'achats en R

Christopher Bruffaerts

Statistician

Paniers multiples à l'épicerie

Qu'y a-t-il en magasin ?

all_products_emoticons

Panier 1 : {"Bread", "Cheese"}

Panier 2 : {"Bread", "Wine" , "Cheese"}

Paniers multiples

Si 100 clients visitent l'épicerie, peut-on trouver des associations d'articles qui vont ensemble ?

Exemple : Bread et Cheese

bread_cheese

Résultat : « si ceci, alors cela »

Analyse des paniers d'achats en R

Applications de l'analyse du panier d'achat

Apprendre à partir de paniers multiples

baskets

Applications variées

  • Commerce électronique : « les clients qui ont acheté ceci ont aussi acheté cela »
  • Détail : articles « offerts en lot ou placés ensemble »
  • Médias sociaux : recommandation d'ami·e·s et de liens
  • Recommandation de vidéos et de films
Analyse des paniers d'achats en R

Paniers multiples en R

Créez un ensemble de données avec des paniers multiples !

my_baskets = data.frame(
  "Basket" = c(1,1,1,1, 2,2,2, 3,3, 4,4,4, 5,5, 6,6, 7,7),
  "Product" = c("Bread", "Cheese", "Cheese", "Cheese",
                "Bread", "Butter", "Wine",
                "Butter", "Butter",
                "Butter", "Wine", "Wine",
                "Butter", "Cheese",
                "Cheese", "Wine",
                "Wine", "Wine")
)

Aperçu de mes paniers

head(my_baskets)
  Basket Product
1      1   Bread
2      1  Cheese
3      1  Cheese
4      1  Cheese
5      2   Bread
6      2  Butter
Analyse des paniers d'achats en R

Que contiennent nos paniers ?

Questions

  • Combien d'articles distincts y a-t-il ?
n_distinct(my_baskets$Product)
[1] 4
  • Combien de paniers y a-t-il ?
n_distinct(my_baskets$Basket)
[1] 7
  • Combien d'articles par panier ?
df_basket =
  my_baskets %>%
  group_by(Basket) %>%
  summarize(
    n_total = n(),
    n_items = n_distinct(Product))
  Basket n_total n_items
   <dbl>   <int>   <int>
1      1       4       2
2      2       3       3
Analyse des paniers d'achats en R

Quelle est la taille des paniers ?

Taille moyenne des paniers

basket_size %>% 
  summarize(
    avg_total_items = mean(n_total), 
    avg_dist_items = mean(n_items))
# A tibble: 1 x 2
  avg_total_items avg_dist_items
            <dbl>          <dbl>
1            2.57           1.86

Distribution de la taille des paniers

# Distribution des articles distincts
ggplot(df_basket, aes(n_items)) +
  geom_bar()

distribution_basket

Analyse des paniers d'achats en R

Produits précis dans les paniers

Quel article examinez-vous ?

  • Combien de fois un article apparaît-il dans tous les paniers ?

  • Combien de paniers contiennent cet article ?

Exemple :

cheese

Filtrer Cheese en R

# Number of baskets containing Cheese
my_baskets %>%
  filter(Product == "Cheese")  %>%
  summarize(
    n_tot_items = n(),
    n_basket_item = n_distinct(Basket))
  n_tot_items n_basket_item
1           5             3
Analyse des paniers d'achats en R

Extraction de règles d'association

Extraction de règles d'association : trouver des associations fréquentes d'articles qui coapparaissent.

emoticons_arrows

Exemple d'extraction de règles :

  • {Bread} $\rightarrow$ {Butter}
  • {Bread, Cheese} $\rightarrow$ {Wine}
Analyse des paniers d'achats en R

Et ensuite ?

Programme pour la suite du cours :

  • Chapitre 2 : mesures et techniques en analyse du panier d'achat
  • Chapitre 3 : visualisation en analyse du panier d'achat
  • Chapitre 4 : étude de cas : recommandations de films avec movieLens

movie_lens_logo

Analyse des paniers d'achats en R

Amusons-nous avec les paniers !

Analyse des paniers d'achats en R

Preparing Video For Download...