Giter VIP home page Giter VIP logo

ai-noid / springboard-capstoneproject_olistcustomerrecommendation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deakynek/capstoneproject_olistcustomerrecommendation

0.0 0.0 0.0 46.97 MB

My third and final Capstone project for the Springboard Data Science curriculum. This project takes 100k orders from Olist and makes a product recommendation engine based on cosine similarity scores

Jupyter Notebook 100.00%

springboard-capstoneproject_olistcustomerrecommendation's Introduction

Capstone Project - Olist Customer Recommendation

Data Set

Olist Public Dataset

Final Reports

Final Report

Final Presentation

Final Presentation with speaker notes

Summary

Using a dataset of over 100k real world orders provided by Olist, the largest department store in Brazilian market places, the code provided in Jupyter Notebooks constructs a product recommendation engine.

This engine can take a user's unique id and a minimum similarity score and return product ids the user has not purchased yet, ranked by similarity to the user. Three groupings were used to categorize the data:

  1. Customer id vs Product Category Group
  2. Seller id vs Product Category Group
  3. Customer id vs Product Id

And the code generates a Category Group csv file (containing Group Ids percentage of purchases across categories, and number of users in the Group) and a cosine similarity csv file (containing Group Ids and the similarity score between each group)

Using these files, product recommendations can be generated using the following methods:

  1. Using a customer's id and a Group id, return products of its group and similar groups using similarity table
  2. Using customer's id and list of orders, determine similarity between the user and existing groups in Category table. Return product ids of groups similar to this user
  3. Using customer's id and list of orders, use Agglomerative clustering to cluster the categories and the user. Return product ids of the user's cluster

Each method can also consider RFM scores of Buyers or Sellers when considering the quality of the recommendation. Code has also been provided for updating the Category Group and Similarity Score tables based on new orders.

Notebooks

1 - Data Wrangling.ipynb

  • Investigation into several Data Sets, including Olist
  • Data grouping of several Olist tables into a single orders DataFrame

2 - EDA.ipynb

3 - Similarity Score Generation.ipynb

  • Generation of Category Group and Similarity Score Tables
  • Investigation into Similiarity Score's performance based on Silhouette Scores
    • Euclidean Distance
    • Modified Euclidean Distance
    • Cosine Similarity

4 - Product Recommendation Engine.ipynb

  • Methods to generate ranked recommendations
  • Method to update Category and Similarity tables based on new orders

springboard-capstoneproject_olistcustomerrecommendation's People

Contributors

deakynek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.