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 of 24

Recommended

Reward Innovation for long-term member satisfaction by
Reward Innovation for long-term member satisfactionReward Innovation for long-term member satisfaction
Reward Innovation for long-term member satisfactionJiangwei Pan
684 views18 slides
Lessons Learned from Building Machine Learning Software at Netflix by
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 NetflixJustin Basilico
14.5K views34 slides
Learning a Personalized Homepage by
Learning a Personalized HomepageLearning a Personalized Homepage
Learning a Personalized HomepageJustin Basilico
6.5K views34 slides
Time, Context and Causality in Recommender Systems by
Time, Context and Causality in Recommender SystemsTime, Context and Causality in Recommender Systems
Time, Context and Causality in Recommender SystemsYves Raimond
5.9K views35 slides
Practical Introduction to A/B Testing by
Practical Introduction to A/B TestingPractical Introduction to A/B Testing
Practical Introduction to A/B TestingAlex Alwan
648 views34 slides
Data council SF 2020 Building a Personalized Messaging System at Netflix by
Data council SF 2020 Building a Personalized Messaging System at NetflixData council SF 2020 Building a Personalized Messaging System at Netflix
Data council SF 2020 Building a Personalized Messaging System at NetflixGrace T. Huang
447 views31 slides

More Related Content

What's hot

Recent Trends in Personalization at Netflix by
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixJustin Basilico
24.2K views57 slides
Making Netflix Machine Learning Algorithms Reliable by
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableJustin Basilico
11.8K views41 slides
Recommendation at Netflix Scale by
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix ScaleJustin Basilico
21.6K views42 slides
Artwork Personalization at Netflix Fernando Amat RecSys2018 by
Artwork Personalization at Netflix Fernando Amat RecSys2018 Artwork Personalization at Netflix Fernando Amat RecSys2018
Artwork Personalization at Netflix Fernando Amat RecSys2018 Fernando Amat
3.5K views24 slides
Experimentation Platform at Netflix by
Experimentation Platform at NetflixExperimentation Platform at Netflix
Experimentation Platform at NetflixSteve Urban
11.6K views18 slides
Netflix talk at ML Platform meetup Sep 2019 by
Netflix talk at ML Platform meetup Sep 2019Netflix talk at ML Platform meetup Sep 2019
Netflix talk at ML Platform meetup Sep 2019Faisal Siddiqi
4.4K views43 slides

What's hot(20)

Recent Trends in Personalization at Netflix by Justin Basilico
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
Justin Basilico24.2K views
Making Netflix Machine Learning Algorithms Reliable by Justin Basilico
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms Reliable
Justin Basilico11.8K views
Recommendation at Netflix Scale by Justin Basilico
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
Justin Basilico21.6K views
Artwork Personalization at Netflix Fernando Amat RecSys2018 by Fernando Amat
Artwork Personalization at Netflix Fernando Amat RecSys2018 Artwork Personalization at Netflix Fernando Amat RecSys2018
Artwork Personalization at Netflix Fernando Amat RecSys2018
Fernando Amat3.5K views
Experimentation Platform at Netflix by Steve Urban
Experimentation Platform at NetflixExperimentation Platform at Netflix
Experimentation Platform at Netflix
Steve Urban11.6K views
Netflix talk at ML Platform meetup Sep 2019 by Faisal Siddiqi
Netflix talk at ML Platform meetup Sep 2019Netflix talk at ML Platform meetup Sep 2019
Netflix talk at ML Platform meetup Sep 2019
Faisal Siddiqi4.4K views
Basics of AB testing in online products by Ashish Dua
Basics of AB testing in online productsBasics of AB testing in online products
Basics of AB testing in online products
Ashish Dua1.5K views
Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta... by Spark Summit
Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta...Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta...
Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta...
Spark Summit4.7K views
Test for Success: A Guide to A/B Testing on Emails & Landing Pages by Optimizely
Test for Success: A Guide to A/B Testing on Emails & Landing PagesTest for Success: A Guide to A/B Testing on Emails & Landing Pages
Test for Success: A Guide to A/B Testing on Emails & Landing Pages
Optimizely8.5K views
Past, Present & Future of Recommender Systems: An Industry Perspective by 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 views
How do you get more out of your User Stories? by Thoughtworks
How do you get more out of your User Stories?How do you get more out of your User Stories?
How do you get more out of your User Stories?
Thoughtworks26.6K views
Facebook Talk at Netflix ML Platform meetup Sep 2019 by Faisal Siddiqi
Facebook Talk at Netflix ML Platform meetup Sep 2019Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019
Faisal Siddiqi1.9K views
Supporting decisions with ML by Megan Neider
Supporting decisions with MLSupporting decisions with ML
Supporting decisions with ML
Megan Neider1.6K views
Intro to A/B Testing by Ever's Senior Product Manager by Product School
Intro to A/B Testing by Ever's Senior Product ManagerIntro to A/B Testing by Ever's Senior Product Manager
Intro to A/B Testing by Ever's Senior Product Manager
Product School6.4K views
Deep Learning for Recommender Systems by Yves Raimond
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
Yves Raimond15.4K views
Personalized Page Generation for Browsing Recommendations by Justin Basilico
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing Recommendations
Justin Basilico5.3K views
A/B Testing with Yammer's Product Manager by Product School
A/B Testing with Yammer's Product ManagerA/B Testing with Yammer's Product Manager
A/B Testing with Yammer's Product Manager
Product School1.4K views
Sequential Decision Making in Recommendations by Jaya Kawale
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in Recommendations
Jaya Kawale2.1K views
Fact Store at Scale for Netflix Recommendations with Nitin Sharma and Kedar S... by Databricks
Fact Store at Scale for Netflix Recommendations with Nitin Sharma and Kedar S...Fact Store at Scale for Netflix Recommendations with Nitin Sharma and Kedar S...
Fact Store at Scale for Netflix Recommendations with Nitin Sharma and Kedar S...
Databricks1.9K views
Déjà Vu: The Importance of Time and Causality in Recommender Systems by 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 views

