Advanced rules

Market Basket Analysis in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Overview of market basket analysis

  • Standard procedure for market basket analysis.
    1. Generate large set of rules.
    2. Filter rules using metrics.
    3. Apply intuition and common sense.
Market Basket Analysis in Python

Generating rules

  • Number of rules grows exponentially in number of items.
    • Most rules are not useful.
  • Must apply initial round of filtering.
    • Covered in chapter 3 using Apriori algorithm
Market Basket Analysis in Python

How does filtering work?

ID antecedents consequents support Lift
1 Harry Potter The Hunger Games 0.001 1.01
2 Hunger Games Twilight 0.020 1.23
3 Pride and Prejudice The Hobbit 0.030 1.05
4 The Hobbit Twilight 0.015 0.85
5 Harry Potter The Hobbit 0.010 1.07
Market Basket Analysis in Python

Multi-metric filtering

ID antecedents consequents support zhang
1 Harry Potter The Hunger Games 0.001 -0.05
2 Hunger Games Twilight 0.020 0.17
3 Pride and Prejudice The Hobbit 0.030 0.06
4 The Hobbit Twilight 0.015 -0.04
5 Harry Potter The Hobbit 0.010 0.34
Market Basket Analysis in Python

Performing multi-metric filtering

print(rules.head())
  antecedents consequents  antecedent support  ... support  confidence  ... conviction  
0 Potter      Hunger       0.48                ...  0.12  ... 0.26      ...  0.92
1 Potter      Hunger       0.32                ...  0.12  ... 0.26      ...  0.92 
2 Twilight    Hunger       0.26                ...  0.09  ... 0.35      ...  1.04
3 Hunger      Twilight     0.32                ...  0.09  ... 0.28      ...  1.03 
4 Mockingbird Hunger       0.48                ...  0.10  ... 0.20      ...  0.85
Market Basket Analysis in Python

Performing multi-metric filtering

# Select subset of rules with low consequent support.
rules = rules[rules['consequent support'] < 0.05]
print(len(rules))
12
# Select subset of rules with lift > 1.5.
rules = rules[rules['lift'] > 1.5]
print(len(rules))
2
Market Basket Analysis in Python

Let's practice!

Market Basket Analysis in Python

Preparing Video For Download...