SlideShare a Scribd company logo
CS 229 Project Final Paper 
1 
Accurate Campaign Targeting Using 
Classification Algorithms 
Jieming Wei Sharon Zhang 
Introduction Many organizations prospect for loyal supporters and donors by sending direct mail appeals. This is an effective way to build a large base, but can be very expensive and have a low efficiency. Eliminating likely non-donors is the key to running an efficient Prospecting program and ultimately to pursuing the mission of the organization, especially when there’s limited funding (which is common in most campaigns). 
The raw dataset, with 16 mixed (categorical and numeric) features, is from Kaggle website – Raising Money to Fund an organizational Mission. We built a binary classification model to help organizations to build their donor bases in the most efficient way possible, by applying machine learning techniques, including Multinomial Logistic Regression, Support Vector Machines, Linear Discriminant Analysis. We aimed to help them separate the likely donors from the non-likely donors and target at the most receptive donors by sending direct mail campaigns to the likely donors. 
Table 1: Feature analysis Data Preparation: feature selection, training set and test set selection 
The original dataset is 13-dimensional with 1048575 observations on demographic features of prospects and campaign attributes. 
 Demographic: zip code, mail code, company type. 
 Prospect attributes: income level, job, group. 
 Campaign attributes: campaign causes, campaign phases. 
 Result : success/failure 
In order to serve the purpose of this study, we adapted the dataset, reducing it to a 10- dimensional dataset to keep the relevant features and selected training set and test set: 
Feature selection 
We selected features based on their relevance to the result of the campaign, estimated by the correlation of a given feature to the result. We selected 7 features with relatively large correlation with the result. We found that donor income level is the most correlated variable. 
company type 
project type 
cause1 
cause2 
phase 
zip 
donor income 
result 
-0.016 
-0.0008 
-0.0765 
-0.0416 
0.0149 
0.071 
0.248 
1 
Original dataset: 13-dimensional with 1048575 observations Features: Project ID, Mail ID, Mail Code ID, Prospect ID, Zip, Zip4, Vector major, Vector Minor, Package ID, Phase, Database ID, JobID, Group, ID
CS 229 Project Final Paper 
2 
Income Histogram 
natural log of income 
Frequency 
10 11 12 13 14 15 16 17 
0 10 20 30 40 50 60 
Phase Histogram 
phase 
Frequency 
0 5 10 15 20 
0 20 40 60 80 100 
Processed dataset: 
7 dimensional. Training set: 300 
observations. Test set: 100 observations. 
Features: 
 Company type (Campaign 
Organization Type), 
 Project type, 
 Cause 1, (indicating whether the 
campaign is for profit or non-profit ) 
 Cause 2, (further classifying causes 
into policy, tax, PAC, CNP, 
congress, MEM.) 
 Phase, 
 Zip, 
 Candidate Income, 
 *result. The distribution of these 
variables are displayed below. 
Where *result is a binary value indicating 
good/bad prospects. It is where we’ll base 
our training and gauge the prediction. 
Distribution visualization 
We generated histogram to understand the 
distributions of the features. As candidate 
income, the most relevant feature, has large 
variance, we performed log transformation 
to visualize its distribution, as well as its 
Project Type Histogram 
project type 
Frequency 
0 2 4 6 8 10 
0 10 30 50 
Cause1 Histogram 
candidate/non-profit 
Frequency 
1.0 1.2 1.4 1.6 1.8 2.0 
0 50 100 150 200 
Cause2 Histogram 
causes 
Frequency 
2 4 6 8 10 
0 20 40 60 80 100
CS 229 Project Final Paper 
3 
Company Type Histogram 
company type 
Frequency 
1 2 3 4 5 6 
0 20 40 60 80 100 
distribution with respect to result. 
Training set and Test set Selection 
We created a training set by randomly 
selected 300 observations from the original 
dataset, and 100 observations as the test set. 
And replaced categorical variables with 
numbers. 
 Cause 1: 1, 2 are replaced for 
candidate/non-profit. 
 Cause 2: 1-11 are replaced for 
