SlideShare a Scribd company logo
1 of 11
©2016 MediaMath Inc. 1
08.08.2016
Real-time attribution from streaming data using Apache Flink
Real-time Attribution - POC
©2016 MediaMath Inc. 2
AGENDA
Demo
What is Attribution1
Stream vs Batch2
Architecture & Flow3
Windowing & Attribution4
Handling out-of-order messages5
Result
6
7
©2016 MediaMath Inc. 3
What is Attribution
 Impression – ad served to the user
 Events – User’s reaction to the Impression, Clicks, Conversion Event
 Process of matching Conversion event with the Impression
 Needed for assigning the credit of a Event to the right Impression
 PostView and PostClick
UsersImpression Click Conversion
©2016 MediaMath Inc. 4
Stream Vs Batch
 All data sources are Streaming datasource
 We do batch since we buffer data
 No need to wait for the batch to finish
 More control over the actions
Social Networks Server logs IOT User Activity
Data sources:
©2016 MediaMath Inc. 5
Architecture & Flow
©2016 MediaMath Inc. 6
Windowing & Attribution
 RollingWindow of 30 days
 Key by UUID and AdvertiserID
©2016 MediaMath Inc. 7
Handling out-of-order messages
 6 possible ways for i,e,c to occur
 6 possible ways each can arrive to the system
 Have to keep the state of the stream consistent
©2016 MediaMath Inc. 8
Querying the result
 QueryableStream API for real-time queries
 Flink’s internal state backend
 Avoid the overhead of communicating with external system
 Druid datastore (updated less frequently)
©2016 MediaMath Inc. 9
Demo
©2016 MediaMath Inc. 10
Conclusion
 Ran on AWS cluster with 15 task slots with 1.3gb each
 Processed 40gb of data in about 4 hours
 Customers can see how their campaigns are doing in real-time
 Can switch to more complex Attribution logics – Multi-touch attribution
©2016 MediaMath Inc. 11
Vishnu Viswanath
Data Engineer Intern
4 World Trade Center, 46th Floor
New York, NY 10007
THANK YOU!

More Related Content

Viewers also liked

Activitati culturale
Activitati culturaleActivitati culturale
Activitati culturalenelapersonal
 
Activitati culturale flux ii
Activitati culturale flux iiActivitati culturale flux ii
Activitati culturale flux iinelapersonal
 
Activitati culturale flux i
Activitati culturale flux iActivitati culturale flux i
Activitati culturale flux inelapersonal
 
Job shadowing staff flux i
Job shadowing staff flux iJob shadowing staff flux i
Job shadowing staff flux inelapersonal
 
Stagiu de formare elevi - Flux I
Stagiu de formare elevi - Flux IStagiu de formare elevi - Flux I
Stagiu de formare elevi - Flux Inelapersonal
 
Activitati culturale flux i
Activitati culturale flux iActivitati culturale flux i
Activitati culturale flux inelapersonal
 
Diseminare job shadowing flux iii
Diseminare job shadowing flux iiiDiseminare job shadowing flux iii
Diseminare job shadowing flux iiinelapersonal
 
Job shadowing flux 2
Job shadowing flux 2Job shadowing flux 2
Job shadowing flux 2nelapersonal
 
Stagiu de formare flux ii
Stagiu de formare flux iiStagiu de formare flux ii
Stagiu de formare flux iinelapersonal
 
Stagiu de formare flux ii mic
 Stagiu de formare flux ii mic Stagiu de formare flux ii mic
Stagiu de formare flux ii micnelapersonal
 
Diseminare activitati culturale flux iii
Diseminare activitati culturale flux iiiDiseminare activitati culturale flux iii
Diseminare activitati culturale flux iiinelapersonal
 
Parteneriate scoala gimnaziala speciala nr. 7
Parteneriate scoala gimnaziala speciala nr. 7Parteneriate scoala gimnaziala speciala nr. 7
Parteneriate scoala gimnaziala speciala nr. 7nelapersonal
 
Prezentare snac 2016
Prezentare snac 2016Prezentare snac 2016
Prezentare snac 2016nelapersonal
 

Viewers also liked (15)

Presentation disney 0+
Presentation disney 0+Presentation disney 0+
Presentation disney 0+
 
Activitati culturale
Activitati culturaleActivitati culturale
Activitati culturale
 
Activitati culturale flux ii
Activitati culturale flux iiActivitati culturale flux ii
Activitati culturale flux ii
 
Activitati culturale flux i
Activitati culturale flux iActivitati culturale flux i
Activitati culturale flux i
 
Job shadowing staff flux i
Job shadowing staff flux iJob shadowing staff flux i
Job shadowing staff flux i
 
