A Recommendation Engine for Telemarketing Campaigns¶
By: The English Tea Company LLC.¶
An European bank wishes to embark upton a telemarketing campaign. It wishes to know which clients it should reach out with higher priority. Ideally, the telemarketers would like to have a system that would recommend who should they call next, to maximize their success rate. We have a historical data-set from one of the previous campaigns to use for building such a model/system. In geek’s language the aim is:
- To develop a predictive model for classifying clients as ‘yes’ or ‘no’. .
Understanding The Dataset¶
The data-set contains 3 types of information i.e client’s personal information, clients engagement history and general social context on the day of contact. Below is the summary of variable types and descriptions:
|age||Numeric||Age of the client|
|job,marital,education||Categorical||JobType,Marital Status,Education Level|
|housing,loan||Categorical||Has housing/personal loans?|
|contact,duration||Categorical,Numeric||Mode, Duration (sec) of last contact in current campaign|
|month,day_of_week||Categorical,Numeric||Month and day of last contact in current campaign|
|campaign,pdays||Numeric,Numeric||Number of contacts, Days since last contact during current campaign|
|previous,pdays,poutcome||Numeric,Numeric,Categoric||Number of contacts, Days since last contact,Outcome for previous campaign|
|emp_var_rate||Numeric||Employment Variation Rate|
|cons_price_idx, cons_conf_idx||Numeric,Numeric||Consumer Price, Confidence Index|
|euribor_m,nr_employed||Numeric,Numeric||Euribor daily rate, Number of Employees|
Its a good idea to apply some effort the guess the role played by some of these variables in deciding the success or failure in current campaign.
Understanding the Business Problem¶
The history tells as that the rate of success is very low. In the current dataset only 12 out of approximately 100 calls lead to success.
|Success||Number of Clients|
A Data Scientist’s job now is to use this historical data and develop a model to filter in the clients who are more likely to be converted. In other words, we need to build a system for future campaigns that would order clients by their chances of conversion – using the same information as in this dataset. Such constructs are often called “Scoring Engines” or “Recommendation Engines” by the people who love making spiels.
Analysis and Development¶
Major stages in the project
- Data Inspection: Informally sniffing the data to get a feel about it
- Data Exploration: Formal investigation of features and distributions in data
- Data Preparation: Transforming data into a form that can be used by algorithms.
- Model Development: Training, Testing and Benchmarking the performance of classification model
- Model Deployment: Deploying the Model into a a well engineered IT product
- Advocacy : Selling the product/ driving the user acceptance
In this tutorial we will provide simplistic yet powerful peek into all the above mentioned stages. The attendees are expected to come prepared for coding in Python. Ideally you should have Anaconda distribution with > Python 3 installed, and a basic knowledge of Python language will be helpful.
Exploratory Analysis with EULER
- Data-1 : Bank Telemarketing Data (Thanks To)
Data InspectionExample-1: Data Inspection-1
Example-2: Data Inspection-2
Example-3: Data Inspection-3
Example-4: Data Inspection-4
Example-5: Data Inspection-5
Example-6: Data Inspection-6
Data ExplorationExample-1: Data Exploration-1
Example-2: Data Exploration-2
Example-3: Data Exploration-3
Data PreparationExample-1: Data Preparation-1
Example-2 : Data Preparation-2
Example-3: Data Preparation-3
Example-4: Data Preparation-4
Example-5: Data Preparation-5
Example-6: Data Preparation-6
Client Reception and Management