Recommendation Modeling with Impression Data at Netflix

Recommendation
Modeling with Impression
Data at Netflix
Jiangwei Pan
Research Scientist at Netflix
LERI workshop, RecSys’23
Recommendation Modeling with Impression Data at Netflix
What did I show?
Definition of impressions
An item appears in the viewport of the
application
● for at least x milliseconds
● partially visible can be OK
Impressions can be logged for different
entities on screen
● shows, rows, boxart images, etc
Goal of this presentation
Impression data is critical for building recommender models at
Netflix
● and other industry recommenders
How do we incorporate impression data into recommender
models?
● Impressions for label definition (training objectives)
● Impressions for feature definition
Share interesting learnings and challenges
Impressions for label
definition
Recommenders choose items and
display them to the user as
impressions
What do recommenders do?
A simplified recommendation algorithm
Given a user:
for every item, predict
p(engage | user impression of item)
then choose the item with the highest
prediction
How to train p(engage | impression)
Binary classification model: engage or no-engage?
Training data: take all user-item impressions
If only “relevant” items are impressed
Training data concentrate on the most
relevant part of the item space
If we train classifier using this data
● relevance is not the main difference
between positives and negatives
● so it may be ignored by the model
The classifier will not generalize well to the
whole item space
● may over-predict for many non-relevant
items
Solution 1: Add item exploration
Display random items to each user
User still can’t impress every single item
● there can be millions of items
But user can impress most “types” of items
Model generalizes better!
Too much exploration may hurt user
experience or ads revenue
Explore volume needs to be limited
Solution 2: Add random negatives
Pseudo-impressions with no
engagement
May incorrectly mark a relevant item as
negative
● risk is small when item space is large
Random negatives are easy to classify
● little connection to user interests
But help a lot with model generalization
Challenges
● what distribution to sample negatives?
● how to mix random negatives with
impressed negatives?
Popularity bias
Definition: popular items get higher predictions than they should
Model trained only using impressions (exploit + explore)
● no popularity bias as popular items get both more positives
and more negatives in training data
● some items can suffer from high variance if not enough
explore
Adding uniform random negatives
● may increase popularity bias as we add the same number of
negatives for popular and non-popular items
When item space is large (millions)
Too costly to compute p(engage |
impression) for every item
Candidate generation pass
● efficient model architectures (e.g. two-
tower)
● millions → hundreds (loosely-relevant)
● care more about recall @ hundreds
Fine-grained ranking pass
● more sophisticated model architectures
● distinguish between good and excellent
● often trained only on impressed negatives as
it is applied on already relevant candidates
More passes can be used, eg
● adjusting the ranking for diversity
Efficiency optimization: use 2 passes
● both predict p(engage | impression)
● with different focuses
Repeated impressions
User scrolls back and forth multiple times
Items at the top get repeated
impressions
Need to deduplicate the impressions per
session in the training data
Otherwise, top items get unfairly
penalized in the model as they have more
repeated impressions
Noisy impressions
Many items on screen at the same
time
Not clear if the user saw the item
If no engagement, is it because
● user is not interested?
● user didn’t see it?
Impressions may have long-term value
Impression of a Netflix show makes it more familiar
to the user
● even if the user did not play it
User may become more/less likely to play the show
at the next impression
Impressions for feature
definition
Typical features
Frequency counts: number past impressions
of item
● can add different variations
Engagement rate: #engagements /
#impressions
● how to set the value if #impressions = 0?
● 0, average, 1, adding prior?
● this could affect cold-start performance
● we can also skip this feature to let model
learn directly from raw counts
Categorical features: user’s impressed item
ids
● can help model generalize better via id
embeddings
But a user can have hundreds of impressions
even in a single day
Need to reduce the noise
Impression data volume
Impression data volume is huge
Logging is challenging
● heterogeneous client devices (TV,
mobile, web)
● need to process, sessionize and
summarize in real-time
● need to be available via multiple
channels (table, stream, API) for
different purposes
Handle volume in feature definition
● summary counts
● focus on most recent impressions
● increase minimum impression
duration requirement
● random sampling
How does impression features help?
Correlation
Should we then recommend more items with
many prior impressions from the user? No
Correlation does not imply causation
● highly-impressed items probably have
higher quality and thus have higher avg
label
In an AB test, after adding impression features
● model recommends more lowly-impressed
items
Conclusion
● Overview of using impression data to build an unbiased
recommendation model at Netflix
● Label definition: we may need exploration and random
negative sampling to enrich the training data
● Feature definition: various ways to summarize and
denoise impression data
● Long-term value: impressions can have different long-
term values for different users/items
Challenges
● How to do efficient exploration that maximizes signal
collection and minimizes user experience impact?
● How to sample random negatives? How to mix
random negatives with impressed negatives?
● How to model long-term value of impressions?
Thank you!
Questions?
Contact: Jiangwei Pan, jpan@netflix.com
1 de 24

