Data Analysis With Python+SQLITE : Project Euler

Back to Index


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:


Variable Type Description
age Numeric Age of the client
job,marital,education Categorical JobType,Marital Status,Education Level
housing,loan Categorical Has housing/personal loans?


Variable Type Description
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


Variable Type Description
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
Understanding the telemarketing dataset.

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.

SuccessNumber 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

  1. Data Inspection: Informally sniffing the data to get a feel about it
  2. Data Exploration: Formal investigation of features and distributions in data
  3. Data Preparation: Transforming data into a form that can be used by algorithms.
  4. Model Development: Training, Testing and Benchmarking the performance of classification model
  5. Model Deployment: Deploying the Model into a a well engineered IT product
  6. Advocacy : Selling the product/ driving the user acceptance

This Tutorial

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.

Back to Index