SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Google Analytics - A Brief Intro
Google Analytics - A Brief IntroGoogle Analytics - A Brief Intro
Google Analytics - A Brief IntroKashyap Shah
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxMeasurementMarketing.io
 
Multi-Channel Attribution (an Introduction + Markov chain application)
Multi-Channel Attribution (an Introduction + Markov chain application)Multi-Channel Attribution (an Introduction + Markov chain application)
Multi-Channel Attribution (an Introduction + Markov chain application)Gerald Logor
 
Marketo Best Practise - Lead Lifecycle
Marketo Best Practise - Lead Lifecycle Marketo Best Practise - Lead Lifecycle
Marketo Best Practise - Lead Lifecycle Marketo
 
5 Steps to Lead Scoring
5 Steps to Lead Scoring5 Steps to Lead Scoring
5 Steps to Lead ScoringMarketo
 
Retain or Die: The Retention Playbook
Retain or Die: The Retention PlaybookRetain or Die: The Retention Playbook
Retain or Die: The Retention PlaybookOptimizely
 
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...Petr Bureš
 
Digital Marketing Report PowerPoint Presentation Slides
Digital Marketing Report PowerPoint Presentation SlidesDigital Marketing Report PowerPoint Presentation Slides
Digital Marketing Report PowerPoint Presentation SlidesSlideTeam
 
Understanding User Journey using Google Analytics (360)
Understanding User Journey using Google Analytics (360)Understanding User Journey using Google Analytics (360)
Understanding User Journey using Google Analytics (360)Dmitry Klymenko
 
The Product Marketing Framework
The Product Marketing FrameworkThe Product Marketing Framework
The Product Marketing FrameworkSteve Robins
 
Page-Rank Algorithm Final
Page-Rank Algorithm FinalPage-Rank Algorithm Final
Page-Rank Algorithm FinalWilliam Keene
 
Advanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalAdvanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalSumeet Mayor
 
Google Ads Updates Guide 2020: The best Guide
Google Ads Updates Guide 2020: The best GuideGoogle Ads Updates Guide 2020: The best Guide
Google Ads Updates Guide 2020: The best GuidePPCexpo
 
Understanding Product-Led Marketing
Understanding Product-Led MarketingUnderstanding Product-Led Marketing
Understanding Product-Led MarketingVbout.com
 
Practical Introduction to A/B Testing
Practical Introduction to A/B TestingPractical Introduction to A/B Testing
Practical Introduction to A/B TestingAlex Alwan
 
Marketo Revenue Cycle Model and Lead Lifecycle How To
Marketo Revenue Cycle Model and Lead Lifecycle How ToMarketo Revenue Cycle Model and Lead Lifecycle How To
Marketo Revenue Cycle Model and Lead Lifecycle How ToJosh Hill
 

Was ist angesagt? (20)

Google Analytics - A Brief Intro
Google Analytics - A Brief IntroGoogle Analytics - A Brief Intro
Google Analytics - A Brief Intro
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptx
 
Multi-Channel Attribution (an Introduction + Markov chain application)
Multi-Channel Attribution (an Introduction + Markov chain application)Multi-Channel Attribution (an Introduction + Markov chain application)
Multi-Channel Attribution (an Introduction + Markov chain application)
 
Marketo Best Practise - Lead Lifecycle
Marketo Best Practise - Lead Lifecycle Marketo Best Practise - Lead Lifecycle
Marketo Best Practise - Lead Lifecycle
 
5 Steps to Lead Scoring
5 Steps to Lead Scoring5 Steps to Lead Scoring
5 Steps to Lead Scoring
 
Retain or Die: The Retention Playbook
Retain or Die: The Retention PlaybookRetain or Die: The Retention Playbook
Retain or Die: The Retention Playbook
 
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...
Analýza zákazníků v E-commerce | Praktický návod "Jak analýzu akvizice a rete...
 
Adobe part 1
Adobe part 1Adobe part 1
Adobe part 1
 
Digital Marketing Report PowerPoint Presentation Slides
Digital Marketing Report PowerPoint Presentation SlidesDigital Marketing Report PowerPoint Presentation Slides
Digital Marketing Report PowerPoint Presentation Slides
 
Understanding User Journey using Google Analytics (360)
Understanding User Journey using Google Analytics (360)Understanding User Journey using Google Analytics (360)
Understanding User Journey using Google Analytics (360)
 
The Product Marketing Framework
The Product Marketing FrameworkThe Product Marketing Framework
The Product Marketing Framework
 
Google Analytics 4: A Quick Start Guide
 Google Analytics 4: A Quick Start Guide Google Analytics 4: A Quick Start Guide
Google Analytics 4: A Quick Start Guide
 
Page-Rank Algorithm Final
Page-Rank Algorithm FinalPage-Rank Algorithm Final
Page-Rank Algorithm Final
 
Advanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalAdvanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso Digital
 
Google Ads Updates Guide 2020: The best Guide
Google Ads Updates Guide 2020: The best GuideGoogle Ads Updates Guide 2020: The best Guide
Google Ads Updates Guide 2020: The best Guide
 
Understanding Product-Led Marketing
Understanding Product-Led MarketingUnderstanding Product-Led Marketing
Understanding Product-Led Marketing
 
Ab testing
Ab testingAb testing
Ab testing
 
How to Use FouAnalytics For Marketers
How to Use FouAnalytics   For MarketersHow to Use FouAnalytics   For Marketers
How to Use FouAnalytics For Marketers
 
Practical Introduction to A/B Testing
Practical Introduction to A/B TestingPractical Introduction to A/B Testing
Practical Introduction to A/B Testing
 
Marketo Revenue Cycle Model and Lead Lifecycle How To
Marketo Revenue Cycle Model and Lead Lifecycle How ToMarketo Revenue Cycle Model and Lead Lifecycle How To
Marketo Revenue Cycle Model and Lead Lifecycle How To
 

Andere mochten auch

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
 

Andere mochten auch (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 ...
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Independent Call Girls Andheri Nightlaila 9967584737
Independent Call Girls Andheri Nightlaila 9967584737Independent Call Girls Andheri Nightlaila 9967584737
Independent Call Girls Andheri Nightlaila 9967584737Riya Pathan
 
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
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCRashishs7044
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...ShrutiBose4
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...ssuserf63bd7
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
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
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCRashishs7044
 
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportIndia Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportMintel Group
 
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
 
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
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCRashishs7044
 

Kürzlich hochgeladen (20)

Independent Call Girls Andheri Nightlaila 9967584737
Independent Call Girls Andheri Nightlaila 9967584737Independent Call Girls Andheri Nightlaila 9967584737
Independent Call Girls Andheri Nightlaila 9967584737
 
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
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
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
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
 
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportIndia Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample Report
 
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
 
Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
Corporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information TechnologyCorporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information Technology
 
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
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
 
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
 

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()