Recomendados

Recent Trends in Personalization: A Netflix Perspective por
Recent Trends in Personalization: A Netflix PerspectiveRecent Trends in Personalization: A Netflix Perspective
Recent Trends in Personalization: A Netflix PerspectiveJustin Basilico
30.3K visualizações64 slides
Time, Context and Causality in Recommender Systems por
Time, Context and Causality in Recommender SystemsTime, Context and Causality in Recommender Systems
Time, Context and Causality in Recommender SystemsYves Raimond
6K visualizações35 slides
Context Aware Recommendations at Netflix por
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at NetflixLinas Baltrunas
5.7K visualizações38 slides
Homepage Personalization at Spotify por
Homepage Personalization at SpotifyHomepage Personalization at Spotify
Homepage Personalization at SpotifyOguz Semerci
3.5K visualizações26 slides
Making Netflix Machine Learning Algorithms Reliable por
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableJustin Basilico
11.8K visualizações41 slides
Sequential Decision Making in Recommendations por
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsJaya Kawale
2.1K visualizações32 slides

Mais conteúdo relacionado

Mais procurados

Past, Present & Future of Recommender Systems: An Industry Perspective por
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
65K visualizações20 slides
Deep Learning for Recommender Systems por
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender SystemsJustin Basilico
21.1K visualizações35 slides
Learning a Personalized Homepage por
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized HomepageJustin Basilico
6.5K visualizações34 slides
Déjà Vu: The Importance of Time and Causality in Recommender Systems por
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsJustin Basilico
11.8K visualizações45 slides
Calibrated Recommendations por
Calibrated RecommendationsCalibrated Recommendations
Calibrated RecommendationsHarald Steck
4.2K visualizações24 slides
Contextualization at Netflix por
Contextualization at NetflixContextualization at Netflix
Contextualization at NetflixLinas Baltrunas
7.7K visualizações31 slides

Mais procurados(20)

Past, Present & Future of Recommender Systems: An Industry Perspective por Justin Basilico
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
Justin Basilico65K visualizações
Deep Learning for Recommender Systems por Justin Basilico
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
Justin Basilico21.1K visualizações
Learning a Personalized Homepage por Justin Basilico
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized Homepage
Justin Basilico6.5K visualizações
Déjà Vu: The Importance of Time and Causality in Recommender Systems por Justin Basilico
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Justin Basilico11.8K visualizações
Calibrated Recommendations por Harald Steck
Calibrated RecommendationsCalibrated Recommendations
Calibrated Recommendations
Harald Steck4.2K visualizações
Contextualization at Netflix por Linas Baltrunas
Contextualization at NetflixContextualization at Netflix
Contextualization at Netflix
Linas Baltrunas7.7K visualizações
Personalizing the listening experience por Mounia Lalmas-Roelleke
Personalizing the listening experiencePersonalizing the listening experience
Personalizing the listening experience
Mounia Lalmas-Roelleke2.1K visualizações
Recent Trends in Personalization at Netflix por Justin Basilico
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
Justin Basilico24.2K visualizações
Past, present, and future of Recommender Systems: an industry perspective por Xavier Amatriain
Past, present, and future of Recommender Systems: an industry perspectivePast, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspective
Xavier Amatriain11K visualizações
Personalizing "The Netflix Experience" with Deep Learning por Anoop Deoras
Personalizing "The Netflix Experience" with Deep LearningPersonalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep Learning
Anoop Deoras1.1K visualizações
Personalized Page Generation for Browsing Recommendations por Justin Basilico
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing Recommendations
Justin Basilico5.3K visualizações
Recommendation at Netflix Scale por Justin Basilico
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
Justin Basilico21.6K visualizações
Tutorial on Deep Learning in Recommender System, Lars summer school 2019 por Anoop Deoras
Tutorial on Deep Learning in Recommender System, Lars summer school 2019Tutorial on Deep Learning in Recommender System, Lars summer school 2019
Tutorial on Deep Learning in Recommender System, Lars summer school 2019
Anoop Deoras2.2K visualizações
Deep Learning for Recommender Systems por Yves Raimond
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
Yves Raimond15.4K visualizações
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl... por MLconf
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...
Rishabh Mehrotra - Recommendations in a Marketplace: Personalizing Explainabl...
MLconf4K visualizações
Recommending and searching @ Spotify por Mounia Lalmas-Roelleke
Recommending and searching @ SpotifyRecommending and searching @ Spotify
Recommending and searching @ Spotify
Mounia Lalmas-Roelleke9.4K visualizações
Shallow and Deep Latent Models for Recommender System por Anoop Deoras
Shallow and Deep Latent Models for Recommender SystemShallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender System
Anoop Deoras2.6K visualizações
Lessons Learned from Building Machine Learning Software at Netflix por Justin Basilico
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
Justin Basilico14.5K visualizações
Recommender system por Nilotpal Pramanik
Recommender systemRecommender system
Recommender system
Nilotpal Pramanik682 visualizações
Missing values in recommender models por Parmeshwar Khurd
Missing values in recommender modelsMissing values in recommender models
Missing values in recommender models
Parmeshwar Khurd122 visualizações

