sklift.metrics.response_rate_by_percentile

sklift.metrics.metrics.response_rate_by_percentile(y_true, uplift, treatment, group, strategy='overall', bins=10)[source]

Compute response rate (target mean in the control or treatment group) at each percentile.

Parameters:
  • y_true (1d array-like) – Correct (true) target values.
  • uplift (1d array-like) – Predicted uplift, as returned by a model.
  • treatment (1d array-like) – Treatment labels.
  • group (string, ['treatment', 'control']) –

    Group type for computing response rate: treatment or control.

    • 'treatment':
      Values equal 1 in the treatment column.
    • 'control':
      Values equal 0 in the treatment column.
  • strategy (string, ['overall', 'by_group']) –

    Determines the calculating strategy. Default is ‘overall’.

    • 'overall':
      The first step is taking the first k observations of all test data ordered by uplift prediction (overall both groups - control and treatment) and conversions in treatment and control groups calculated only on them. Then the difference between these conversions is calculated.
    • 'by_group':
      Separately calculates conversions in top k observations in each group (control and treatment) sorted by uplift predictions. Then the difference between these conversions is calculated.
  • bins (int) – Determines the number of bins (and relative percentile) in the data. Default is 10.
Returns:

response rate at each percentile for control or treatment group, variance of the response rate at each percentile, group size at each percentile.

Return type:

array (shape = [>2]), array (shape = [>2]), array (shape = [>2])