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 vistas64 diapositivas
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 vistas35 diapositivas
Context Aware Recommendations at Netflix por
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at NetflixLinas Baltrunas
5.7K vistas38 diapositivas
Homepage Personalization at Spotify por
Homepage Personalization at SpotifyHomepage Personalization at Spotify
Homepage Personalization at SpotifyOguz Semerci
3.5K vistas26 diapositivas
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 vistas41 diapositivas
Sequential Decision Making in Recommendations por
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsJaya Kawale
2.1K vistas32 diapositivas

Más contenido relacionado

La actualidad más candente

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 vistas20 diapositivas
Deep Learning for Recommender Systems por
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender SystemsJustin Basilico
21.1K vistas35 diapositivas
Learning a Personalized Homepage por
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized HomepageJustin Basilico
6.5K vistas34 diapositivas
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 vistas45 diapositivas
Calibrated Recommendations por
Calibrated RecommendationsCalibrated Recommendations
Calibrated RecommendationsHarald Steck
4.2K vistas24 diapositivas
Contextualization at Netflix por
Contextualization at NetflixContextualization at Netflix
Contextualization at NetflixLinas Baltrunas
7.7K vistas31 diapositivas

La actualidad más candente(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 vistas
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 vistas
Learning a Personalized Homepage por Justin Basilico
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized Homepage
Justin Basilico6.5K vistas
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 vistas
Calibrated Recommendations por Harald Steck
Calibrated RecommendationsCalibrated Recommendations
Calibrated Recommendations
Harald Steck4.2K vistas
Contextualization at Netflix por Linas Baltrunas
Contextualization at NetflixContextualization at Netflix
Contextualization at Netflix
Linas Baltrunas7.7K vistas
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 vistas
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 vistas
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 vistas
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 vistas
Recommendation at Netflix Scale por Justin Basilico
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
Justin Basilico21.6K vistas
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 vistas
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 vistas
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 vistas
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 vistas
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 vistas
Missing values in recommender models por Parmeshwar Khurd
Missing values in recommender modelsMissing values in recommender models
Missing values in recommender models
Parmeshwar Khurd122 vistas

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 vistas51 diapositivas
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 vistas48 diapositivas
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 vistas44 diapositivas
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 vistas80 diapositivas
Analytics Academy 2017 Presentation Slides por
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation SlidesHarvardComms
963 vistas180 diapositivas
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 vistas46 diapositivas

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 vistas
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 vistas
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 vistas
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 vistas
Analytics Academy 2017 Presentation Slides por HarvardComms
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation Slides
HarvardComms963 vistas
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 vistas
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 vistas
Agile methodology - Humanity por Humanity
Agile methodology  - HumanityAgile methodology  - Humanity
Agile methodology - Humanity
Humanity667 vistas
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 vistas
Mobile Monetization por npobbathi
Mobile MonetizationMobile Monetization
Mobile Monetization
npobbathi1.3K vistas
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 vistas
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 vistas
Delivering Projects the Pivotal Way por Aaron Severs
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal Way
Aaron Severs3K vistas
Userlytics User Testing: The Basics por Userlyitcs-Ryan
Userlytics User Testing: The BasicsUserlytics User Testing: The Basics
Userlytics User Testing: The Basics
Userlyitcs-Ryan456 vistas
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 vistas
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 vistas
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 vistas
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 vistas
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 vistas

Último

"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 vistas34 diapositivas
The Power of Generative AI in Accelerating No Code Adoption.pdf por
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdfSaeed Al Dhaheri
39 vistas18 diapositivas
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
208 vistas8 diapositivas
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... por
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
141 vistas29 diapositivas
Initiating and Advancing Your Strategic GIS Governance Strategy por
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategySafe Software
184 vistas68 diapositivas
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... por
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
120 vistas17 diapositivas

Último(20)

"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 vistas
The Power of Generative AI in Accelerating No Code Adoption.pdf por Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri39 vistas
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue208 vistas
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... por ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 vistas
Initiating and Advancing Your Strategic GIS Governance Strategy por Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software184 vistas
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... por ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue120 vistas
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... por ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 vistas
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue por ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue224 vistas
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... por ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 vistas
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 vistas
Optimizing Communication to Optimize Human Behavior - LCBM por Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar38 vistas
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 vistas
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue207 vistas
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue por ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue265 vistas
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 vistas
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 vistas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 vistas

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?