SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Click Probability,
Certainty and Context
A practical Bayesian approach to deriving search
relevance judgments from web tracking
René Kriegler (@renekrie)
OSC Friday Share
12 February 2021
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Judgment modelling
Problem:
- How relevant is a given document for a given query?
Approach:
- Derive relevance judgments from observed user behaviour
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Judgment modelling: aspects
Model shall reflect these aspects:
- Click probability: a quantity that tells us that how likely it is that a given
document is relevant to the query
- Certainty: How sure can we be about the click probability? (few
observations, high variance -> uncertainty)
- Context: try to eliminate influence of position, device, grid size, ...
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Clicks first, conversions later
Philip Kotler, Kevin Lane
Marketing Management
1997
Peter Morville
Ambient Findability, 2005
Problem
recognition
Information
search
Evaluation
of
alternatives
Purchase
decision
Post-
purchase
behaviour
5-15 %
Most searches happen here, and most of them are
successful
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Clicks first, conversions later
Problem
recognition
Information
search
Evaluation
of
alternatives
Purchase
decision
Post-
purchase
behaviour
conversions
Most searches happen here, and many of them are
successful
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Let’s get started: CTR as probability
C: 1 if clicked, 0 if not
cqd
: observed clicks for query-document pair qd
vqd
: tracked views for query-document pair qd
Chuklin et al., Click Models for Web Search
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
CTR as probability
} ?
} ?
} ?
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
CTR as probability
} ?
Uncertainty! We
would expect the ctr
to change with the
next event that we
collect!
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Probability: from scalar to function
Model an expected probability as a function of
parameters alpha and beta...
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Probability: from scalar to function
Model an expected probability as a function of
parameters alpha and beta...
... and update this with the observed clicks and
views
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Probability: from scalar to function
E[ctr]=0.1 | alpha=1, beta=9
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Probability: from scalar to function
E[ctr]=0.1 | alpha=1, beta=9
Shrinkage towards the
expected value!
fewer views:
=> greater uncertainty
=> greater shrinkage
=> the more we rely on the
expected value
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Shrinkage vs. alpha and beta
The greater alpha and beta, the greater the shrinkage
=> we can model shrinkage together with E[ctr] by just using
alpha and beta
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
alpha and beta
How can we find good values for
alpha and beta?
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Beta distribution: Beta(alpha,beta)
https://en.wikipedia.org/wiki/Beta_distribution
Expected value of Beta(alpha,beta):
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Beta(alpha,beta)
Method of moments to estimate alpha and beta for Beta(alpha,beta):
s2
: sample variance
(alpha + beta) ~ 1/s2
=> the lower the variance, the greater the certainty, the greater (alpha+beta), the
greater the shrinkage, the more we trust our expected ctr value, the more views we need to diverge
from it
alpha ~ probability of success, beta ~ probability of failure
We can write Beta(mean,variance)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Welcome to Bayesian Modelling
Posterior
Prior Likelihood
function
Bayes’ Theorem with a ‘Beta prior’
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Context
How can we eliminate position
bias and other contexts from our
model?
We can solve click probability and certainty, but...
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Context: dealing with position bias
COEC - Clicks over expected clicks
r: rank at which clicks and views were observed
Same as above if query-doc pair was only observed at a
single rank
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Context: dealing with position bias
COEC - Clicks over expected clicks
Normalise by expected ctr for a given rank => great intuition!
Does not deal with ‘certainty’ => but we are good at doing this using the beta distribution to
express the expected value and the likelihood!
Cancels out rank specific relevance together with position bias => we’ll deal with this!
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Unpooled/per-rank parameters
Unpooled: each rank has its own expected value that reflects position bias and rank-specific
relevance => we cannot normalise by this expected value as it would remove relevance
information
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Pooled parameter estimation
Pooled: use a single set of parameters/expected value across all data points => we do not
remove relevance information but we also cannot handle position bias
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Partial pooling / hierarchical model
Partial pooling: each rank has its prior parameters (-
ctr-
r
, s2
r
) - like in the unpooled approach.
Now we assume a beta distribution of these priors with parameters µ (mean) and σ2
(variance)
Rank-specific priors modelled as Beta(µ,σ2
)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Partial pooling / hierarchical model
Prior at rank r: Beta(θr
,τ2
r
)
remember that we can calculate (θr
,τ2
r
) -> (αr
,βr
)
Weighted average of the pooled mean µ and the
rank-specific mean ctr
Using variance as weight! - If the ctr varies a lot at
rank r - the pooled mean becomes more important
Keeps global relevance information
Models position bias
Estimation of µ and σ2
:
- bootstrapping
- samples weighted by views at r
- Gelman et al.: use 99th percentile variance
Per rank (unpooled)
‘Prior of priors’
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Aggregating across ranks
If a query-doc pair was observed at multiple ranks,
use the views-weighted rank-specific parameters
Do not attempt to aggregate the posteriors instead
of the priors (it took me 1.5 years to figure this out
;-) ) -> think: shrinkage per rank
Posterior:
(θqd
,τ2
qd
) -> (αqd
,βqd
)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
From ranks to contexts
Solution:
● do not assume any relationship between ranks - results are not processed in a known
sequence
● Unpooled prior applies to a context j
desktop_2_1_5_9_false: device=desktop, page=2, results-per-row=5, position=5,
results-shown-on-page=9, has-marketing-label=false
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Aggregating across contexts
Simply replace rank r with context j
If you don’t have observations for a given context,
you can fall back to using just (µ, σ2
)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
How good are my parameters?
Binomial distribution f(p,k,n)
k: clicks, n: views
P: (scalar) prior probability
Beta-Binomial distribution f(α,β,k,n)
k: clicks, n: views
Beta(α,β) as prior
=> max likelihood for clicks & views
from test set
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
And the judgment?
Posterior:
(θqd
,τ2
qd
) -> (αqd
,βqd
)
Judgment:
(Which is posterior probability over expected
value)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Next: Combine w/ CRO
Conversion probabilities can be modelled the same way, i.e. using a hierarchical model with
context-specific parameters:
P(O=1) is the probability of a purchase order
Model P(C=1) and P(O=1) separately and multiply. You can add a weights to P(C=1) vs P(O=1)
(Hypothesis: P(O=1) will be equal or close to its prior in many cases.)
(c) René Kriegler, Click probability, certainty, context. 12 Feb 2021
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Lowering the Barrier to Stream Processing With Alex Morley | Current 2022
Lowering the Barrier to Stream Processing With Alex Morley | Current 2022Lowering the Barrier to Stream Processing With Alex Morley | Current 2022
Lowering the Barrier to Stream Processing With Alex Morley | Current 2022
 
