What is Uplift modelling and how can it be done with CausalML?

In this article, we will discuss the uplift modelling, its types of modelling, and Python-based package called CausalML can be used to address the causal inference.

Uplift modelling is a predictive modelling technique that uses machine learning models to estimate the treatment’s incremental effect at the user level. It’s frequently used for personalizing product offerings, as well as targeting promotions and advertisements. In the context of causal inference, in this article, we will discuss the uplift modelling, its types of modelling and lastly, we will see how a Python-based package called CausalML can be used to address the causal inference. Following are the major points to be discussed in this article.   

Table of contents

  1. What is Uplift modelling?
  2. Types of modelling
  3. Common applications
  4. How does CausalML do Uplifting?
  5. Features of CausalML

Let’s start the discussion by understanding the uplift modelling.  

What is Uplift modelling?

Uplift modelling is a predictive modelling technique that predicts the incremental influence of a therapy (such as a direct marketing campaign) on a person’s behaviour. Uplift modelling uses a randomized scientific control to test the efficacy of an intervention as well as build a predictive model that projects the incremental response to the activity. 


Sign up for your weekly dose of what's up in emerging technology.

The response could be discrete (for example, a website visit) or continuous (for example, a phone call) (for example, customer revenue). Uplift modelling is a data mining approach that has mostly been utilized for up-sell, cross-sell, churn, and retention operations in the financial services, telecoms, and retail direct marketing industries.

Machine learning is used to answer the question, “How likely is the consumer to purchase in the future?” in the propensity to purchase model, which essentially explains a customer’s behaviour toward a given action. This is improved by uplift modelling, which addresses more urgent issues:

Download our Mobile App

  • Did the buyer purchase from me because of my ad?
  • Did I waste money by promoting to customers who had already decided to buy?
  • Has my marketing had a negative impact (negative impact) on the likelihood of someone purchasing?

To put it another way, a traditional propensity model (as well as most machine learning algorithms) predicts the outcome (y) based on a set of variables (x). Given certain variables, uplift seeks to determine the influence of therapy (t) on the target (y).

The term “uplift” refers to the increased chance of the outcome with the treatment as compared to the outcome without the treatment. We cannot directly perceive this difference or causal effect but must deduce it through an experiment. As indicated in the picture below, it is highly beneficial to visualize a 2 x 2 matrix with four kinds of persons (say) to be classed as (a) Persuadable, (b) Sure Thing, (c) Do-Not-Disturb, and (d) Lost Cause.

We target the “a” demographic, those who are Persuadable, in order to encourage the desired reaction. The treatment is either ineffective or wasteful for everyone else, including the Do-Not-Disturbs. It’s risky to “wake a sleeping dog” by contacting the Do-Not-Disturbs.

Finding persuadable is the goal of uplift modelling. Of course, uplift modeling may be used to model any projected outcome, human or not, such as the influence of fertilizer on crop yields or the sending of political campaign emails. 

Uplift modelling focuses on the effectiveness of the treatment, whereas typical predictive modelling focuses on the result. Then you may focus your efforts on the cases that are most likely to benefit you.

Types of modelling

Direct modelling and indirect modelling are the two basic approaches here. The fundamental difference between the two approaches is how uplift models are measured and evaluated.

Direct modelling

In direct modelling, we “directly” model the difference in probabilities between two distinct groups. There are numerous approaches to this, almost all of which rely on tree-based algorithms that have been slightly modified to accommodate uplift modelling.

Tree-based models are ideal because they naturally model at the group level by iteratively splitting a group into two groups with each splitting decision. Unlike traditional tree-based models, which are designed to divide data into smaller and smaller homogeneous groups, uplift models are designed to divide our customers into heterogeneous groups each time they split (by maximizing a measure of uplift). 

They employ various splitting criteria, such as Kullback-Leibler divergence, Euclidean Distance, p-value, and Chi-squared Distance. Hundreds of trees would be fitted in an ensemble fashion, similar to traditional tree-based methods.

Indirect modelling

Regular response models are repurposed to infer uplift using indirect uplift modelling techniques (meta-learners), which can be based on any base algorithm. We are modelling the expected value of the response for different treatments, rather than attempting to optimize some measure of uplift directly.

For our Direct Mail campaign, we would calculate the probability that the customer will use their credit card if the DM is sent, and the probability that they will use their product if the DM is not sent. The estimated uplift is the difference between the two estimated probabilities. In practice, this can be a two-model approach (a separate model fitted to all control/treatment groups) or a unified model (a single model with the allocated treatment part of the feature space).

