Czym jest analiza koszyka zakupowego?

Analiza koszyka zakupowego w R

Christopher Bruffaerts

Statistician

Wiele koszyków w sklepie spożywczym

Co jest w sklepie?

wszystkie produkty – emotikony

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

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

Wiele koszyków

Jeśli 100 klientów odwiedza sklep spożywczy, czy można znaleźć powiązania między często kupowanymi razem produktami?

Przykład: Bread i Cheese

chleb i ser

Wynik: „jeśli to, to tamto"

Analiza koszyka zakupowego w R

Zastosowania analizy koszyka zakupowego

Uczenie się z wielu koszyków

koszyki

Różne zastosowania

  • E-commerce: „klienci, którzy kupili to, kupili również to"
  • Handel detaliczny: produkty „łączone lub umieszczane razem"
  • Media społecznościowe: rekomendacje znajomych i kontaktów
  • Rekomendacje filmów i wideo
Analiza koszyka zakupowego w R

Wiele koszyków w R

Utwórz zbiór danych zawierający wiele koszyków!

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

Podgląd koszyków

head(my_baskets)
  Basket Product
1      1   Bread
2      1  Cheese
3      1  Cheese
4      1  Cheese
5      2   Bread
6      2  Butter
Analiza koszyka zakupowego w R

Co jest w naszych koszykach?

Pytania

  • Ile jest unikalnych produktów?
n_distinct(my_baskets$Product)
[1] 4
  • Ile jest koszyków?
n_distinct(my_baskets$Basket)
[1] 7
  • Ile produktów jest w każdym koszyku?
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 koszyka zakupowego w R

Jak duże są koszyki?

Średnia wielkość koszyka

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

Rozkład wielkości koszyka

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

rozkład koszyka

Analiza koszyka zakupowego w R

Konkretne produkty w koszykach

Który produkt jest analizowany?

  • Ile razy produkt pojawia się we wszystkich koszykach?

  • Ile koszyków zawiera ten produkt?

Przykład:

ser

Filtrowanie dla Cheese w 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 koszyka zakupowego w R

Eksploracja reguł asocjacyjnych

Eksploracja reguł asocjacyjnych: znajdowanie często współwystępujących powiązań między produktami.

emotikony ze strzałkami

Przykłady wyodrębnionych reguł:

  • {Bread} $\rightarrow$ {Butter}
  • {Bread, Cheese} $\rightarrow$ {Wine}
Analiza koszyka zakupowego w R

Co czeka nas dalej?

Plan pozostałej części kursu:

  • Rozdział 2: Metryki i techniki analizy koszyka zakupowego
  • Rozdział 3: Wizualizacja w analizie koszyka zakupowego
  • Rozdział 4: Studium przypadku: rekomendacje filmów @ movieLens

logo movie lens

Analiza koszyka zakupowego w R

Czas poćwiczyć z koszykami!

Analiza koszyka zakupowego w R

Preparing Video For Download...