The Customer Journey Is a Graph
The Customer Journey Is a GraphThe Customer Journey Is a Graph
The Customer Journey Is a Graph
 
Understanding InfluxDB Basics: Tags, Fields and Measurements
Understanding InfluxDB Basics: Tags, Fields and MeasurementsUnderstanding InfluxDB Basics: Tags, Fields and Measurements
Understanding InfluxDB Basics: Tags, Fields and Measurements
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the Covers
 
Data Observability Best Pracices
Data Observability Best PracicesData Observability Best Pracices
Data Observability Best Pracices
 
Observability at Spotify
Observability at SpotifyObservability at Spotify
Observability at Spotify
 
Vector database
Vector databaseVector database
Vector database
 
Full Stack Graph in the Cloud
Full Stack Graph in the CloudFull Stack Graph in the Cloud
Full Stack Graph in the Cloud
 
Graphs for Data Science and Machine Learning
Graphs for Data Science and Machine LearningGraphs for Data Science and Machine Learning
Graphs for Data Science and Machine Learning
 
Training Week: Introduction to Neo4j 2022
Training Week: Introduction to Neo4j 2022Training Week: Introduction to Neo4j 2022
Training Week: Introduction to Neo4j 2022
 
An Approach to Data Quality for Netflix Personalization Systems
An Approach to Data Quality for Netflix Personalization SystemsAn Approach to Data Quality for Netflix Personalization Systems
An Approach to Data Quality for Netflix Personalization Systems
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
 
Whoops, The Numbers Are Wrong! Scaling Data Quality @ Netflix
Whoops, The Numbers Are Wrong! Scaling Data Quality @ NetflixWhoops, The Numbers Are Wrong! Scaling Data Quality @ Netflix
Whoops, The Numbers Are Wrong! Scaling Data Quality @ Netflix
 
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
22nd Athens Big Data Meetup - 1st Talk - MLOps Workshop: The Full ML Lifecycl...
 
How Discord Migrated Trillions of Messages from Cassandra to ScyllaDB
How Discord Migrated Trillions of Messages from Cassandra to ScyllaDBHow Discord Migrated Trillions of Messages from Cassandra to ScyllaDB
How Discord Migrated Trillions of Messages from Cassandra to ScyllaDB
 
