SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
Ad Personalization 
at Spotify 
Building personalized ad experiences through iterative 
engineering and product development 
Kinshuk Mishra 
Noel Cody
Music… 
...is with you throughout the day. 
...fits your mood. 
...fits your activity.
Music… 
...is personal.
If your day looks like this: 
Wake up Work out Commute Focus at Work Relax at Home Sleep
Ads should follow. 
Wake up Work out Commute Focus at Work Relax at Home Sleep 
Ads
Ads should follow. 
Wake up Work out Commute Focus at Work (Classical) Relax at Home Sleep 
Electronic Music ad 
Not bad. WTF?
Why Personalization?
Why Personalization? 
“...it works well the advertisements are annoying though I am not a fan of 
mainstream music so hearing about pop bands is also driving me crazy” 
“Great way to listen to whatever music you want. The ads can be really 
annoying though since they don't seem to be targeted. I HATE rap music, yet I 
seem to get a lot of ads for it.”
Data confirms anecdotal evidence
AD PERSONALIZATION
User Stories 
Hypotheses + Goals 
Product MVPs + Experiments
User Stories to Hypotheses & Goals: 
● Context-aware ads 
● Music ads like music recommendations 
● Ads that learn
Hypotheses to Products: 
● Real-time genre targeting 
● Historic genre targeting 
● Real-time moment targeting
(Product MVPs to Experiments) 
Control Variation 1 Variation 2
INFRASTRUCTURE
Ad Targeting Architecture 
Feedback Loop
Ad Targeting Architecture 
OSS Data 
Infrastructure 
Spotify Backend 
Infrastructure
Ad Targeting Architecture V1.0 
COTS Data 
Infrastructure 
Real-time Targeting 
Spotify Backend 
Infrastructure
Ad Targeting Architecture V2.0 
Real-time + Batch Targeting 
(a.k.a. Lambda Architecture)
Ad Targeting Architecture V2.5 
Transition to Persistent User Profile
Ad Targeting Architecture V3.0 
Richer Profile Schema with Persistence
Tech Choices
Kafka 
● Kafka is a distributed, partitioned, replicated commit log service. 
● Guarantees 
● Kafka provides a total order over messages within a partition 
● Fault tolerance : handles N-1 failures for replication factor N.
Ad Targeting Architecture V1.0 
COTS Data 
Infrastructure 
Real-time Targeting 
Spotify Backend 
Infrastructure
SSttoorrmm 
● Real time stream processing 
● Like hadoop without HDFS 
● Like Map/Reduce with many reducer steps 
● Fault tolerant and guaranteed message processing
Storm: Testing (since 0.8.1) 
Storm
Storm: Visualization (since 0.9.2) 
Storm
Ad Targeting Architecture V2.0 
Real-time + Batch Targeting
Apache Crunch 
● Framework for writing, testing, and running MapReduce pipelines 
● Pipelines are composed of user-defined functions and higher-level 
abstractions of common MR tasks (filter, join, etc.)
Apache Crunch 
Data structures: 
● PCollection<T> 
● PTable<K,V> 
● PGroupedTable<K,V> 
Functions: 
● MapFn<T1,T2>: T1 → T2 
● CombineFn<K,V>: (K, Iterable<V>) → (K, V)
Apache Crunch 
What’s wrong with plain Python Streaming MapReduce? 
● Testability 
● Optimization 
● Performance 
● IDE support 
● Type Safety 
● Lack of higher-level operations (filter/join/aggregate) 
From Spotify Presentation: Scalding the Crunchy Pig for Cascading into the Hive
Apache Crunch 
● About a 5x performance improvement over Python streaming MapReduce 
● Readable functional-style API in plain Java 
● Great local testing support 
● First-class support for Avro records. 
From Spotify Presentation: Scalding the Crunchy Pig for Cascading into the Hive
Apache Crunch
Apache Crunch
Ad Targeting Architecture V2.5 
Transition to Persistent User Profile
CASSANDRA 
Rich wide-column 
schema support 
Solid persistence 
and replication 
Slower reads 
MEMCACHED 
K/V only 
TTL is default (in-memory 
● Rich schema 
● Persistence 
mgmt) 
vs.
Ad Targeting Architecture V3.0 
Richer Profile Schema with Persistence
DATA INGESTION: 
CASSANDRA 
CRUNCH 
STORM 
HDFS 
KAFKA 
LOGS
TESTING
User Stories 
Hypotheses + Goals 
Product MVPs + Experiments
AAR 
Vital Signs 
Ad-Specific Metrics
AAR 
Vital Signs 
Higher-level metrics 
are hard to move 
Ad-Specific Metrics
USER EXPERIENCE 
TEST ITERATION 
IMPACTS AAR
AAR 
Vital Signs 
Our focus Ad-Specific Metrics
Test evaluation 
● Positive Signals: CTR, Downstream Effects 
● Avoidance Signals: Volume, Audio Output 
● An “Ad Quality Score”
Thanks! 
(We’re hiring): 
spotify.com/us/jobs/

