# Class Transformation

Warning

This approach is only suitable for classification problem

Simple yet powerful and mathematically proven uplift modeling method, presented in 2012. The main idea is to predict a slightly changed target \(Z_i\):

\(Z_i\) - a new target for the \(i\) customer;

\(Y_i\) - a previous target for the \(i\) customer;

\(W_i\) - treatment flag assigned to the \(i\) customer.

In other words, the new target equals 1 if a response in the treatment group is as good as a response in the control group and equals 0 otherwise:

Let’s go deeper and estimate the conditional probability of the target variable:

We assume that \(W\) is independent of \(X = x\) by design. Thus we have: \(P(W | X = x) = P(W)\) and

Also, we assume that \(P(W = 1) = P(W = 0) = \frac{1}{2}\), which means that during the experiment the control and the treatment groups were divided in equal proportions. Then we get the following:

Thus, by doubling the estimate of the new target \(Z\) and subtracting one we will get an estimation of the uplift:

This approach is based on the assumption: \(P(W = 1) = P(W = 0) = \frac{1}{2}\). That is the reason that it has to be used only in cases where the number of treated customers (communication) is equal to the number of control customers (no communication).

Hint

In sklift this approach corresponds to the `ClassTransformation`

class.

## References

1️⃣ Maciej Jaskowski and Szymon Jaroszewicz. Uplift modeling for clinical trial data. ICML Workshop on Clinical Data Analysis, 2012.

## Examples using `sklift.models.ClassTransformation`

The overview of the basic approaches to the Uplift Modeling problem

In English 🇬🇧 |
|||

In Russian 🇷🇺 |

The 2nd place solution of X5 RetailHero uplift contest by Kirill Liksakov

In English 🇬🇧 |