PR-373: Revisiting ResNets: Improved Training and Scaling Strategies.
PR-373: Revisiting ResNets: Improved Training and Scaling Strategies.PR-373: Revisiting ResNets: Improved Training and Scaling Strategies.
PR-373: Revisiting ResNets: Improved Training and Scaling Strategies.
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
 
Industrial Machine Learning (SIGKDD17)
Industrial Machine Learning (SIGKDD17)Industrial Machine Learning (SIGKDD17)
Industrial Machine Learning (SIGKDD17)
 

Ähnlich wie Click Probability, Certainty and Context

SupportVectorRegression
SupportVectorRegressionSupportVectorRegression
SupportVectorRegression
Daniel K
 

Ähnlich wie Click Probability, Certainty and Context (10)

Data Mining
Data MiningData Mining
Data Mining
 
Machine learning in science and industry — day 1
Machine learning in science and industry — day 1Machine learning in science and industry — day 1
Machine learning in science and industry — day 1
 
Car Accident Severity Report
Car Accident Severity ReportCar Accident Severity Report
Car Accident Severity Report
 
Practical Digital Image Processing 5
Practical Digital Image Processing 5Practical Digital Image Processing 5
Practical Digital Image Processing 5
 
Hadoop World 2011: Building Relational Event History Model with Hadoop - Josh...
Hadoop World 2011: Building Relational Event History Model with Hadoop - Josh...Hadoop World 2011: Building Relational Event History Model with Hadoop - Josh...
Hadoop World 2011: Building Relational Event History Model with Hadoop - Josh...
 
Comments on Simulations Watch Case Part I.pdf
Comments on  Simulations Watch Case Part I.pdfComments on  Simulations Watch Case Part I.pdf
Comments on Simulations Watch Case Part I.pdf
 
SupportVectorRegression
SupportVectorRegressionSupportVectorRegression
SupportVectorRegression
 
Exploring Support Vector Regression - Signals and Systems Project
Exploring Support Vector Regression - Signals and Systems ProjectExploring Support Vector Regression - Signals and Systems Project
Exploring Support Vector Regression - Signals and Systems Project
 
Simulation Watch Window Part I.pdf
Simulation Watch Window Part I.pdfSimulation Watch Window Part I.pdf
Simulation Watch Window Part I.pdf
 
Microsoft Professional Capstone: Data Science
Microsoft Professional Capstone: Data ScienceMicrosoft Professional Capstone: Data Science
Microsoft Professional Capstone: Data Science
 

Kürzlich hochgeladen

一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 

Kürzlich hochgeladen (20)

Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 

