##Final Project Content Based Recommender for leads B2B
The purpose of this product is to provide an automated service that recommends leads to a user given their current customer list (Portfolio).
Some companies would like to know who are the other companies in a given market (population) that are most likely to become their next customers. That is, your solution must find in the market who are the most adherent leads given the characteristics of the customers present in the user's portfolio.
In addition, your solution must be user agnostic. Any user with a list of customers who want to explore this market can extract value from the service.
For the challenge, the following datasets should be considered:
- Market: Base with information about the companies in the market to be considered.
- Portfolio 1: Company customer ids 1
- Portfolio 2: Company customer ids 2
- Portfolio 3: Company customer ids 3
Note: all companies (ids) in the portfolios are contained in the Market (population base).
Here are some information to help you get started.
- folder
data
- contains the 3 portfolios and the market dataset - folder
app
- contains the recommender system
⚠️ remember to change the variablefile_path
in main.py and recommender.py) - folder
output
- contains the entire set of leads from the recommender system for each portfolio. They are sorted, which means the first leads are more similar to the potfolio than the last ones). - folder
notebooks
- here all the developement of the recommender system is clearly explained.
1️⃣ ContentBased_Recommender_HEOM_trial.ipynb contains the evaluation of another metric for the recommender system.
2️⃣ ContentBased_Recommender_Gower.ipynb is the main file, it uses the gower distance metric to define similarity among companies from the estaticos_market.csv and generates leads for each portfolio.
3️⃣ eda.ipnyb contains the data exploration analysis.
The packages required to run the app are in the requirements.txt file.
Clone the repository and install all the packages necessary:
cd path
vintualenv venv
cd path\venv\Scripts\activate
pip install -r requirements.txt
Go to the path folder cd .../app
Use the following command to run the application:
streamlit run main.py
Take a look!
- Gower
- HEOM
- Streamlit - The web framework
- Plotly express - Interactive plots
Simone Rosana Zambonim - Linkedin Github
Michal Yan - !pip install gower
Marcelo Beckmann
Kacper Kubara - !pip install distython
Wilson and Martinez(1997)