Skip to content

Predicting the Likelihood to Purchase a Financial Product Following a Direct Marketing Campaign

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



50 Commits

Repository files navigation

Propensity Modelling - Using h2o and DALEX to Estimate the Likelihood of Purchasing a Financial Product

In this day and age, a business that leverages data to understand the drivers of its customers' behaviour has a true competitive advantage. Organisations can dramatically improve their performance in the market by analysing customer level data in an effective way and focus their efforts towards those that are more likely to engage.

One trialled and tested approach to tease out this type of insight is Propensity Modelling, which combines information such as a customers’ demographics (age, race, religion, gender, family size, ethnicity, income, education level), psycho-graphic (social class, lifestyle and personality characteristics), engagement (emails opened, emails clicked, searches on mobile app, webpage dwell time, etc.), user experience (customer service phone and email wait times, number of refunds, average shipping times), and user behaviour (purchase value on different time-scales, number of days since most recent purchase, time between offer and conversion, etc.) to estimate the likelihood of a certain customer profile to performing a certain type of behaviour (e.g. the purchase of a product).

Once you understand the probability of a certain customer to interact with your brand, buy a product or a sign up for a service, you can use this information to create scenarios, be it minimising marketing expenditure, maximising acquisition targets, and optimise email send frequency or depth of discount.

Project Structure

In this project I'm analysing the results of a bank direct marketing campaign to sell term deposits in order to identify what type of customer is more likely to respond. The marketing campaigns were based on phone calls and more than one contact to the same client was required at times.

In the first part, I am going to carry out an extensive data exploration and use the results and insights to prepare the data for analysis.

In the second part, I'm estimating a number of models and assess their performance and fit to the data using a model-agnostic methodology that enables to compare traditional "glass-box" models and "black-box" models.

In the third and last part, I'll fit a final model that combines findings from the exploratory analysis and insight from models' selection and use it to run a revenue optimisation.


You can find the final articles on my website:

  • Data Preparation and Exploratory Data Analysis - Link

  • Estimate Several Models and Compare Their Performance Using a Model-agnostic Methodology - Link

  • Optimise Profit With the Expected Value Framework - Link

  • If you cannot be bothered to read all 3 articles, you can find an abridged version here - Link