congress, CNP, tax, policy, 
DEF, senate, PAC, MIL, MEM, 
IMM, REL. 
Methods 
We tried the following approaches to 
classify mailings into two classes, namely 
donors who are likely to donate and those 
who are not: Multivariate Regression, SVM, 
Decision Tree, Neural Network, and 
Random Forest. Training errors , test errors, 
false positive error rates, false negative error 
rates are calculated for each model. 
Trainin 
g error 
Overa 
ll test 
error 
False 
positiv 
e 
False 
negativ 
e 
MVR 0 0.31 0.25 0.06 
SVM 0.323 0.54 0.18 0.36 
Neural 
Nets 
-- 0.378 0.174 0.204 
Rando 
m 
Forest 
0.003 0.47 0.23 0.24 
We noticed that test errors for most models 
are relatively high, with MVR and Random 
Forest models having high variance 
problems, and SVM having high bias 
problems. False positive errors are high for 
most models, with Neural Net model having 
the least false positive error. We want to 
minimize false positive error so as to save 
costs for campaign companies. 
Algorithm Selection 
From the previous initial fitting with 
different algorithms, we found that the 
dataset is a little messy and irregular in 
terms of patterns – there are some random 
processes in which a prospect would end up 
donating money or not. It is a character of 
this dataset, while it is not uncommon in real 
world datasets. 
When datasets have this degree of 
randomness, it is hard to lower the overall 
error ratio, however, we can still distinguish 
false positive and false negative, and 
specifically lower the error type that yields 
better profit, saves more efforts, etc. 
10 11 12 13 14 15 16 
0 2 4 6 8 10 
natural log of income 
result
CS 229 Project Final Paper 
4 
whatever makes more sense. In this case, we 
want to lower false positive error. It is 
because when a prospect is mistakenly 
considered “will donate”, then time and 
money resources would be spent and 
wasted. 
We choose to use Neural Network for this 
experiment, since it has the lowest false 
positive rate. There are three steps – first 
choose the number of neural nets and the 
threshold for the structural model, then 
choose the optimal regularization parameter 
under this optimized structural model, and 
lastly choose the threshold for false positive 
minimization. 
1) Pick the number of neural nets 
and threshold for the structural 
model 
We did a looping experiment with 10 nets, 
with 20 threshold values ranging from -0.2 
to 0.2. For each value pair we calculate an 
overall estimation of misclassification, and 
get a 20 × 10 matrix. Applying averages to 
rows and columns, we choose the lowest 
average in both column and row to be the 
number of nets and threshold value. The 
result of applying average is as below: 
Thus, we use -0.14 as threshold and 8 layers 
of hidden nets for our structural model. 
2) Determine the optimal 
regularization under the 
structural model chosen 
This step we choose the optimal 
regularization (weight decay for parameters 
0, 0.1, … , 1) for the structural model found 
above by averaging our estimators of the 
overall misclassification error on the test set. 
We calculate the average with over 10 runs 
with different starting values. From this 
tuning process we found that decay 
parameter 0.5 yields the lowest overall 
misclassification. 
2 4 6 8 10 
44 46 48 50 
misclassification errors with different nets 
nets 
percentage of misclassification error 
nets selected 
-0.2 -0.1 0.0 0.1 
40 45 50 55 60 
misclassification errors with different thresholds 
thresholds 
percentage of misclassification error 
threshold selected 
0.0 0.2 0.4 0.6 0.8 1.0 
38 40 42 44 
misclassification errors with different decay level 
decay 
percentage of misclassification error 
decay level selected
CS 229 Project Final Paper 
5 
-60 
-40 
-20 
0 
20 
40 
60 
80 
100 
Net Collected $ with Different Threshold 
Values 
3) Determine threshold to minimize false positive misclassifications 
A way to control the false positive misclassified donors to be less is to choose a threshold of being a donor or non-donor. When there is a higher “bar” for classifying 
prospects to be a donor, we filter the prospects with most certainty of being a donor. 
We tried 16 different threshold values and drew the result chart with four different categories – positive, false negative, false positive, negative. When threshold is -0.3, every prospect is classified as non-donators, thus the false positive error is 0. When the threshold increases, false positive errors increase while false negative error decrease. 
The question now is to find a balanced point of two types of errors so that the overall campaign is cost effective. We use the following formula: 
푵풆풕 푪풐풍풍풆풄풕풆풅 ($)=푫풐풏풂풕풊풐풏 ($)∗푫풐풏풐풓풔 (푴)−푷풂풄풌풂품풆 푪풐풔풕 ($)∗푷풂풄풌풂품풆풔 (푵) 
Where Donation ($) and Package Cost($) are assumptions, Donors (M) corresponds to the number of positive occurrences, and Packages Sent (N) corresponds to the sum of positive and false-positive occurrences since the model predicts those prospects will donate. When we use the assumptions Donation = $50 and Package Cost = $20, we observe the following Net Collected amount trend in chart on the right. 
Thus, the most cost-effective threshold is r=-0.1, with false-positive rate 18%. 
0 
2 
7 
10 
10 
11 
13 
14 
17 
17 
18 
19 
21 
22 
23 
23 
0 
10 
20 
30 
40 
50 
60 
70 
Classification Results (%) with Different Threshold Values 
positive 
false-negative 
false-positive 
negative

