Personalization of
Supermarket Product
Recommendations
R.D. Lawrence et al.
Introduction
• Personalized recommender system
designed to suggest new products to
supermarket shoppers
• Based upon their previous purchase
behaviour and expected product appeal
• Shoppers use PDA’s
• Alternative source of new ideas
Usual Techniques for Product
Recommendations
• Content-based filtering
– based on what person has liked in the past
– measure of distance between vectors representing:
• Personal preferences
• Products
– overspecialization
Collaborative filtering
items that similar people have liked
Associations mining (product domain)
Clustering (customer domain)
Product Taxonomy
Classes
(99)
Subclasses
(2302)
Products
(~30000)
Soft Drinks
…..
Dried
Cat
Food
Petfoods
Dried
Dog
Food
…..
Fresh
Beef
Beef
Joints
Canned
Cat
Food
Friskies
Liver
(250g)
Overview
Normalized
customer
Customer
Purchase
Database
vectors
Data Mining
Clustering
Product
Database
Cluster
assignments
Products eligible
for recommendation
Cluster-specific
Product lists
Product list
Data Mining
Associations
for target customer’s
cluster
Product
affinities
Matching
Algorithm
5
Personalized
Recommendation
List
Customer Model
• Customer profile
– Vector, C(m)s, for each customer
– At subclass level => 2303 dim space
– Normalized fractional spending
• quantifies customer’s interest in subclass relative
to entire customer database
• value of 1 implies average level of interest in a
subclass
Clustering Analysis
• To identify groups of shoppers with similar spending
histories
• Cluster-specific list of popular products used as input to
recommender
• Clustered at 99-dim product-class level
• Neural, demographic clustering algorithms (a type of
SOM)
• Clusters evaluated in terms of dominant attributes:
products which most distinguish members of the cluster
Product Model
• Each product, n, represented by a 2303-dim vector P(n)
• Individual entries Ps(n) reflect the “affinity” the product has
to subclass s.
Ps(n) =
1.0
if s = S(n)
(same subclass)
1.0
if S(n) s
(associated subclass)
0.5
if C(s) = C(n)
(same class)
0.25 if C(n) C(s)
0
otherwise
(associated class)
Matching Algorithm
• Score each product for a specific customer
and select the best matches.
• Cosine similarity metric used
C is the customer vector
P is the product vector
σ
mn is
the score between customer m and product n
σmn = ρn C(m). P(n) / ||C(m)|| ||P(n)||
Matching Algorithm
• Limit recommendations for each customer
to 1 per product subclass, and 2 per class
• 10 to 20 products returned to PDA
• Previously bought products excluded
• Data from 20,000 customers
• Recommendations for 200
Results
• Recommendations generated weekly
• 8 months, 200 customers from each store
• “Respectable” 1.8% boost in revenue from
purchases from the list of recommended
products.
• Accepted Recommendations from product
classes new to the customer
• Certain products more amenable to
recommendations.
• Interesting recommendations: Wine vs.
household care.
Summary
• Product recommendation system for
grocery shopping
• Content and Collaborative filtering
– Based on purchasing history
– Associations Mining
– Clustering