CLICK HERE: Full Python Code
CLICK HERE: Full Medium Blog
Overview
In this project, I present a novel unified framework for marketing budget allocation on different customer digital channels, which contains two sequential steps: learning cusotmer conversion (purchase or not) models from historical data, and optimizing budget allocation based on learned models. The whole framework is illustrated as follows:
Challengs
- The data are either having sequential pattern or non-sequential pattern, so the model couldn’t be solely Recurrent Neural Network or plain Deep Neural Network.
- The non-sequential data can be further divided into continuous and discrete data.
- There are several gaps between Neural Nets and Decision Making. One of the biggest challenges is that it is too difficult to translate black-box forecasting into allocation decisions.
Solutions
- Build a unified framework that combines Recurrent Neural Net and plain Deep Neural Net. The former one can capture the sequential pattern of the customer path data (comprised of digital channels), while the latter one deals with non-sequential customer profile data.
- For the non-sequential customer data, construct an Embedding Layer for the discrete part.
- Add an Attention Layer used to allocate weights to different channels along the customer journey.
Details
Since I’ve already written an article about it on Medium.com, please check it out through the link above. The business problem is as follows:
The raw data is like this (I need to collapse the channel column into sequence-like path data):