SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Algorithmic Digital
Attribution Using Spark
Anny (Yunzhu) Chen and William (Zhenyu) Yan
Adobe
Agenda
•  Digital attribution
•  Algorithmic digital attribution
•  Spark implementation
•  Lessons learned
Path of media touches to conversion
Display"
• See a display
ads of Adobe
Creative Cloud"
Paid Search"
• Search the term
“Creative Cloud”
and click the
promoted link"
Organic
Search"
• Search the term
“Adobe Creative
Cloud” and click
an organic link"
Signup"
• Signup for a free
trial"
Email"
• Receive an email
from Adobe"
Subscribe to
Adobe Creative
Cloud
(positive)
Not subscribe to
Adobe Creative
Cloud
(negative)
A customer may receive various kinds of media touch points before deciding
whether to subscribe to a product (conversion) or not
What’s digital attribution?
4
•  A digital attribution model determines how credits for conversions are assigned to
media touch points
•  It is quite important in performance monitoring and budget planning
Display"
• Saw a
display ads
of Adobe
Creative
Cloud"
• 0.1"
Paid Search"
• Search the
term
“Creative
Cloud” and
click the
promoted
link"
• 0.2"
Organic
Search"
• Search the
term “Adobe
Creative
Cloud” and
click an
organic link"
• 0.2"
Signup"
• Signup for a
free trial"
• 0.2"
Email"
• Received an
email from
Adobe"
• 0.3"
Convert!
Digital attribution model at a glance
Models!
Consider all
media touch
points!
Time decay!
Data driven!
(vs. rule based)!
Last interaction, first interaction,
last paid search click!
no" no" no"
Linear! yes" no" no"
Time decay! yes" yes" no"
Position based! yes" no" no"
Algorithmic! yes" yes " yes"
Algorithmic Attribution
•  Rule based: predetermined weights based on rules
•  Algorithmic: machine learning or statistical models are used to
determine the weights
6
Algorithmic Attribution Modeling
The attribution model is based on a combination of
•  Distributed-lag econometric model
•  Discrete-time survival model
Some highlights:
•  The basic idea is to compare the media touches in positive paths vs. those in negative paths and thus
infer their effects
•  Logistic link function
•  Time decay parameters to address time-decaying of media effects
•  Fit media touch effects and decay parameters simultaneously
•  Constraints on coefficients (combining with rules)
•  Stratified sampling
•  Bias reduction:
–  Using control variables, such as duration of exposure
–  Causal modeling
•  Maximum likelihood estimation
Tokenization
•  Tokenization is used to group neighboring events together
•  why is tokenization needed?
Tokenization
DISPLAY" DISPLAY" DISPLAY" DISPLAY" DISPLAY"
DISPLAY"
•  The effect of a media touch is hardly doubled or tripled if it is sent repeatedly
to a customer twice or three times in a short period
•  Tokenization is used to group neighboring events together
•  If you see the same advertisement 5 times in one
hour, will you be impressed 5 times or just have the
impression “I saw that ad”?"
Why Spark?
Raw data"
Big data
tools"
Hive, Pig,
Impala,
Presto…"
Big data
machine
learning tool"
Spark" Mahout"
Python, R,
Java, C++
…"
Big data Small data
Rule based Algorithmic
Iterative update
Data process and stitching
Event"
•  Media touch events; conversion events; other user behavior events"
•  Data fields: customer id , time stamp, event type, campaign id and etc."
Path"
•  Stitch the events of the same customer by “id” "
•  Generate both positive paths and negative paths"
Model"
•  Each path is a record"
•  Positive/negative label is the outcome"
Algorithm evolution
First model"
•  Fix time decay"
•  Logistic regression using
Mllib logistic regression with
SGD"
Second model"
•  Include both regression
coefficients and decay
parameters in the model"
•  Optimize alternatively in
each iteration"
•  Customize and extend the
original Mllib logistic
regression"
Third model "
•  Second model + Causal
modeling (matched sample)"
Implementation
architecture
Data storage: s3"
Computing platform: Spark
standalone cluster on AWS (Amazon
Web Service)"
Monitor: web UI provided by Spark standalone
cluster"
Server side encryption
Bastion host
Model building"
Data processing and tokenization"
Generate paths"
Parallel algorithm"
Save model to S3"
Attribution"
Data processing and tokenization"
Retrieve model from S3"
Generate positive paths"
Attribution with model"
Implementation
Detailed Workflow
Lessons learned
•  Memory management
–  Each record was transformed from String-based to Byte-based using a hash
function
•  Tremendously increased the speed
•  Reduced shuffle size in the next groupBy step
Lessons learned
•  Memory management
–  Write separate classes for model training and attribution computation
•  Model training needs complex transformation and intensive iteration
•  Attribution computation needs more information from each objects
Lessons Learned (cont’d)
•  Cache before iterative computation
–  Only cache the RDDs right before entering the model
–  Unpersist unused RDDs to save space
•  Clear jobs of stopped apps in workers from time to time
–  Check and clean ~/spark/work folder in workers
–  Check and clean /mnt/spark folder in workers if necessary
•  Be careful when dealing with unserialized Java objects
Lessons Learned (cont’d)
•  Errors of one line of code doesn’t necessarily come from that line
–  Spark is lazy evaluation
–  Errors arise at action step, but may come from the previous
transformation steps
•  Adjustment of step size
–  Time decay must be between 0 and 1
–  After the matching, sample size decreased dramatically, the step
size has to be adjusted accordingly
Thank you!

