5
$\begingroup$

There is a video on youtube for a talk on use of GBM for building a marketing attribution model at netflix. Essentially, this is a binary classification problem where a visitor to the site either converts or does not (1 or 0) and there are assorted information about the visitor (e.g. what other ads they clicked on and how long ago, if they got an email from the company etc). I believe the goal is to use the model to say of all the conversions we got, how many should be attributed to different things that happened to the customer. So, the company can determine if sending an email really matters for example or how important was Ad 123 for conversion.

My question is how would the fitted model be used (completely skipped in the video).

Here is one way I was thinking about - does it make sense or are there better ones?

Define 'touch-points' as channels, ad types etc => whatever you want to attribute conversions to which have a cost (other things would be controls in the model to adjust for other circumstances like day of the week).

  • Run the data through the fitted model and observe the mean probability of conversion given the observed predictors over all visitors: P(conversion=1 | X). This is the baseline.

  • For each touch point variable, x_i set the value to zero (and all interactions to zero for example that involve it) for all visitors and run this data through the model. Again, observe the mean probability of conversion: P(conversion=1 | x; x_i=0).

  • Calculate the net effect for touch-point i ==> net_effect_i = P(conversion=1 | X) - P(conversion=1 | x; x_i=0)

  • Once done for all touch-points, normalize the net effects as follows==> norm_net_effect_i = net_effect_i/sum(net_effect_i for all i).

  • Then multiply the normalized net effects and the total true conversions to attribute the number of conversions to each touch-point.

$\endgroup$

2 Answers 2

1
$\begingroup$

I think they way you are thinking about it is correct, but I would add a little bit more related to how I think the company would use this information.

1.) Maximize your return on investment. You eluded to this concept in your question, but you missed a key concept: The cost of the variable. Let's consider a simple model of two advertising strategies, A and B, which cost 100\$ and 500\$ respectively. If you acquire 30 costumers for A and 60 customers from B who will pay a 10\$ subscription fee, strategy A would yield a return of 200\$ while A would yield 100\$. Thus, it would make more sense to shift resources to A from B, even though B get's you more customers.

2.) Better coordination between services. In point 1, we assumed uncorrelated events. However, it could very well be that the customer bought the product because A occurred before B and not when B occurred before A. Thus, you would also want to account for this in your return on investment. Finding correlations between marketing strategies could yield some very interesting and non-trivial ways to increase the chances of acquiring new customers.

3.) Gaining a better understanding of your customers psychology to create new marketing techniques.. These models are not just numbers, they are representations of complex thought processes across a wide range of individuals. To understand why your customer purchased your product may be the biggest gain from this model.

I'm not really sure if this constitutes an answer, but this is how I would leverage the data if I were in their position. I'm sure there are many other ways as well.

$\endgroup$
7
  • $\begingroup$ Hi Greg - thanks for the notes. I am looking more for the model execution. I agree that after the estimates are determined for channel attribution, we must layer in costs, revenue, saturation, how much we could push / increase any given channel, test the main model outcomes with randomized experiments etc. $\endgroup$
    – B_Miner
    Commented Feb 25, 2016 at 15:20
  • $\begingroup$ Ok. I guess I'm not quite understanding your question then. Could you maybe reword it a little? In your example you seem to be describing an analysis of the affect of each parameter on the model which is related to ROI (among other methods). You also asked, "How would the fitted model be used?" which is also a bit confusing as it seems you are asking how Netflix got an advantage from the model. It also could be I'm just a little dense today :) $\endgroup$ Commented Feb 25, 2016 at 15:29
  • $\begingroup$ Attribution essentially means that each conversion is attributed to a marketing touch (an ad, a click, an email etc). So, the result of a model is to assign weights to each touch point that occurred for every given conversion. For conversion #1, if 4 marketing touches / contacts occurred, we want to say that 33% of the conversion was 'caused' by touch #1, 15% was 'caused' was touch #2 etc. $\endgroup$
    – B_Miner
    Commented Feb 25, 2016 at 15:56
  • $\begingroup$ I can understand the constructive of a GBM where the target variable is converted (1/0) and the predictors are binary variables for the touches, decay (adstock type measures), recency of the touches etc. What was not clear is OK you have a good model for this, how do you then get to the attribution part. $\endgroup$
    – B_Miner
    Commented Feb 25, 2016 at 15:59
  • 1
    $\begingroup$ Thanks, I'll take a look. I think I understand your question now. I've done similar things to this before. I'll revise my answer later tonight. $\endgroup$ Commented Feb 25, 2016 at 17:15
1
$\begingroup$

I think the approach you've outlined sounds reasonable, but I suspect it's probably not what they're doing, given that they're using gradient boosting. They're probably extracting normalized feature importances from the gradient boosted trees, like this in this random forest example from scikit-learn (http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html).

Trees are commonly used to identify the most useful/important features. Feature importance is calculated by looking at how much error each variable reduces when it is used in a tree split. For each variable, these reductions are summed over all splits where the variable is used, and then the summed error reductions are normalized by dividing by the sum of the variable with the largest total error reduction.

Trees' variable importances don't indicate direction (good or bad), just relative importance, but that's likely sufficient for Netflix's purposes since it's unlikely that any touch point would have a negative effect.

$\endgroup$
1
  • $\begingroup$ I would not actually expect them to use variable importance given that it have some well known problems (e.g. favoring high cardinality features). It seems like using the model like I outlines is more likely, but I don't know if there are better ways. $\endgroup$
    – B_Miner
    Commented Jun 24, 2016 at 0:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.