SlideShare a Scribd company logo
1 of 47
Download to read offline
Real-time Revenue
Science @Twitter
@nicholasgorski
ngorski@twitter.com
28 March 2017
Nick Gorski
Engineering Manager, Ads Marketplace
@nicholasgorski
Built ML stack & team
“Data quarterback”
Michigan PhD in AI/ML
AVID M sports fan
2015: TellApart -> Twitter
Ads Marketplace
Three things to know about me
Team of 11 ML eng and
tech DS
We select, place, and
price ads for Twitter
Seattle & SF
Three things about Ads Marketplace
1 2 3
1. Intro to Twitter ads
2. Revenue Science production ML stack
3. Data science across the rest of Twitter
Agenda
Twitter Ads
Here’s where our Kona coffee
beans are grown on the Big Island
in Hawaii. Feast your eyes!
The Barista Bar
@baristabar
Promoted
RETWEETS27 LIKES27
Twitter invented
native ads
Twitter invented
native ads
Why do people buy ads?
Create Awareness
Show Value
Engage Customers
Inspire Action
Users should find Twitter ads as
engaging as organic content.
So. Ads.
(We prefer “ad tech”).
Maximize Twitter revenue
Use “rankscore”, or the expected revenue for showing an ad to a user
Calculated per ad-slot in a request
Minimize impact to user engagement
Long-running holdout experiments to evaluate impact of ad load on users
Requires valuing user activity in dollars
Minimize cost of computation
More relevant ads cost more money
Straightforward trade-off
Hydrating the timeline
Twitter ad requests served
every second
Here’s where our Kona coffee
beans are grown on the Big Island
in Hawaii. Feast your eyes!
The Barista Bar
@baristabar
Promoted
RETWEETS27 LIKES27
XXXk
YYYk
Some numbers
Active ad campaigns
80 ms to pick ads for timeline
Twitter’s Revenue
Science Production
Stack
Lifecycle of an ad request
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
Lifecycle of an ad request
Data Targeting Prediction Marketplace
● Twitter product: Follow-graph, Tweet engagements, user behavior
● Advertisers: Website browsing behavior, in-app behavior
● Partners: Data aggregators, 3rd party data sets
And Twitter has much more data than that.
● To predict user behavior, need:
○ Audiences
■ Custom - advertiser site visitors
■ Tailored - advertiser lists of emails or Twitter handles
■ Modeled - based on interests
○ Features of interactions with
■ Twitter product
■ Ads
■ Advertiser sites
■ Advertiser applications
Example: serving user data
Eventbus
HDFS
Manhattan
RO
Nighthawk
RW
Serving
layer
Adserver
Scalding
Summingbird
kafka redis
cassandra
voldemort
hadoop
Serving fast data: lambda architecture
Twitter
client
Adv.
tags
Adv.
apps Storm
Campaign spend
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
Lifecycle of an ad request
● Advertisers specify the types of
people they want to target
○ User Attributes
(age, gender, geo, device, etc.)
○ User Interest
(topics, keywords, handles,
events, tv shows, etc.)
● Many user attributes are modeled
● Campaign eligibility is binary
(for now)
Data Targeting Prediction Marketplace
● Age, gender, geo, etc. - logistic regression models applied offline
● Interest modeling
○ Seems straightforward, but:
■ What does it mean to target “interests”?
■ How to structure Twitter data?
■ How can we handle scale?
○ Three applications
■ Follower interest
■ Keyword interest
■ Topic interest
Reaching a relevant audience
● Most organic interest targeting
○ People follow handles
corresponding to their interests
○ Handles perform well for
advertisers
● Features: cosine similarity between
handles, local topology from social
network, etc.
● LR model predicts probability of
future links being added to social
network
Follower targeting
● Versatile & flexible
● But ambiguous & limited reach
● CBOW model embeds n-grams into 300d latent space
● Cosine similarity -> semantic similarity
Keyword targeting
● Organized into taxonomy
○ XX parent topics (“music”, “sports”)
○ YYY children (“jazz”, “basketball”)
● No ambiguity, large reach
● Random forest classifier
● Survey users for labeled data
● Features:
○ Of topic
○ Of user
○ Cross of topic and user
Topic interest
Poll: which campaign performs best?
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
Lifecycle of an ad request
● Prediction: What is the probability of an engagement if we show this ad?
● Learns P(click | user, ad, t)
● Uses state of the art home-rolled ML platform (Lolly)
● Full prediction is expensive
○ XXXX dense user features
○ Sparse features hashed into 2^28 space
○ YYY ad features
○ Global features
○ Crosses of user x ad features
Data Targeting Prediction Marketplace
● Lolly was built to replace Vowpal Wabbit
○ Distributed online learning
○ SGD LR
● Powerful: adaptive learning rates, variety of loss functions, regularization,
importance weighting, adaptive normalization, contextual bandits, warm
start
● Feature representation: GBDT, transforms
● Memory management: controls model size, will always hash into RAM
● 5x faster than VW online service
Lolly - Twitter’s ML infrastructure
● P(engagement) prediction can be very good, but also is very expensive
● Balance performance and cost with tunable heuristics
Ad request
Filtering
Light pCTR
Eligibility
Full pCTR(ad, placement) tuples
~100s
~50
~1000
A LOT
Balancing revenue with compute
AdMixer
Ad request
(ad, placement) tuples
Prediction in production
AdMixer AdMixer AdMixer
AdMixer
AdShard
Filtering
Light pCTR
Eligibility
Full pCTRPrediction
Service
batch
online
● Ads ecosystem is non-stationary - ADAM
● Online regularization - L1 with lazy updates
● Importance weighting - gradient scaling
● Delayed feedback
● Explore exploit
● Hyperparameter tuning
● Model calibration
● Distributed systems break
Challenges of online learning
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
Lifecycle of an ad request
Data Targeting Prediction Marketplace
● Core marketplace problem: translate P(engage) to bid, run an internal
auction to determine (ad, position) tuples
● Complexity arises from:
○ Different bid types
○ Different bid optimizations
○ Campaign pacing
○ User experience
eCPA1
= 5% link click chance * $4 link click bid = $0.20
eCPA2
= 30% video view * $0.50 video view bid = $0.15
Second price: bid needed to win = $0.15 / 5% = $3 charge on link click
Many advertisers bidding for different events, competing for the same slots.
Auction dynamics
Actually not constant bids, twitter offers bidding strategies:
○ Target bidding: guarantee daily spend / clicks <= target
○ Conversion optimization: e.g. pay for click “optimize” for app installs
○ Budget pacing: get the most clicks on a fixed budget
Billions of auctions a day, each with 10k+ ads, huge distributed system, ...
Auction complexities
Campaign pacing
Campaign pacing
Campaign pacing
● Serving: Receive ad request from app
● Data: Look-up data about the user
● Targeting: Identify eligible campaigns
● Prediction: Calculate probability of relevance
● Marketplace: Choose the best ads
● Serving: Send the ad to the app
● Formats: Render the ad as an impression
● Feedback: Did the user engage click?
● Billing: Charge advertiser for engagements
Lifecycle of an ad request
p99
80ms
The Rest of Twitter
Data science everywhere
“As I look into 2017 and we look at what we can do, I just think the
superpower we really provide the world is we
can break news and get information to people
faster than any other service in the world. And in order to do that,
people have to do just a ton of work right now to dig through
everything that may not matter to them to find something that really
does. And that’s why I am excited about really making sure that we
apply artificial intelligence and machine learning
in the right ways and that we really meet that superpower of
being that little bird that told you something that you couldn’t find
anywhere else.”
-Jack Dorsey, Twitter CEO
Consumer Twitter product
Ranked timeline, who to follow, notifications, recommended tweets, moments, …
Cortex (deep learning science team)
Semantic tagging, image tagging, video tagging, NSFX, …
Abuse
Inappropriate content, user penalty box, safe search, ...
Identity
Deterministic & probabilistic identifier bridging
And others
Machine Learning at Twitter
Outside of ads
careers.twitter.com
Insanely great team
Doing hard things
Uncommon opportunity for impact
ksimmons@twitter.com
ngorski@twitter.com