Similar a Recommendation Modeling with Impression Data at Netflix

Strata 2016 - Lessons Learned from building real-life Machine Learning Systems por
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning SystemsXavier Amatriain
5.9K visualizações51 slides
BIG2016- Lessons Learned from building real-life user-focused Big Data systems por
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsBIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsXavier Amatriain
3.4K visualizações48 slides
How to Use Data for Product Decisions by YouTube Product Manager por
How to Use Data for Product Decisions by YouTube Product ManagerHow to Use Data for Product Decisions by YouTube Product Manager
How to Use Data for Product Decisions by YouTube Product ManagerProduct School
788 visualizações44 slides
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016 por
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016MLconf
2.7K visualizações80 slides
Analytics Academy 2017 Presentation Slides por
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation SlidesHarvardComms
963 visualizações180 slides
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys... por
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Xavier Amatriain
16.5K visualizações46 slides

Similar a Recommendation Modeling with Impression Data at Netflix(20)

Strata 2016 - Lessons Learned from building real-life Machine Learning Systems por Xavier Amatriain
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Xavier Amatriain5.9K visualizações
BIG2016- Lessons Learned from building real-life user-focused Big Data systems por Xavier Amatriain
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsBIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systems
Xavier Amatriain3.4K visualizações
How to Use Data for Product Decisions by YouTube Product Manager por Product School
How to Use Data for Product Decisions by YouTube Product ManagerHow to Use Data for Product Decisions by YouTube Product Manager
How to Use Data for Product Decisions by YouTube Product Manager
Product School788 visualizações
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016 por MLconf
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016
MLconf2.7K visualizações
Analytics Academy 2017 Presentation Slides por HarvardComms
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation Slides
HarvardComms963 visualizações
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys... por Xavier Amatriain
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Xavier Amatriain16.5K visualizações
Choose the Right Problems to Solve with ML by Spotify PM por Product School
Choose the Right Problems to Solve with ML by Spotify PMChoose the Right Problems to Solve with ML by Spotify PM
Choose the Right Problems to Solve with ML by Spotify PM
Product School284 visualizações
Agile methodology - Humanity por Humanity
Agile methodology  - HumanityAgile methodology  - Humanity
Agile methodology - Humanity
Humanity667 visualizações
Intro to Data Analytics with Oscar's Director of Product por Product School
 Intro to Data Analytics with Oscar's Director of Product Intro to Data Analytics with Oscar's Director of Product
Intro to Data Analytics with Oscar's Director of Product
Product School878 visualizações
Mobile Monetization por npobbathi
Mobile MonetizationMobile Monetization
Mobile Monetization
npobbathi1.3K visualizações
How to Avoid Common Mistakes in Product by Cake Product Manager por Product School
How to Avoid Common Mistakes in Product by Cake Product ManagerHow to Avoid Common Mistakes in Product by Cake Product Manager
How to Avoid Common Mistakes in Product by Cake Product Manager
Product School745 visualizações
Key Tactics for a Successful Product Launch by Kespry Senior PM por Product School
Key Tactics for a Successful Product Launch by Kespry Senior PMKey Tactics for a Successful Product Launch by Kespry Senior PM
Key Tactics for a Successful Product Launch by Kespry Senior PM
Product School291 visualizações
Delivering Projects the Pivotal Way por Aaron Severs
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal Way
Aaron Severs3K visualizações
Userlytics User Testing: The Basics por Userlyitcs-Ryan
Userlytics User Testing: The BasicsUserlytics User Testing: The Basics
Userlytics User Testing: The Basics
Userlyitcs-Ryan456 visualizações
What Are the Basics of Product Manager Interviews by Google PM por Product School
What Are the Basics of Product Manager Interviews by Google PMWhat Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PM
Product School25.5K visualizações
How to Effectively Experiment in PM by LendingTree Sr PM por Product School
How to Effectively Experiment in PM by LendingTree Sr PMHow to Effectively Experiment in PM by LendingTree Sr PM
How to Effectively Experiment in PM by LendingTree Sr PM
Product School278 visualizações
Marketplace in motion - AdKDD keynote - 2020 por Roelof van Zwol
Marketplace in motion - AdKDD keynote - 2020 Marketplace in motion - AdKDD keynote - 2020
Marketplace in motion - AdKDD keynote - 2020
Roelof van Zwol2.1K visualizações
MVP (Minimum Viable Product) Readiness | Boost Labs por Boost Labs
MVP (Minimum Viable Product) Readiness | Boost LabsMVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost Labs
Boost Labs137 visualizações
Product management class rookie to pro por Bim Akinfenwa
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to pro
Bim Akinfenwa1.4K visualizações
The How, Why and What of Metrics? por The Wisdom Daily
The How, Why and What of Metrics?The How, Why and What of Metrics?
The How, Why and What of Metrics?
The Wisdom Daily 577 visualizações

