Package 'EMP'

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.5
Built: 2025-02-17 05:00:13 UTC
Source: https://github.com/banking-analytics-lab/emp

Help Index


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.5
Date: 2019-07-24
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 <[email protected]>.

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

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

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