More Related Content

What's hot

MadNet Performance Marketing
MadNet Performance MarketingMadNet Performance Marketing
MadNet Performance MarketingNikolay Khokhlov
 
Paid search management technology
Paid search management technologyPaid search management technology
Paid search management technologybbullockRKG
 
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...e-dialog GmbH
 
Programmatic ad buying in 3 slides
Programmatic ad buying in 3 slidesProgrammatic ad buying in 3 slides
Programmatic ad buying in 3 slidesOne Marketing Ltd
 
The 5Ws + 1H of Audience Data
The 5Ws + 1H of Audience DataThe 5Ws + 1H of Audience Data
The 5Ws + 1H of Audience DataMelissa Chue
 
Measuring Lead Generation with Google Analytics
Measuring Lead Generation with Google AnalyticsMeasuring Lead Generation with Google Analytics
Measuring Lead Generation with Google AnalyticsNuSpark Marketing
 
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...Digital Science Consulting Ltd
 
Sempl 18: Rene Lamsfuss
Sempl 18: Rene LamsfussSempl 18: Rene Lamsfuss
Sempl 18: Rene LamsfussSempl 21
 
Hotel Marketing Analytics
Hotel Marketing AnalyticsHotel Marketing Analytics
Hotel Marketing AnalyticsNancy Huang
 