Stagiu de formare elevi - Flux I
Stagiu de formare elevi - Flux IStagiu de formare elevi - Flux I
Stagiu de formare elevi - Flux I
 
Activitati culturale flux i
Activitati culturale flux iActivitati culturale flux i
Activitati culturale flux i
 
Diseminare job shadowing flux iii
Diseminare job shadowing flux iiiDiseminare job shadowing flux iii
Diseminare job shadowing flux iii
 
Job shadowing flux 2
Job shadowing flux 2Job shadowing flux 2
Job shadowing flux 2
 
Stagiu de formare flux ii
Stagiu de formare flux iiStagiu de formare flux ii
Stagiu de formare flux ii
 
Stagiu de formare flux ii mic
 Stagiu de formare flux ii mic Stagiu de formare flux ii mic
Stagiu de formare flux ii mic
 
Diseminare activitati culturale flux iii
Diseminare activitati culturale flux iiiDiseminare activitati culturale flux iii
Diseminare activitati culturale flux iii
 
Bird watching
Bird watchingBird watching
Bird watching
 
Parteneriate scoala gimnaziala speciala nr. 7
Parteneriate scoala gimnaziala speciala nr. 7Parteneriate scoala gimnaziala speciala nr. 7
Parteneriate scoala gimnaziala speciala nr. 7
 
Prezentare snac 2016
Prezentare snac 2016Prezentare snac 2016
Prezentare snac 2016
 

Similar to Realtime attribution flink

Moving Past Infrastructure Limitations
Moving Past Infrastructure LimitationsMoving Past Infrastructure Limitations
Moving Past Infrastructure LimitationsCaserta
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02sumitahuja94
 
Big Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementBig Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementMatt Stubbs
 
Learn How to Operationalize IoT Apps on Pivotal Cloud Foundry
Learn How to Operationalize IoT Apps on Pivotal Cloud FoundryLearn How to Operationalize IoT Apps on Pivotal Cloud Foundry
Learn How to Operationalize IoT Apps on Pivotal Cloud FoundryVMware Tanzu
 
Data Science Powered Apps for Internet of Things
Data Science Powered Apps for Internet of ThingsData Science Powered Apps for Internet of Things
Data Science Powered Apps for Internet of ThingsVMware Tanzu
 
Delivering Services Powered by Operational Data - Connected Services
Delivering Services Powered by Operational Data -  Connected ServicesDelivering Services Powered by Operational Data -  Connected Services
Delivering Services Powered by Operational Data - Connected ServicesOSIsoft, LLC
 
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...VoltDB
 
From AMP to PWA
From AMP to PWAFrom AMP to PWA
From AMP to PWAIdo Green
 
Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Himanshu Gupta
 
Apply Machine Learning to Microservices
Apply Machine Learning to MicroservicesApply Machine Learning to Microservices
Apply Machine Learning to MicroservicesKai Wähner
 
What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)AppDynamics
 
eMarketer Webinar: Programmatic Advertising—Rising Investment and New Realities
eMarketer Webinar: Programmatic Advertising—Rising Investment and New RealitieseMarketer Webinar: Programmatic Advertising—Rising Investment and New Realities
eMarketer Webinar: Programmatic Advertising—Rising Investment and New RealitieseMarketer
 
AsyncAPI Conference: From Design to Code with Marc DiPasquale
AsyncAPI Conference: From Design to Code with Marc DiPasqualeAsyncAPI Conference: From Design to Code with Marc DiPasquale
AsyncAPI Conference: From Design to Code with Marc DiPasqualeSolace
 
Real-Time Treasury approach to real-time data connectivity - ConVista.pdf
Real-Time Treasury approach to real-time data connectivity - ConVista.pdfReal-Time Treasury approach to real-time data connectivity - ConVista.pdf
Real-Time Treasury approach to real-time data connectivity - ConVista.pdfConVista Consulting Asia
 
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]AppNexus
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Case Study_Application for integration with financial organizations
Case Study_Application for integration with financial organizationsCase Study_Application for integration with financial organizations
Case Study_Application for integration with financial organizationsElinext
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 

Similar to Realtime attribution flink (20)

Moving Past Infrastructure Limitations
Moving Past Infrastructure LimitationsMoving Past Infrastructure Limitations
Moving Past Infrastructure Limitations
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
 
Big Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementBig Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data Management
 
Learn How to Operationalize IoT Apps on Pivotal Cloud Foundry
Learn How to Operationalize IoT Apps on Pivotal Cloud FoundryLearn How to Operationalize IoT Apps on Pivotal Cloud Foundry
Learn How to Operationalize IoT Apps on Pivotal Cloud Foundry
 