More Related Content

What's hot

Anomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesAnomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesHumberto Marchezi
 
Uplift Modeling Workshop
Uplift Modeling WorkshopUplift Modeling Workshop
Uplift Modeling Workshopodsc
 
PredictingYelpReviews
PredictingYelpReviewsPredictingYelpReviews
PredictingYelpReviewsGary Giust
 
Fraud Detection by Stacking Cost-Sensitive Decision Trees
Fraud Detection by Stacking Cost-Sensitive Decision TreesFraud Detection by Stacking Cost-Sensitive Decision Trees
Fraud Detection by Stacking Cost-Sensitive Decision TreesAlejandro Correa Bahnsen, PhD
 
Outlier analysis and anomaly detection
Outlier analysis and anomaly detectionOutlier analysis and anomaly detection
Outlier analysis and anomaly detectionShantanuDeosthale
 
Maximizing a churn campaign’s profitability with cost sensitive predictive an...
Maximizing a churn campaign’s profitability with cost sensitive predictive an...Maximizing a churn campaign’s profitability with cost sensitive predictive an...
Maximizing a churn campaign’s profitability with cost sensitive predictive an...Alejandro Correa Bahnsen, PhD
 
A review of net lift models
A review of net lift modelsA review of net lift models
A review of net lift modelsZixia Wang
 
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...Md. Main Uddin Rony
 
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedUplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedRising Media Ltd.
 
Handling Imbalanced Data: SMOTE vs. Random Undersampling
Handling Imbalanced Data: SMOTE vs. Random UndersamplingHandling Imbalanced Data: SMOTE vs. Random Undersampling
Handling Imbalanced Data: SMOTE vs. Random UndersamplingIRJET Journal
 
Anomaly detection workshop
Anomaly detection workshopAnomaly detection workshop
Anomaly detection workshopgforgovind
 
Module 2: Machine Learning Deep Dive
Module 2:  Machine Learning Deep DiveModule 2:  Machine Learning Deep Dive
Module 2: Machine Learning Deep DiveSara Hooker
 
L2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IL2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IMachine Learning Valencia
 
Counterfactual Learning for Recommendation
Counterfactual Learning for RecommendationCounterfactual Learning for Recommendation
Counterfactual Learning for RecommendationOlivier Jeunen
 
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACRO
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACROBOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACRO
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACROAnthony Kilili
 
Module 5: Decision Trees
Module 5: Decision TreesModule 5: Decision Trees
Module 5: Decision TreesSara Hooker
 
Introduction to Uplift Modelling
Introduction to Uplift ModellingIntroduction to Uplift Modelling
Introduction to Uplift ModellingPierre Gutierrez
 

What's hot (20)

Anomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesAnomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time Series
 
Uplift Modeling Workshop
Uplift Modeling WorkshopUplift Modeling Workshop
Uplift Modeling Workshop
 
PredictingYelpReviews
PredictingYelpReviewsPredictingYelpReviews
PredictingYelpReviews
 
