Skip to content

acdick/touch_driven_recommender_engines

Repository files navigation

RECOMMENDER SYSTEMS

Touch-Driven Recommender Engines

UNDERSTANDING THE CUSTOMER

Browse the pitch deck...

In the digital age, the internet connects billions of people to countless products around the world, providing consumers with more choices than ever before. In 2016, 185,000 sellers carried over 353 million products in the Amazon Marketplace alone. While savvy choosers may find exactly what they want, many consumers can be paralyzed by the decision-making process.

The Jam Experiment, published by Sheena Sethi Iyengar and Mark Lepper in 2001, studied how choice influences consumer behavior. An assortment of 24 jams attracted more customers (60%) than six jams (40%). But only 3% of shoppers purchased from the large set, while 30% bought from the small one. Shoppers felt confident in choosing the best jam when offered fewer options.

Recommender systems assist consumers in the search and discovery of new products and services, selectively reducing the option set presented to them. Demonstrating their business value, Netflix attributes $1 billion in annual cost savings to its AI recommender system. These systems filter options through several approaches involving varying levels of personalization.

Personalized recommender systems suffer from the “cold start” problem, in which they require some initial data about customer preferences to make targeted recommendations. To address this issue, demographic data mining approaches can pre-populate assumptions about a new consumer, while ensemble techniques can aggregate multiple recommender systems.

But perhaps we can leverage simple unpersonalized recommender systems to follow the touch points of the consumer journey. We can tackle the cold start problem by recommending popular products to new customers and then progressively switching to more personalized recommendations. So let’s try to implement a touch-driven recommender engine for an e-commerce platform.

Continue reading the full story curated by Towards Data Science, a Medium publication...

Repository Contents

Project Features

ADTECH | DIGITAL MARKETING | BRAND MANAGEMENT | CONSUMER JOURNEYS | RECOMMENDER SYSTEMS

Touch-Driven Recommender Engines

  • Touch-Driven Recommender Engine
    A system that records the touch points for each customer and their responses to adaptive recommendations.

  • Live Checkpoint for Inventory Stockout
    A check that each recommended product is in-stock, querying the status of the product webpage or database.

  • Non-Repeating Rolling Recommendations
    A check that each product recommended to the customer is novel based on the recommendation history.

  • Synchronization with NoSQL Database
    Database feedback of the customer response for each recommendation prior to issuing the next recommendation.

Data Products

WEB SCRAPING | SELENIUM | REQUESTS | BEAUTIFULSOUP | HTML | DOCUMENT STORE

Farfetch is an online luxury retail platform and marketplace, connecting consumers in over 190 countries to more than 3,000 brands. With each brand selling a wide variety of products, Farfetch can be considered a long tail marketplace. The value of the platform is driven by numerous differentiated products that appeal to varied consumers, rather than mass market mega-hits.

Farfetch Customer Reviews

  • Date
  • Rating
  • Pieces Bought
  • Product URLs
  • Ordered From
  • Reviewed By
  • Review

Farfetch Product Details

  • Product URL
  • In-Stock / Sold Out
  • Original Price
  • Discount %
  • Sale Price
  • Designer
  • Product
  • Gender
  • Category
  • Subcategory
  • Style
  • Color
  • Made In

Data Mining

  • 100,000 Customer Reviews
  • 21,641 Product Ratings
  • 16,105 In-Stock Product Ratings
  • 9,667 Unique Customers
  • 13,518 Unique Products

Exploratory Data Analysis

  • 3 Genders (Women, Men, Kids)
  • 5 Made In Locations
  • 16 Discount Levels
  • 1,184 Designers
  • 29 Categories
  • 374 Subcategories
  • 7,788 Colors
  • 12,596 Styles

Source Code

PYTHON | MONGODB | NOSQL | JSON | PICKLE | PANDAS | NUMPY | SURPRISE | SINGULAR VALUE DECOMPOSITION

The Farfetch Class

  • Initialization of NoSQL MongoDB document-oriented database
  • Data gathering and cleaning of customer reviews and product information
  • Feature engineering of content-based product similarity
  • Adaptor wrapping of Recommender class
  • Live demonstration of Touch-Driven Recommender Engine

The Recommender Class

  • Initialization of customer recommendation history
  • 3 Unpersonalized recommenders (most-rated individual products and subcategories)
  • 1 Content-Based recommender
  • 1 Collaborative Filtering recommender

Content-Based Product Similarity

  1. Calculate the content-based product similarity matrix
  2. Drop multicollinear columns and columns not considered for similarity
  3. Select continuous and categorical features for correlation
  4. Encode categorical variables with dummy variables
  5. Calculate Pearson correlation matrix
  6. Request a content-based recommendation
  7. Sort all product correlations related to top-rated user product
  8. Drop auto-correlation of top-rated user product
  9. Return the product with the highest correlation

Recommender Engine Unit Tests

  • The Most-Rated Individual Products
  • The “Best One” Most-Rated Subcategory
  • The “Best Nine” Most-Rated Subcategories
  • Content-Based Product Similarity via Pearson Correlation
  • User-to-User Collaborative Filtering via Singular Value Decomposition

Output Results

SEABORN / MATPLOTLIB

Recommender Engine Live Demo

  1. Instantiate Farfetch object
  2. Load product similarity matrix
  3. Start live demo
  4. Create new user, display recommended product webpages and collect customer ratings
  5. End live demo

Unpersonalized Recommender

  • The Most-Rated Individual Products
  • 3 recommendations

The Most-Rated Individual Products The Most-Rated Individual Products Farfetch

Unpersonalized Recommender

  • The "Best One" Most-Rated Subcategory: Adidas Shoes
  • 3 recommendations

The Best One Most-Rated Subcategory The Best One Most-Rated Subcategory Farfetch

Unpersonalized Recommender

  • The "Best Nine" Most-Rated Subcategories
  • Top Designers: Adidas, Dolce & Gabbana, Gucci
  • Top Categories: Shoes, Clothing, Bags
  • 9 recommendations

The Best Nine Most-Rated Subcategories The Best Nine Most-Rated Subcategories Farfetch

Content-Based Filtering Recommender

  • Product Similarity via Pearson Correlation
  • 3 recommendations

Content-Based Similarity: Pearson Correlation Content-Based Similarity: Pearson Correlation Farfetch

User-to-User Collaborative Filtering Recommender

  • Matrix Factorization via Singular Value Decomposition
  • Unlimited recommendations
  • 99.988% Customer-Product Matrix Sparsity

Collaborative Filtering: Singular Value Decomposition Collaborative Filtering: Customer-Product Utility Matrix

Contribute

Contact

Acknowledgements

License