Contenu connexe

Tendances

The 1 Week Minimum Viable Product (MVP)
The 1 Week Minimum Viable Product (MVP)The 1 Week Minimum Viable Product (MVP)
The 1 Week Minimum Viable Product (MVP)
Alexis Roqué
 

Tendances (20)

천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
The 1 Week Minimum Viable Product (MVP)
The 1 Week Minimum Viable Product (MVP)The 1 Week Minimum Viable Product (MVP)
The 1 Week Minimum Viable Product (MVP)
 
Facebook a marketing survey
Facebook a marketing surveyFacebook a marketing survey
Facebook a marketing survey
 
Crafting a Digital Marketing Strategy that Sells
Crafting a Digital Marketing Strategy that SellsCrafting a Digital Marketing Strategy that Sells
Crafting a Digital Marketing Strategy that Sells
 
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
 
Social media marketing
Social media marketingSocial media marketing
Social media marketing
 
Digital marketing strategy
Digital marketing strategyDigital marketing strategy
Digital marketing strategy
 
Amazon Echo
Amazon EchoAmazon Echo
Amazon Echo
 
Social Media Proposal for Real Estate - Digital Marketing
Social Media Proposal for Real Estate - Digital Marketing Social Media Proposal for Real Estate - Digital Marketing
Social Media Proposal for Real Estate - Digital Marketing
 
Influencer marketing
Influencer marketingInfluencer marketing
Influencer marketing
 
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
 
Amazon.com Business Model
Amazon.com Business ModelAmazon.com Business Model
Amazon.com Business Model
 
Affiliate Marketing
Affiliate MarketingAffiliate Marketing
Affiliate Marketing
 
Building Data Products with BigQuery for PPC and SEO (SMX 2022)
Building Data Products with BigQuery for PPC and SEO (SMX 2022)Building Data Products with BigQuery for PPC and SEO (SMX 2022)
Building Data Products with BigQuery for PPC and SEO (SMX 2022)
 
Server-side Tagging in Google Tag Manager - MeasureSummit 2020
Server-side Tagging in Google Tag Manager - MeasureSummit 2020Server-side Tagging in Google Tag Manager - MeasureSummit 2020
Server-side Tagging in Google Tag Manager - MeasureSummit 2020
 
My journey in amazon seller VA master class
My journey in amazon seller VA master classMy journey in amazon seller VA master class
My journey in amazon seller VA master class
 
Crafting a Digital Marketing Plan
Crafting a Digital Marketing PlanCrafting a Digital Marketing Plan
Crafting a Digital Marketing Plan
 
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
 
Content and Strategy
Content and StrategyContent and Strategy
Content and Strategy
 
Beginners Guide to Amazon Ads
Beginners Guide to Amazon AdsBeginners Guide to Amazon Ads
Beginners Guide to Amazon Ads
 

En vedette

Attribution Super Modeling with Google Analytics
Attribution Super Modeling with Google AnalyticsAttribution Super Modeling with Google Analytics
Attribution Super Modeling with Google Analytics
elliottkoppel
 
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
 

En vedette (16)

Advanced attribution model
Advanced attribution model Advanced attribution model
Advanced attribution model
 
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)
 
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
 
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...
 