Click Probability, Certainty and Context

  • 1. Click Probability, Certainty and Context A practical Bayesian approach to deriving search relevance judgments from web tracking René Kriegler (@renekrie) OSC Friday Share 12 February 2021
  • 2. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Judgment modelling Problem: - How relevant is a given document for a given query? Approach: - Derive relevance judgments from observed user behaviour
  • 3. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Judgment modelling: aspects Model shall reflect these aspects: - Click probability: a quantity that tells us that how likely it is that a given document is relevant to the query - Certainty: How sure can we be about the click probability? (few observations, high variance -> uncertainty) - Context: try to eliminate influence of position, device, grid size, ...
  • 4. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Clicks first, conversions later Philip Kotler, Kevin Lane Marketing Management 1997 Peter Morville Ambient Findability, 2005 Problem recognition Information search Evaluation of alternatives Purchase decision Post- purchase behaviour 5-15 % Most searches happen here, and most of them are successful
  • 5. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Clicks first, conversions later Problem recognition Information search Evaluation of alternatives Purchase decision Post- purchase behaviour conversions Most searches happen here, and many of them are successful
  • 6. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Let’s get started: CTR as probability C: 1 if clicked, 0 if not cqd : observed clicks for query-document pair qd vqd : tracked views for query-document pair qd Chuklin et al., Click Models for Web Search
  • 7. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 CTR as probability } ? } ? } ?
  • 8. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 CTR as probability } ? Uncertainty! We would expect the ctr to change with the next event that we collect!
  • 9. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Probability: from scalar to function Model an expected probability as a function of parameters alpha and beta...
  • 10. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Probability: from scalar to function Model an expected probability as a function of parameters alpha and beta... ... and update this with the observed clicks and views
  • 11. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Probability: from scalar to function E[ctr]=0.1 | alpha=1, beta=9
  • 12. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Probability: from scalar to function E[ctr]=0.1 | alpha=1, beta=9 Shrinkage towards the expected value! fewer views: => greater uncertainty => greater shrinkage => the more we rely on the expected value
  • 13. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Shrinkage vs. alpha and beta The greater alpha and beta, the greater the shrinkage => we can model shrinkage together with E[ctr] by just using alpha and beta
  • 14. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 alpha and beta How can we find good values for alpha and beta?
  • 15. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Beta distribution: Beta(alpha,beta) https://en.wikipedia.org/wiki/Beta_distribution Expected value of Beta(alpha,beta):
  • 16. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Beta(alpha,beta) Method of moments to estimate alpha and beta for Beta(alpha,beta): s2 : sample variance (alpha + beta) ~ 1/s2 => the lower the variance, the greater the certainty, the greater (alpha+beta), the greater the shrinkage, the more we trust our expected ctr value, the more views we need to diverge from it alpha ~ probability of success, beta ~ probability of failure We can write Beta(mean,variance)
  • 17. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Welcome to Bayesian Modelling Posterior Prior Likelihood function Bayes’ Theorem with a ‘Beta prior’
  • 18. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Context How can we eliminate position bias and other contexts from our model? We can solve click probability and certainty, but...
  • 19. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Context: dealing with position bias COEC - Clicks over expected clicks r: rank at which clicks and views were observed Same as above if query-doc pair was only observed at a single rank
  • 20. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Context: dealing with position bias COEC - Clicks over expected clicks Normalise by expected ctr for a given rank => great intuition! Does not deal with ‘certainty’ => but we are good at doing this using the beta distribution to express the expected value and the likelihood! Cancels out rank specific relevance together with position bias => we’ll deal with this!
  • 21. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Unpooled/per-rank parameters Unpooled: each rank has its own expected value that reflects position bias and rank-specific relevance => we cannot normalise by this expected value as it would remove relevance information
  • 22. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Pooled parameter estimation Pooled: use a single set of parameters/expected value across all data points => we do not remove relevance information but we also cannot handle position bias
  • 23. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Partial pooling / hierarchical model Partial pooling: each rank has its prior parameters (- ctr- r , s2 r ) - like in the unpooled approach. Now we assume a beta distribution of these priors with parameters µ (mean) and σ2 (variance) Rank-specific priors modelled as Beta(µ,σ2 )
  • 24. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Partial pooling / hierarchical model Prior at rank r: Beta(θr ,τ2 r ) remember that we can calculate (θr ,τ2 r ) -> (αr ,βr ) Weighted average of the pooled mean µ and the rank-specific mean ctr Using variance as weight! - If the ctr varies a lot at rank r - the pooled mean becomes more important Keeps global relevance information Models position bias Estimation of µ and σ2 : - bootstrapping - samples weighted by views at r - Gelman et al.: use 99th percentile variance Per rank (unpooled) ‘Prior of priors’
  • 25. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Aggregating across ranks If a query-doc pair was observed at multiple ranks, use the views-weighted rank-specific parameters Do not attempt to aggregate the posteriors instead of the priors (it took me 1.5 years to figure this out ;-) ) -> think: shrinkage per rank Posterior: (θqd ,τ2 qd ) -> (αqd ,βqd )
  • 26. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 From ranks to contexts Solution: ● do not assume any relationship between ranks - results are not processed in a known sequence ● Unpooled prior applies to a context j desktop_2_1_5_9_false: device=desktop, page=2, results-per-row=5, position=5, results-shown-on-page=9, has-marketing-label=false
  • 27. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Aggregating across contexts Simply replace rank r with context j If you don’t have observations for a given context, you can fall back to using just (µ, σ2 )
  • 28. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 How good are my parameters? Binomial distribution f(p,k,n) k: clicks, n: views P: (scalar) prior probability Beta-Binomial distribution f(α,β,k,n) k: clicks, n: views Beta(α,β) as prior => max likelihood for clicks & views from test set
  • 29. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 And the judgment? Posterior: (θqd ,τ2 qd ) -> (αqd ,βqd ) Judgment: (Which is posterior probability over expected value)
  • 30. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Next: Combine w/ CRO Conversion probabilities can be modelled the same way, i.e. using a hierarchical model with context-specific parameters: P(O=1) is the probability of a purchase order Model P(C=1) and P(O=1) separately and multiply. You can add a weights to P(C=1) vs P(O=1) (Hypothesis: P(O=1) will be equal or close to its prior in many cases.)
  • 31. (c) René Kriegler, Click probability, certainty, context. 12 Feb 2021 Thank you!