| 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)