| Title: | Expected Maximum Profit Classification Performance Measure |
|---|---|
| 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>. |
| Authors: | Cristian Bravo [aut, cre], Seppe vanden Broucke [ctb], Thomas Verbraken [aut] |
| Maintainer: | Cristian Bravo <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 2.0.6 |
| Built: | 2026-06-02 10:33:11 UTC |
| Source: | https://github.com/banking-analytics-lab/emp |
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.
| Package: | EMP |
| Type: | Package |
| Version: | 2.0.6 |
| Date: | 2025-05-07 |
| License: | GPL (>=3) |
The package exports only two functions, empCreditScoring and empChurn.
Authors: Cristian Bravo, Seppe vanden Broucke and Thomas Verbraken. Mantainer: Cristian Bravo <[email protected]>.
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
# 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)# 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)
Estimates the EMP for customer churn prediction, considering constant CLV and a given cost of contact f and retention offer d.
empChurn(scores, classes, alpha = 6, beta = 14, clv = 200, d = 10, f = 1)empChurn(scores, classes, alpha = 6, beta = 14, clv = 200, d = 10, f = 1)
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. |
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. |
Cristian Bravo, Seppe vanden Broucke and Thomas Verbraken.
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 empChurn, prediction.
# 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)# 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)
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.
empCreditScoring(scores, classes, p0=0.55, p1=0.1, ROI=0.2644)empCreditScoring(scores, classes, p0=0.55, p1=0.1, ROI=0.2644)
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. |
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. |
Cristian Bravo, Seppe vanden Broucke and Thomas Verbraken.
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 empChurn, prediction.
# 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)# 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)