Ce este analiza coșului de cumpărături?

Analiza coșului de cumpărături în R

Christopher Bruffaerts

Statistician

Coșuri multiple @ magazin alimentar

Ce se găsește în magazin?

toate produsele

Coș 1: {"Bread", "Cheese"}

Coș 2: {"Bread", "Wine" , "Cheese"}

Coșuri multiple

Dacă 100 de clienți vizitează magazinul, putem găsi asocieri între produsele cumpărate împreună?

Exemplu: Bread și Cheese

pâine și brânză

Rezultat: „dacă acesta, atunci acela"

Analiza coșului de cumpărături în R

Aplicații ale analizei coșului de cumpărături

Învățând din coșuri multiple

coșuri

Aplicații diverse

  • E-commerce: „clienții care au cumpărat acesta au mai cumpărat și acesta"
  • Retail: produse „grupate sau plasate împreună"
  • Social media: recomandări de prieteni și conexiuni
  • Recomandări de videoclipuri și filme
Analiza coșului de cumpărături în R

Coșuri multiple în R

Creați un set de date cu coșuri multiple!

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")
)

O privire asupra coșurilor

head(my_baskets)
  Basket Product
1      1   Bread
2      1  Cheese
3      1  Cheese
4      1  Cheese
5      2   Bread
6      2  Butter
Analiza coșului de cumpărături în R

Ce conțin coșurile noastre?

Întrebări

  • Câte produse distincte există?
n_distinct(my_baskets$Product)
[1] 4
  • Câte coșuri există?
n_distinct(my_baskets$Basket)
[1] 7
  • Câte produse sunt în fiecare coș?
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
Analiza coșului de cumpărături în R

Cât de mari sunt coșurile?

Dimensiunea medie a coșurilor

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

Distribuția dimensiunii coșurilor

# Distribution of distinct items
ggplot(df_basket, aes(n_items)) +
  geom_bar()

distribuția coșurilor

Analiza coșului de cumpărături în R

Produse specifice în coșuri

Ce produs analizați?

  • De câte ori apare un produs în toate coșurile?

  • Câte coșuri conțin acel produs?

Exemplu:

brânză

Filtrare pentru Cheese în 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
Analiza coșului de cumpărături în R

Minarea regulilor de asociere

Minarea regulilor de asociere: identificarea asocierilor frecvente între elementele unei colecții.

emoticoane cu săgeți

Exemple de reguli extrase:

  • {Bread} $\rightarrow$ {Butter}
  • {Bread, Cheese} $\rightarrow$ {Wine}
Analiza coșului de cumpărături în R

Ce urmează?

Agenda restului cursului:

  • Capitolul 2: Metrici și tehnici în analiza coșului de cumpărături
  • Capitolul 3: Vizualizare în analiza coșului de cumpărături
  • Capitolul 4: Studiu de caz: Recomandări de filme @ movieLens

logo movie_lens

Analiza coșului de cumpărături în R

Să ne jucăm cu coșurile!

Analiza coșului de cumpărături în R

Preparing Video For Download...