Building a Recommendation
system for e-commerce
AI Ukraine 2017
About me
Alex Konduforov
Data Science Group Leader @
Co-organizer @ Kharkiv AI club
Business
“31% of ecommerce revenues were generated from personalized
product recommendations” - Barilliance.com, 2014
“Already, 35% of what consumers purchase on Amazon and 75% of
what they watch on Netflix come from product recommendations
based on such algorithms” - McKinsey
Evolution
Amazon
Netflix
Why recommendations so important
Traditional Retail can serve only
most popular products.
Online can serve much more
products, but it’s overwhelming for
customers.
How to apply
Website recommendations
• Main goals: cross-sale, save customer time
Personalized marketing emails
• Main goals: return customer on the website, upsale
Recommendation systems
Formulation of the problem
LOTR Star Wars GoT Matrix
Alice 5 2
Bob 4 5 3
Carol 3 4
David 5 5
Goal of recommendation system is to predict blanks in the utility matrix
Gathering Data
Explicit
• Ask people to rate items
• Cons: doesn’t scale, only a small fractions of users leave
ratings and reviews
Implicit
• Inferences from user actions
• Cons: only one value, no difference between dislike and
unknown
Main approaches
• Non-personalized Summary Statistics
• Content-based Filtering
• Collaborative Filtering (nearest neighbors)
• User-User
• Item-Item
• Matrix Factorization
• Hybrid
• Probability models
• etc.
Ecommerce specifics
• Implicit customer feedback (views, purchases, other actions)
• Utility matrix with only 1’s
• Possible to calculate some score but more complicated
• Collaborative Filtering + Matrix Factorization
• Not every similarity/distance works
Collaborative Filtering
Method of making automatic predictions (filtering) about the interests of a user
by collecting preferences or taste information from many users (collaborating)
Types of Collaborative Filtering
User-to-user
1. Look for users who share the same rating patterns with the active user (the
user whom the prediction is for)
2. Use the ratings from those like-minded users to calculate a prediction for
the active user
Item-to-item
1. Build an item-item matrix determining relationships between pairs of items
2. Infer the tastes of the current user by examining the matrix and matching
that user's data
User-to-user
Similarity
Jaccard similarity
Ignores rating values
Pearson similarity (~cosine)
Contrary to cosine treats missing values
not as negatives, but as zeros
Item-to-item
User-based vs. item-based
In practice, item-based CF outperforms user-based CF in many cases
Item-based CF pros:
• better when user size is large
• better for new users
• no need to recalculate so often as user-based (caching)
• more likely to converge => better accuracy
Matrix Factorization
Approximates the utility matrix as product of low-rank matrices
Identifies latent features
P x Q
Matrix Factorization algorithm
• Initialize P and Q with small random numbers
• Teach P and Q
• Alternating Least Squares
• Stochastic Gradient Descent
MF example
Latent features are calculated via MF:
Evaluation
Academic metrics:
• RMSE
• MAE
• Precision/Recall
(all may have low correlation with
actual user satisfaction)
Business metrics:
• CTR/CVR
• ROI
• CLV (Customer Lifetime Value)
Customer metrics:
• Coverage – covering more items for recommendations
• Diversity – higher variety of items (rich-get-richer effect)
• Novelty – recommending new items
Sparsity problem
There is an approximate threshold of 99.5% sparsity for CF to work
• Add product views, shopping cart and other activities
• Decreases sparsity
• Matrix Factorization, SVD
• No zeros
• Content description
• Hybrid content-based + collaborative filtering
Cold start problem
User cold start: new users
• Non-personalized recommendations: most popular, highly rated
• Use user profile (age, gender, etc.) and segment
Item cold start: new items
• Don’t recommend (what about news?)
• Use item content if available
Scalability problem
Amazon had 30+ mln of customers and several million catalog items.
Solution:
• Reduce number of customers by randomly sampling them or discarding
customers with few purchases
• Reduce number of items by discarding very popular or unpopular items
• Dimensionality reduction techniques such as clustering
Other challenges
• Gray sheep
• Diversity and the long tail (rich-get-richer effect)
• Shilling attacks
• Privacy
• EU has quite strict rules and culture of data privacy
• Netflix was sued for dataset publication => cancellation of a second Netflix
Prize competition in 2010
Implementation questions
• For CF+MF - automatic model updates? how frequently?
• How and where to store MF model?
• Emails - track recommended items and don’t duplicate
Tools
Language / Stack Tools / Libraries
R recommenderlab, recosystem
Python Scikit-learn
crab, implicit, python-recsys, Surprise
GraphLab Create ($$$)
Java LensKit, Cofi
Apache Mahout
C++ SVDFeature, Waffles, Graphchi, LIBMF
GraphLab Create ($$$)
C# Nreco
Node.JS raccoon
SaaS Google Cloud Prediction API
Amazon Machine Learning
PredictionIO
SuggestGrid
https://github.com/grahamjenson/list_of_recommender_systems
Materials
• A Gentle Introduction to Recommender Systems with Implicit Feedback
• Matrix Factorization: A Simple Tutorial and Implementation on Python
• Matrix Factorization Model in Collaborating Filtering
• Finding similar music using Matrix Factorization
• Mining of Massive Databases (Stanford), Chapter 9
• AI Ukraine 2014 - Сергей Николенко - Рекомендательные системы
• Recommender Systems specialization (Coursera)
Thank you!
Skype: alex_konduforov
Email: alex.konduforov@altexsoft.com

