Maximizing Marketing Mediums with Multi-Touch Attribution Model

Business Objective

The marketing team of an e-commerce company wanted to enhance their channel attribution model. They had been assessing channel value based on last channel touched before a conversion and needed a more robust model to inform channel spending. The client asked the team at eSage Group to recommend a model that uncovered the value of all channels across the entire consumer journey, not just the last touch. They also wanted to use this model to assess specific campaign performance, and to visualize this model to enhance insights and decision making.


  • eSage Group recommended and implemented current best practices in MultiTouch attribution, leveraging Markov Chains. In addition to looking at channel value based on First Touch and Last Touch, our model assess the value of each channel in multiple ways, including First Touch, Last Touch, Linear Touch (equal credit across all touches) and MultiTouch which accounts for the impact of a channel when it is removed (we call this the Markov Removal Effect).
  • The Markov removal effect is powerful and simple in concept (but we’ll skip over the long chain of arithmetic and probability). If we have a total conversion rate of the system of Markov endpoints, we can recalculate the total conversion rate of the system, if we remove an entire node. The change in total conversion rate between the whole system, and the system with a specific node removed is called the Markov Removal Effect of the Node. This article provides a wonderfully simple and easy to follow example here.
  • For example, if the user first viewed a product on Facebook, then received direct email from the company to remind them of the purchase and then returned directly to the site to purchase, we would understand the value of all of these touchpoints by observing the removal effect when removed and multiplying by the expected order value.
  • Data engineering was required to put campaign data into the correct order of touches over time. Campaign data was pushed into Redshift from various sources and SQL window functions were used to rank touches over time by channel and linking conversions with channel paths.
  • A model was then implemented and designed to use this data, leveraging a R and some powerful statistical packages.
  • The Model assisted in calculating the Markov Removal effect of each channel, and then reported those effects by storing the model results in a Redshift Table.


  • An interactive dashboard was created to show how various channels contributed to conversions. The client was able to use this information to evaluate channels at the high level, understand the specific campaigns that had the most impact and determine whether conversions would be lost by removing that campaign.


  • Productionalized R Model Automated with Data Pipeline
  • Interactive Tableau Dashboard
  • Client-Facing presentation of the results