The House Always Wins: How smart technology maximizes revenue strategies for ...
The House Always Wins: How smart technology maximizes revenue strategies for ...The House Always Wins: How smart technology maximizes revenue strategies for ...
The House Always Wins: How smart technology maximizes revenue strategies for ...Nancy Huang
 
Sempl 18: Jure Gostiša and Frederik Andersson
Sempl 18: Jure Gostiša and Frederik AnderssonSempl 18: Jure Gostiša and Frederik Andersson
Sempl 18: Jure Gostiša and Frederik AnderssonSempl 21
 
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...Sempl 21
 
Capabilities of 'Comprehensive Analysis (newage.)
Capabilities of 'Comprehensive Analysis (newage.)Capabilities of 'Comprehensive Analysis (newage.)
Capabilities of 'Comprehensive Analysis (newage.)newage.
 
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret EscapesBlueclaw
 
Yandex - How to enter the Russian market
Yandex - How to enter the Russian marketYandex - How to enter the Russian market
Yandex - How to enter the Russian marketKeepShareSlide
 
DWA_Intent Driven Marketing PDF_FINAL
DWA_Intent Driven Marketing PDF_FINALDWA_Intent Driven Marketing PDF_FINAL
DWA_Intent Driven Marketing PDF_FINALBrent Peckham
 

What's hot (20)

MadNet Performance Marketing
MadNet Performance MarketingMadNet Performance Marketing
MadNet Performance Marketing
 
Seekda: Company overview
Seekda: Company overviewSeekda: Company overview
Seekda: Company overview
 
Tru Measure Shark Tank Presentation at The 2017 ROUNDTABLE
Tru Measure Shark Tank Presentation at The 2017 ROUNDTABLETru Measure Shark Tank Presentation at The 2017 ROUNDTABLE
Tru Measure Shark Tank Presentation at The 2017 ROUNDTABLE
 
Paid search management technology
Paid search management technologyPaid search management technology
Paid search management technology
 
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...
Viktoria Schinkel & Gregor Eßer (Google) Data Driven Advertising für Kreative...
 
Programmatic ad buying in 3 slides
Programmatic ad buying in 3 slidesProgrammatic ad buying in 3 slides
Programmatic ad buying in 3 slides
 
The 5Ws + 1H of Audience Data
The 5Ws + 1H of Audience DataThe 5Ws + 1H of Audience Data
The 5Ws + 1H of Audience Data
 
Measuring Lead Generation with Google Analytics
Measuring Lead Generation with Google AnalyticsMeasuring Lead Generation with Google Analytics
Measuring Lead Generation with Google Analytics
 
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...
Attribution Modelling or Customer 360⁰ view engineering: Which comes first & ...
 
Sempl 18: Rene Lamsfuss
Sempl 18: Rene LamsfussSempl 18: Rene Lamsfuss
Sempl 18: Rene Lamsfuss
 
