Market Basket Analysis: A Comprehensive Guide for Businesses

Amruta Kadlaskar 26 Feb, 2024 • 13 min read

Nowadays, Machine Learning is helping the Retail Industry in many different ways. You can imagine that from forecasting the performance of sales to identifying the buyers, there are many applications of AI and ML in the retail industry. Market basket analysis is a data mining technique retailers use to increase sales by better understanding customer purchasing patterns. Analyzing large data sets, such as purchase history, reveals product groupings and products likely to be purchased together. In this article, we will comprehensively cover the topic of Market Basket Analysis and its various components and then dive deep into the ways of implementing it in machine learning, including how to perform it in Python on a real-world dataset.

Learning Objectives

  • To understand what Market Basket Analysis is and how it is used.
  • To learn about the various algorithms used in Market Basket Analysis.
  • To learn to implement the algorithm in Python.

This article was published as a part of the Data Science Blogathon

What Is Market Basket Analysis?

Market basket analysis is a strategic data mining technique used by retailers to enhance sales by gaining a deeper understanding of customer purchasing patterns.This method involves examining substantial datasets, such as historical purchase records, to unveil inherent product groupings and identify items that customers tend to buy together.

By recognizing these patterns of co-occurrence, retailers can make informed decisions to optimize inventory management, devise effective marketing strategies, employ cross-selling tactics, and even refine store layout for improved customer engagement.

For example, if customers are buying milk, how probably are they to also buy bread (and which kind of bread) on the same trip to the supermarket? This information may lead to an increase in sales by helping retailers to do selective marketing based on predictions, cross-selling, and planning their ledge space for optimal product placement.

market basket analysis
Source: Sciencedirect

Now, just think of the universe as the set of items available at the store, then each item has a Boolean variable that represents the presence or absence of that item. Now, we can represent each basket with a Boolean vector of values assigned to these variables. We can then analyze the Boolean vectors to identify purchase patterns that reflect items frequently associated or bought together, representing such patterns in the form of association rules.

How Does Market Basket Analysis Work?

  1. Collect data on customer transactions, such as the items purchased in each transaction, the time and date of the transaction, and any other relevant information.
  2. Clean and preprocess the data, removing any irrelevant information, handling missing values, and converting the data into a suitable format for analysis.
  3. Use association rules mining algorithms such as Apriori or FP-Growth to identify frequent item sets, sets of items often appearing together in a transaction.
  4. Calculate the support and confidence for each frequent itemset, expressing the likelihood of one item being purchased given the purchase of another item.
  5. Generate association rules based on the frequent itemsets and their corresponding support and confidence values. Association rules indicate the likelihood of purchasing one item given the purchase of another item.
  6. Interpret the results of the market basket analysis, identifying frequent purchases, assessing the strength of the association between items, and uncovering other relevant insights into customer behavior and preferences
  7. Use the insights from the market basket analysis to inform business decisions such as product recommendations, store layout optimization, and targeted marketing campaigns.

Types of Market Basket Analysis 

  1.  Predictive Market Basket Analysis employs supervised learning to forecast future customer behavior. By recognizing cross-selling opportunities through purchase patterns, it enables applications like tailored product recommendations, personalized promotions, and effective demand forecasting. Additionally, it proves valuable in fraud detection.
  2.  Differential Market Basket Analysis compares purchase histories across diverse segments, unveiling trends and pinpointing buying habits unique to specific customer groups. Its applications extend to competitor analysis, identification of seasonal trends, customer segmentation, and insights into regional market dynamics.

Applications of Market Basket Analysis

IndustryApplications of Market Basket Analysis
RetailIdentify frequently purchased product combinations and create promotions or cross-selling strategies
E-commerceSuggest complementary products to customers and improve the customer experience
HospitalityIdentify which menu items are often ordered together and create meal packages or menu recommendations
HealthcareUnderstand which medications are often prescribed together and identify patterns in patient behavior or treatment outcomes
Banking/FinanceIdentify which products or services are frequently used together by customers and create targeted marketing campaigns or bundle deals
TelecommunicationsUnderstand which products or services are often purchased together and create bundled service packages that increase revenue and improve the customer experience

What Is Association Rule for Market Basket Analysis?

