SlideShare a Scribd company logo
1 of 7
Download to read offline
Davide Altomare, David Loris
2016-12-07
R-package ChannelAttribution for the online multichannel
attribution problem.
Introduction
Advertisers use a variety of online marketing channels to reach consumers and they want to know the
degree each channel contributes to their marketing success. It’s called the online multi-channel attribution
problem. In many cases, advertisers approach this problem through some simple heuristics methods that
do not take into account any customer interactions and often tend to underestimate the importance of
small channels in marketing contribution.
R-package ChannelAttribution (https://cran.r-project.org/web/packages/ChannelAttribution/index.html) provides a
function that approaches the attribution problem in a probabilistic way. It uses a k-order Markov
representation to identifying structural correlations in the customer journey data. This would allow
advertisers to give a more reliable assessment of the marketing contribution of each channel. The approach
basically follows the one presented in F. Anderl, I. Becker, F. v. Wangenheim, J.H. Schumann (2014):
Mapping the customer journey: a graph-based framework for attribution modeling. Differently for them,
we solved the estimation process using stochastic simulations. In this way it is possible to take into account
conversion values and their variability in the computation of the channel importance. The package also
contains a function that estimates three heuristic models (first-touch, last-touch and linear-touch
approach) for the same problem.
The following paragraph is a gentle introduction to Markov model. It also contains some considerations on
heuristic models.
Markov Model
Consider the following example in which we have 4 states: (START), A, B, (CONVERSION) and 3 paths
recorded:
PATH CONVERSIONS
(START) -> A -> B -> A -> B -> B -> A -> (CONVERSION) 1
(START) ->A -> B -> B -> A -> A -> (CONVERSION) 1
(START) -> A -> A -> (CONVERSION) 1
TOTAL 3
For every couple of ordered states we count the number of directed edges:
EDGE ARROW.COUNT
(START) -> A 3
(START) -> B 0
A -> A 2
A -> B 3
A -> (CONVERSION) 3
B -> A 3
B -> B 2
B -> (CONVERSION) 0
TOTAL 16
From the table we can calculate the transition probabilities between states:
EDGE ARROW.COUNT TRANSITION.PROBABILITIES
(START) -> A 3 3/3
(START) -> B 0 0
TOT (START) 3
A -> A 2 2/8
A -> B 3 3/8
A -> (CONVERSION) 3 3/8
TOT A 8
B -> A 3 3/5
B -> B 2 2/5
B -> (CONVERSION) 0 0
TOT B 5
Now we have all the information to plot the Markov Graph:
This kind of Markov Graph is called First-Order Markov Graph because the probability of reaching one state
depends only on the previous state visited.
From the Graph, or more clearly from the original data, we see that every path leads to conversion. Thus
the conversion rate of the Graph is 1.
Now we want to define a measure of channel importance using the relationship between states described
by the Graph.
Importance of channel A can be defined as the change in conversion rate if channel A is dropped from the
Graph, or in other terms if channel A becomes a NULL state.
A NULL state is an absorbing state so if one reaches this STATE can’t move on.
This Graph simplifies to
In previous Graph it’s easy to see that if channel A becomes a NULL state there is no way of reaching
conversion from START state. So conversion rate of this Graph is 0. The conversion drops from 1
(conversion of the original Graph) to 0. Thus importance of channel A (defined as the change in conversion
rate) is 1.
In similar way we define the importance of channel B as the change in conversion rate if channel B is
dropped from the Graph, or in other terms if channel B becomes a NULL state.
This Graph simplifies to:
In previous Graph we see the probability of reaching conversion from START state is 0.5. Conversion drops
from 1 (conversion rate of the original Graph) to 0.5. Thus the importance of channel B (defined as the
change in conversion rate) is 0.5.
Once we have the importance weights of every channel we can do a weighted imputation of total
conversions (3 in this case) between channels.
CHANNEL CONVERSIONS
A 2 [ =3 x 1/(1+0.5) ]
B 1 [ = 3 x 0.5/(1+0.5) ]
TOTAL 3
Now let’s go back to the original data:
PATH CONVERSIONS
(START) -> A -> B -> A -> B -> B -> A -> (CONVERSION) 1
(START) ->A -> B -> B -> A -> A -> (CONVERSION) 1
(START) -> A -> A -> (CONVERSION) 1
TOTAL 3
We see that if we use a first-touch or last-touch approach, all the conversions are assigned to channel A,
despite the important work of channel B in “conversion game” is clear from the data.
The channel attribution problem can be viewed as a football match, to better understand how different
approaches work. So channels can be viewed as players, paths are game actions and conversions are goals.
Markov Model analyses relationships between game actions to understand the role of the player in scoring.
While heuristic approach analyzes one action (path) at the time.
So last-touch approach rewards only players who scored, while first-touch approach rewards only players
who started the action. Linear approach rewards with the same credit to every player who took part the
action, while time-decay approaches gives subjective weights to every player who took part the action.
As we have seen Markov Model require as inputs paths and total conversions and does not require
subjective assumptions, differently from heuristic approaches.
Package ChannelAttribution
In the following example we will show how ChannelAttribution can be used for the multichannel
attribution problem.
Load libraries and data:
library(ChannelAttribution)
library(reshape2)
library(ggplot2)
data(PathData)
Estimate heuristic models:
H=heuristic_models(Data,'path','total_conversions',var_value='total_conversion_value')
Estimate Markov model:
M=markov_model(Data, 'path', 'total_conversions', var_value='total_conversion_value')
Plot total conversions:
R=merge(H,M,by='channel_name')
R1=R[,(colnames(R)%in%c("channel_name","first_touch_conversions","last_touch_conversions","linear
_touch_conversions","total_conversion"))]
colnames(R1)=c('channel_name','first_touch','last_touch','linear_touch','markov_model')
R1=melt(R1,id="channel_name")
ggplot(R1, aes(channel_name, value, fill = variable)) +
geom_bar(stat="identity", position = "dodge") +
ggtitle("TOTAL CONVERSIONS")+
theme(axis.title.x = element_text(vjust=-2))+
theme(axis.title.y = element_text(vjust=+2))+
theme(title = element_text(vjust=2))+
theme(text = element_text(size=16)) +
theme(plot.title=element_text(size=20)) +
ylab("")
Plot total value:
R2=R[,(colnames(R)%in%c("channel_name","first_touch_value","last_touch_value","linear_touch_value
","total_conversion_value"))]
colnames(R2)=c('channel_name','first_touch','last_touch','linear_touch','markov_model')
R2=melt(R2,id="channel_name")
ggplot(R2, aes(channel_name, value, fill = variable)) +
geom_bar(stat="identity", position = "dodge") +
ggtitle("TOTAL VALUE")+
theme(axis.title.x = element_text(vjust=-2))+
theme(axis.title.y = element_text(vjust=+2))+
theme(title = element_text(vjust=2))+
theme(text = element_text(size=16)) +
theme(plot.title=element_text(size=20)) +
ylab("")
ChannelAttribution Tool
ChannelAttribution can be used through a user-friendly graphical interface without interfacing with R-code. Channel
Attribution Tool can be found at https://adavide1982.shinyapps.io/ChannelAttribution.
ChannelAttribution Tool can be also used locally through package ChannelAttributionApp.
library(ChannelAttributionApp)
CAapp()
Markov model for the online multichannel attribution problem

More Related Content

What's hot

Final capstone powerpoint
Final capstone powerpointFinal capstone powerpoint
Final capstone powerpointCaroline Nguma
 
Chapter 3 (social consumers)
Chapter 3 (social consumers)Chapter 3 (social consumers)
Chapter 3 (social consumers)Jawad Chaudhry
 
Binary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningBinary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningPaxcel Technologies
 
Nonnegative Matrix Factorization
Nonnegative Matrix FactorizationNonnegative Matrix Factorization
Nonnegative Matrix FactorizationTatsuya Yokota
 
Confusion matrix, accuracy, precision, recall, f score
Confusion matrix, accuracy, precision, recall, f scoreConfusion matrix, accuracy, precision, recall, f score
Confusion matrix, accuracy, precision, recall, f scoreSaurabh Singh
 
Why the EPV≥10 sample size rule is rubbish and what to use instead
Why the EPV≥10 sample size rule is rubbish and what to use instead Why the EPV≥10 sample size rule is rubbish and what to use instead
Why the EPV≥10 sample size rule is rubbish and what to use instead Maarten van Smeden
 
Multi-Layer Perceptrons
Multi-Layer PerceptronsMulti-Layer Perceptrons
Multi-Layer PerceptronsESCOM
 
Beginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBeginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBenjamin Bengfort
 
Prediction of customer propensity to churn - Telecom Industry
Prediction of customer propensity to churn - Telecom IndustryPrediction of customer propensity to churn - Telecom Industry
Prediction of customer propensity to churn - Telecom IndustryPranov Mishra
 
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...Edureka!
 

What's hot (13)

Final capstone powerpoint
Final capstone powerpointFinal capstone powerpoint
Final capstone powerpoint
 
Chapter 3 (social consumers)
Chapter 3 (social consumers)Chapter 3 (social consumers)
Chapter 3 (social consumers)
 
Binary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine LearningBinary Class and Multi Class Strategies for Machine Learning
Binary Class and Multi Class Strategies for Machine Learning
 
Nonnegative Matrix Factorization
Nonnegative Matrix FactorizationNonnegative Matrix Factorization
Nonnegative Matrix Factorization
 
Confusion matrix, accuracy, precision, recall, f score
Confusion matrix, accuracy, precision, recall, f scoreConfusion matrix, accuracy, precision, recall, f score
Confusion matrix, accuracy, precision, recall, f score
 
Why the EPV≥10 sample size rule is rubbish and what to use instead
Why the EPV≥10 sample size rule is rubbish and what to use instead Why the EPV≥10 sample size rule is rubbish and what to use instead
Why the EPV≥10 sample size rule is rubbish and what to use instead
 
Decision tree
Decision treeDecision tree
Decision tree
 
Multi-Layer Perceptrons
Multi-Layer PerceptronsMulti-Layer Perceptrons
Multi-Layer Perceptrons
 
Heat map
Heat mapHeat map
Heat map
 
Beginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBeginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix Factorization
 
Prediction of customer propensity to churn - Telecom Industry
Prediction of customer propensity to churn - Telecom IndustryPrediction of customer propensity to churn - Telecom Industry
Prediction of customer propensity to churn - Telecom Industry
 
Decision tree
Decision treeDecision tree
Decision tree
 
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...
Random Forest Tutorial | Random Forest in R | Machine Learning | Data Science...
 

Viewers also liked

Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...
Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...
Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...Acquisio
 
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...Vinoaj Vijeyakumaar
 
How to Build an Attribution Solution in 1 Day
How to Build an Attribution Solution in 1 DayHow to Build an Attribution Solution in 1 Day
How to Build an Attribution Solution in 1 DayPhillip Law
 
How To Make Your Marketing Match Your Reality (#mozcon 2015)
How To Make Your Marketing Match Your Reality (#mozcon 2015)How To Make Your Marketing Match Your Reality (#mozcon 2015)
How To Make Your Marketing Match Your Reality (#mozcon 2015)Dana DiTomaso
 
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)e-dialog GmbH
 
Attribution Super Modeling with Google Analytics
Attribution Super Modeling with Google AnalyticsAttribution Super Modeling with Google Analytics
Attribution Super Modeling with Google Analyticselliottkoppel
 
Advanced attribution model
Advanced attribution model Advanced attribution model
Advanced attribution model Aspa Lekka
 
Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google AnalyticsDana DiTomaso
 
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013Webinar: Survival Analysis for Marketing Attribution - July 17, 2013
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013Revolution Analytics
 
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...Spark Summit
 
Attribution Modeling - Case Study
Attribution Modeling - Case StudyAttribution Modeling - Case Study
Attribution Modeling - Case StudyConcur
 
Operational Attribution with Google Analytics
Operational Attribution with Google AnalyticsOperational Attribution with Google Analytics
Operational Attribution with Google AnalyticsJonathan Breton
 
Attribution Modeling and Big Data, Google
Attribution Modeling and Big Data, GoogleAttribution Modeling and Big Data, Google
Attribution Modeling and Big Data, GoogleInnovation Enterprise
 
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...AMASanDiego
 
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...Kissmetrics on SlideShare
 

Viewers also liked (16)

Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...
Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...
Webinar: Improve Campaign Results with Multi-Channel Funnels and Acquisio Att...
 
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...
 
How to Build an Attribution Solution in 1 Day
How to Build an Attribution Solution in 1 DayHow to Build an Attribution Solution in 1 Day
How to Build an Attribution Solution in 1 Day
 
How To Make Your Marketing Match Your Reality (#mozcon 2015)
How To Make Your Marketing Match Your Reality (#mozcon 2015)How To Make Your Marketing Match Your Reality (#mozcon 2015)
How To Make Your Marketing Match Your Reality (#mozcon 2015)
 
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)
GAUC 2017 Workshop Attribution with Google Analytics: Peter Falcone (Google)
 
Attribution Super Modeling with Google Analytics
Attribution Super Modeling with Google AnalyticsAttribution Super Modeling with Google Analytics
Attribution Super Modeling with Google Analytics
 
Advanced attribution model
Advanced attribution model Advanced attribution model
Advanced attribution model
 
Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google Analytics
 
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013Webinar: Survival Analysis for Marketing Attribution - July 17, 2013
Webinar: Survival Analysis for Marketing Attribution - July 17, 2013
 
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...
Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, A...
 
Web Analytics Attribution
Web Analytics AttributionWeb Analytics Attribution
Web Analytics Attribution
 
Attribution Modeling - Case Study
Attribution Modeling - Case StudyAttribution Modeling - Case Study
Attribution Modeling - Case Study
 
Operational Attribution with Google Analytics
Operational Attribution with Google AnalyticsOperational Attribution with Google Analytics
Operational Attribution with Google Analytics
 
Attribution Modeling and Big Data, Google
Attribution Modeling and Big Data, GoogleAttribution Modeling and Big Data, Google
Attribution Modeling and Big Data, Google
 
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...
Red Door Interactive: Contribution-Attribution-Mix, Oh My! Creating Content f...
 
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...
Marketing Attribution 101: Understanding Attribution and Calculating Cost of ...
 

Similar to Markov model for the online multichannel attribution problem

Robust and real time detection of
Robust and real time detection ofRobust and real time detection of
Robust and real time detection ofcsandit
 
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...csandit
 
Line uo,please
Line uo,pleaseLine uo,please
Line uo,pleaseheba_ahmad
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTSubhajit Sahu
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTSubhajit Sahu
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTSubhajit Sahu
 
Gradient Decent in Linear Regression.pptx
Gradient Decent in Linear Regression.pptxGradient Decent in Linear Regression.pptx
Gradient Decent in Linear Regression.pptxalphaomega55
 
Customer Lifetime Value Modeling
Customer Lifetime Value ModelingCustomer Lifetime Value Modeling
Customer Lifetime Value ModelingAsoka Korale
 
Methods for Reducing the Activity Switching Factor
Methods for Reducing the Activity Switching FactorMethods for Reducing the Activity Switching Factor
Methods for Reducing the Activity Switching FactorIJERD Editor
 
A Review on Channel Routing On VLSI Physical Design
A Review on Channel Routing On VLSI Physical DesignA Review on Channel Routing On VLSI Physical Design
A Review on Channel Routing On VLSI Physical DesignIOSR Journals
 
bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)Siddhi Viradiya
 
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...ijceronline
 
Unit 3 Arithmetic building blocks and memory Design (1).pdf
Unit 3 Arithmetic building blocks and  memory Design (1).pdfUnit 3 Arithmetic building blocks and  memory Design (1).pdf
Unit 3 Arithmetic building blocks and memory Design (1).pdfShreyasMahesh
 

Similar to Markov model for the online multichannel attribution problem (20)

Robust and real time detection of
Robust and real time detection ofRobust and real time detection of
Robust and real time detection of
 
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...
Robust and Real Time Detection of Curvy Lanes (Curves) Having Desired Slopes ...
 
Line uo,please
Line uo,pleaseLine uo,please
Line uo,please
 
Group5
Group5Group5
Group5
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORT
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORT
 
Adjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORTAdjusting PageRank parameters and comparing results : REPORT
Adjusting PageRank parameters and comparing results : REPORT
 
Gradient Decent in Linear Regression.pptx
Gradient Decent in Linear Regression.pptxGradient Decent in Linear Regression.pptx
Gradient Decent in Linear Regression.pptx
 
Customer Lifetime Value Modeling
Customer Lifetime Value ModelingCustomer Lifetime Value Modeling
Customer Lifetime Value Modeling
 
Methods for Reducing the Activity Switching Factor
Methods for Reducing the Activity Switching FactorMethods for Reducing the Activity Switching Factor
Methods for Reducing the Activity Switching Factor
 
A Review on Channel Routing On VLSI Physical Design
A Review on Channel Routing On VLSI Physical DesignA Review on Channel Routing On VLSI Physical Design
A Review on Channel Routing On VLSI Physical Design
 
DEA SolverPro Newsletter19
DEA SolverPro Newsletter19DEA SolverPro Newsletter19
DEA SolverPro Newsletter19
 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
 
bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)
 
Computer organization
Computer organizationComputer organization
Computer organization
 
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...
Resolution of Some Cases of Bgp Inter-Domain Oscillations with the Spvpoc Alg...
 
cs 3351 dpco
cs 3351 dpcocs 3351 dpco
cs 3351 dpco
 
Kc3418141820
Kc3418141820Kc3418141820
Kc3418141820
 
Unit 3 Arithmetic building blocks and memory Design (1).pdf
Unit 3 Arithmetic building blocks and  memory Design (1).pdfUnit 3 Arithmetic building blocks and  memory Design (1).pdf
Unit 3 Arithmetic building blocks and memory Design (1).pdf
 
G05313347
G05313347G05313347
G05313347
 

Recently uploaded

Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionMintel Group
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadAyesha Khan
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation SlidesKeppelCorporation
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,noida100girls
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Servicecallgirls2057
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdfKhaled Al Awadi
 
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...lizamodels9
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchirictsugar
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailAriel592675
 
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis UsageNeil Kimberley
 
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607(Best) ENJOY Call Girls in Faridabad Ex | 8377087607
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607dollysharma2066
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfJos Voskuil
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024christinemoorman
 

Recently uploaded (20)

Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted Version
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
 
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
Lowrate Call Girls In Sector 18 Noida ❤️8860477959 Escorts 100% Genuine Servi...
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchir
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
 
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage
 
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607(Best) ENJOY Call Girls in Faridabad Ex | 8377087607
(Best) ENJOY Call Girls in Faridabad Ex | 8377087607
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
 

Markov model for the online multichannel attribution problem

  • 1. Davide Altomare, David Loris 2016-12-07 R-package ChannelAttribution for the online multichannel attribution problem. Introduction Advertisers use a variety of online marketing channels to reach consumers and they want to know the degree each channel contributes to their marketing success. It’s called the online multi-channel attribution problem. In many cases, advertisers approach this problem through some simple heuristics methods that do not take into account any customer interactions and often tend to underestimate the importance of small channels in marketing contribution. R-package ChannelAttribution (https://cran.r-project.org/web/packages/ChannelAttribution/index.html) provides a function that approaches the attribution problem in a probabilistic way. It uses a k-order Markov representation to identifying structural correlations in the customer journey data. This would allow advertisers to give a more reliable assessment of the marketing contribution of each channel. The approach basically follows the one presented in F. Anderl, I. Becker, F. v. Wangenheim, J.H. Schumann (2014): Mapping the customer journey: a graph-based framework for attribution modeling. Differently for them, we solved the estimation process using stochastic simulations. In this way it is possible to take into account conversion values and their variability in the computation of the channel importance. The package also contains a function that estimates three heuristic models (first-touch, last-touch and linear-touch approach) for the same problem. The following paragraph is a gentle introduction to Markov model. It also contains some considerations on heuristic models. Markov Model Consider the following example in which we have 4 states: (START), A, B, (CONVERSION) and 3 paths recorded: PATH CONVERSIONS (START) -> A -> B -> A -> B -> B -> A -> (CONVERSION) 1 (START) ->A -> B -> B -> A -> A -> (CONVERSION) 1 (START) -> A -> A -> (CONVERSION) 1 TOTAL 3 For every couple of ordered states we count the number of directed edges: EDGE ARROW.COUNT (START) -> A 3 (START) -> B 0 A -> A 2 A -> B 3 A -> (CONVERSION) 3 B -> A 3 B -> B 2
  • 2. B -> (CONVERSION) 0 TOTAL 16 From the table we can calculate the transition probabilities between states: EDGE ARROW.COUNT TRANSITION.PROBABILITIES (START) -> A 3 3/3 (START) -> B 0 0 TOT (START) 3 A -> A 2 2/8 A -> B 3 3/8 A -> (CONVERSION) 3 3/8 TOT A 8 B -> A 3 3/5 B -> B 2 2/5 B -> (CONVERSION) 0 0 TOT B 5 Now we have all the information to plot the Markov Graph: This kind of Markov Graph is called First-Order Markov Graph because the probability of reaching one state depends only on the previous state visited. From the Graph, or more clearly from the original data, we see that every path leads to conversion. Thus the conversion rate of the Graph is 1. Now we want to define a measure of channel importance using the relationship between states described by the Graph. Importance of channel A can be defined as the change in conversion rate if channel A is dropped from the Graph, or in other terms if channel A becomes a NULL state. A NULL state is an absorbing state so if one reaches this STATE can’t move on.
  • 3. This Graph simplifies to In previous Graph it’s easy to see that if channel A becomes a NULL state there is no way of reaching conversion from START state. So conversion rate of this Graph is 0. The conversion drops from 1 (conversion of the original Graph) to 0. Thus importance of channel A (defined as the change in conversion rate) is 1. In similar way we define the importance of channel B as the change in conversion rate if channel B is dropped from the Graph, or in other terms if channel B becomes a NULL state.
  • 4. This Graph simplifies to: In previous Graph we see the probability of reaching conversion from START state is 0.5. Conversion drops from 1 (conversion rate of the original Graph) to 0.5. Thus the importance of channel B (defined as the change in conversion rate) is 0.5. Once we have the importance weights of every channel we can do a weighted imputation of total conversions (3 in this case) between channels. CHANNEL CONVERSIONS A 2 [ =3 x 1/(1+0.5) ] B 1 [ = 3 x 0.5/(1+0.5) ] TOTAL 3 Now let’s go back to the original data: PATH CONVERSIONS (START) -> A -> B -> A -> B -> B -> A -> (CONVERSION) 1 (START) ->A -> B -> B -> A -> A -> (CONVERSION) 1 (START) -> A -> A -> (CONVERSION) 1 TOTAL 3 We see that if we use a first-touch or last-touch approach, all the conversions are assigned to channel A, despite the important work of channel B in “conversion game” is clear from the data. The channel attribution problem can be viewed as a football match, to better understand how different approaches work. So channels can be viewed as players, paths are game actions and conversions are goals. Markov Model analyses relationships between game actions to understand the role of the player in scoring. While heuristic approach analyzes one action (path) at the time. So last-touch approach rewards only players who scored, while first-touch approach rewards only players who started the action. Linear approach rewards with the same credit to every player who took part the action, while time-decay approaches gives subjective weights to every player who took part the action. As we have seen Markov Model require as inputs paths and total conversions and does not require subjective assumptions, differently from heuristic approaches.
  • 5. Package ChannelAttribution In the following example we will show how ChannelAttribution can be used for the multichannel attribution problem. Load libraries and data: library(ChannelAttribution) library(reshape2) library(ggplot2) data(PathData) Estimate heuristic models: H=heuristic_models(Data,'path','total_conversions',var_value='total_conversion_value') Estimate Markov model: M=markov_model(Data, 'path', 'total_conversions', var_value='total_conversion_value') Plot total conversions: R=merge(H,M,by='channel_name') R1=R[,(colnames(R)%in%c("channel_name","first_touch_conversions","last_touch_conversions","linear _touch_conversions","total_conversion"))] colnames(R1)=c('channel_name','first_touch','last_touch','linear_touch','markov_model') R1=melt(R1,id="channel_name") ggplot(R1, aes(channel_name, value, fill = variable)) + geom_bar(stat="identity", position = "dodge") + ggtitle("TOTAL CONVERSIONS")+ theme(axis.title.x = element_text(vjust=-2))+ theme(axis.title.y = element_text(vjust=+2))+ theme(title = element_text(vjust=2))+ theme(text = element_text(size=16)) + theme(plot.title=element_text(size=20)) + ylab("")
  • 6. Plot total value: R2=R[,(colnames(R)%in%c("channel_name","first_touch_value","last_touch_value","linear_touch_value ","total_conversion_value"))] colnames(R2)=c('channel_name','first_touch','last_touch','linear_touch','markov_model') R2=melt(R2,id="channel_name") ggplot(R2, aes(channel_name, value, fill = variable)) + geom_bar(stat="identity", position = "dodge") + ggtitle("TOTAL VALUE")+ theme(axis.title.x = element_text(vjust=-2))+ theme(axis.title.y = element_text(vjust=+2))+ theme(title = element_text(vjust=2))+ theme(text = element_text(size=16)) + theme(plot.title=element_text(size=20)) + ylab("") ChannelAttribution Tool ChannelAttribution can be used through a user-friendly graphical interface without interfacing with R-code. Channel Attribution Tool can be found at https://adavide1982.shinyapps.io/ChannelAttribution. ChannelAttribution Tool can be also used locally through package ChannelAttributionApp. library(ChannelAttributionApp) CAapp()