Attribution Modeling - Case Study
Attribution Modeling - Case StudyAttribution Modeling - Case Study
Attribution Modeling - Case Study
 
Attribution Super Modeling with Google Analytics
Attribution Super Modeling with Google AnalyticsAttribution Super Modeling with Google Analytics
Attribution Super Modeling with Google Analytics
 
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)
 
Web Analytics Attribution
Web Analytics AttributionWeb Analytics Attribution
Web Analytics Attribution
 
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
 
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
 
Markov model for the online multichannel attribution problem
Markov model for the online multichannel attribution problemMarkov model for the online multichannel attribution problem
Markov model for the online multichannel attribution problem
 
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...
 
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 ...
 

Similaire à Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, Adobe)

Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
Sonya Liberman
 

Similaire à Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, Adobe) (20)

Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...
 
Machine learning
Machine learningMachine learning
Machine learning
 
C19013010 the tutorial to build shared ai services session 1
C19013010  the tutorial to build shared ai services session 1C19013010  the tutorial to build shared ai services session 1
C19013010 the tutorial to build shared ai services session 1
 
Building High Available and Scalable Machine Learning Applications
Building High Available and Scalable Machine Learning ApplicationsBuilding High Available and Scalable Machine Learning Applications
Building High Available and Scalable Machine Learning Applications
 
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
 
How to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePointHow to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePoint
 
Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
Taking the Pain out of Data Science - RecSys Machine Learning Framework Over ...
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure application
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender system
 
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
 
Workshop: Make the Most of Customer Data Platforms - David Raab
Workshop: Make the Most of Customer Data Platforms - David RaabWorkshop: Make the Most of Customer Data Platforms - David Raab
Workshop: Make the Most of Customer Data Platforms - David Raab
 
CCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysisCCI2018 - Real-time dashboard whatif analysis
CCI2018 - Real-time dashboard whatif analysis
 
Barga Galvanize Sept 2015
Barga Galvanize Sept 2015Barga Galvanize Sept 2015
Barga Galvanize Sept 2015
 
Using AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceUsing AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics Service
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...
 
Web Analytics Primer
Web Analytics PrimerWeb Analytics Primer
Web Analytics Primer
 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learning
 
ReStream: Accelerating Backtesting and Stream Replay with Serial-Equivalent P...
ReStream: Accelerating Backtesting and Stream Replay with Serial-Equivalent P...ReStream: Accelerating Backtesting and Stream Replay with Serial-Equivalent P...
ReStream: Accelerating Backtesting and Stream Replay with Serial-Equivalent P...
 