Let I = {I1, I2,…, Im} be an itemset. These itemsets are called antecedents. Let D, the data, be a set of database transactions where each transaction T is a nonempty itemset such that T ⊆ I. Each transaction is associated with an identifier called a TID(or Tid). Let A be a set of items(itemset). T is the Transaction that is said to contain A if A ⊆ T. An Association Rule is an implication of form A ⇒ B, where A ⊂ I, B ⊂ I,  and A ∩B = φ.

The rule A ⇒ B holds in the data set(transactions) D with supports, where ‘s’ is the percentage of transactions in D that contain A ∪ B (i.e., the union of set A and set B, or both A and B). This is taken as the probability, P(A ∪ B). Rule A ⇒ B has confidence c in the transaction set D, where c is the percentage of transactions in D containing A that also contains B. This is taken to be the conditional probability, like P(B|A). That is,

  • support(A⇒ B) =P(A ∪  B) 
  • confidence(A⇒ B) =P(B|A)

Rules that meet both a minimum support threshold (called min sup) and a minimum confidence threshold (called min conf) are termed as ‘Strong’

  • Confidence(A⇒ B) = P(B|A) =
  • support(A ∪ B) /support(A) =
  • support count(A ∪ B) / support count(A)

Generally, Association Rule Mining can be viewed in a two-step process:

  1. Find all Frequent itemsets: By definition, each of these itemsets will occur at least as
    frequently as a pre-established minimum support count, min sup
    .
  2. Generate Association Rules from the Frequent itemsets: By definition, these
    rules must satisfy minimum support and minimum confidence.

Association Rule Mining

Association Rule Mining is primarily used when you want to identify an association between different items in a set and then find frequent patterns in a transactional database or relational database.

The best example of the association is as you can see in the following image.

Association rule in Market basket Analysis
Source: rb.gy

Algorithms Used in Market Basket Analysis

There are multiple data mining techniques and algorithms used in Market Basket Analysis. In predicting the probability of items that customers are buying together, one of the important objectives is to achieve accuracy.

  • Apriori Algorithm
  • AIS
  • SETM Algorithm
  • FP Growth

1. Apriori Algorithm

The Apriori Algorithm widely uses and is well-known for Association Rule mining, making it a popular choice in market basket analysis. AI and SETM algorithms consider it more accurate. It helps to find frequent itemsets in transactions and identifies association rules between these items. The limitation of the Apriori Algorithm is frequent itemset generation. It needs to scan the database many times, leading to increased time and reduced performance as a computationally costly step because of a large dataset. It uses the concepts of Confidence and Support.

2. AIS Algorithm

The AIS algorithm creates multiple passes on the entire database or transactional data. During every pass, it scans all transactions. As you can see, in the first pass, it counts the support of separate items and determines then which of them are frequent in the database. After each transaction scan, the algorithm enlarges huge itemsets from each pass to generate candidate itemsets. It determines the common itemsets between the itemsets of the previous pass and the items of the current transaction. This algorithm, developed to generate all large itemsets in a transactional database, was the first published algorithm of its kind.

. It focused on the enhancement of databases with the necessary performance to process decision support. This technique is bounded to only one item in the consequent.

  • Advantage: The AIS algorithm was used to find whether there was an association between items or not.
  • Disadvantage: The main disadvantage of the AIS algorithm is that it generates too many candidates set that turn out to be small. As well as the data structure is to be maintained.

3. SETM Algorithm

This Algorithm is quite similar to the AIS algorithm. The SETM algorithm creates collective passes over the database. As you can see, in the first pass, it counts the support of single items and then determines which of them are frequent in the database. Then, it also generates the candidate itemsets by enlarging large itemsets of the previous pass. In addition to this, the SETM algorithm recalls the TIDs(transaction ids) of the generating transactions with the candidate itemsets.

  • Advantage: While generating candidate itemsets, the SETM algorithm arranges candidate itemsets together with the TID(transaction Id) in a sequential manner.
  • Disadvantage: For every item set, there is an association with Tid; hence it requires more space to store a huge number of TIDs.

4. FP Growth

FP Growth is known as Frequent Pattern Growth Algorithm. FP growth algorithm is a concept of representing the data in the form of an FP tree or Frequent Pattern. Hence FP Growth is a method of Mining Frequent Itemsets. This algorithm is an advancement to the Apriori Algorithm. There is no need for candidate generation to generate a frequent pattern. This frequent pattern tree structure maintains the association between the itemsets.

