SlideShare a Scribd company logo
1 of 44
Computational Advertising in Yelp
Local Ads
Soups Ranjan, PhD
@soupsranjan sranjan@yelp.com
May 7th, 2015
Where do our local ads show?
m.yelp.com iOS, Android apps www
Yelp Advertisers
“89% of users who research a business on Yelp make a
purchase at that business within a week” – Yelp Q4 2014
Investor Deck
• National as well as local businesses
• Restaurants, Professional services (movers, gardeners, plumbers)
• Purchase many different ways:
• Impression package on a CPM (Cost Per Impression) basis
• Clicks on a CPC (Cost Per Click) basis
• Leads on a PPC (Pay Per Call) basis
Uniqueness of Local Advertising - Location
• Users interest in a business reduces with distance
• Also varies by Category
CTR
Local Advertising – Seasonal Effects
Seasonal Factors: Pedicure popular in Summer
Day-factors: SF Giants Correlated with Sports bar
Peak in summer
Correlated peaks
Traffic varies by categories
Uniqueness of Local Advertising - Categories
Karaoke ads do well on Sushi & Japanese searches
CTR
CategorySimilarity
- Sushi has low “category similarity” to Karaoke
- But Karaoke ads do well on Sushi searches!
Queries where we show karaoke ads
Uniqueness of Local Advertising - Budgets
- If budget for Chinese
advertisers “nearby” is
exhausted
- We may still show an ad
for a closely-related
category, e.g., Szechuan
CTR
CategorySimilarity
Within the fraction of a second that we return you “search results”
for bars, we also return an ad that optimizes:
I. Relevance for user
II. Revenue for Yelp
III. Advertiser Goal (budget, clicks and leads)
``Balancing all of the Stakeholders”
user
Page
-view Ad
user
user
Page
-view
Page
-view
Ad
Ad
Time
Advertising is a “Matching Problem”
Constraints:
1. Finite Users (Traffic)
2. Finite Ad Budgets
3. Don’t know future traffic
Optimize:
1. Maximize Yelp Revenue
2. Show user “most relevant” ad
3. Fulfill Ad Budgets
Greedy strategy works well:
- Via 2nd price auction, Select ad
with highest expected revenue
Ad Lifecycle
1) Candidate
Ad Selection
Blue Light, $100
budget
City Brewery, $200
budget
3) CTR
Prediction
Click Probability for
each ad
4) 2nd Price
Auction
2) Auto Bidder
Find best Bid price
for each ad
If there’s a click, Blue
Light pays:
8/0.10 = 80 cents
Ad Cost-per-
Click
(cent)
Expected
CTR:
P(click)
Expected
Revenue
= CPC *
CTR
Blue Light 100 cents 0.10 10 cents
City
Brewery
200 cents 0.04 8 cents
2nd Price Auction
• Winner pays the runner-up’s price.
• Dominant Strategy: bid your true value
Ad Cost-per-
Click
(cents)
Expected
CTR: P(click)
Expected Revenue for
Impression = CPC *
CTR
Blue Light 100 cents 0.10 10 cents
City
Brewery
200 cents 0.04 8 cents
If there’s a click, Blue Light pays: cents 8/0.10 = 80 cents
1) Candidate
Ad Selection
3) CTR
Prediction
4) 2nd Price
Auction
2) Auto Bidder
1) Candidate Ad Selection & Filtering
Elastic Search – Index Ads and Search over them quickly
Elastic
Search
Index
ES query All
Ads
Location &
Category
Filters
• All ads indexed by their geo-quad in Elastic Search
Elastic
Search
Index
1) Candidate
Ad Selection
3) CTR
Prediction
4) 2nd Price
Auction
2) Auto Bidder
2) Auto-Bidding
• Sushi chef just wants to optimize: Sushi, Sashimi & Nori
• Doesn’t necessarily know how to optimize:
• Cost Per Acquisition
• Cost Per Click
• Customer Lifetime Value (LTV)
• Solution: They just set their monthly budget, we maximize clicks
for their budget
Can we bid for them?
for a given budget,
how many clicks fit
in that budget?
Can we bid for them?
given competition,
how many
auctions/clicks can
be won?
Yes, we can bid for them!
most possible clicks
given budget and
competition - that’s
the bid!
The “lowest price” clicks that
fulfill budget
Bid
Price
How do you find the intersection?
It’s easy to draw
this line…
y = budget / bid
How do you find the intersection?
It’s easy to draw
this line…
y = budget / bid
We can sample
this line based on
past auctions.
How do you find the intersection?
It’s easy to draw
this line…
y = budget / bid
We can sample
this line based on
past auctions.
Repeat for each advertiser,
assuming independence.
1) Candidate
Ad Selection
3) CTR
Prediction
4) 2nd Price
Auction
2) Auto Bidder
3) Machine Learning based CTR Prediction
Train a Logistic Regression Model using Winners of our
Auctions
o Training Data:
▪ Features about: User, Query & Ad Candidate
▪ Prediction Variable: Click (1) or No-Click (0)
o Methodology:
▪ Training data: Impressions sampled over 1-3 months
▪ Holdout Test data: Another sample typically 40% of
the size of training data
Performance Metric – Mean Cross Entropy
o Mean Cross Entropy (MXE): Lower is better
y log p + (1 – y) log (1 – p)
• y = 1 (click)
• MXE = log p → 0 as p → 1
• y = 0 (no-click)
• MXE = log (1 – p) → 0 as p → 0
query &
ad
Feature 1
Feature 2
Feature n
Feature Extraction & Transformation
sparse
vector
Data:
- Historical
CTR Table
Transforms
Transforms
- Standardization
- Distance, Distance^2
Model
algorithm
pCTR
Feature Framework
Transforms
Feature Example
from ad_ctr_prediction.features.feature import Feature
from ad_ctr_prediction.features.feature import FeatureData
class BrandCampaignFeature(Feature):
name = ’brand_name_campaign'
def get_raw_feature(self, opportunity, candidate):
"""1.0 if brand advertiser, 0.0 otherwise""”
is_brand_name_campaign = 0.0
if candidate.is_brand_name_campaign:
is_brand_name_campaign = 1.0
return [FeatureData(value=is_brand_name_campaign)]
Evaluation
● 5-fold CV with grid search over hyper-parameters (L1 vs. L2, etc.)
● Re-evaluate on holdout dataset
Infrastructure
● Extract features as spare Scipy matrix with multiprocessing
● Using sklearn SGD Classifier with multiprocessing
Scalable Solutions:
● Vowpal Wabbit
● Apache Spark
Model Training
sklearn, Vowpal Wabbit & Spark
Scaling Grid Search
Feature Extraction
Grid
Search
Point
Grid
Search
Point
Grid
Search
Point
Grid
Search
Point
Grid
Search
Point
S3
Extraction
Batch
Training
Batch
Scalable
mrJob
VW or
Spark
mrJob
VW or
Spark
Past Shown Ads Click or
No-Click
(y)
pCTR MXE
Click (1) 0.99 Log(0.99)
No-Click
(0)
0.01 Log(1-0.01)
CTR Prediction Performance – Offline (or Training)
Offline MXE =
y log pCTR + (1 – y) log (1 – pCTR)
We train on only the
winners of each auction
Offline metric only measures how accurate our
pCTR values are for the winners
Ad Candidate for 1
Auction
pCTR Bid
0.99 10 cents
0.01 8 cents
CTR Prediction Performance – Online
Online MXE =
y log pCTR + (1 – y) log (1 – pCTR)
During Online scoring: model actually
evaluates every “candidate” for an auction
Need Online metric that can measure performance of all auction participants!
Online MXE will also only measure
performance for auction winners
Online Performance:
You can’t measure what you don’t see!
pCTR Threshold pCTR
Model 2
Model 1
Online MXE =
y log pCTR + (1 – y)
log (1 – pCTR)
- What about a model which moves all non-clicks to below the threshold?
- Online MXE doesn’t measure it!
What we measure:
Online Performance:
MXE vs. Calibration Metrics
Challenger Model: Worst by MXE but best by Calibration Metric
Status Quo: Best by MXE but worst by Calibration Metric
pCTR bins
pCTR bins
Impressions
oCTR-pCTRoCTR-pCTR
Over-Prediction Errors:
oCTR < pCTR
• Accuracy Metrics:
• Mean Cross Entropy (MXE)
• Calibration Metrics
• Business Metrics:
• Revenue Per Opportunity (RPO)
Performance Metrics
• What’s a feature and what’s a model?
– Page Type: Model
– Advertiser Category: Feature
• We want to use same model to evaluate all ad
candidates
• As this performs better in terms of ad-pick latencies
• Training Frequency
– High seasonality in our data
CTR Prediction Challenges
• Measure of Relevance:
– Clicks
– Direction Lookups
• Crowd-sourced emails of bad ads (internal only)
Revenue vs. Relevance
Revenue
Minimum pCTR Allowed in Auction
Low Relevance (Precision)
High Revenue (Recall)
High Relevance (Precision)
Low Revenue (Recall)
• Cost of a Feature:
– Training cost: Time to train
– Scoring cost: Time, CPU & Memory needed in Ad-Servers
– Cost increases with larger number of features
• Object creation, Garbage Collection, etc.
• Cost vs. Accuracy
– Convert every category in our Category Tree in to a Binary Feature
• Category:Japanese = 1
• Category:Korean = 0
– Convert: category feature to numerical via CTR translation
• CategoryCTR = <float>
Cost vs. Accuracy
• Exploit/Explore:
– Learn about “category pairs” we can expand into via
exploit/explore strategies
• Model Automation:
– How to measure whether model traffic changed?
Model Training
• Local Advertising has lot of unique challenges
• Yelp has several USPs for Local Business Advertisers:
– Yelp users have a strong “intent to buy”
– Yelp can “close the loop” for Local Business
Advertisers
Conclusions
All of Yelp data for 10 cities:
● 61K businesses
● 61K checkin-sets
● 481K business
attributes
Your academic project, research or visualizations. Submitted by June 30, 2015.
● 1.6M reviews
● 366K users
● 2.8M edge social-graph
● 495K tips
yelp.com/dataset_challenge
Yelp Dataset Challenge:
● Round 4: 60+ submissions
Good Food Bad Service - Stanford
(Stanford)
UCSD Data Science Club
Infer Home Prices from Yelp Reviews - Montreal
Yackathons!
“Keeping it Fresh” (drivendata.org)
Q&A
Soups Ranjan, PhD
@soupsranjan
sranjan@yelp.com

More Related Content

What's hot

Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?
Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?
Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?Taste
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석ACE Trader
 
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...Taste
 
量化產品成長模型-共享計程車篇
量化產品成長模型-共享計程車篇量化產品成長模型-共享計程車篇
量化產品成長模型-共享計程車篇stanley Tseng
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLPJoeun Park
 
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é
 
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry
 
Marketplace theory and dynamics
Marketplace theory and dynamicsMarketplace theory and dynamics
Marketplace theory and dynamicsJosh Breinlinger
 
SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022Nitin Manchanda
 
[심화] 광고문안 전략
[심화] 광고문안 전략[심화] 광고문안 전략
[심화] 광고문안 전략NAVER_BIZ
 
Building a sales & marketing machine
Building a sales & marketing machineBuilding a sales & marketing machine
Building a sales & marketing machineDavid Skok
 
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...Taste
 
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립BIZ+
 
Intro tot language models voor SEO
Intro tot language models voor SEOIntro tot language models voor SEO
Intro tot language models voor SEOMichael Van Den Reym
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)Movel
 
Advanced Model Comparison and Automated Deployment Using ML
Advanced Model Comparison and Automated Deployment Using MLAdvanced Model Comparison and Automated Deployment Using ML
Advanced Model Comparison and Automated Deployment Using MLDatabricks
 
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Ruth Everett
 
[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 

What's hot (20)

Learn to Rank search results
Learn to Rank search resultsLearn to Rank search results
Learn to Rank search results
 
Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?
Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?
Data Restart 2023: Adam Šilhan - Atribuce a inkrementalita - proč, jak a kdy?
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석
 
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...
E-mail Restart 2023: Lucie Konečná a Lukáš Konečný - Případová studie Ochutne...
 
量化產品成長模型-共享計程車篇
量化產品成長模型-共享計程車篇量化產品成長模型-共享計程車篇
量化產品成長模型-共享計程車篇
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
 
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)
 
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth SouthgateMartin McGarry - SEO strategy c/o England manager Gareth Southgate
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
 
Marketplace theory and dynamics
Marketplace theory and dynamicsMarketplace theory and dynamics
Marketplace theory and dynamics
 
SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022SEO at Scale - BrightonSEO April 2022
SEO at Scale - BrightonSEO April 2022
 
[심화] 광고문안 전략
[심화] 광고문안 전략[심화] 광고문안 전략
[심화] 광고문안 전략
 
Building a sales & marketing machine
Building a sales & marketing machineBuilding a sales & marketing machine
Building a sales & marketing machine
 
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
SEO Restart 2022: Radim Daniel Pánek - Milisekundy vydělávají miliony, tak ne...
 
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립
[비즈클래스 1기 경영편] 2강 스타트업 비즈니스 모델과 성장전략 수립
 
Intro tot language models voor SEO
Intro tot language models voor SEOIntro tot language models voor SEO
Intro tot language models voor SEO
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
 
Use case of rpa
Use case of rpaUse case of rpa
Use case of rpa
 
Advanced Model Comparison and Automated Deployment Using ML
Advanced Model Comparison and Automated Deployment Using MLAdvanced Model Comparison and Automated Deployment Using ML
Advanced Model Comparison and Automated Deployment Using ML
 
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
 
[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 

Viewers also liked

How 30 Years of Ticket Transaction Data Helps you Discover New Shows!
How 30 Years of Ticket Transaction Data Helps you Discover New Shows!How 30 Years of Ticket Transaction Data Helps you Discover New Shows!
How 30 Years of Ticket Transaction Data Helps you Discover New Shows!C4Media
 
Exploiting Ranking Factorization Machines for Microblog Retrieval
Exploiting Ranking Factorization Machines for Microblog RetrievalExploiting Ranking Factorization Machines for Microblog Retrieval
Exploiting Ranking Factorization Machines for Microblog RetrievalRunwei Qiang
 
(2016 07-19) providing click predictions in real-time at scale
(2016 07-19) providing click predictions in real-time at scale(2016 07-19) providing click predictions in real-time at scale
(2016 07-19) providing click predictions in real-time at scaleLawrence Evans
 
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth LoganMulti Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth LoganSpark Summit
 
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...MLconf
 
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui Meng
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui MengGeneralized Linear Models in Spark MLlib and SparkR by Xiangrui Meng
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui MengSpark Summit
 
Generalized Linear Models in Spark MLlib and SparkR
Generalized Linear Models in Spark MLlib and SparkRGeneralized Linear Models in Spark MLlib and SparkR
Generalized Linear Models in Spark MLlib and SparkRDatabricks
 
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...Spark Summit
 
Recent Developments in Spark MLlib and Beyond
Recent Developments in Spark MLlib and BeyondRecent Developments in Spark MLlib and Beyond
Recent Developments in Spark MLlib and BeyondXiangrui Meng
 
How to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkCaserta
 

Viewers also liked (11)

How 30 Years of Ticket Transaction Data Helps you Discover New Shows!
How 30 Years of Ticket Transaction Data Helps you Discover New Shows!How 30 Years of Ticket Transaction Data Helps you Discover New Shows!
How 30 Years of Ticket Transaction Data Helps you Discover New Shows!
 
Exploiting Ranking Factorization Machines for Microblog Retrieval
Exploiting Ranking Factorization Machines for Microblog RetrievalExploiting Ranking Factorization Machines for Microblog Retrieval
Exploiting Ranking Factorization Machines for Microblog Retrieval
 
(2016 07-19) providing click predictions in real-time at scale
(2016 07-19) providing click predictions in real-time at scale(2016 07-19) providing click predictions in real-time at scale
(2016 07-19) providing click predictions in real-time at scale
 
Training
TrainingTraining
Training
 
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth LoganMulti Model Machine Learning by Maximo Gurmendez and Beth Logan
Multi Model Machine Learning by Maximo Gurmendez and Beth Logan
 
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...
Ehtsham Elahi, Senior Research Engineer, Personalization Science and Engineer...
 
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui Meng
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui MengGeneralized Linear Models in Spark MLlib and SparkR by Xiangrui Meng
Generalized Linear Models in Spark MLlib and SparkR by Xiangrui Meng
 
Generalized Linear Models in Spark MLlib and SparkR
Generalized Linear Models in Spark MLlib and SparkRGeneralized Linear Models in Spark MLlib and SparkR
Generalized Linear Models in Spark MLlib and SparkR
 
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...
Online Predictive Modeling of Fraud Schemes from Mulitple Live Streams by Cla...
 
Recent Developments in Spark MLlib and Beyond
Recent Developments in Spark MLlib and BeyondRecent Developments in Spark MLlib and Beyond
Recent Developments in Spark MLlib and Beyond
 
How to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on Spark
 

Similar to Computational Advertising in Yelp Local Ads

Nicolas Kruchten @ Datacratic
Nicolas Kruchten @ DatacraticNicolas Kruchten @ Datacratic
Nicolas Kruchten @ DatacraticPAPIs.io
 
Int'l Conference on Predictive APIs: RTB Optimizer presentation
Int'l Conference on Predictive APIs: RTB Optimizer presentationInt'l Conference on Predictive APIs: RTB Optimizer presentation
Int'l Conference on Predictive APIs: RTB Optimizer presentationDatacratic
 
Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Clovis Chapman
 
Data Science at Flurry
Data Science at FlurryData Science at Flurry
Data Science at Flurrysoupsranjan
 
Google adwords advance program in details e briks infotech
Google adwords advance program in details   e briks infotechGoogle adwords advance program in details   e briks infotech
Google adwords advance program in details e briks infotechEBriks Infotech Pvt. Ltd.
 
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedIn
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedInData-Driven Reserve Prices for Social Advertising Auctions at LinkedIn
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedInKun Liu
 
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
 
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid Strategies
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid StrategiesGianluca Binelli — Advanced PPC: Create Your Own Automated Bid Strategies
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid StrategiesSemrush
 
Online advertising and ad auctions at google
Online advertising and ad auctions at googleOnline advertising and ad auctions at google
Online advertising and ad auctions at googleHamzeh Banat
 
Google Adwords
Google AdwordsGoogle Adwords
Google AdwordsSriju Nair
 
RTBMA ECIR 2016 tutorial
RTBMA ECIR 2016 tutorialRTBMA ECIR 2016 tutorial
RTBMA ECIR 2016 tutorialShuai Yuan
 
[PPC Hero Summit] A Step Ahead: Analyzing Your Competition
[PPC Hero Summit] A Step Ahead: Analyzing Your Competition[PPC Hero Summit] A Step Ahead: Analyzing Your Competition
[PPC Hero Summit] A Step Ahead: Analyzing Your CompetitionHanapin Marketing
 
Make Google AdWords More Effective
Make Google AdWords More EffectiveMake Google AdWords More Effective
Make Google AdWords More Effectivecorneliafaith
 
5 Most Common PPC Obstacles
5 Most Common PPC Obstacles5 Most Common PPC Obstacles
5 Most Common PPC ObstaclesSemrush
 
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlinelenae00
 
1 поток 2. аудиторные закупки в реальном времени thibault-oberlin
1 поток   2. аудиторные закупки в реальном времени thibault-oberlin1 поток   2. аудиторные закупки в реальном времени thibault-oberlin
1 поток 2. аудиторные закупки в реальном времени thibault-oberlinelenae00
 

Similar to Computational Advertising in Yelp Local Ads (20)

Nicolas Kruchten @ Datacratic
Nicolas Kruchten @ DatacraticNicolas Kruchten @ Datacratic
Nicolas Kruchten @ Datacratic
 
Int'l Conference on Predictive APIs: RTB Optimizer presentation
Int'l Conference on Predictive APIs: RTB Optimizer presentationInt'l Conference on Predictive APIs: RTB Optimizer presentation
Int'l Conference on Predictive APIs: RTB Optimizer presentation
 
Google Ads Training
Google Ads TrainingGoogle Ads Training
Google Ads Training
 
Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017Computational Marketing at Groupon - JCSSE 2017
Computational Marketing at Groupon - JCSSE 2017
 
Data Science at Flurry
Data Science at FlurryData Science at Flurry
Data Science at Flurry
 
RTB Bid Landscape in Adform
RTB Bid Landscape in AdformRTB Bid Landscape in Adform
RTB Bid Landscape in Adform
 
Google adwords advance program in details e briks infotech
Google adwords advance program in details   e briks infotechGoogle adwords advance program in details   e briks infotech
Google adwords advance program in details e briks infotech
 
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedIn
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedInData-Driven Reserve Prices for Social Advertising Auctions at LinkedIn
Data-Driven Reserve Prices for Social Advertising Auctions at LinkedIn
 
Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020 Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020
 
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid Strategies
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid StrategiesGianluca Binelli — Advanced PPC: Create Your Own Automated Bid Strategies
Gianluca Binelli — Advanced PPC: Create Your Own Automated Bid Strategies
 
Online advertising and ad auctions at google
Online advertising and ad auctions at googleOnline advertising and ad auctions at google
Online advertising and ad auctions at google
 
Google AdWords Training
Google AdWords TrainingGoogle AdWords Training
Google AdWords Training
 
Google Adwords
Google AdwordsGoogle Adwords
Google Adwords
 
RTBMA ECIR 2016 tutorial
RTBMA ECIR 2016 tutorialRTBMA ECIR 2016 tutorial
RTBMA ECIR 2016 tutorial
 
[PPC Hero Summit] A Step Ahead: Analyzing Your Competition
[PPC Hero Summit] A Step Ahead: Analyzing Your Competition[PPC Hero Summit] A Step Ahead: Analyzing Your Competition
[PPC Hero Summit] A Step Ahead: Analyzing Your Competition
 
Make Google AdWords More Effective
Make Google AdWords More EffectiveMake Google AdWords More Effective
Make Google AdWords More Effective
 
5 Most Common PPC Obstacles
5 Most Common PPC Obstacles5 Most Common PPC Obstacles
5 Most Common PPC Obstacles
 
MicroAd Blade EN
MicroAd Blade ENMicroAd Blade EN
MicroAd Blade EN
 
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin
1 Поток - 2. Аудиторные закупки в реальном времени_Thibault_Oberlin
 
1 поток 2. аудиторные закупки в реальном времени thibault-oberlin
1 поток   2. аудиторные закупки в реальном времени thibault-oberlin1 поток   2. аудиторные закупки в реальном времени thibault-oberlin
1 поток 2. аудиторные закупки в реальном времени thibault-oberlin
 

Recently uploaded

如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样wsppdmt
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdfkhraisr
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...nirzagarg
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...nirzagarg
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...gajnagarg
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...kumargunjan9515
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...HyderabadDolls
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabiaahmedjiabur940
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubaikojalkojal131
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...Bertram Ludäscher
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraGovindSinghDasila
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...Elaine Werffeli
 
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...Valters Lauzums
 
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...gragchanchal546
 
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...kumargunjan9515
 

Recently uploaded (20)

如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - Almora
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
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...
 
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
Gulbai Tekra * Cheap Call Girls In Ahmedabad Phone No 8005736733 Elite Escort...
 
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...Fun all Day Call Girls in Jaipur   9332606886  High Profile Call Girls You Ca...
Fun all Day Call Girls in Jaipur 9332606886 High Profile Call Girls You Ca...
 

Computational Advertising in Yelp Local Ads

  • 1. Computational Advertising in Yelp Local Ads Soups Ranjan, PhD @soupsranjan sranjan@yelp.com May 7th, 2015
  • 2. Where do our local ads show? m.yelp.com iOS, Android apps www
  • 3. Yelp Advertisers “89% of users who research a business on Yelp make a purchase at that business within a week” – Yelp Q4 2014 Investor Deck • National as well as local businesses • Restaurants, Professional services (movers, gardeners, plumbers) • Purchase many different ways: • Impression package on a CPM (Cost Per Impression) basis • Clicks on a CPC (Cost Per Click) basis • Leads on a PPC (Pay Per Call) basis
  • 4. Uniqueness of Local Advertising - Location • Users interest in a business reduces with distance • Also varies by Category CTR
  • 5. Local Advertising – Seasonal Effects Seasonal Factors: Pedicure popular in Summer Day-factors: SF Giants Correlated with Sports bar Peak in summer Correlated peaks Traffic varies by categories
  • 6. Uniqueness of Local Advertising - Categories Karaoke ads do well on Sushi & Japanese searches CTR CategorySimilarity - Sushi has low “category similarity” to Karaoke - But Karaoke ads do well on Sushi searches! Queries where we show karaoke ads
  • 7. Uniqueness of Local Advertising - Budgets - If budget for Chinese advertisers “nearby” is exhausted - We may still show an ad for a closely-related category, e.g., Szechuan CTR CategorySimilarity
  • 8. Within the fraction of a second that we return you “search results” for bars, we also return an ad that optimizes: I. Relevance for user II. Revenue for Yelp III. Advertiser Goal (budget, clicks and leads) ``Balancing all of the Stakeholders”
  • 9. user Page -view Ad user user Page -view Page -view Ad Ad Time Advertising is a “Matching Problem” Constraints: 1. Finite Users (Traffic) 2. Finite Ad Budgets 3. Don’t know future traffic Optimize: 1. Maximize Yelp Revenue 2. Show user “most relevant” ad 3. Fulfill Ad Budgets Greedy strategy works well: - Via 2nd price auction, Select ad with highest expected revenue
  • 10. Ad Lifecycle 1) Candidate Ad Selection Blue Light, $100 budget City Brewery, $200 budget 3) CTR Prediction Click Probability for each ad 4) 2nd Price Auction 2) Auto Bidder Find best Bid price for each ad If there’s a click, Blue Light pays: 8/0.10 = 80 cents Ad Cost-per- Click (cent) Expected CTR: P(click) Expected Revenue = CPC * CTR Blue Light 100 cents 0.10 10 cents City Brewery 200 cents 0.04 8 cents
  • 11. 2nd Price Auction • Winner pays the runner-up’s price. • Dominant Strategy: bid your true value Ad Cost-per- Click (cents) Expected CTR: P(click) Expected Revenue for Impression = CPC * CTR Blue Light 100 cents 0.10 10 cents City Brewery 200 cents 0.04 8 cents If there’s a click, Blue Light pays: cents 8/0.10 = 80 cents
  • 12. 1) Candidate Ad Selection 3) CTR Prediction 4) 2nd Price Auction 2) Auto Bidder
  • 13. 1) Candidate Ad Selection & Filtering Elastic Search – Index Ads and Search over them quickly Elastic Search Index ES query All Ads Location & Category Filters • All ads indexed by their geo-quad in Elastic Search Elastic Search Index
  • 14. 1) Candidate Ad Selection 3) CTR Prediction 4) 2nd Price Auction 2) Auto Bidder
  • 15. 2) Auto-Bidding • Sushi chef just wants to optimize: Sushi, Sashimi & Nori • Doesn’t necessarily know how to optimize: • Cost Per Acquisition • Cost Per Click • Customer Lifetime Value (LTV) • Solution: They just set their monthly budget, we maximize clicks for their budget
  • 16. Can we bid for them? for a given budget, how many clicks fit in that budget?
  • 17. Can we bid for them? given competition, how many auctions/clicks can be won?
  • 18. Yes, we can bid for them! most possible clicks given budget and competition - that’s the bid!
  • 19. The “lowest price” clicks that fulfill budget Bid Price
  • 20. How do you find the intersection? It’s easy to draw this line… y = budget / bid
  • 21. How do you find the intersection? It’s easy to draw this line… y = budget / bid We can sample this line based on past auctions.
  • 22. How do you find the intersection? It’s easy to draw this line… y = budget / bid We can sample this line based on past auctions. Repeat for each advertiser, assuming independence.
  • 23. 1) Candidate Ad Selection 3) CTR Prediction 4) 2nd Price Auction 2) Auto Bidder
  • 24. 3) Machine Learning based CTR Prediction Train a Logistic Regression Model using Winners of our Auctions o Training Data: ▪ Features about: User, Query & Ad Candidate ▪ Prediction Variable: Click (1) or No-Click (0) o Methodology: ▪ Training data: Impressions sampled over 1-3 months ▪ Holdout Test data: Another sample typically 40% of the size of training data
  • 25. Performance Metric – Mean Cross Entropy o Mean Cross Entropy (MXE): Lower is better y log p + (1 – y) log (1 – p) • y = 1 (click) • MXE = log p → 0 as p → 1 • y = 0 (no-click) • MXE = log (1 – p) → 0 as p → 0
  • 26. query & ad Feature 1 Feature 2 Feature n Feature Extraction & Transformation sparse vector Data: - Historical CTR Table Transforms Transforms - Standardization - Distance, Distance^2 Model algorithm pCTR Feature Framework Transforms
  • 27. Feature Example from ad_ctr_prediction.features.feature import Feature from ad_ctr_prediction.features.feature import FeatureData class BrandCampaignFeature(Feature): name = ’brand_name_campaign' def get_raw_feature(self, opportunity, candidate): """1.0 if brand advertiser, 0.0 otherwise""” is_brand_name_campaign = 0.0 if candidate.is_brand_name_campaign: is_brand_name_campaign = 1.0 return [FeatureData(value=is_brand_name_campaign)]
  • 28. Evaluation ● 5-fold CV with grid search over hyper-parameters (L1 vs. L2, etc.) ● Re-evaluate on holdout dataset Infrastructure ● Extract features as spare Scipy matrix with multiprocessing ● Using sklearn SGD Classifier with multiprocessing Scalable Solutions: ● Vowpal Wabbit ● Apache Spark Model Training sklearn, Vowpal Wabbit & Spark
  • 29. Scaling Grid Search Feature Extraction Grid Search Point Grid Search Point Grid Search Point Grid Search Point Grid Search Point S3 Extraction Batch Training Batch Scalable mrJob VW or Spark mrJob VW or Spark
  • 30. Past Shown Ads Click or No-Click (y) pCTR MXE Click (1) 0.99 Log(0.99) No-Click (0) 0.01 Log(1-0.01) CTR Prediction Performance – Offline (or Training) Offline MXE = y log pCTR + (1 – y) log (1 – pCTR) We train on only the winners of each auction Offline metric only measures how accurate our pCTR values are for the winners
  • 31. Ad Candidate for 1 Auction pCTR Bid 0.99 10 cents 0.01 8 cents CTR Prediction Performance – Online Online MXE = y log pCTR + (1 – y) log (1 – pCTR) During Online scoring: model actually evaluates every “candidate” for an auction Need Online metric that can measure performance of all auction participants! Online MXE will also only measure performance for auction winners
  • 32. Online Performance: You can’t measure what you don’t see! pCTR Threshold pCTR Model 2 Model 1 Online MXE = y log pCTR + (1 – y) log (1 – pCTR) - What about a model which moves all non-clicks to below the threshold? - Online MXE doesn’t measure it! What we measure:
  • 33. Online Performance: MXE vs. Calibration Metrics Challenger Model: Worst by MXE but best by Calibration Metric Status Quo: Best by MXE but worst by Calibration Metric pCTR bins pCTR bins Impressions oCTR-pCTRoCTR-pCTR Over-Prediction Errors: oCTR < pCTR
  • 34. • Accuracy Metrics: • Mean Cross Entropy (MXE) • Calibration Metrics • Business Metrics: • Revenue Per Opportunity (RPO) Performance Metrics
  • 35. • What’s a feature and what’s a model? – Page Type: Model – Advertiser Category: Feature • We want to use same model to evaluate all ad candidates • As this performs better in terms of ad-pick latencies • Training Frequency – High seasonality in our data CTR Prediction Challenges
  • 36. • Measure of Relevance: – Clicks – Direction Lookups • Crowd-sourced emails of bad ads (internal only) Revenue vs. Relevance Revenue Minimum pCTR Allowed in Auction Low Relevance (Precision) High Revenue (Recall) High Relevance (Precision) Low Revenue (Recall)
  • 37. • Cost of a Feature: – Training cost: Time to train – Scoring cost: Time, CPU & Memory needed in Ad-Servers – Cost increases with larger number of features • Object creation, Garbage Collection, etc. • Cost vs. Accuracy – Convert every category in our Category Tree in to a Binary Feature • Category:Japanese = 1 • Category:Korean = 0 – Convert: category feature to numerical via CTR translation • CategoryCTR = <float> Cost vs. Accuracy
  • 38. • Exploit/Explore: – Learn about “category pairs” we can expand into via exploit/explore strategies • Model Automation: – How to measure whether model traffic changed? Model Training
  • 39. • Local Advertising has lot of unique challenges • Yelp has several USPs for Local Business Advertisers: – Yelp users have a strong “intent to buy” – Yelp can “close the loop” for Local Business Advertisers Conclusions
  • 40. All of Yelp data for 10 cities: ● 61K businesses ● 61K checkin-sets ● 481K business attributes Your academic project, research or visualizations. Submitted by June 30, 2015. ● 1.6M reviews ● 366K users ● 2.8M edge social-graph ● 495K tips yelp.com/dataset_challenge
  • 41. Yelp Dataset Challenge: ● Round 4: 60+ submissions Good Food Bad Service - Stanford (Stanford) UCSD Data Science Club
  • 42. Infer Home Prices from Yelp Reviews - Montreal Yackathons!
  • 43. “Keeping it Fresh” (drivendata.org)