Co je analýza nákupního košíku?

Market Basket Analysis v R

Christopher Bruffaerts

Statistician

Více košíků v obchodě

Co je v obchodě?

všechny produkty – emotikony

Košík 1: {"Bread", "Cheese"}

Košík 2: {"Bread", "Wine" , "Cheese"}

Více košíků

Pokud obchod navštíví 100 zákazníků, lze najít asociace společně se vyskytujících položek?

Příklad: Bread a Cheese

chléb a sýr

Výsledek: „jestliže toto, pak tamto"

Market Basket Analysis v R

Aplikace analýzy nákupního košíku

Učení z více košíků

košíky

Různé aplikace

  • E-commerce: „zákazníci, kteří koupili toto, koupili také toto"
  • Maloobchod: položky „sdružované nebo umísťované společně"
  • Sociální sítě: doporučování přátel a kontaktů
  • Doporučování videí a filmů
Market Basket Analysis v R

Více košíků v R

Vytvoření datové sady s více košíky!

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

Náhled do mých košíků

head(my_baskets)
  Basket Product
1      1   Bread
2      1  Cheese
3      1  Cheese
4      1  Cheese
5      2   Bread
6      2  Butter
Market Basket Analysis v R

Co je v našich košících?

Otázky

  • Kolik existuje různých položek?
n_distinct(my_baskets$Product)
[1] 4
  • Kolik existuje košíků?
n_distinct(my_baskets$Basket)
[1] 7
  • Kolik položek obsahuje každý košík?
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
Market Basket Analysis v R

Jak velké jsou košíky?

Průměrná velikost košíku

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

Distribuce velikosti košíku

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

distribuce košíku

Market Basket Analysis v R

Konkrétní produkty v košících

Jakou položku sledujeme?

  • Kolikrát se položka vyskytuje napříč všemi košíky?

  • Kolik košíků tuto položku obsahuje?

Příklad:

sýr

Filtrování pro Cheese v 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
Market Basket Analysis v R

Dolování asociačních pravidel

Dolování asociačních pravidel: hledání častých společných výskytů mezi položkami.

emotikony se šipkami

Příklady pravidel:

  • {Bread} $\rightarrow$ {Butter}
  • {Bread, Cheese} $\rightarrow$ {Wine}
Market Basket Analysis v R

Co nás čeká dál?

Obsah zbytku kurzu:

  • Kapitola 2: Metriky a techniky analýzy nákupního košíku
  • Kapitola 3: Vizualizace v analýze nákupního košíku
  • Kapitola 4: Případová studie: Doporučování filmů @ movieLens

logo movie lens

Market Basket Analysis v R

Pojďme si hrát s košíky!

Market Basket Analysis v R

Preparing Video For Download...