A Frequent Pattern Tree is a tree structure that is made with the earlier itemsets of the data. The main purpose of the FP tree is to mine the most frequent patterns. Every node of the FP tree represents an item of that itemset. The root node represents the null value, whereas the lower nodes represent the itemsets of the data. While creating the tree, it maintains the association of these nodes with the lower nodes, namely, between itemsets.

For Example:

Frequent Pattern Tree (FPT)
Source: i.imgur

Advantages of Market Basket Analysis

There are many advantages to implementing Market Basket Analysis in marketing. Market Basket Analysis (MBA) applies to customer data from point of sale (PoS) systems.

It helps retailers in the following ways:

  • Increases customer engagement
  • Boosts sales and increases RoI
  • Improves customer experience
  • Optimizes marketing strategies and campaigns
  • Helps in demographic data analysis
  • Identifies customer behavior and pattern

Market Basket Analysis From the Customers’ Perspective

Let us take an example of market basket analysis from Amazon, the world’s largest eCommerce platform. From a customer’s perspective, Market Basket Analysis is like shopping at a supermarket. Generally, it observes all items bought by customers together in a single purchase. Then it shows the most related products together that customers will tend to buy in one purchase.

Shopping basket recommendation using MBA
Source: datamathstat.files.wordpress

Implementing Market Basket Analysis in Python

The Method

Here are the steps involved in using the apriori algorithm to implement MBA:

  1. First, define the minimum support and confidence for the association rule.
  2. Find out all the subsets in the transactions with higher support(sup) than the minimum support.
  3. Find all the rules for these subsets with higher confidence than minimum confidence.
  4. Sort these association rules in decreasing order.
  5. Analyze the rules along with their confidence and support.

The Dataset

In this implementation, we have to use the Store Data dataset that is publicly available on Kaggle. This dataset contains a total of 7501 transaction records, where every record consists of a list of items sold in just one transaction.

Implementing Market Basket Analysis Using the Apriori Method

Data scientists frequently use the Apriori algorithm. We need to import the necessary libraries. Python requires us to import the apyori as an API to execute the Apriori Algorithm.

import pandas as pd
import numpy as np
from apyori import apriori

Now, we want to read the dataset we downloaded from Kaggle.There is no header in the dataset; hence, the first row contains the first transaction, so we have mentioned header = None here.

Python Code:

Once we have completely read the dataset, we must obtain the list of items in every transaction. So we are going to run two loops. One will be for the total number of transactions, and the other will be for the total number of columns in every transaction. The list will work as a training set from where we can generate the list of Association Rules.

#converting dataframe into list of lists
l=[]
for i in range(1,7501):
    l.append([str(st_df.values[i,j]) for j in range(0,20)])

So we are ready with the list of items in our training set, then we need to run the apriori algorithm, which will learn the list of association rules from the training set, i.e., list. So, we take the minimum support here as 0.0045. Now let us see that we have kept 0.2 as the min confidence.We take the minimum lift value as 3, and we consider the minimum length as 2 because we need to find an association among at least two items.

#applying apriori algorithm
association_rules = apriori(l, min_support=0.0045, min_confidence=0.2, min_lift=3, min_length=2)
association_results = list(association_rules)

After running the above line of code, we generated the list of association rules between the items. Now, we want to read the dataset we downloaded from Kaggle.

for i in range(0, len(association_results)):
    print(association_results[i][0])

Output:

frozenset({'light cream', 'chicken'})
frozenset({'mushroom cream sauce', 'escalope'})
frozenset({'pasta', 'escalope'})
frozenset({'herb & pepper', 'ground beef'})
frozenset({'tomato sauce', 'ground beef'})
frozenset({'whole wheat pasta', 'olive oil'})
frozenset({'shrimp', 'pasta'})
frozenset({'nan', 'light cream', 'chicken'})
frozenset({'shrimp', 'frozen vegetables', 'chocolate'})
frozenset({'spaghetti', 'cooking oil', 'ground beef'})
frozenset({'mushroom cream sauce', 'nan', 'escalope'})
frozenset({'nan', 'pasta', 'escalope'})
frozenset({'spaghetti', 'frozen vegetables', 'ground beef'})
frozenset({'olive oil', 'frozen vegetables', 'milk'})
frozenset({'shrimp', 'frozen vegetables', 'mineral water'})
frozenset({'spaghetti', 'olive oil', 'frozen vegetables'})
frozenset({'spaghetti', 'shrimp', 'frozen vegetables'})
frozenset({'spaghetti', 'frozen vegetables', 'tomatoes'})
frozenset({'spaghetti', 'grated cheese', 'ground beef'})
frozenset({'herb & pepper', 'mineral water', 'ground beef'})
frozenset({'nan', 'herb & pepper', 'ground beef'})
frozenset({'spaghetti', 'herb & pepper', 'ground beef'})
frozenset({'olive oil', 'milk', 'ground beef'})
frozenset({'nan', 'tomato sauce', 'ground beef'})
frozenset({'spaghetti', 'shrimp', 'ground beef'})
frozenset({'spaghetti', 'olive oil', 'milk'})
frozenset({'soup', 'olive oil', 'mineral water'})
frozenset({'whole wheat pasta', 'nan', 'olive oil'})
frozenset({'nan', 'shrimp', 'pasta'})
frozenset({'spaghetti', 'olive oil', 'pancakes'})
frozenset({'nan', 'shrimp', 'frozen vegetables', 'chocolate'})
frozenset({'spaghetti', 'nan', 'cooking oil', 'ground beef'})
frozenset({'spaghetti', 'nan', 'frozen vegetables', 'ground beef'})
frozenset({'spaghetti', 'frozen vegetables', 'milk', 'mineral water'})
frozenset({'nan', 'frozen vegetables', 'milk', 'olive oil'})
frozenset({'nan', 'shrimp', 'frozen vegetables', 'mineral water'})
frozenset({'spaghetti', 'nan', 'frozen vegetables', 'olive oil'})
frozenset({'spaghetti', 'nan', 'shrimp', 'frozen vegetables'})
frozenset({'spaghetti', 'nan', 'frozen vegetables', 'tomatoes'})
frozenset({'spaghetti', 'nan', 'grated cheese', 'ground beef'})
frozenset({'nan', 'herb & pepper', 'mineral water', 'ground beef'})
frozenset({'spaghetti', 'nan', 'herb & pepper', 'ground beef'})
frozenset({'nan', 'milk', 'olive oil', 'ground beef'})
frozenset({'spaghetti', 'nan', 'shrimp', 'ground beef'})
frozenset({'spaghetti', 'nan', 'milk', 'olive oil'})
frozenset({'soup', 'nan', 'olive oil', 'mineral water'})
frozenset({'spaghetti', 'nan', 'olive oil', 'pancakes'})
frozenset({'spaghetti', 'milk', 'mineral water', 'nan', 'frozen vegetables'})

Here we are going to display the Rule, Support, and lift ratio for every above association rule by using for loop.

for item in association_results:
    # first index of the inner list
    # Contains base item and add item
    pair = item[0]
    items = [x for x in pair]
    print("Rule: " + items[0] + " -> " + items[1])
    # second index of the inner list
    print("Support: " + str(item[1]))
    # third index of the list located at 0th position
    # of the third index of the inner list
    print("Confidence: " + str(item[2][0][2]))
    print("Lift: " + str(item[2][0][3]))
    print("-----------------------------------------------------")

Output:

Rule: light cream -> chicken
Support: 0.004533333333333334
Confidence: 0.2905982905982906
Lift: 4.843304843304844
-----------------------------------------------------
Rule: mushroom cream sauce -> escalope
Support: 0.005733333333333333
Confidence: 0.30069930069930073
Lift: 3.7903273197390845
-----------------------------------------------------
Rule: pasta -> escalope
Support: 0.005866666666666667
Confidence: 0.37288135593220345
Lift: 4.700185158809287
-----------------------------------------------------
Rule: herb & pepper -> ground beef
Support: 0.016
Confidence: 0.3234501347708895
Lift: 3.2915549671393096
-----------------------------------------------------
Rule: tomato sauce -> ground beef
Support: 0.005333333333333333
Confidence: 0.37735849056603776
Lift: 3.840147461662528
-----------------------------------------------------
Rule: whole wheat pasta -> olive oil
Support: 0.008
Confidence: 0.2714932126696833
Lift: 4.130221288078346
-----------------------------------------------------
Rule: shrimp -> pasta
Support: 0.005066666666666666
Confidence: 0.3220338983050848
Lift: 4.514493901473151
-----------------------------------------------------
Rule: nan -> light cream
Support: 0.004533333333333334
Confidence: 0.2905982905982906
Lift: 4.843304843304844
-----------------------------------------------------
Rule: shrimp -> frozen vegetables
Support: 0.005333333333333333
Confidence: 0.23255813953488372
Lift: 3.260160834601174
-----------------------------------------------------
Rule: spaghetti -> cooking oil
Support: 0.0048
Confidence: 0.5714285714285714
Lift: 3.281557646029315
-----------------------------------------------------
Rule: mushroom cream sauce -> nan
Support: 0.005733333333333333
Confidence: 0.30069930069930073
Lift: 3.7903273197390845
-----------------------------------------------------
Rule: nan -> pasta
Support: 0.005866666666666667
Confidence: 0.37288135593220345
Lift: 4.700185158809287
-----------------------------------------------------
Rule: spaghetti -> frozen vegetables
Support: 0.008666666666666666
Confidence: 0.3110047846889952
Lift: 3.164906221394116
-----------------------------------------------------
Rule: olive oil -> frozen vegetables
Support: 0.0048
Confidence: 0.20338983050847456
Lift: 3.094165778526489
-----------------------------------------------------
Rule: shrimp -> frozen vegetables
Support: 0.0072
Confidence: 0.3068181818181818
Lift: 3.2183725365543547
-----------------------------------------------------
Rule: spaghetti -> olive oil
Support: 0.005733333333333333
Confidence: 0.20574162679425836
Lift: 3.1299436124887174
-----------------------------------------------------
Rule: spaghetti -> shrimp
Support: 0.006
Confidence: 0.21531100478468898
Lift: 3.0183785717479763
-----------------------------------------------------
Rule: spaghetti -> frozen vegetables
Support: 0.006666666666666667
Confidence: 0.23923444976076555
Lift: 3.497579674864993
-----------------------------------------------------
Rule: spaghetti -> grated cheese
Support: 0.005333333333333333
Confidence: 0.3225806451612903
Lift: 3.282706701098612
-----------------------------------------------------
Rule: herb & pepper -> mineral water
Support: 0.006666666666666667
Confidence: 0.390625
Lift: 3.975152645861601
-----------------------------------------------------
Rule: nan -> herb & pepper
Support: 0.016
Confidence: 0.3234501347708895
Lift: 3.2915549671393096
-----------------------------------------------------
Rule: spaghetti -> herb & pepper
Support: 0.0064
Confidence: 0.3934426229508197
Lift: 4.003825878061259
-----------------------------------------------------
Rule: olive oil -> milk
Support: 0.004933333333333333
Confidence: 0.22424242424242424
Lift: 3.411395906324912
-----------------------------------------------------
Rule: nan -> tomato sauce
Support: 0.005333333333333333
Confidence: 0.37735849056603776
Lift: 3.840147461662528
-----------------------------------------------------
Rule: spaghetti -> shrimp
Support: 0.006
Confidence: 0.5232558139534884
Lift: 3.004914704939635
-----------------------------------------------------
Rule: spaghetti -> olive oil
Support: 0.0072
Confidence: 0.20300751879699247
Lift: 3.0883496774390333
-----------------------------------------------------
Rule: soup -> olive oil
Support: 0.0052
Confidence: 0.2254335260115607
Lift: 3.4295161157945335
-----------------------------------------------------
Rule: whole wheat pasta -> nan
Support: 0.008
Confidence: 0.2714932126696833
Lift: 4.130221288078346
-----------------------------------------------------
Rule: nan -> shrimp
Support: 0.005066666666666666
Confidence: 0.3220338983050848
Lift: 4.514493901473151
-----------------------------------------------------
Rule: spaghetti -> olive oil
Support: 0.005066666666666666
Confidence: 0.20105820105820105
Lift: 3.0586947422647217
-----------------------------------------------------
Rule: nan -> shrimp
Support: 0.005333333333333333
Confidence: 0.23255813953488372
Lift: 3.260160834601174
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.0048
Confidence: 0.5714285714285714
Lift: 3.281557646029315
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.008666666666666666
Confidence: 0.3110047846889952
Lift: 3.164906221394116
-----------------------------------------------------
Rule: spaghetti -> frozen vegetables
Support: 0.004533333333333334
Confidence: 0.28813559322033905
Lift: 3.0224013274860737
-----------------------------------------------------
Rule: nan -> frozen vegetables
Support: 0.0048
Confidence: 0.20338983050847456
Lift: 3.094165778526489
-----------------------------------------------------
Rule: nan -> shrimp
Support: 0.0072
Confidence: 0.3068181818181818
Lift: 3.2183725365543547
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.005733333333333333
Confidence: 0.20574162679425836
Lift: 3.1299436124887174
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.006
Confidence: 0.21531100478468898
Lift: 3.0183785717479763
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.006666666666666667
Confidence: 0.23923444976076555
Lift: 3.497579674864993
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.005333333333333333
Confidence: 0.3225806451612903
Lift: 3.282706701098612
-----------------------------------------------------
Rule: nan -> herb & pepper
Support: 0.006666666666666667
Confidence: 0.390625
Lift: 3.975152645861601
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.0064
Confidence: 0.3934426229508197
Lift: 4.003825878061259
-----------------------------------------------------
Rule: nan -> milk
Support: 0.004933333333333333
Confidence: 0.22424242424242424
Lift: 3.411395906324912
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.006
Confidence: 0.5232558139534884
Lift: 3.004914704939635
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.0072
Confidence: 0.20300751879699247
Lift: 3.0883496774390333
-----------------------------------------------------
Rule: soup -> nan
Support: 0.0052
Confidence: 0.2254335260115607
Lift: 3.4295161157945335
-----------------------------------------------------
Rule: spaghetti -> nan
Support: 0.005066666666666666
Confidence: 0.20105820105820105
Lift: 3.0586947422647217
-----------------------------------------------------
Rule: spaghetti -> milk
Support: 0.004533333333333334
Confidence: 0.28813559322033905
Lift: 3.0224013274860737
-----------------------------------------------------

