empChurn {EMP} | R Documentation |
empChurn
Description
Estimates the EMP for customer churn prediction, considering constant CLV and a given cost of contact f and retention offer d.
Usage
empChurn(scores, classes, alpha = 6,
beta = 14, clv = 200, d = 10, f = 1)
Arguments
scores |
A vector of predicted probabilities. |
classes |
A vector of true binary class labels. |
alpha |
Alpha parameter of unimodel beta distribution. |
beta |
Beta parameter of unimodel beta distribution. |
clv |
Constant CLV per retained customer. |
d |
Constant cost of retention offer. |
f |
Constant cost of contact. |
Value
An EMP object with four components.
MP |
The Maximum Profit of the ROC curve at MPfrac cutoff. |
MPfrac |
The percentage of cases that should be excluded, that is, the percentual cutoff at MP profit. |
EMP |
The Expected Maximum Profit of the ROC curve at EMPfrac cutoff. |
EMPfrac |
The percentage of cases that should be excluded, that is, the percentual cutoff at EMP profit. |
Author(s)
Cristian Bravo, Seppe vanden Broucke and Thomas Verbraken.
References
Verbraken, T., Wouter, V. and Baesens, B. (2013). A Novel Profit Maximizing Metric for Measuring Classification Performance of Customer Churn Prediction Models. Knowledge and Data Engineering, IEEE Transactions on. 25 (5): 961-973. Available Online: http://ieeexplore.ieee.org/iel5/69/6486492/06165289.pdf?arnumber=6165289 Verbraken, T., Bravo, C., Weber, R. and Baesens, B. (2014). Development and application of consumer credit scoring models using profit-based classification measures. European Journal of Operational Research. 238 (2): 505 - 513. Available Online: http://www.sciencedirect.com/science/article/pii/S0377221714003105
See Also
See Also empChurn
, prediction
.
Examples
# Construct artificial probability scores and true class labels
score.ex <- runif(1000, 0, 1)
class.ex <- unlist(lapply(score.ex, function(x){rbinom(1,1,x)}))
# Calculate EMP measures for customer churn prediction
empChurn(score.ex, class.ex)
# Calculate EMP measures for customer churn prediction with
# lower clv and higher costs
empChurn(score.ex, class.ex, clv = 100, d = 30, f = 5)