Neural Nets for Multi-channel Attribution Estimation
Multi-Touch Attribution plays a crucial role in advertising and marketing, offering insight into the complex series of interactions within customer journeys during transactions or impressions. We will show multiple neural nets methods to estimate the attributions in this blog.
1
2
3
4
5
6
7
8
9
10
11
12
13
from captum.attr import IntegratedGradients
# A generic function that will be used for calling attribute on attribution algorithm defined in input.
def attribute_image_features(algorithm, input, labels, **kwargs):
model.zero_grad()
input.requires_grad = True
attributions = algorithm.attribute(input, labels, **kwargs)
return attributions
# Integrated gradients attribution algorithm https://arxiv.org/abs/1703.01365
ig = IntegratedGradients(model)
attributions, delta = attribute_image_features(ig, input, baselines=input * 0, return_convergence_delta=True)

Models | AUC | PRAUC |
---|---|---|
ODE-LSTM | 0.9832 | 0.9293 |
ALSTM | 0.9827 | 0.9286 |
TCN | 0.9817 | 0.9238 |
TRANSFORMERS | 0.9813 | 0.9226 |


Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.