• Home
  • About
    • Travis(Weixing) Li photo

      Travis(Weixing) Li

    • Learn More
    • Email
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

Attention-RNN Channel-Attribution Model

03 May 2019

Reading time ~1 minute

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:

Model Architecture

Challengs

  1. 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.
  2. The non-sequential data can be further divided into continuous and discrete data.
  3. 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

  1. 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.
  2. For the non-sequential customer data, construct an Embedding Layer for the discrete part.
  3. 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:

business problem

The raw data is like this (I need to collapse the channel column into sequence-like path data):

raw data



Attention MechanismLSTM, RNNEmbedding LayerMulti-Channel Attribution Share Tweet +1