Conclusion

In this tutorial, we discussed  Market Basket Analysis and learned the steps to implement it from scratch using Python. We then implemented Market Basket Analysis using Apriori Algorithm. We also looked into the various uses and advantages of this algorithm and learned that we could also use FP Growth and AIS algorithms to implement Market Basket Analysis.

Key Takeaways

  • Businesses use Market Basket Analysis as a strategy to design store layouts based on customers’ shopping behavior and purchase histories.
  • This idea is also applicable to machine learning algorithms to teach machines to help businesses, especially in the e-commerce sector.
  • In this article, we have gone through a step-by-step guide to implementing the apriori algorithm in Python and also looked into the math behind the association rules.

Frequently Asked Questions

Q1. What is market basket analysis for example?

A. Market basket analysis examines purchasing patterns. For instance, if customers often buy chips and soda together, a store might place them near each other to boost sales.

Q2. What is a market basket SWOT analysis?

A. A market basket SWOT analysis assesses strengths, weaknesses, opportunities, and threats related to product combinations and customer preferences, aiding strategic decision-making.

Q3. What is market basket and cluster analysis?

A. Market basket analysis studies product associations, while cluster analysis groups similar items. Together, they reveal purchase trends and aid in-store layout and marketing strategies.

Q4. What is market basket analysis in Amazon?

A. Amazon employs market basket analysis to suggest items based on customer purchase history. It identifies products frequently bought together, enhancing cross-selling and personalization efforts.

Q5. What is the Purpose of Market Basket Analysis

Market basket analysis is a data mining technique used by retailers to uncover patterns of co-occurrence in customer purchases. Businesses use this information to identify cross-selling and upselling opportunities, optimize product placement, develop personalized promotions, improve inventory management, and understand customer segmentation.

The media shown in this article are not owned by Analytics Vidhya and are used at the Author’s discretion.

Amruta Kadlaskar 26 Feb 2024

I am data science enthusiastic, tech savvy and traveller.

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit,

Responses From Readers

Clear

Ela Kapoor
Ela Kapoor 24 Mar, 2022

Hi, I liked your article. I have a question regarding the parameter that you choose for the apriori apriori algorithm. association_rules = apriori(l, min_support=0.0045, min_confidence=0.2, min_lift=3, min_length=2) Could you please tell me how you choose these values? Thanks

Yes No Wheel
Yes No Wheel 08 Feb, 2023

Great post! I learned a lot from it.

UptoWish
UptoWish 24 Aug, 2023

This is a great guide for businesses. I would recommend it to anyone looking to improve their business.

Syllablecounter
Syllablecounter 06 Oct, 2023

This is a great guide for businesses. I would recommend it to anyone looking to improve their business.

JustSp3cial
JustSp3cial 03 Nov, 2023

Hi, Thanks for this great article. Please how did you deal with the large amount of missing values and how does it affect your results? Thank you