Fraud Detection by Stacking Cost-Sensitive Decision Trees
Fraud Detection by Stacking Cost-Sensitive Decision TreesFraud Detection by Stacking Cost-Sensitive Decision Trees
Fraud Detection by Stacking Cost-Sensitive Decision Trees
 
Outlier analysis and anomaly detection
Outlier analysis and anomaly detectionOutlier analysis and anomaly detection
Outlier analysis and anomaly detection
 
Maximizing a churn campaign’s profitability with cost sensitive predictive an...
Maximizing a churn campaign’s profitability with cost sensitive predictive an...Maximizing a churn campaign’s profitability with cost sensitive predictive an...
Maximizing a churn campaign’s profitability with cost sensitive predictive an...
 
A review of net lift models
A review of net lift modelsA review of net lift models
A review of net lift models
 
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...
Data Analysis: Evaluation Metrics for Supervised Learning Models of Machine L...
 
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan HamedUplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
Uplift Modelling as a Tool for Making Causal Inferences at Shopify - Mojan Hamed
 
Handling Imbalanced Data: SMOTE vs. Random Undersampling
Handling Imbalanced Data: SMOTE vs. Random UndersamplingHandling Imbalanced Data: SMOTE vs. Random Undersampling
Handling Imbalanced Data: SMOTE vs. Random Undersampling
 
Anomaly detection workshop
Anomaly detection workshopAnomaly detection workshop
Anomaly detection workshop
 
Module 2: Machine Learning Deep Dive
Module 2:  Machine Learning Deep DiveModule 2:  Machine Learning Deep Dive
Module 2: Machine Learning Deep Dive
 
Outliers
OutliersOutliers
Outliers
 
Rouault sfn2014
Rouault sfn2014 Rouault sfn2014
Rouault sfn2014
 
L2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms IL2. Evaluating Machine Learning Algorithms I
L2. Evaluating Machine Learning Algorithms I
 
Counterfactual Learning for Recommendation
Counterfactual Learning for RecommendationCounterfactual Learning for Recommendation
Counterfactual Learning for Recommendation
 
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACRO
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACROBOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACRO
BOOTSTRAPPING TO EVALUATE RESPONSE MODELS: A SAS® MACRO
 
Module 5: Decision Trees
Module 5: Decision TreesModule 5: Decision Trees
Module 5: Decision Trees
 
Introduction to Uplift Modelling
Introduction to Uplift ModellingIntroduction to Uplift Modelling
Introduction to Uplift Modelling
 
Outlier Detection
Outlier DetectionOutlier Detection
Outlier Detection
 

Similar to Accurate Campaign Targeting Using Classification Algorithms

MIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_BhatiaMIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_BhatiaRahul Bhatia
 
Insurance Optimization
Insurance OptimizationInsurance Optimization
Insurance OptimizationAlbert Chu
 
Credit Card Marketing Classification Trees Fr.docx
 Credit Card Marketing Classification Trees Fr.docx Credit Card Marketing Classification Trees Fr.docx
Credit Card Marketing Classification Trees Fr.docxShiraPrater50
 
Summer 07-mfin7011-tang1922
Summer 07-mfin7011-tang1922Summer 07-mfin7011-tang1922
Summer 07-mfin7011-tang1922stone55
 
Predictive Analytics, Predicting LIkely Donors and Donation Amounts
Predictive Analytics, Predicting LIkely Donors and Donation AmountsPredictive Analytics, Predicting LIkely Donors and Donation Amounts
Predictive Analytics, Predicting LIkely Donors and Donation AmountsMichele Vincent
 
Predicting Likely Donors and Donation Amounts
Predicting Likely Donors and Donation AmountsPredicting Likely Donors and Donation Amounts
Predicting Likely Donors and Donation AmountsMichele Vincent
 
Churn in the Telecommunications Industry
Churn in the Telecommunications IndustryChurn in the Telecommunications Industry
Churn in the Telecommunications Industryskewdlogix
 
Lecture 4 Applied Econometrics and Economic Modeling
Lecture 4 Applied Econometrics and Economic ModelingLecture 4 Applied Econometrics and Economic Modeling
Lecture 4 Applied Econometrics and Economic Modelingstone55
 