Similar to Recommendation Modeling with Impression Data at Netflix

Strata 2016 - Lessons Learned from building real-life Machine Learning Systems by
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 views51 slides
BIG2016- Lessons Learned from building real-life user-focused Big Data systems by
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 views48 slides
How to Use Data for Product Decisions by YouTube Product Manager by
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 views44 slides
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016 by
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 views80 slides
Analytics Academy 2017 Presentation Slides by
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation SlidesHarvardComms
963 views180 slides
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys... by
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 views46 slides

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

Strata 2016 - Lessons Learned from building real-life Machine Learning Systems by 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 views
BIG2016- Lessons Learned from building real-life user-focused Big Data systems by 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 views
How to Use Data for Product Decisions by YouTube Product Manager by 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 views
Elena Grewal, Data Science Manager, Airbnb at MLconf SF 2016 by 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 views
Analytics Academy 2017 Presentation Slides by HarvardComms
Analytics Academy 2017 Presentation SlidesAnalytics Academy 2017 Presentation Slides
Analytics Academy 2017 Presentation Slides
HarvardComms963 views
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys... by 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 views
Choose the Right Problems to Solve with ML by Spotify PM by 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 views
Agile methodology - Humanity by Humanity
Agile methodology  - HumanityAgile methodology  - Humanity
Agile methodology - Humanity
Humanity667 views
Intro to Data Analytics with Oscar's Director of Product by 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 views
Mobile Monetization by npobbathi
Mobile MonetizationMobile Monetization
Mobile Monetization
npobbathi1.3K views
How to Avoid Common Mistakes in Product by Cake Product Manager by 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 views
Key Tactics for a Successful Product Launch by Kespry Senior PM by 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 views
Delivering Projects the Pivotal Way by Aaron Severs
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal Way
Aaron Severs3K views
Userlytics User Testing: The Basics by Userlyitcs-Ryan
Userlytics User Testing: The BasicsUserlytics User Testing: The Basics
Userlytics User Testing: The Basics
Userlyitcs-Ryan456 views
What Are the Basics of Product Manager Interviews by Google PM by 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 views
How to Effectively Experiment in PM by LendingTree Sr PM by 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 views
Marketplace in motion - AdKDD keynote - 2020 by 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 views
MVP (Minimum Viable Product) Readiness | Boost Labs by Boost Labs
MVP (Minimum Viable Product) Readiness | Boost LabsMVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost Labs
Boost Labs137 views
Product management class rookie to pro by Bim Akinfenwa
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to pro
Bim Akinfenwa1.4K views

Recently uploaded

Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
71 views20 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
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...ShapeBlue
54 views18 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
317 views86 slides
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
69 views8 slides
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...ShapeBlue
55 views12 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
48 views69 slides

Recently uploaded(20)

Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue71 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by 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...
ShapeBlue54 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software317 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue55 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker48 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue31 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu28 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue106 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue26 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by 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...
ShapeBlue26 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue25 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by 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...
ShapeBlue60 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely29 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by 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
ShapeBlue70 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn26 views

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?