Hotel Marketing Analytics
Hotel Marketing AnalyticsHotel Marketing Analytics
Hotel Marketing Analytics
 
Solving Big Data Industry Use Cases with AWS Cloud Computing
Solving Big Data Industry Use Cases with AWS Cloud ComputingSolving Big Data Industry Use Cases with AWS Cloud Computing
Solving Big Data Industry Use Cases with AWS Cloud Computing
 
The House Always Wins: How smart technology maximizes revenue strategies for ...
The House Always Wins: How smart technology maximizes revenue strategies for ...The House Always Wins: How smart technology maximizes revenue strategies for ...
The House Always Wins: How smart technology maximizes revenue strategies for ...
 
Sempl 18: Jure Gostiša and Frederik Andersson
Sempl 18: Jure Gostiša and Frederik AnderssonSempl 18: Jure Gostiša and Frederik Andersson
Sempl 18: Jure Gostiša and Frederik Andersson
 
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...
SEMPL 19: MARIUS IVANOVAS, Head of Performance & Biga Data Division, Httpool ...
 
Capabilities of 'Comprehensive Analysis (newage.)
Capabilities of 'Comprehensive Analysis (newage.)Capabilities of 'Comprehensive Analysis (newage.)
Capabilities of 'Comprehensive Analysis (newage.)
 
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes
10. Rumyana Miteva, Head of Performance Marketing & Revenue - Secret Escapes
 
Yandex - How to enter the Russian market
Yandex - How to enter the Russian marketYandex - How to enter the Russian market
Yandex - How to enter the Russian market
 
DWA_Intent Driven Marketing PDF_FINAL
DWA_Intent Driven Marketing PDF_FINALDWA_Intent Driven Marketing PDF_FINAL
DWA_Intent Driven Marketing PDF_FINAL
 
DWA_Intent Driven Marketing
DWA_Intent Driven MarketingDWA_Intent Driven Marketing
DWA_Intent Driven Marketing
 

Similar to Nicholas Gorski: Real-time revenue science at Twitter

Epam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support SystemEpam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support SystemDmitry Tolpeko
 
Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Clovis Chapman
 
Understanding the Ins and Outs of Programmatic for PPC
Understanding the Ins and Outs of Programmatic for PPCUnderstanding the Ins and Outs of Programmatic for PPC
Understanding the Ins and Outs of Programmatic for PPCHanapin Marketing
 
Elevating customer analytics - how to gain a 720 degree view of your customer
Elevating customer analytics - how to gain a 720 degree view of your customerElevating customer analytics - how to gain a 720 degree view of your customer
Elevating customer analytics - how to gain a 720 degree view of your customerActian Corporation
 
Webinar: Retargeting to the Max
Webinar: Retargeting to the MaxWebinar: Retargeting to the Max
Webinar: Retargeting to the MaxKatana Media
 
Part 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyPart 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyTrieu Nguyen
 
Capabilities of 'Comprehensive Analysis' of digital ad campaigns
Capabilities of 'Comprehensive Analysis' of digital ad campaignsCapabilities of 'Comprehensive Analysis' of digital ad campaigns
Capabilities of 'Comprehensive Analysis' of digital ad campaignsnewage. digital agency
 
How to leverage market insights for winning Digital Strategies
How to leverage market insights for winning Digital StrategiesHow to leverage market insights for winning Digital Strategies
How to leverage market insights for winning Digital StrategiesMel Tomas
 
Data Science Salon: Enabling self-service predictive analytics at Bidtellect
Data Science Salon: Enabling self-service predictive analytics at BidtellectData Science Salon: Enabling self-service predictive analytics at Bidtellect
Data Science Salon: Enabling self-service predictive analytics at BidtellectFormulatedby
 
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Databricks
 
Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020 Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020 Roelof van Zwol
 
Benchmarking Your Online Impact: From Stats to Reputation Management
Benchmarking Your Online Impact: From Stats to Reputation ManagementBenchmarking Your Online Impact: From Stats to Reputation Management
Benchmarking Your Online Impact: From Stats to Reputation ManagementNSI Partners, LLC
 