Último

PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」 por
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」PC Cluster Consortium
27 visualizações68 slides
The Role of Patterns in the Era of Large Language Models por
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
91 visualizações65 slides
Measurecamp Brussels - Synthetic data.pdf por
Measurecamp Brussels - Synthetic data.pdfMeasurecamp Brussels - Synthetic data.pdf
Measurecamp Brussels - Synthetic data.pdfHuman37
26 visualizações14 slides
"Running students' code in isolation. The hard way", Yurii Holiuk por
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk Fwdays
36 visualizações34 slides
Business Analyst Series 2023 - Week 4 Session 7 por
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
146 visualizações31 slides
Telenity Solutions Brief por
Telenity Solutions BriefTelenity Solutions Brief
Telenity Solutions BriefMustafa Kuğu
14 visualizações10 slides

Último(20)

PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」 por PC Cluster Consortium
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PCCC23:日本AMD株式会社 テーマ1「AMD Instinct™ アクセラレーターの概要」
PC Cluster Consortium27 visualizações
The Role of Patterns in the Era of Large Language Models por Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li91 visualizações
Measurecamp Brussels - Synthetic data.pdf por Human37
Measurecamp Brussels - Synthetic data.pdfMeasurecamp Brussels - Synthetic data.pdf
Measurecamp Brussels - Synthetic data.pdf
Human37 26 visualizações
"Running students' code in isolation. The hard way", Yurii Holiuk por Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays36 visualizações
Business Analyst Series 2023 - Week 4 Session 7 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 visualizações
Telenity Solutions Brief por Mustafa Kuğu
Telenity Solutions BriefTelenity Solutions Brief
Telenity Solutions Brief
Mustafa Kuğu14 visualizações
Cocktail of Environments. How to Mix Test and Development Environments and St... por Aleksandr Tarasov
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
Aleksandr Tarasov23 visualizações
The Coming AI Tsunami.pptx por johnhandby
The Coming AI Tsunami.pptxThe Coming AI Tsunami.pptx
The Coming AI Tsunami.pptx
johnhandby13 visualizações
Business Analyst Series 2023 - Week 4 Session 8 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 visualizações
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... por ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue108 visualizações
This talk was not generated with ChatGPT: how AI is changing science por Elena Simperl
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing science
Elena Simperl32 visualizações
Inawisdom IDP por PhilipBasford
Inawisdom IDPInawisdom IDP
Inawisdom IDP
PhilipBasford15 visualizações
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream por Alpen-Adria-Universität
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Alpen-Adria-Universität38 visualizações
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell por Fwdays
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
"Node.js vs workers — A comparison of two JavaScript runtimes", James M Snell
Fwdays14 visualizações
"Surviving highload with Node.js", Andrii Shumada por Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 visualizações
Innovation & Entrepreneurship strategies in Dairy Industry por PervaizDar1
Innovation & Entrepreneurship strategies in Dairy IndustryInnovation & Entrepreneurship strategies in Dairy Industry
Innovation & Entrepreneurship strategies in Dairy Industry
PervaizDar135 visualizações
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... por BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 visualizações
Qualifying SaaS, IaaS.pptx por Sachin Bhandari
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptx
Sachin Bhandari1.1K visualizações
Future of AR - Facebook Presentation por Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty65 visualizações
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 por BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 visualizações