Continuous Analytics & Optimisation using Apache Spark (Big Data Analytics, L...
Continuous Analytics & Optimisation using Apache Spark (Big Data Analytics, L...Continuous Analytics & Optimisation using Apache Spark (Big Data Analytics, L...
Continuous Analytics & Optimisation using Apache Spark (Big Data Analytics, L...
 

Plus de Spark Summit

Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Spark Summit
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Spark Summit
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Spark Summit
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Spark Summit
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Spark Summit
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
Spark Summit
 

Plus de Spark Summit (20)

FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
 
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
 
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
 
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
 
Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub Wozniak
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin Kim
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
 
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
 
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
 
Goal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovGoal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim Simeonov
 
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
 
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkGetting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
 

Dernier

➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
amitlee9823
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
AroojKhan71
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 

Dernier (20)

➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 

Digital Attribution Modeling Using Apache Spark-(Anny Chen and William Yan, Adobe)

  • 1. Algorithmic Digital Attribution Using Spark Anny (Yunzhu) Chen and William (Zhenyu) Yan Adobe
  • 2. Agenda •  Digital attribution •  Algorithmic digital attribution •  Spark implementation •  Lessons learned
  • 3. Path of media touches to conversion Display" • See a display ads of Adobe Creative Cloud" Paid Search" • Search the term “Creative Cloud” and click the promoted link" Organic Search" • Search the term “Adobe Creative Cloud” and click an organic link" Signup" • Signup for a free trial" Email" • Receive an email from Adobe" Subscribe to Adobe Creative Cloud (positive) Not subscribe to Adobe Creative Cloud (negative) A customer may receive various kinds of media touch points before deciding whether to subscribe to a product (conversion) or not
  • 4. What’s digital attribution? 4 •  A digital attribution model determines how credits for conversions are assigned to media touch points •  It is quite important in performance monitoring and budget planning Display" • Saw a display ads of Adobe Creative Cloud" • 0.1" Paid Search" • Search the term “Creative Cloud” and click the promoted link" • 0.2" Organic Search" • Search the term “Adobe Creative Cloud” and click an organic link" • 0.2" Signup" • Signup for a free trial" • 0.2" Email" • Received an email from Adobe" • 0.3" Convert!
  • 5. Digital attribution model at a glance Models! Consider all media touch points! Time decay! Data driven! (vs. rule based)! Last interaction, first interaction, last paid search click! no" no" no" Linear! yes" no" no" Time decay! yes" yes" no" Position based! yes" no" no" Algorithmic! yes" yes " yes"
  • 6. Algorithmic Attribution •  Rule based: predetermined weights based on rules •  Algorithmic: machine learning or statistical models are used to determine the weights 6
  • 7. Algorithmic Attribution Modeling The attribution model is based on a combination of •  Distributed-lag econometric model •  Discrete-time survival model Some highlights: •  The basic idea is to compare the media touches in positive paths vs. those in negative paths and thus infer their effects •  Logistic link function •  Time decay parameters to address time-decaying of media effects •  Fit media touch effects and decay parameters simultaneously •  Constraints on coefficients (combining with rules) •  Stratified sampling •  Bias reduction: –  Using control variables, such as duration of exposure –  Causal modeling •  Maximum likelihood estimation
  • 8. Tokenization •  Tokenization is used to group neighboring events together •  why is tokenization needed?
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Tokenization DISPLAY" DISPLAY" DISPLAY" DISPLAY" DISPLAY" DISPLAY" •  The effect of a media touch is hardly doubled or tripled if it is sent repeatedly to a customer twice or three times in a short period •  Tokenization is used to group neighboring events together •  If you see the same advertisement 5 times in one hour, will you be impressed 5 times or just have the impression “I saw that ad”?"
  • 15. Why Spark? Raw data" Big data tools" Hive, Pig, Impala, Presto…" Big data machine learning tool" Spark" Mahout" Python, R, Java, C++ …" Big data Small data Rule based Algorithmic Iterative update
  • 16. Data process and stitching Event" •  Media touch events; conversion events; other user behavior events" •  Data fields: customer id , time stamp, event type, campaign id and etc." Path" •  Stitch the events of the same customer by “id” " •  Generate both positive paths and negative paths" Model" •  Each path is a record" •  Positive/negative label is the outcome"
  • 17. Algorithm evolution First model" •  Fix time decay" •  Logistic regression using Mllib logistic regression with SGD" Second model" •  Include both regression coefficients and decay parameters in the model" •  Optimize alternatively in each iteration" •  Customize and extend the original Mllib logistic regression" Third model " •  Second model + Causal modeling (matched sample)"
  • 18. Implementation architecture Data storage: s3" Computing platform: Spark standalone cluster on AWS (Amazon Web Service)" Monitor: web UI provided by Spark standalone cluster" Server side encryption Bastion host
  • 19. Model building" Data processing and tokenization" Generate paths" Parallel algorithm" Save model to S3" Attribution" Data processing and tokenization" Retrieve model from S3" Generate positive paths" Attribution with model" Implementation Detailed Workflow
  • 20. Lessons learned •  Memory management –  Each record was transformed from String-based to Byte-based using a hash function •  Tremendously increased the speed •  Reduced shuffle size in the next groupBy step
  • 21. Lessons learned •  Memory management –  Write separate classes for model training and attribution computation •  Model training needs complex transformation and intensive iteration •  Attribution computation needs more information from each objects
  • 22. Lessons Learned (cont’d) •  Cache before iterative computation –  Only cache the RDDs right before entering the model –  Unpersist unused RDDs to save space •  Clear jobs of stopped apps in workers from time to time –  Check and clean ~/spark/work folder in workers –  Check and clean /mnt/spark folder in workers if necessary •  Be careful when dealing with unserialized Java objects
  • 23. Lessons Learned (cont’d) •  Errors of one line of code doesn’t necessarily come from that line –  Spark is lazy evaluation –  Errors arise at action step, but may come from the previous transformation steps •  Adjustment of step size –  Time decay must be between 0 and 1 –  After the matching, sample size decreased dramatically, the step size has to be adjusted accordingly