Data Science Salon: Digital Transformation: The Data Science Catalyst
Data Science Salon: Digital Transformation: The Data Science CatalystData Science Salon: Digital Transformation: The Data Science Catalyst
Data Science Salon: Digital Transformation: The Data Science CatalystFormulatedby
 
Why is programmatic taking off? What is this revolution all about?
Why is programmatic taking off?  What is this revolution all about?Why is programmatic taking off?  What is this revolution all about?
Why is programmatic taking off? What is this revolution all about?Datacratic
 
OnlineMarketing_BestPractices_small
OnlineMarketing_BestPractices_smallOnlineMarketing_BestPractices_small
OnlineMarketing_BestPractices_smallChris Rash
 
COM 5401Advertising Production and ManagementAdvertisi.docx
COM 5401Advertising Production and ManagementAdvertisi.docxCOM 5401Advertising Production and ManagementAdvertisi.docx
COM 5401Advertising Production and ManagementAdvertisi.docxmccormicknadine86
 

Similar to Nicholas Gorski: Real-time revenue science at Twitter (20)

Epam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support SystemEpam BI - Near Realtime Marketing Support System
Epam BI - Near Realtime Marketing Support System
 
Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017
 
Understanding the Ins and Outs of Programmatic for PPC
Understanding the Ins and Outs of Programmatic for PPCUnderstanding the Ins and Outs of Programmatic for PPC
Understanding the Ins and Outs of Programmatic for PPC
 
Elevating customer analytics - how to gain a 720 degree view of your customer
Elevating customer analytics - how to gain a 720 degree view of your customerElevating customer analytics - how to gain a 720 degree view of your customer
Elevating customer analytics - how to gain a 720 degree view of your customer
 
Webinar: Retargeting to the Max
Webinar: Retargeting to the MaxWebinar: Retargeting to the Max
Webinar: Retargeting to the Max
 
Part 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technologyPart 1: Introduction to digital marketing technology
Part 1: Introduction to digital marketing technology
 
Capabilities of 'Comprehensive Analysis' of digital ad campaigns
Capabilities of 'Comprehensive Analysis' of digital ad campaignsCapabilities of 'Comprehensive Analysis' of digital ad campaigns
Capabilities of 'Comprehensive Analysis' of digital ad campaigns
 
Data & AI Master Class - Jan Klawer, Artefact
Data & AI Master Class - Jan Klawer, ArtefactData & AI Master Class - Jan Klawer, Artefact
Data & AI Master Class - Jan Klawer, Artefact
 
How to leverage market insights for winning Digital Strategies
How to leverage market insights for winning Digital StrategiesHow to leverage market insights for winning Digital Strategies
How to leverage market insights for winning Digital Strategies
 
Data Science Salon: Enabling self-service predictive analytics at Bidtellect
Data Science Salon: Enabling self-service predictive analytics at BidtellectData Science Salon: Enabling self-service predictive analytics at Bidtellect
Data Science Salon: Enabling self-service predictive analytics at Bidtellect
 
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
 
Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020 Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020
 
Benchmarking Your Online Impact: From Stats to Reputation Management
Benchmarking Your Online Impact: From Stats to Reputation ManagementBenchmarking Your Online Impact: From Stats to Reputation Management
Benchmarking Your Online Impact: From Stats to Reputation Management
 
Data Science Salon: Digital Transformation: The Data Science Catalyst
Data Science Salon: Digital Transformation: The Data Science CatalystData Science Salon: Digital Transformation: The Data Science Catalyst
Data Science Salon: Digital Transformation: The Data Science Catalyst
 
Why is programmatic taking off? What is this revolution all about?
Why is programmatic taking off?  What is this revolution all about?Why is programmatic taking off?  What is this revolution all about?
Why is programmatic taking off? What is this revolution all about?
 
OnlineMarketing_BestPractices_small
OnlineMarketing_BestPractices_smallOnlineMarketing_BestPractices_small
OnlineMarketing_BestPractices_small
 
COM 5401Advertising Production and ManagementAdvertisi.docx
COM 5401Advertising Production and ManagementAdvertisi.docxCOM 5401Advertising Production and ManagementAdvertisi.docx
COM 5401Advertising Production and ManagementAdvertisi.docx
 