Common applications 

Below are some of the possible applications that are briefed about various industries.

  • Uplift modelling can help understand how treatments may impact certain groups differently than simply comparing the results to the entire treatment group vs control group. Also, how much do these effects differ?
  • A company wants to save customers who are about to churn by reaching out to them. When reaching out to customers, the company wants to avoid upsetting them further by focusing only on high-risk savable customers.
  • A corporation wants to execute a cross-sell campaign, but they don’t want to cross-sell to everyone because resources are limited and some customers may not need or want the other products.
  • A corporation has a lead database, but it generates more leads than it can work, and many of the leads are a waste of time – agents may now work leads in any order they like.

How does CausalML do Uplifting?

CausalML is a Python module that provides a suite of uplift modelling and causal inference tools that are based on cutting-edge research and machine learning algorithms. Traditional causal analysis approaches, such as performing t-tests on randomized trials (A/B testing), can estimate the Average Treatment Effect (ATE) of a treatment or intervention. 

However, in many applications, estimating these impacts at a finer scale is frequently desirable and useful. CausalML can be used by the end-user to estimate the Conditional Average Treatment Effect (CATE), which is the effect at the individual or segment level. Such estimates can enable a wide range of applications for personalization and optimization by applying different treatments to various users.

Uplift modelling is a crucial modeling approach made possible by CausalML. Uplift modeling is a causal learning approach for estimating an experiment’s individual treatment effect. Using experimental data, the end-user can calculate the incremental impact of a treatment (such as a direct marketing action) on an individual’s behaviour.

For example, if a corporation is deciding between many product lines to up-sell / cross-sell to its clients, CausalML can be used as a recommendation engine to identify products that yield the maximum expected lift for each given user.

CausalML provides a consistent API for running uplift algorithms, making it as simple as fitting a standard classification or regression model. The included metrics and visualization functions, such as uplift curves, can be used to assess model performance. The first version of CausalML includes eight state-of-the-art uplift modelling algorithms (shown in the below figure).

Features of CausalML

Targeting optimization, engagement personalization, and causal impact analysis are just a few of the use cases for CausalMLs.

Targeting optimization

We may use CausalML to target promotions to the people who will bring the most value to the company. For example, we can provide promotions to consumers who are more likely to utilize a new product as a result of exposure to the promotions in a cross-sell marketing campaign for existing customers.

Causal impact analysis

We can also use CausalML to examine the causal impact of a specific event using experimental or observational data with rich attributes. For example, we can examine how a customer cross-sells event influences long-term platform expenditure.


To personalize engagement, CausalML can be employed. A corporation can communicate with its customers in a variety of ways, such as offering up-sell options or using message channels for interactions. CausalML can be used to assess the effect of each combination for each client and present customers with the most customized offers possible.

Final words

Through this article, we have discussed model uplifting which is basically a technique that models the user’s behaviour by applying some intervention along with input variables. We have also discussed its major types of modelling and some applications where it can be applied. In this article, we have discussed a python package called CausalML which gives a path to practically implement causal inference or uplifting. For more understanding of implementing the uplift modelling with CausalML, you can refer to their GitHub repository where they have listed many implementation examples. 


More Great AIM Stories

Vijaysinh Lendave
Vijaysinh is an enthusiast in machine learning and deep learning. He is skilled in ML algorithms, data manipulation, handling and visualization, model building.

AIM Upcoming Events

Early Bird Passes expire on 3rd Feb

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox

Do machines feel pain?

Scientists worldwide have been finding ways to bring a sense of awareness to robots, including feeling pain, reacting to it, and withstanding harsh operating conditions.

IT professionals and DevOps say no to low-code

The obsession with low-code is led by its drag-and-drop interface, which saves a lot of time. In low-code, every single process is shown visually with the help of a graphical interface that makes everything easier to understand.

Neuralink elon musk

What could go wrong with Neuralink?

While the broad aim of developing such a BCI is to allow humans to be competitive with AI, Musk wants Neuralink to solve immediate problems like the treatment of Parkinson’s disease and brain ailments.

Understanding cybersecurity from machine learning POV 

Today, companies depend more on digitalisation and Internet-of-Things (IoT) after various security issues like unauthorised access, malware attack, zero-day attack, data breach, denial of service (DoS), social engineering or phishing surfaced at a significant rate.