SlideShare una empresa de Scribd logo
1 de 102
Descargar para leer sin conexión
Spotify Numbers
60 markets Over 30 million Songs100 millionActive Users
(40 million Subscribers)
iOS Client Numbers
50 monthly contributors 0.5 million lines of code +100AB Tests Running
Hector Zarate (@ChocoChipset)
Software Engineer at Spotify
Boxun Zhang
Data Scientist at Spotify
1.What?
😱
😱
YOUARE
PARTOFAN
EXPERIMENT
AB
Testing
Samson, 3
Max, 30Samson, 3
+5% 

matches
Share of Matches
20%
23.75%
27.5%
31.25%
35%
Week 0 Week 1 Week 2 Week 3 Week 4
With Sunglasses
Sunglasses
Share of Matches
20%
23.75%
27.5%
31.25%
35%
Week 0 Week 1 Week 2 Week 3 Week 4
With Sunglasses Control
Sunglasses
Share of Premium Conversion
20%
23.75%
27.5%
31.25%
35%
Week 0 Week 1 Week 2 Week 3 Week 4
Variation A Control
Sunglasses
User Retention
20%
23.75%
27.5%
31.25%
35%
Week 0 Week 1 Week 2 Week 3 Week 4
Variation A Control
Sunglasses
spotify:user:chocochipset92b2976bb15d26c9008
1 2 3 4 5 6 7 8 9 10
p ( x )
x
1 / n
1 2 3 4 5 6 7 8 9 10
p ( x )
x
1 / n
1 2 3 4 5 6 7 8 9 10
p ( x )
x
1 / n 0% 60%
Markets
Demographics
UserAttributes
Login
resolveABFlags()
response(ABFlags)
ABBA
Cache AB Values
Load Cached or
Default AB Flags
Example
button.color = [UIColor spotifyGreen];
BOOL isButtonPink = ([abFlags[@“pink-buttons"] isEqual:@"1"]);
if (isButtonPink) {
// alternate path here:
button.color = [UIColor spotifyPink];
}
Key Value
charts Enabled
pink-buttons 0
buffer-quality low
gallery-artist Control
Key Value
charts Enabled
pink-buttons 0
buffer-quality low
gallery-artist Control
Example
button.color = [UIColor spotifyGreen];
BOOL isButtonPink = ([abFlags[@“pink-buttons"] isEqual:@"1"]);
if (isButtonPink) {
// alternate path here:
button.color = [UIColor spotifyPink];
}
Key Value
charts Enabled
pink-buttons 1
buffer-quality low
gallery-artist Control
pink-button 1
VariationA Control
Analytics
impressions and
interactions
ControlVariation
* just a personal preference
2.How?
1. Hypothesis 2. Design 3. Run 4.Analysis
1. Formulate
a Hypothesis
2. Design theTest
#
shuffle
plays
2.1Target Metrics
# matches
Samson, 3
# replies
# walks in the
park
2.2Test Group
more test bandwith, less confidence, smaller effect
in business
less test bandwith, more confidence, bigger effect in
business
Small
Large
2.3 Duration
Watch out for seasonality:
i.e. Music habits are different on
weekdays and weekends.
Purchasing habits are different near
paydays.
3. Run the
test
1 2 3 4 5 6 7 8 9 10
p ( x )
x
1 / n
TestA
TestA
TestB
TestB
TestA/TestB
Watch out for
conflicting tests!
Don’t cut them
short!
0m 90m
Standard Match Duration
0m 20m
Inconclusive
0m +95m
Unnecessary
0m +95m
Bruno
C
esar48’:0
-1
0m +95m
Bruno
C
esar48’:0
-1
Ronaldo
89’:1-1
0m +95m
Bruno
C
esar48’:0
-1
Ronaldo
89’:1-1
M
orata
90’+
4’:2
-1
2 - 1
0
25
50
75
100
D1 D2 D3 D4 D5 D6 D7 D8
Don’t cut them
short!
4.Analyze
the results
1. Formulate 

a Hypothesisnew
3.CaseStudies
3.1. Losing
Calories
Test: Tab Bar Navigation
Hypothesis:
By switching to TBN, we
expect an increase in the
share of users who click
at least one menu item.
1
Test: Tab Bar Navigation
Hypothesis:
By switching to TBN, we
expect an increase in the
share of users who click
at least one menu item.
2.1
10%
New Users
1%
Existing Users
2.2
2.3
1 week period
4
Clicks on Menu Items
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
110%
120%
130%
Control Tab Bar
130%
100%
4
Clicks Overall
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
110%
120%
130%
Control Tab Bar
109%
100%
4
1. Increased clicks in
Tab Items
2. Decreased clicks
in non-tab items.
WHY AB TEST?

QUANTIFY THE IMPACT
OF A SPECIFIC CHANGE
3.2. Home
in Mexico
My Rock Your Rock
My Home Your Home
My Home Your Home
Test: Home
Hypothesis:
We will measure an
increased second week
retention by using the
new ‘Home’ as start
page. 1
Test: Home
Hypothesis:
We will measure an
increased second week
retention by using the
new ‘Home’ as start
page. 2.1
10%
New Users
1%
Existing Users
2.2
2.3
1 week period
US UK Germany Austria Mexico
4
1. Is the localization good?
2. Are recommendations relevant for
the market?
3. Technical restrictions we are not
aware of?
4
12.34 Mbps
US
13.70 Mbps
UK
13.42 Mbps
Germany
15.48 Mbps
Austria
7.4 Mbps
Mexico
* 3.7 Mb
4
1. Hypothesis 2. Design 3. Run 4.Analysis
Test: Home
Hypothesis:
By compressing the data
sent for Home, more
users will play on day
one, two and be active
during their second
week. 1
1. Is the localization good?
2. Are recommendations relevant for
the market?
3. Technical restrictions we are not
aware of?
4
1. Is the localization good?
2. Are recommendations relevant for
the market?
3. Technical restrictions we are not
aware of?
4
1. Is the localization good?
2. Are recommendations relevant for
the market?
3. Technical restrictions we are not
aware of?
4
4.Pitfalls
ANALYSIS
PARALYSIS
NO
DATA
Max, 30
TOO MANY
SMALL CHANGES
Max, WOLF AT WALL STREET
TOO MANY
SMALL CHANGES
DONT

LISTEN TO
YOUR
HEART
(LISTEN TO THE DATA)
5.WrapUp
KNOWLEDGE
ISYOUR
ROI
Atest is an investment
Design to maximize learning
NEGATIVE
RESULTS ARE
STILL POSITIVE
(DON’T GIVE UP!)
TRY AB
TESTING
Вопросов?
Hector Zarate
@ChocoChipset
spotify.com/jobs
Спасибо!
Hector Zarate
@ChocoChipset
spotify.com/jobs

Más contenido relacionado

Más de IT Event

Anna Lavrova "How to build a mutually beneficial relationships with the clien...
Anna Lavrova "How to build a mutually beneficial relationships with the clien...Anna Lavrova "How to build a mutually beneficial relationships with the clien...
Anna Lavrova "How to build a mutually beneficial relationships with the clien...
IT Event
 

Más de IT Event (20)

Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
 
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
Evgeny Gusev - "A circular firing squad: How technologies drag frontend down"
 
Vladimir Grinenko - "Dependencies in component web done right"
Vladimir Grinenko - "Dependencies in component web done right"Vladimir Grinenko - "Dependencies in component web done right"
Vladimir Grinenko - "Dependencies in component web done right"
 
Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"
 
Aleksey Bogachuk - "Offline Second"
Aleksey Bogachuk - "Offline Second"Aleksey Bogachuk - "Offline Second"
Aleksey Bogachuk - "Offline Second"
 
James Allardice - "Building a better login with the credential management API"
James Allardice - "Building a better login with the credential management API"James Allardice - "Building a better login with the credential management API"
James Allardice - "Building a better login with the credential management API"
 
Fedor Skuratov "Dark Social: as messengers change the market of social media ...
Fedor Skuratov "Dark Social: as messengers change the market of social media ...Fedor Skuratov "Dark Social: as messengers change the market of social media ...
Fedor Skuratov "Dark Social: as messengers change the market of social media ...
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"
 
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
Volodymyr Lyubinets "Introduction to big data processing with Apache Spark"
 
Наш ответ Uber’у
Наш ответ Uber’уНаш ответ Uber’у
Наш ответ Uber’у
 
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
Александр Крашенинников "Hadoop High Availability: опыт Badoo"Александр Крашенинников "Hadoop High Availability: опыт Badoo"
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
 
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
Анатолий Пласковский "Миллионы карточных платежей за месяц, или как потерять ...
 
Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"
 
Andrew Stain "User acquisition"
Andrew Stain "User acquisition"Andrew Stain "User acquisition"
Andrew Stain "User acquisition"
 
Anna Lavrova "How to build a mutually beneficial relationships with the clien...
Anna Lavrova "How to build a mutually beneficial relationships with the clien...Anna Lavrova "How to build a mutually beneficial relationships with the clien...
Anna Lavrova "How to build a mutually beneficial relationships with the clien...
 
Pavel Lando "Imperfect world or How to build mediabuying model"
Pavel Lando "Imperfect world or How to build mediabuying model"Pavel Lando "Imperfect world or How to build mediabuying model"
Pavel Lando "Imperfect world or How to build mediabuying model"
 
Дмитрий Ляпин "Как правильно подойти к продвижению бесплатного мобильного при...
Дмитрий Ляпин "Как правильно подойти к продвижению бесплатного мобильного при...Дмитрий Ляпин "Как правильно подойти к продвижению бесплатного мобильного при...
Дмитрий Ляпин "Как правильно подойти к продвижению бесплатного мобильного при...
 
Владислав Грамович "Как добиться невероятных продаж по высокому рейту"
Владислав Грамович "Как добиться невероятных продаж по высокому рейту"Владислав Грамович "Как добиться невероятных продаж по высокому рейту"
Владислав Грамович "Как добиться невероятных продаж по высокому рейту"
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Último (20)

Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Héctor Zárate "AB Testing"