Contenu connexe

Similaire à Ads Personalization at Spotify - NYC Data Engineering 10/23

AWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWSAWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWS
Amazon Web Services
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
confluent
 

Similaire à Ads Personalization at Spotify - NYC Data Engineering 10/23 (20)

Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
 
APIdays Barcelona 2019 - How to build a social network on Serverless with Yan...
APIdays Barcelona 2019 - How to build a social network on Serverless with Yan...APIdays Barcelona 2019 - How to build a social network on Serverless with Yan...
APIdays Barcelona 2019 - How to build a social network on Serverless with Yan...
 
How to build a social network on serverless
How to build a social network on serverlessHow to build a social network on serverless
How to build a social network on serverless
 
AWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWSAWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWS
 
How to Build Streaming Apps with Confluent II
How to Build Streaming Apps with Confluent IIHow to Build Streaming Apps with Confluent II
How to Build Streaming Apps with Confluent II
 
Netflix Edge Engineering Open House Presentations - June 9, 2016
Netflix Edge Engineering Open House Presentations - June 9, 2016Netflix Edge Engineering Open House Presentations - June 9, 2016
Netflix Edge Engineering Open House Presentations - June 9, 2016
 
AI and Innovations on AWS
AI and Innovations on AWSAI and Innovations on AWS
AI and Innovations on AWS
 
Maximum Uptime Cluster Orchestration with Ansible
Maximum Uptime Cluster Orchestration with AnsibleMaximum Uptime Cluster Orchestration with Ansible
Maximum Uptime Cluster Orchestration with Ansible
 
KFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AIKFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AI
 
Ppc keywords discovery search labs sao paulo 2010 pavel dolezal
Ppc keywords discovery   search labs sao paulo 2010 pavel dolezalPpc keywords discovery   search labs sao paulo 2010 pavel dolezal
Ppc keywords discovery search labs sao paulo 2010 pavel dolezal
 
Christian Mladenov @ Intuitics
Christian Mladenov @ IntuiticsChristian Mladenov @ Intuitics
Christian Mladenov @ Intuitics
 
Timely Auto-Scaling of Kafka Streams Pipelines with Remotely Connected APIs w...
Timely Auto-Scaling of Kafka Streams Pipelines with Remotely Connected APIs w...Timely Auto-Scaling of Kafka Streams Pipelines with Remotely Connected APIs w...
Timely Auto-Scaling of Kafka Streams Pipelines with Remotely Connected APIs w...
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
 
Cloud-Native Roadshow - Google - San Francisco
Cloud-Native Roadshow - Google - San FranciscoCloud-Native Roadshow - Google - San Francisco
Cloud-Native Roadshow - Google - San Francisco
 
Cloud-Native Roadshow - Google - Denver
Cloud-Native Roadshow - Google - DenverCloud-Native Roadshow - Google - Denver
Cloud-Native Roadshow - Google - Denver
 
Cloud-Native Roadshow Boston: Google
Cloud-Native Roadshow Boston: GoogleCloud-Native Roadshow Boston: Google
Cloud-Native Roadshow Boston: Google
 
Cloud-Native Roadshow - Google - Dallas
Cloud-Native Roadshow - Google - DallasCloud-Native Roadshow - Google - Dallas
Cloud-Native Roadshow - Google - Dallas
 
Intro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event MicroservicesIntro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event Microservices
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
 
Cloud-Native Roadshow - Google - Atlanta
Cloud-Native Roadshow - Google - AtlantaCloud-Native Roadshow - Google - Atlanta
Cloud-Native Roadshow - Google - Atlanta
 

Dernier

Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
JoseMangaJr1
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
amitlee9823
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
amitlee9823
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
AroojKhan71
 

Dernier (20)

Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 

Ads Personalization at Spotify - NYC Data Engineering 10/23