Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

UNIT 4

Case 9: Customer Analytics at Big basket – Product Recommendations

SYNOPSIS OF CASE
Bigbasket was India's largest online grocery and food store established in 2011 by a group of
entrepreneurs Hari Menon, Vipul Parekh, V S Ramesh, V S Sudhakar, and Abhinay
Choudhari. In 2016, Bigbasket sold more than 18,000 products and 1,000 brands operating
across 12 Indian cities. Online grocery market in India has been small, but a rapidly growing
segment. According to "The Retailer" Ernst and Young's publication in consumer products
and retail sector, during July-September 2015, India was among the top-10 food and grocery
markets in the world, with an estimated size of INR 22.5 trillion (approximately USD 350
billion). The market has grown at 10-12% CAGR between 2010 and 2015, with food and
grocery being the largest segment, accounting for close to 60% in 2015 alone. The
protagonist of the case, Pramod Jajoo, Chief Technology Officer, at Bigbasket was trying to
solve two problems frequently encountered by customers of online grocery stores. It was
estimated that about 30% of Bigbasket customers place orders through smart phones. Unlike
other e-commerce companies such as Amazon, Bigbasket customers place order for several
products in a single order, sometimes as high as 80 in one order depending on their purchase
frequency. When the basket size is high, using smart phones to place order is challenging.
Also, it is a common phenomenon that customers forget to place order few grocery items
which may result either in placing additional orders or customers purchasing those products
from neighborhood stores resulting in a financial loss to online grocery stores. Jajoo and his
team wanted to create a "Smart Basket" that would make placing orders easier for their
customers and "Did you forget?" feature that would identify the items the customer may have
forgotten to order.

Analysis of Case
1. What is the difference in the recommender system requirements between Bigbasket
and other e- commerce companies such as Amazon and Flipkart?
Big Basket is trying to address two main problems faced by customers: 1) Forgetting items
while ordering Big Basket customers generally order a large number of items in one
transaction (sometimes recorded up to 80 items per transaction). So there are always high
chances that the user forgets one or more items. 2) Long list to order on small handset
Generally user orders the same items every week, but due to large variety in the number of
products on the basket under a category it is difficult to scroll down so many products even
for the usual items. They seek an automated cart based out of their preferences.

2. What are the different types of recommender systems? Which recommender system is
more appropriate for Bigbasket?
Big basket and Amazon/ Flipkart have different requirement since there objectives are
different. Big basket is an online grocery store while Amazon is an online electronic, goods
etc. store
Unlike the ecommerce companies, Bigbasket customers order in bulk and tend to forget some
items due to large order size. Other difference is that the Bigbasket customers tend to order
the same groceries on a daily/weekly/monthly basis. Whereas, in Amazon/Flipkart, customers
order different products though they may have similar product brand, similar price, quality,
features etc. So, keeping the above in mind the recommender systems need to be designed
differently for both. Bigbasket needs a recommender system that uses the purchase behavior
to predict what a customer is likely to buy in future. This feature is the “Smart Basket”
feature. The other recommender system that they need is the “Did you forget” feature. 

3.What are the possible data challenges in developing any data model? What approach should
be taken to resolve these data challenges?
Did you forget? For this problem we can create associative rules based on the transactional
data of the online store. We can do generic data rules based on all transaction data for a new
customer or a guest user. But to particularly address the problem of clients like Sangeetha, a
personalized recommendation based on the past transaction of that particular user
dynamically on run time would be a much better approach. This will capture the pattern how
Sangeetha has bought together items in the past.

4. Given the context of business carried out by Bigbasket, what basic tools can be used
for understanding repeat purchases?
“Did you forget” feature will help in providing solution to the problem that users face by
forgetting to add certain items to their cart due to the large basket size. This feature can be
created in two ways: 1. Association Rules based on all transactions 2. Association Rules
based on the transactions made by the particular user (Personalization)
Association Rules based on all transactions We can build a recommendation system on the
basis of all the transactions that took place by using Association rules and recommend the
user which products they might have missed, and show them to the user at the time of
checkout, under the Did you forget tab.

5. How do we find similarity between products based on what customers buy in different
baskets? Can collaborative filtering be used to find similarities? What similarities are
appropriate in this context and why?
Extract data for a particular user by a member id. We have taken Member id M09736 which
has around 632 records in the data about each item which are grouped against a transaction
id. Then we can load this data as transaction in the single format.
Then we can apply the apriori algorithm to these transactions where transaction id and the
item are the columns to be fed alongside threshold level of support and confidence factor The
output of the algorithm gives us some personalized association rules based on the data for
member M09736 and are shown as follows:

6. How do we build a Smart Basket for a customer? Can we rank the products customers
buy based on what they keep buying in different baskets and how do products appear together
in different baskets?
For the customer-agnostic recommendation system, we have taken all the transactional data
for every customer that was present and created some general rules on top of it. Steps:   

Loaded the excel provided in R as transactions in single format. Apply these transactions to
apriori algorithm The output is set of association rules.

This technique provides general recommendations for a shopper. These could be used for the
users with limited or no transactional data. It differs from the above technique as the above
one is personalized system and this is more generic. lhs rhs [1] {Gourd & Cucumber,Other
Vegetables} => {Beans} 1.690142

7. What testing strategy should be applied to find out how the model works?
For this we can use collaborative filtering, in which we can design a recommendation system
by observing the pattern of the purchase history. The recommendations will be given to the
users based on what users similar to them have bought giving us the answer of the question
what our user is likely to buy. We can use Association rules for personalization as well, but
using collaborative filtering will give us much better results. So, our input could be what user
has bought in the past then compare it with what similar user has bought, and then generate
recommendations.

Thus, the above gives the approach how Smart Basket feature can be created.

8. What are the challenges and recommendations in implementing a real world solution
of “Smart Basket” and “Did you forget?” use case?
1. Load the data in the data frame. Convert the data types to appropriate types. 2. After that,
create a column ratings which tells how frequently the user buys the items. 3. Next, create a
matrix and use that to build the recommendation systems using collaborative filtering. 4.
Using different types of collaborative filtering, like user based , item based, create models.

5. Specify a particular member and see the recommendations for that user. 6. Using the above
steps, we get the following results. The R script for the same is attached.

You might also like