You are on page 1of 17

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 PDAs
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 customers


cluster
Product
affinities

Matching
Algorithm

Personalized
Recommendation
List

Customer Model
Customer profile
Vector, C(m)s, for each customer
At subclass level => 2303 dim space
Normalized fractional spending
quantifies customers 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

Cluster 2 Frozen foods


Cluster 3 Wines/Beers/Spirits
Cluster 4 - Baby products, household items etc..

Product Level Clusters

Significant Product Classes

Within Cluster Product Popularity

Associations Mining
Determine relationships among product
classes or subclasses
Used IBMs Intelligent Miner
Apriori algorithm

Support, Confidence, Lift factors


Rule: Fresh Beef => Pork/Lamb
Support
Confidence
Lift

0.016
0.33
4.9

Rule: Baby:Disposable Nappies => Baby:Wipes

Sample Association Rules

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

Revenue boosts ~2%

You might also like