expected_cost_loss_acquisition#
- empulse.metrics.expected_cost_loss_acquisition(y_true, y_proba, *, contribution=7000, contact_cost=50, sales_cost=500, direct_selling=1, commission=0.1, normalize=False, check_input=True)[source]#
Expected cost of a classifier for customer acquisition.
The cost function presumes a situation where leads are targeted either directly or indirectly. Directly targeted leads are contacted and handled by the internal sales team. Indirectly targeted leads are contacted and then referred to intermediaries, which receive a commission. The company gains a contribution from a successful acquisition.
- Parameters:
- y_true1D array-like, shape=(n_samples,)
Binary target values (‘churn’: 1, ‘no churn’: 0).
- y_proba1D array-like, shape=(n_samples,)
Target probabilities, should lie between 0 and 1.
- contributionfloat, default=7000
Average contribution of a new customer (
contribution ≥ 0
).- sales_costfloat, default=500
Average sale conversion cost of targeted leads handled by the company (
sales_cost ≥ 0
).- contact_costfloat, default=50
Average contact cost of targeted leads (
contact_cost ≥ 0
).- direct_sellingfloat, default=1
Fraction of leads sold to directly (
0 ≤ direct_selling ≤ 1
).direct_selling = 0
for indirect channel.direct_selling = 1
for direct channel.- commissionfloat, default=0.1
Fraction of contribution paid to the intermediaries (
0 ≤ commission ≤ 1
).Note
The commission is only relevant when there is an indirect channel (
direct_selling < 1
).- normalizebool, default=True
Normalize the cost function by the number of samples. If
True
, return the average expected cost for customer acquisition.- check_inputbool, default=True
Perform input validation. Turning off improves performance, useful when using this metric as a loss function.
- Returns:
- empa_costfloat
Instance-specific cost function according to the EMPA measure.