The ROI of UX
The ROI of UX The ROI of UX
The ROI of UX
 
Dicon interactive
Dicon interactiveDicon interactive
Dicon interactive
 
BOLO2010 Portugal
BOLO2010 PortugalBOLO2010 Portugal
BOLO2010 Portugal
 

Recently uploaded

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Nicholas Gorski: Real-time revenue science at Twitter

  • 2. Nick Gorski Engineering Manager, Ads Marketplace @nicholasgorski
  • 3. Built ML stack & team “Data quarterback” Michigan PhD in AI/ML AVID M sports fan 2015: TellApart -> Twitter Ads Marketplace Three things to know about me
  • 4. Team of 11 ML eng and tech DS We select, place, and price ads for Twitter Seattle & SF Three things about Ads Marketplace 1 2 3
  • 5. 1. Intro to Twitter ads 2. Revenue Science production ML stack 3. Data science across the rest of Twitter Agenda
  • 7. Here’s where our Kona coffee beans are grown on the Big Island in Hawaii. Feast your eyes! The Barista Bar @baristabar Promoted RETWEETS27 LIKES27 Twitter invented native ads
  • 9.
  • 10.
  • 11. Why do people buy ads? Create Awareness Show Value Engage Customers Inspire Action
  • 12. Users should find Twitter ads as engaging as organic content.
  • 13. So. Ads. (We prefer “ad tech”).
  • 14. Maximize Twitter revenue Use “rankscore”, or the expected revenue for showing an ad to a user Calculated per ad-slot in a request Minimize impact to user engagement Long-running holdout experiments to evaluate impact of ad load on users Requires valuing user activity in dollars Minimize cost of computation More relevant ads cost more money Straightforward trade-off Hydrating the timeline
  • 15. Twitter ad requests served every second Here’s where our Kona coffee beans are grown on the Big Island in Hawaii. Feast your eyes! The Barista Bar @baristabar Promoted RETWEETS27 LIKES27 XXXk YYYk Some numbers Active ad campaigns 80 ms to pick ads for timeline
  • 17. Lifecycle of an ad request ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements
  • 18. ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements Lifecycle of an ad request
  • 19. Data Targeting Prediction Marketplace ● Twitter product: Follow-graph, Tweet engagements, user behavior ● Advertisers: Website browsing behavior, in-app behavior ● Partners: Data aggregators, 3rd party data sets And Twitter has much more data than that.
  • 20. ● To predict user behavior, need: ○ Audiences ■ Custom - advertiser site visitors ■ Tailored - advertiser lists of emails or Twitter handles ■ Modeled - based on interests ○ Features of interactions with ■ Twitter product ■ Ads ■ Advertiser sites ■ Advertiser applications Example: serving user data
  • 23. ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements Lifecycle of an ad request
  • 24. ● Advertisers specify the types of people they want to target ○ User Attributes (age, gender, geo, device, etc.) ○ User Interest (topics, keywords, handles, events, tv shows, etc.) ● Many user attributes are modeled ● Campaign eligibility is binary (for now) Data Targeting Prediction Marketplace
  • 25. ● Age, gender, geo, etc. - logistic regression models applied offline ● Interest modeling ○ Seems straightforward, but: ■ What does it mean to target “interests”? ■ How to structure Twitter data? ■ How can we handle scale? ○ Three applications ■ Follower interest ■ Keyword interest ■ Topic interest Reaching a relevant audience
  • 26. ● Most organic interest targeting ○ People follow handles corresponding to their interests ○ Handles perform well for advertisers ● Features: cosine similarity between handles, local topology from social network, etc. ● LR model predicts probability of future links being added to social network Follower targeting
  • 27. ● Versatile & flexible ● But ambiguous & limited reach ● CBOW model embeds n-grams into 300d latent space ● Cosine similarity -> semantic similarity Keyword targeting
  • 28. ● Organized into taxonomy ○ XX parent topics (“music”, “sports”) ○ YYY children (“jazz”, “basketball”) ● No ambiguity, large reach ● Random forest classifier ● Survey users for labeled data ● Features: ○ Of topic ○ Of user ○ Cross of topic and user Topic interest
  • 29. Poll: which campaign performs best?
  • 30. ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements Lifecycle of an ad request
  • 31. ● Prediction: What is the probability of an engagement if we show this ad? ● Learns P(click | user, ad, t) ● Uses state of the art home-rolled ML platform (Lolly) ● Full prediction is expensive ○ XXXX dense user features ○ Sparse features hashed into 2^28 space ○ YYY ad features ○ Global features ○ Crosses of user x ad features Data Targeting Prediction Marketplace
  • 32. ● Lolly was built to replace Vowpal Wabbit ○ Distributed online learning ○ SGD LR ● Powerful: adaptive learning rates, variety of loss functions, regularization, importance weighting, adaptive normalization, contextual bandits, warm start ● Feature representation: GBDT, transforms ● Memory management: controls model size, will always hash into RAM ● 5x faster than VW online service Lolly - Twitter’s ML infrastructure
  • 33. ● P(engagement) prediction can be very good, but also is very expensive ● Balance performance and cost with tunable heuristics Ad request Filtering Light pCTR Eligibility Full pCTR(ad, placement) tuples ~100s ~50 ~1000 A LOT Balancing revenue with compute
  • 34. AdMixer Ad request (ad, placement) tuples Prediction in production AdMixer AdMixer AdMixer AdMixer AdShard Filtering Light pCTR Eligibility Full pCTRPrediction Service batch online
  • 35. ● Ads ecosystem is non-stationary - ADAM ● Online regularization - L1 with lazy updates ● Importance weighting - gradient scaling ● Delayed feedback ● Explore exploit ● Hyperparameter tuning ● Model calibration ● Distributed systems break Challenges of online learning
  • 36. ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements Lifecycle of an ad request
  • 37. Data Targeting Prediction Marketplace ● Core marketplace problem: translate P(engage) to bid, run an internal auction to determine (ad, position) tuples ● Complexity arises from: ○ Different bid types ○ Different bid optimizations ○ Campaign pacing ○ User experience
  • 38. eCPA1 = 5% link click chance * $4 link click bid = $0.20 eCPA2 = 30% video view * $0.50 video view bid = $0.15 Second price: bid needed to win = $0.15 / 5% = $3 charge on link click Many advertisers bidding for different events, competing for the same slots. Auction dynamics
  • 39. Actually not constant bids, twitter offers bidding strategies: ○ Target bidding: guarantee daily spend / clicks <= target ○ Conversion optimization: e.g. pay for click “optimize” for app installs ○ Budget pacing: get the most clicks on a fixed budget Billions of auctions a day, each with 10k+ ads, huge distributed system, ... Auction complexities
  • 43. ● Serving: Receive ad request from app ● Data: Look-up data about the user ● Targeting: Identify eligible campaigns ● Prediction: Calculate probability of relevance ● Marketplace: Choose the best ads ● Serving: Send the ad to the app ● Formats: Render the ad as an impression ● Feedback: Did the user engage click? ● Billing: Charge advertiser for engagements Lifecycle of an ad request p99 80ms
  • 44. The Rest of Twitter Data science everywhere
  • 45. “As I look into 2017 and we look at what we can do, I just think the superpower we really provide the world is we can break news and get information to people faster than any other service in the world. And in order to do that, people have to do just a ton of work right now to dig through everything that may not matter to them to find something that really does. And that’s why I am excited about really making sure that we apply artificial intelligence and machine learning in the right ways and that we really meet that superpower of being that little bird that told you something that you couldn’t find anywhere else.” -Jack Dorsey, Twitter CEO
  • 46. Consumer Twitter product Ranked timeline, who to follow, notifications, recommended tweets, moments, … Cortex (deep learning science team) Semantic tagging, image tagging, video tagging, NSFX, … Abuse Inappropriate content, user penalty box, safe search, ... Identity Deterministic & probabilistic identifier bridging And others Machine Learning at Twitter Outside of ads
  • 47. careers.twitter.com Insanely great team Doing hard things Uncommon opportunity for impact ksimmons@twitter.com ngorski@twitter.com