Recommender systems for E-commerce

  • 1.
    Building a Recommendation systemfor e-commerce AI Ukraine 2017
  • 2.
    About me Alex Konduforov DataScience Group Leader @ Co-organizer @ Kharkiv AI club
  • 3.
    Business “31% of ecommercerevenues were generated from personalized product recommendations” - Barilliance.com, 2014 “Already, 35% of what consumers purchase on Amazon and 75% of what they watch on Netflix come from product recommendations based on such algorithms” - McKinsey
  • 4.
  • 5.
    Why recommendations soimportant Traditional Retail can serve only most popular products. Online can serve much more products, but it’s overwhelming for customers.
  • 6.
    How to apply Websiterecommendations • Main goals: cross-sale, save customer time Personalized marketing emails • Main goals: return customer on the website, upsale
  • 7.
  • 8.
    Formulation of theproblem LOTR Star Wars GoT Matrix Alice 5 2 Bob 4 5 3 Carol 3 4 David 5 5 Goal of recommendation system is to predict blanks in the utility matrix
  • 9.
    Gathering Data Explicit • Askpeople to rate items • Cons: doesn’t scale, only a small fractions of users leave ratings and reviews Implicit • Inferences from user actions • Cons: only one value, no difference between dislike and unknown
  • 10.
    Main approaches • Non-personalizedSummary Statistics • Content-based Filtering • Collaborative Filtering (nearest neighbors) • User-User • Item-Item • Matrix Factorization • Hybrid • Probability models • etc.
  • 11.
    Ecommerce specifics • Implicitcustomer feedback (views, purchases, other actions) • Utility matrix with only 1’s • Possible to calculate some score but more complicated • Collaborative Filtering + Matrix Factorization • Not every similarity/distance works
  • 12.
    Collaborative Filtering Method ofmaking automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating)
  • 13.
    Types of CollaborativeFiltering User-to-user 1. Look for users who share the same rating patterns with the active user (the user whom the prediction is for) 2. Use the ratings from those like-minded users to calculate a prediction for the active user Item-to-item 1. Build an item-item matrix determining relationships between pairs of items 2. Infer the tastes of the current user by examining the matrix and matching that user's data
  • 14.
  • 15.
    Similarity Jaccard similarity Ignores ratingvalues Pearson similarity (~cosine) Contrary to cosine treats missing values not as negatives, but as zeros
  • 16.
  • 17.
    User-based vs. item-based Inpractice, item-based CF outperforms user-based CF in many cases Item-based CF pros: • better when user size is large • better for new users • no need to recalculate so often as user-based (caching) • more likely to converge => better accuracy
  • 18.
    Matrix Factorization Approximates theutility matrix as product of low-rank matrices Identifies latent features P x Q
  • 19.
    Matrix Factorization algorithm •Initialize P and Q with small random numbers • Teach P and Q • Alternating Least Squares • Stochastic Gradient Descent
  • 20.
    MF example Latent featuresare calculated via MF:
  • 21.
    Evaluation Academic metrics: • RMSE •MAE • Precision/Recall (all may have low correlation with actual user satisfaction) Business metrics: • CTR/CVR • ROI • CLV (Customer Lifetime Value) Customer metrics: • Coverage – covering more items for recommendations • Diversity – higher variety of items (rich-get-richer effect) • Novelty – recommending new items
  • 22.
    Sparsity problem There isan approximate threshold of 99.5% sparsity for CF to work • Add product views, shopping cart and other activities • Decreases sparsity • Matrix Factorization, SVD • No zeros • Content description • Hybrid content-based + collaborative filtering
  • 23.
    Cold start problem Usercold start: new users • Non-personalized recommendations: most popular, highly rated • Use user profile (age, gender, etc.) and segment Item cold start: new items • Don’t recommend (what about news?) • Use item content if available
  • 24.
    Scalability problem Amazon had30+ mln of customers and several million catalog items. Solution: • Reduce number of customers by randomly sampling them or discarding customers with few purchases • Reduce number of items by discarding very popular or unpopular items • Dimensionality reduction techniques such as clustering
  • 25.
    Other challenges • Graysheep • Diversity and the long tail (rich-get-richer effect) • Shilling attacks • Privacy • EU has quite strict rules and culture of data privacy • Netflix was sued for dataset publication => cancellation of a second Netflix Prize competition in 2010
  • 26.
    Implementation questions • ForCF+MF - automatic model updates? how frequently? • How and where to store MF model? • Emails - track recommended items and don’t duplicate
  • 27.
    Tools Language / StackTools / Libraries R recommenderlab, recosystem Python Scikit-learn crab, implicit, python-recsys, Surprise GraphLab Create ($$$) Java LensKit, Cofi Apache Mahout C++ SVDFeature, Waffles, Graphchi, LIBMF GraphLab Create ($$$) C# Nreco Node.JS raccoon SaaS Google Cloud Prediction API Amazon Machine Learning PredictionIO SuggestGrid https://github.com/grahamjenson/list_of_recommender_systems
  • 28.
    Materials • A GentleIntroduction to Recommender Systems with Implicit Feedback • Matrix Factorization: A Simple Tutorial and Implementation on Python • Matrix Factorization Model in Collaborating Filtering • Finding similar music using Matrix Factorization • Mining of Massive Databases (Stanford), Chapter 9 • AI Ukraine 2014 - Сергей Николенко - Рекомендательные системы • Recommender Systems specialization (Coursera)
  • 29.
    Thank you! Skype: alex_konduforov Email:alex.konduforov@altexsoft.com

Editor's Notes

  • #22 Recall - % relevant documents