Project crm submission sonali
Project crm submission sonaliProject crm submission sonali
Project crm submission sonaliSonali Gupta
 
Disease Prediction And Doctor Appointment system
Disease Prediction And Doctor Appointment  systemDisease Prediction And Doctor Appointment  system
Disease Prediction And Doctor Appointment systemKOYELMAJUMDAR1
 
Customer_Churn_prediction.pptx
Customer_Churn_prediction.pptxCustomer_Churn_prediction.pptx
Customer_Churn_prediction.pptxAniket Patil
 
Customer_Churn_prediction.pptx
Customer_Churn_prediction.pptxCustomer_Churn_prediction.pptx
Customer_Churn_prediction.pptxpatilaniket2418
 

Similar to Accurate Campaign Targeting Using Classification Algorithms (20)

MIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_BhatiaMIS637_Final_Project_Rahul_Bhatia
MIS637_Final_Project_Rahul_Bhatia
 
Insurance Optimization
Insurance OptimizationInsurance Optimization
Insurance Optimization
 
JEDM_RR_JF_Final
JEDM_RR_JF_FinalJEDM_RR_JF_Final
JEDM_RR_JF_Final
 
Credit Card Marketing Classification Trees Fr.docx
 Credit Card Marketing Classification Trees Fr.docx Credit Card Marketing Classification Trees Fr.docx
Credit Card Marketing Classification Trees Fr.docx
 
Summer 07-mfin7011-tang1922
Summer 07-mfin7011-tang1922Summer 07-mfin7011-tang1922
Summer 07-mfin7011-tang1922
 
Predictive Analytics, Predicting LIkely Donors and Donation Amounts
Predictive Analytics, Predicting LIkely Donors and Donation AmountsPredictive Analytics, Predicting LIkely Donors and Donation Amounts
Predictive Analytics, Predicting LIkely Donors and Donation Amounts
 
Predicting Likely Donors and Donation Amounts
Predicting Likely Donors and Donation AmountsPredicting Likely Donors and Donation Amounts
Predicting Likely Donors and Donation Amounts
 
Churn in the Telecommunications Industry
Churn in the Telecommunications IndustryChurn in the Telecommunications Industry
Churn in the Telecommunications Industry
 
Lecture 4 Applied Econometrics and Economic Modeling
Lecture 4 Applied Econometrics and Economic ModelingLecture 4 Applied Econometrics and Economic Modeling
Lecture 4 Applied Econometrics and Economic Modeling
 
Project crm submission sonali
Project crm submission sonaliProject crm submission sonali
Project crm submission sonali
 
Disease Prediction And Doctor Appointment system
Disease Prediction And Doctor Appointment  systemDisease Prediction And Doctor Appointment  system
Disease Prediction And Doctor Appointment system
 
Decoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in ActionDecoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in Action
 
Customer_Churn_prediction.pptx
Customer_Churn_prediction.pptxCustomer_Churn_prediction.pptx
Customer_Churn_prediction.pptx
 
Customer_Churn_prediction.pptx
Customer_Churn_prediction.pptxCustomer_Churn_prediction.pptx
Customer_Churn_prediction.pptx
 
A04 Sample Size
A04 Sample SizeA04 Sample Size
A04 Sample Size
 
A04 Sample Size
A04 Sample SizeA04 Sample Size
A04 Sample Size
 
CREDIT_CARD.ppt
CREDIT_CARD.pptCREDIT_CARD.ppt
CREDIT_CARD.ppt
 
Credit iconip
Credit iconipCredit iconip
Credit iconip
 
Credit iconip
Credit iconipCredit iconip
Credit iconip
 
Credit iconip
Credit iconipCredit iconip
Credit iconip
 

Recently uploaded

Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxCenterEnamel
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectRased Khan
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwoodseandesed
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdfKamal Acharya
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfAbrahamGadissa
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdfKamal Acharya
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfKamal Acharya
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturingssuser0811ec
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234AafreenAbuthahir2
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industriesMuhammadTufail242431
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edgePaco Orozco
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Electivekarthi keyan
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfKamal Acharya
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsAtif Razi
 

Recently uploaded (20)

Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturing
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdf
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 