Data Science Powered Apps for Internet of Things
Data Science Powered Apps for Internet of ThingsData Science Powered Apps for Internet of Things
Data Science Powered Apps for Internet of Things
 
Delivering Services Powered by Operational Data - Connected Services
Delivering Services Powered by Operational Data -  Connected ServicesDelivering Services Powered by Operational Data -  Connected Services
Delivering Services Powered by Operational Data - Connected Services
 
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
 
From AMP to PWA
From AMP to PWAFrom AMP to PWA
From AMP to PWA
 
Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+
 
Apply Machine Learning to Microservices
Apply Machine Learning to MicroservicesApply Machine Learning to Microservices
Apply Machine Learning to Microservices
 
What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)What's New in the Winter '16 Release (4.2)
What's New in the Winter '16 Release (4.2)
 
eMarketer Webinar: Programmatic Advertising—Rising Investment and New Realities
eMarketer Webinar: Programmatic Advertising—Rising Investment and New RealitieseMarketer Webinar: Programmatic Advertising—Rising Investment and New Realities
eMarketer Webinar: Programmatic Advertising—Rising Investment and New Realities
 
AsyncAPI Conference: From Design to Code with Marc DiPasquale
AsyncAPI Conference: From Design to Code with Marc DiPasqualeAsyncAPI Conference: From Design to Code with Marc DiPasquale
AsyncAPI Conference: From Design to Code with Marc DiPasquale
 
Real-Time Treasury approach to real-time data connectivity - ConVista.pdf
Real-Time Treasury approach to real-time data connectivity - ConVista.pdfReal-Time Treasury approach to real-time data connectivity - ConVista.pdf
Real-Time Treasury approach to real-time data connectivity - ConVista.pdf
 
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]
Real-Time Real-Talk: Real-World Applications of Streaming Data [Webinar]
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Case Study_Application for integration with financial organizations
Case Study_Application for integration with financial organizationsCase Study_Application for integration with financial organizations
Case Study_Application for integration with financial organizations
 
EBU (Geneva, April 2016)
EBU (Geneva, April 2016)EBU (Geneva, April 2016)
EBU (Geneva, April 2016)
 
AdvancedTrackerSolution
AdvancedTrackerSolutionAdvancedTrackerSolution
AdvancedTrackerSolution
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Realtime attribution flink

  • 1. ©2016 MediaMath Inc. 1 08.08.2016 Real-time attribution from streaming data using Apache Flink Real-time Attribution - POC
  • 2. ©2016 MediaMath Inc. 2 AGENDA Demo What is Attribution1 Stream vs Batch2 Architecture & Flow3 Windowing & Attribution4 Handling out-of-order messages5 Result 6 7
  • 3. ©2016 MediaMath Inc. 3 What is Attribution  Impression – ad served to the user  Events – User’s reaction to the Impression, Clicks, Conversion Event  Process of matching Conversion event with the Impression  Needed for assigning the credit of a Event to the right Impression  PostView and PostClick UsersImpression Click Conversion
  • 4. ©2016 MediaMath Inc. 4 Stream Vs Batch  All data sources are Streaming datasource  We do batch since we buffer data  No need to wait for the batch to finish  More control over the actions Social Networks Server logs IOT User Activity Data sources:
  • 5. ©2016 MediaMath Inc. 5 Architecture & Flow
  • 6. ©2016 MediaMath Inc. 6 Windowing & Attribution  RollingWindow of 30 days  Key by UUID and AdvertiserID
  • 7. ©2016 MediaMath Inc. 7 Handling out-of-order messages  6 possible ways for i,e,c to occur  6 possible ways each can arrive to the system  Have to keep the state of the stream consistent
  • 8. ©2016 MediaMath Inc. 8 Querying the result  QueryableStream API for real-time queries  Flink’s internal state backend  Avoid the overhead of communicating with external system  Druid datastore (updated less frequently)
  • 10. ©2016 MediaMath Inc. 10 Conclusion  Ran on AWS cluster with 15 task slots with 1.3gb each  Processed 40gb of data in about 4 hours  Customers can see how their campaigns are doing in real-time  Can switch to more complex Attribution logics – Multi-touch attribution
  • 11. ©2016 MediaMath Inc. 11 Vishnu Viswanath Data Engineer Intern 4 World Trade Center, 46th Floor New York, NY 10007 THANK YOU!

Editor's Notes

  1. PostClick (PC) Impression – Click – Conversion Event Match Click with Impression (C-I) Match Event with Impression (E-I) Match (E-I) with (C-I) PC time lag PC+1 PostView (PV) Impression – Conversion Event Match Event with Impression PV time lag PV+1