Recommendation Modeling with Impression Data at Netflix

  • 1. Recommendation Modeling with Impression Data at Netflix Jiangwei Pan Research Scientist at Netflix LERI workshop, RecSys’23
  • 3. What did I show?
  • 4. Definition of impressions An item appears in the viewport of the application ● for at least x milliseconds ● partially visible can be OK Impressions can be logged for different entities on screen ● shows, rows, boxart images, etc
  • 5. Goal of this presentation Impression data is critical for building recommender models at Netflix ● and other industry recommenders How do we incorporate impression data into recommender models? ● Impressions for label definition (training objectives) ● Impressions for feature definition Share interesting learnings and challenges
  • 7. Recommenders choose items and display them to the user as impressions What do recommenders do?
  • 8. A simplified recommendation algorithm Given a user: for every item, predict p(engage | user impression of item) then choose the item with the highest prediction
  • 9. How to train p(engage | impression) Binary classification model: engage or no-engage? Training data: take all user-item impressions
  • 10. If only “relevant” items are impressed Training data concentrate on the most relevant part of the item space If we train classifier using this data ● relevance is not the main difference between positives and negatives ● so it may be ignored by the model The classifier will not generalize well to the whole item space ● may over-predict for many non-relevant items
  • 11. Solution 1: Add item exploration Display random items to each user User still can’t impress every single item ● there can be millions of items But user can impress most “types” of items Model generalizes better! Too much exploration may hurt user experience or ads revenue Explore volume needs to be limited
  • 12. Solution 2: Add random negatives Pseudo-impressions with no engagement May incorrectly mark a relevant item as negative ● risk is small when item space is large Random negatives are easy to classify ● little connection to user interests But help a lot with model generalization Challenges ● what distribution to sample negatives? ● how to mix random negatives with impressed negatives?
  • 13. Popularity bias Definition: popular items get higher predictions than they should Model trained only using impressions (exploit + explore) ● no popularity bias as popular items get both more positives and more negatives in training data ● some items can suffer from high variance if not enough explore Adding uniform random negatives ● may increase popularity bias as we add the same number of negatives for popular and non-popular items
  • 14. When item space is large (millions) Too costly to compute p(engage | impression) for every item Candidate generation pass ● efficient model architectures (e.g. two- tower) ● millions → hundreds (loosely-relevant) ● care more about recall @ hundreds Fine-grained ranking pass ● more sophisticated model architectures ● distinguish between good and excellent ● often trained only on impressed negatives as it is applied on already relevant candidates More passes can be used, eg ● adjusting the ranking for diversity Efficiency optimization: use 2 passes ● both predict p(engage | impression) ● with different focuses
  • 15. Repeated impressions User scrolls back and forth multiple times Items at the top get repeated impressions Need to deduplicate the impressions per session in the training data Otherwise, top items get unfairly penalized in the model as they have more repeated impressions
  • 16. Noisy impressions Many items on screen at the same time Not clear if the user saw the item If no engagement, is it because ● user is not interested? ● user didn’t see it?
  • 17. Impressions may have long-term value Impression of a Netflix show makes it more familiar to the user ● even if the user did not play it User may become more/less likely to play the show at the next impression
  • 19. Typical features Frequency counts: number past impressions of item ● can add different variations Engagement rate: #engagements / #impressions ● how to set the value if #impressions = 0? ● 0, average, 1, adding prior? ● this could affect cold-start performance ● we can also skip this feature to let model learn directly from raw counts Categorical features: user’s impressed item ids ● can help model generalize better via id embeddings But a user can have hundreds of impressions even in a single day Need to reduce the noise
  • 20. Impression data volume Impression data volume is huge Logging is challenging ● heterogeneous client devices (TV, mobile, web) ● need to process, sessionize and summarize in real-time ● need to be available via multiple channels (table, stream, API) for different purposes Handle volume in feature definition ● summary counts ● focus on most recent impressions ● increase minimum impression duration requirement ● random sampling
  • 21. How does impression features help? Correlation Should we then recommend more items with many prior impressions from the user? No Correlation does not imply causation ● highly-impressed items probably have higher quality and thus have higher avg label In an AB test, after adding impression features ● model recommends more lowly-impressed items
  • 22. Conclusion ● Overview of using impression data to build an unbiased recommendation model at Netflix ● Label definition: we may need exploration and random negative sampling to enrich the training data ● Feature definition: various ways to summarize and denoise impression data ● Long-term value: impressions can have different long- term values for different users/items
  • 23. Challenges ● How to do efficient exploration that maximizes signal collection and minimizes user experience impact? ● How to sample random negatives? How to mix random negatives with impressed negatives? ● How to model long-term value of impressions?