Accurate Campaign Targeting Using Classification Algorithms

  • 1. CS 229 Project Final Paper 1 Accurate Campaign Targeting Using Classification Algorithms Jieming Wei Sharon Zhang Introduction Many organizations prospect for loyal supporters and donors by sending direct mail appeals. This is an effective way to build a large base, but can be very expensive and have a low efficiency. Eliminating likely non-donors is the key to running an efficient Prospecting program and ultimately to pursuing the mission of the organization, especially when there’s limited funding (which is common in most campaigns). The raw dataset, with 16 mixed (categorical and numeric) features, is from Kaggle website – Raising Money to Fund an organizational Mission. We built a binary classification model to help organizations to build their donor bases in the most efficient way possible, by applying machine learning techniques, including Multinomial Logistic Regression, Support Vector Machines, Linear Discriminant Analysis. We aimed to help them separate the likely donors from the non-likely donors and target at the most receptive donors by sending direct mail campaigns to the likely donors. Table 1: Feature analysis Data Preparation: feature selection, training set and test set selection The original dataset is 13-dimensional with 1048575 observations on demographic features of prospects and campaign attributes.  Demographic: zip code, mail code, company type.  Prospect attributes: income level, job, group.  Campaign attributes: campaign causes, campaign phases.  Result : success/failure In order to serve the purpose of this study, we adapted the dataset, reducing it to a 10- dimensional dataset to keep the relevant features and selected training set and test set: Feature selection We selected features based on their relevance to the result of the campaign, estimated by the correlation of a given feature to the result. We selected 7 features with relatively large correlation with the result. We found that donor income level is the most correlated variable. company type project type cause1 cause2 phase zip donor income result -0.016 -0.0008 -0.0765 -0.0416 0.0149 0.071 0.248 1 Original dataset: 13-dimensional with 1048575 observations Features: Project ID, Mail ID, Mail Code ID, Prospect ID, Zip, Zip4, Vector major, Vector Minor, Package ID, Phase, Database ID, JobID, Group, ID
  • 2. CS 229 Project Final Paper 2 Income Histogram natural log of income Frequency 10 11 12 13 14 15 16 17 0 10 20 30 40 50 60 Phase Histogram phase Frequency 0 5 10 15 20 0 20 40 60 80 100 Processed dataset: 7 dimensional. Training set: 300 observations. Test set: 100 observations. Features:  Company type (Campaign Organization Type),  Project type,  Cause 1, (indicating whether the campaign is for profit or non-profit )  Cause 2, (further classifying causes into policy, tax, PAC, CNP, congress, MEM.)  Phase,  Zip,  Candidate Income,  *result. The distribution of these variables are displayed below. Where *result is a binary value indicating good/bad prospects. It is where we’ll base our training and gauge the prediction. Distribution visualization We generated histogram to understand the distributions of the features. As candidate income, the most relevant feature, has large variance, we performed log transformation to visualize its distribution, as well as its Project Type Histogram project type Frequency 0 2 4 6 8 10 0 10 30 50 Cause1 Histogram candidate/non-profit Frequency 1.0 1.2 1.4 1.6 1.8 2.0 0 50 100 150 200 Cause2 Histogram causes Frequency 2 4 6 8 10 0 20 40 60 80 100
  • 3. CS 229 Project Final Paper 3 Company Type Histogram company type Frequency 1 2 3 4 5 6 0 20 40 60 80 100 distribution with respect to result. Training set and Test set Selection We created a training set by randomly selected 300 observations from the original dataset, and 100 observations as the test set. And replaced categorical variables with numbers.  Cause 1: 1, 2 are replaced for candidate/non-profit.  Cause 2: 1-11 are replaced for congress, CNP, tax, policy, DEF, senate, PAC, MIL, MEM, IMM, REL. Methods We tried the following approaches to classify mailings into two classes, namely donors who are likely to donate and those who are not: Multivariate Regression, SVM, Decision Tree, Neural Network, and Random Forest. Training errors , test errors, false positive error rates, false negative error rates are calculated for each model. Trainin g error Overa ll test error False positiv e False negativ e MVR 0 0.31 0.25 0.06 SVM 0.323 0.54 0.18 0.36 Neural Nets -- 0.378 0.174 0.204 Rando m Forest 0.003 0.47 0.23 0.24 We noticed that test errors for most models are relatively high, with MVR and Random Forest models having high variance problems, and SVM having high bias problems. False positive errors are high for most models, with Neural Net model having the least false positive error. We want to minimize false positive error so as to save costs for campaign companies. Algorithm Selection From the previous initial fitting with different algorithms, we found that the dataset is a little messy and irregular in terms of patterns – there are some random processes in which a prospect would end up donating money or not. It is a character of this dataset, while it is not uncommon in real world datasets. When datasets have this degree of randomness, it is hard to lower the overall error ratio, however, we can still distinguish false positive and false negative, and specifically lower the error type that yields better profit, saves more efforts, etc. 10 11 12 13 14 15 16 0 2 4 6 8 10 natural log of income result
  • 4. CS 229 Project Final Paper 4 whatever makes more sense. In this case, we want to lower false positive error. It is because when a prospect is mistakenly considered “will donate”, then time and money resources would be spent and wasted. We choose to use Neural Network for this experiment, since it has the lowest false positive rate. There are three steps – first choose the number of neural nets and the threshold for the structural model, then choose the optimal regularization parameter under this optimized structural model, and lastly choose the threshold for false positive minimization. 1) Pick the number of neural nets and threshold for the structural model We did a looping experiment with 10 nets, with 20 threshold values ranging from -0.2 to 0.2. For each value pair we calculate an overall estimation of misclassification, and get a 20 × 10 matrix. Applying averages to rows and columns, we choose the lowest average in both column and row to be the number of nets and threshold value. The result of applying average is as below: Thus, we use -0.14 as threshold and 8 layers of hidden nets for our structural model. 2) Determine the optimal regularization under the structural model chosen This step we choose the optimal regularization (weight decay for parameters 0, 0.1, … , 1) for the structural model found above by averaging our estimators of the overall misclassification error on the test set. We calculate the average with over 10 runs with different starting values. From this tuning process we found that decay parameter 0.5 yields the lowest overall misclassification. 2 4 6 8 10 44 46 48 50 misclassification errors with different nets nets percentage of misclassification error nets selected -0.2 -0.1 0.0 0.1 40 45 50 55 60 misclassification errors with different thresholds thresholds percentage of misclassification error threshold selected 0.0 0.2 0.4 0.6 0.8 1.0 38 40 42 44 misclassification errors with different decay level decay percentage of misclassification error decay level selected
  • 5. CS 229 Project Final Paper 5 -60 -40 -20 0 20 40 60 80 100 Net Collected $ with Different Threshold Values 3) Determine threshold to minimize false positive misclassifications A way to control the false positive misclassified donors to be less is to choose a threshold of being a donor or non-donor. When there is a higher “bar” for classifying prospects to be a donor, we filter the prospects with most certainty of being a donor. We tried 16 different threshold values and drew the result chart with four different categories – positive, false negative, false positive, negative. When threshold is -0.3, every prospect is classified as non-donators, thus the false positive error is 0. When the threshold increases, false positive errors increase while false negative error decrease. The question now is to find a balanced point of two types of errors so that the overall campaign is cost effective. We use the following formula: 푵풆풕 푪풐풍풍풆풄풕풆풅 ($)=푫풐풏풂풕풊풐풏 ($)∗푫풐풏풐풓풔 (푴)−푷풂풄풌풂품풆 푪풐풔풕 ($)∗푷풂풄풌풂품풆풔 (푵) Where Donation ($) and Package Cost($) are assumptions, Donors (M) corresponds to the number of positive occurrences, and Packages Sent (N) corresponds to the sum of positive and false-positive occurrences since the model predicts those prospects will donate. When we use the assumptions Donation = $50 and Package Cost = $20, we observe the following Net Collected amount trend in chart on the right. Thus, the most cost-effective threshold is r=-0.1, with false-positive rate 18%. 0 2 7 10 10 11 13 14 17 17 18 19 21 22 23 23 0 10 20 30 40 50 60 70 Classification Results (%) with Different Threshold Values positive false-negative false-positive negative