Type: | Package |
Title: | Expected Maximum Profit Classification Performance Measure |
Version: | 2.0.6 |
Date: | 2025-05-07 |
Maintainer: | Cristian Bravo <cbravoro@uwo.ca> |
Depends: | R (≥ 3.0.0), ROCR |
Description: | Functions for estimating EMP (Expected Maximum Profit Measure) in Credit Risk Scoring and Customer Churn Prediction, according to Verbraken et al (2013, 2014) <doi:10.1109/TKDE.2012.50>, <doi:10.1016/j.ejor.2014.04.001>. |
License: | GPL (≥ 3) |
NeedsCompilation: | no |
Packaged: | 2025-05-08 19:42:26 UTC; cristian |
Author: | Cristian Bravo [aut, cre], Seppe vanden Broucke [ctb], Thomas Verbraken [aut] |
Repository: | CRAN |
Date/Publication: | 2025-05-08 20:00:06 UTC |
Expected Maximum Profit Classification Performance Measure
Description
The EMP measure is an alternative to AUC that includes the expected profit of a given model, when compared to a baseline (no model used). Presented in Verbraken et al. (2014) as a preferred measure for credit risk scoring in any profit-driven environment and in Verbraken et al. (2013) as a measure for customer churn prediction. For credit scoring, this implementation assumes an LGD distribution with two point masses, and a constant ROI. For churn prediction, this implementation assumes a beta distribution and a constant CLV.
Details
Package: | EMP |
Type: | Package |
Version: | 2.0.6 |
Date: | 2025-05-07 |
License: | GPL (>=3) |
The package exports only two functions, empCreditScoring and empChurn.
Author(s)
Authors: Cristian Bravo, Seppe vanden Broucke and Thomas Verbraken. Mantainer: Cristian Bravo <cbravoro@uwo.ca>.
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: doi:10.1109/TKDE.2012.50 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: doi:10.1016/j.ejor.2014.04.001
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 credit risk scoring
empCreditScoring(score.ex, class.ex)
# Calculate EMP measures for customer churn prediction
empChurn(score.ex, class.ex)
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: doi:10.1109/TKDE.2012.50 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: doi:10.1016/j.ejor.2014.04.001
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)
empCreditScoring
Description
Estimates the EMP for credit risk scoring, considering constant ROI and a bimodal LGD function with point masses p0 and p1 for no loss and total loss, respectively.
Usage
empCreditScoring(scores, classes, p0=0.55, p1=0.1, ROI=0.2644)
Arguments
scores |
A vector of predicted probabilities. |
classes |
A vector of true binary class labels. |
p0 |
Percentage of cases on the first point mass of the LGD distribution (complete recovery). |
p1 |
Percentage of cases on the second point mass of the LGD distribution (complete loss). |
ROI |
Constant ROI per granted loan. A percentage. |
Value
An EMP object with two components.
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: doi:10.1109/TKDE.2012.50 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: doi:10.1016/j.ejor.2014.04.001
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 credit risk scoring
empCreditScoring(score.ex, class.ex)
# Calculate EMP measures for credit risk scoring with point masses
# in 0.1 and 0.9, and 0.1 ROI
empCreditScoring(score.ex, class.ex, 0.1, 0.1, 0.1)