SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Adding Knobs to your App – Modifying &
Measuring Behavior in the Wild (without
Republishing)
Cheng	
  Luo,	
  Amazon	
  Appstore	
  
11th	
  January,	
  2014	
  	
  
@chengluo	
  

#mceconf

#mce-addingknobs
 All	
  rights	
  reserved.	
  May	
  not	
  be	
  copied,	
  modified,	
  or	
  distributed	
  in	
  whole	
  or	
  in	
  part	
  without	
  the	
  express	
  consent	
  of	
  Amazon.com,	
  Inc.	
  
©	
  2013	
  Amazon.com,	
  Inc.	
  and	
  its	
  affiliates.	
  

11 Jan 2014
Agenda
• 
• 
• 
• 

Why Amazon Mobile SDK
How to use A|B testing 
Add your A|B testing in 10 minutes
Demo

#mceconf

#mce-addingknobs

11 Jan 2014
Active Users
Monthly Unique
Visitors (US):

Active Global Customer
Accounts:

200M

1

Age Composition of Amazon
Unique Visitors2

97M

Avg. Daily Unique Visitors
(US):
2

Household Income of Amazon
Unique Visitors2

18-­‐34	
  

% of Amazon Shoppers Who have
Made an Online Purchase2

38%	
  

32%	
  

45%	
  
30%	
  

18%	
  
0-­‐18	
  

10%	
  
35-­‐44	
  

6.6

2

52%	
  

8%	
  
42%	
  

12.9M

2

Avg. Visits per
Visitor per
Month (US):

45+	
  

<$25K	
  

$25K-­‐$75K	
  

$75K	
  +	
  

<$50	
  

25%	
  
$50-­‐$200	
  
Amount Spent

$200+	
  

Note: Active Customer Accounts are unique email addresses that have placed an order in the last 12 months
Sources: 1. Amazon Investor Relations; 2. ComScore PlanMetrix January, 2013.

#mceconf

#mce-addingknobs

11 Jan 2014
Simplicity
•  Amazon	
  Appstore	
  runs	
  Android	
  apps	
  

•  75%	
  of	
  Android	
  apps	
  work	
  without	
  any	
  need	
  for	
  customisaTon	
  
•  Simple	
  APIs	
  to	
  publish	
  free-­‐to-­‐user,	
  freemium	
  and	
  premium	
  apps	
  

Device	
  Messaging	
  API

In-­‐App	
  Purchasing	
  API

#mceconf

#mce-addingknobs

A/B	
  TesTng	
  Service	
  API

Maps	
  API

GameCircle	
  API

11 Jan 2014
The latest Kindle Fire HDX

Kindle	
  Fire	
  HDX	
  7"	
  Tablet	
  $229,	
  with	
  24x7	
  May	
  Day	
  support	
  	
  
#mceconf

#mce-addingknobs

11 Jan 2014
What A|B Testing can do for you

Precisely	
  control	
  
who	
  is	
  affected	
  

#mceconf

#mce-addingknobs

Safely	
  test	
  
back-­‐end	
  load	
  

Change	
  in	
  the	
  wild;	
  
No	
  new	
  APK	
  needed	
  

11 Jan 2014
Case Study - Air Patriots
Used A/B Testing to decide:
•  Include in-game advertising
•  Provide purchasing short-cuts
•  Notification frequency
•  Level difficulty
•  Promotional imagery
#mceconf

#mce-addingknobs

11 Jan 2014
Case 1 – Image

#mceconf

#mce-addingknobs

11 Jan 2014
Case 2 – Ads placing 

#mceconf

#mce-addingknobs

11 Jan 2014
Case 3 - Notification
Notification appears 
•  x1 day
•  x 3 days → Sweet spot
•  x 7 days

#mceconf

#mce-addingknobs

11 Jan 2014
Case 4 - User Retention 

Level:	
  1	
  
Difficulty:	
  Easy	
  
#mceconf

#mce-addingknobs

Level:	
  5	
  
Difficulty:	
  Medium	
  
11 Jan 2014
Air Patriots Sample Results

#mceconf

#mce-addingknobs

11 Jan 2014
Add A/B Testing to Your App

#mceconf

#mce-addingknobs

11 Jan 2014
Add A/B Testing to Your App

#mceconf

#mce-addingknobs

11 Jan 2014
Add A/B Testing to Your App

#mceconf

#mce-addingknobs

11 Jan 2014
Initialize A/B Testing in Your App
private static final String APP_KEY = "876c809ba7084b9fbe2c08a22e5acda1";
private static final String PRIVATE_KEY = "9nxxk4//qL89ymXl/P5aL7w8uhs3DVDrLcyYViG6yn0=";
AmazonInsights insightsInstance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

. . .
InsightsCredentials credentials = AmazonInsights.newCredentials(APP_KEY, PRIVATE_KEY);
insightsInstance = AmazonInsights.newInstance(credentials, getApplicationContext());
}

#mceconf

#mce-addingknobs

11 Jan 2014
Create an A/B Testing Project

#mceconf

#mce-addingknobs

11 Jan 2014
Create an A/B Testing Project

#mceconf

#mce-addingknobs

11 Jan 2014
Create an A/B Testing Project

#mceconf

#mce-addingknobs

11 Jan 2014
Add a New Launch

#mceconf

#mce-addingknobs

11 Jan 2014
Add a New Launch

#mceconf

#mce-addingknobs

11 Jan 2014
Add a New Launch

#mceconf

#mce-addingknobs

11 Jan 2014
Multiple Projects Are Allowed

private static final String AB_PRJ_ACC = "Acceleration";
private static final String AB_VAR_MAXACC = "maxAcceleration";

//Project name
//Variable name

private static final String AB_PRJ_VEL = "Velocity";
private static final String AB_VAR_MAXVEL = "maxVelocity";

//Project name
//variable name

#mceconf

#mce-addingknobs

11 Jan 2014
Load Variation Variables
private static final int DEF_MAXACC = 5;
private static final int DEF_MAXVEL = 50;
private int maxAcc;
private int maxVel;
private void loadTreatment() {
ABTestClient abClient = insightsInstance.getABTestClient();
abClient.getVariations(AB_PRJ_VEL, AB_PRJ_ACC).setCallback(new InsightsCallback<VariationSet>() {
@Override
public void onComplete(VariationSet variations) {
Variation variation = variations.getVariation(AB_PRJ_ACC);
maxAcc = variation.getVariableAsInt(AB_VAR_MAXACC, DEF_MAXACC);
variation = variations.getVariation(AB_PRJ_VEL);
maxVel = variation.getVariableAsInt(AB_VAR_MAXVEL, DEF_MAXVEL);
}
});
}

#mceconf

#mce-addingknobs

11 Jan 2014
Changing Values on the Fly

#mceconf

#mce-addingknobs

11 Jan 2014
Changing Values on the Fly

#mceconf

#mce-addingknobs

11 Jan 2014
Changing Values on the Fly

#mceconf

#mce-addingknobs

11 Jan 2014
Changing Values on the Fly

#mceconf

#mce-addingknobs

11 Jan 2014
Add a Segment

#mceconf

#mce-addingknobs

11 Jan 2014
Add a Segment

#mceconf

#mce-addingknobs

11 Jan 2014
Add a Segment

#mceconf

#mce-addingknobs

11 Jan 2014
Use the Segment 
Use	
  App	
  Segngs	
  to	
  idenTfy	
  your	
  user	
  segments	
  
        //get user age from the app settings
        SharedPreferences myPrefs;
        myPrefs = getSharedPreferences("com.example.testingapp", Context.MODE_PRIVATE);
        int userAge = myPrefs.getInt("com.example.testingapp.USER_AGE", "");

//Initial the segments here
UserProfile userProfile = insightsInstance.getUserProfile();
userProfile.addDimensionAsNumber("age", userAge);

#mceconf

#mce-addingknobs

11 Jan 2014
Demo

#mceconf

#mce-addingknobs

11 Jan 2014
Wrap up 
•  A/B Testing
–  Free cross platform services 
–  Precise measuring behaviours using custom
segments
–  Modifying app behaviors without
republishing
#mceconf

#mce-addingknobs

11 Jan 2014
Thank you

@AmazonAppDev

#mceconf

#mce-addingknobs

11 Jan 2014

Más contenido relacionado

Destacado

Amazon: Strategic Management
Amazon: Strategic ManagementAmazon: Strategic Management
Amazon: Strategic ManagementFarhaad Sheikh
 
Amazon 06 - Innovation Strategy
Amazon 06 - Innovation StrategyAmazon 06 - Innovation Strategy
Amazon 06 - Innovation StrategyPere Joan
 
Amazon ppt
Amazon pptAmazon ppt
Amazon pptaftabssm
 
Big Data in Retail - Examples in Action
Big Data in Retail - Examples in ActionBig Data in Retail - Examples in Action
Big Data in Retail - Examples in ActionDavid Pittman
 
Strategy Presentation on Amazon
Strategy Presentation on AmazonStrategy Presentation on Amazon
Strategy Presentation on AmazonGabbi Baker
 
Amazon - Brand Management
Amazon - Brand ManagementAmazon - Brand Management
Amazon - Brand ManagementHet Mavani
 
Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013Fabernovel
 

Destacado (10)

Amazon Innovations
Amazon InnovationsAmazon Innovations
Amazon Innovations
 
Amazon
AmazonAmazon
Amazon
 
Amazon: Strategic Management
Amazon: Strategic ManagementAmazon: Strategic Management
Amazon: Strategic Management
 
Amazon Business Model
Amazon Business ModelAmazon Business Model
Amazon Business Model
 
Amazon 06 - Innovation Strategy
Amazon 06 - Innovation StrategyAmazon 06 - Innovation Strategy
Amazon 06 - Innovation Strategy
 
Amazon ppt
Amazon pptAmazon ppt
Amazon ppt
 
Big Data in Retail - Examples in Action
Big Data in Retail - Examples in ActionBig Data in Retail - Examples in Action
Big Data in Retail - Examples in Action
 
Strategy Presentation on Amazon
Strategy Presentation on AmazonStrategy Presentation on Amazon
Strategy Presentation on Amazon
 
Amazon - Brand Management
Amazon - Brand ManagementAmazon - Brand Management
Amazon - Brand Management
 
Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013
 

Similar a Amazon AB Testing - Modifying & Measuring App Behaviors Without Republishing

Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
Cloud Elements Lean Product Development 101
Cloud Elements Lean Product Development 101Cloud Elements Lean Product Development 101
Cloud Elements Lean Product Development 101Greg Lindahl
 
Lean Product Development 101
Lean Product Development 101Lean Product Development 101
Lean Product Development 101Cloud Elements
 
Technical Webinar with AWS - Everything You Need to Measure in Your Migration
Technical Webinar with AWS - Everything You Need to Measure in Your MigrationTechnical Webinar with AWS - Everything You Need to Measure in Your Migration
Technical Webinar with AWS - Everything You Need to Measure in Your MigrationNew Relic
 
Managing Microservices with Neo4j
Managing Microservices with Neo4jManaging Microservices with Neo4j
Managing Microservices with Neo4jAshley Chloe
 
Behavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaBehavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaNaveen Kumar Singh
 
Armada Preso
Armada PresoArmada Preso
Armada PresoAlex Li
 
Case Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCase Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCA Technologies
 
Case Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCase Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCA Technologies
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...SOASTA
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...SOASTA
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOpsSynerzip
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software FasterDynatrace
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloudstuartmoncrieff
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulRobert Nyman
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goRobert Nyman
 

Similar a Amazon AB Testing - Modifying & Measuring App Behaviors Without Republishing (20)

Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
Cloud Elements Lean Product Development 101
Cloud Elements Lean Product Development 101Cloud Elements Lean Product Development 101
Cloud Elements Lean Product Development 101
 
Lean Product Development 101
Lean Product Development 101Lean Product Development 101
Lean Product Development 101
 
MDO-VISION-CA_World2014
MDO-VISION-CA_World2014MDO-VISION-CA_World2014
MDO-VISION-CA_World2014
 
Technical Webinar with AWS - Everything You Need to Measure in Your Migration
Technical Webinar with AWS - Everything You Need to Measure in Your MigrationTechnical Webinar with AWS - Everything You Need to Measure in Your Migration
Technical Webinar with AWS - Everything You Need to Measure in Your Migration
 
Managing Microservices with Neo4j
Managing Microservices with Neo4jManaging Microservices with Neo4j
Managing Microservices with Neo4j
 
Behavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaBehavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and java
 
Armada Preso
Armada PresoArmada Preso
Armada Preso
 
Case Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCase Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software Development
 
Case Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software DevelopmentCase Study: How The Home Depot Built Quality Into Software Development
Case Study: How The Home Depot Built Quality Into Software Development
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
Introduction to Firebase from Google
Introduction to Firebase from GoogleIntroduction to Firebase from Google
Introduction to Firebase from Google
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOps
 
How We Actually Build MDD
How We Actually Build MDDHow We Actually Build MDD
How We Actually Build MDD
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloud
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must go
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Amazon AB Testing - Modifying & Measuring App Behaviors Without Republishing

  • 1. Adding Knobs to your App – Modifying & Measuring Behavior in the Wild (without Republishing) Cheng  Luo,  Amazon  Appstore   11th  January,  2014     @chengluo   #mceconf #mce-addingknobs All  rights  reserved.  May  not  be  copied,  modified,  or  distributed  in  whole  or  in  part  without  the  express  consent  of  Amazon.com,  Inc.   ©  2013  Amazon.com,  Inc.  and  its  affiliates.   11 Jan 2014
  • 2. Agenda •  •  •  •  Why Amazon Mobile SDK How to use A|B testing Add your A|B testing in 10 minutes Demo #mceconf #mce-addingknobs 11 Jan 2014
  • 3. Active Users Monthly Unique Visitors (US): Active Global Customer Accounts: 200M 1 Age Composition of Amazon Unique Visitors2 97M Avg. Daily Unique Visitors (US): 2 Household Income of Amazon Unique Visitors2 18-­‐34   % of Amazon Shoppers Who have Made an Online Purchase2 38%   32%   45%   30%   18%   0-­‐18   10%   35-­‐44   6.6 2 52%   8%   42%   12.9M 2 Avg. Visits per Visitor per Month (US): 45+   <$25K   $25K-­‐$75K   $75K  +   <$50   25%   $50-­‐$200   Amount Spent $200+   Note: Active Customer Accounts are unique email addresses that have placed an order in the last 12 months Sources: 1. Amazon Investor Relations; 2. ComScore PlanMetrix January, 2013. #mceconf #mce-addingknobs 11 Jan 2014
  • 4. Simplicity •  Amazon  Appstore  runs  Android  apps   •  75%  of  Android  apps  work  without  any  need  for  customisaTon   •  Simple  APIs  to  publish  free-­‐to-­‐user,  freemium  and  premium  apps   Device  Messaging  API In-­‐App  Purchasing  API #mceconf #mce-addingknobs A/B  TesTng  Service  API Maps  API GameCircle  API 11 Jan 2014
  • 5. The latest Kindle Fire HDX Kindle  Fire  HDX  7"  Tablet  $229,  with  24x7  May  Day  support     #mceconf #mce-addingknobs 11 Jan 2014
  • 6. What A|B Testing can do for you Precisely  control   who  is  affected   #mceconf #mce-addingknobs Safely  test   back-­‐end  load   Change  in  the  wild;   No  new  APK  needed   11 Jan 2014
  • 7. Case Study - Air Patriots Used A/B Testing to decide: •  Include in-game advertising •  Provide purchasing short-cuts •  Notification frequency •  Level difficulty •  Promotional imagery #mceconf #mce-addingknobs 11 Jan 2014
  • 8. Case 1 – Image #mceconf #mce-addingknobs 11 Jan 2014
  • 9. Case 2 – Ads placing #mceconf #mce-addingknobs 11 Jan 2014
  • 10. Case 3 - Notification Notification appears •  x1 day •  x 3 days → Sweet spot •  x 7 days #mceconf #mce-addingknobs 11 Jan 2014
  • 11. Case 4 - User Retention Level:  1   Difficulty:  Easy   #mceconf #mce-addingknobs Level:  5   Difficulty:  Medium   11 Jan 2014
  • 12. Air Patriots Sample Results #mceconf #mce-addingknobs 11 Jan 2014
  • 13. Add A/B Testing to Your App #mceconf #mce-addingknobs 11 Jan 2014
  • 14. Add A/B Testing to Your App #mceconf #mce-addingknobs 11 Jan 2014
  • 15. Add A/B Testing to Your App #mceconf #mce-addingknobs 11 Jan 2014
  • 16. Initialize A/B Testing in Your App private static final String APP_KEY = "876c809ba7084b9fbe2c08a22e5acda1"; private static final String PRIVATE_KEY = "9nxxk4//qL89ymXl/P5aL7w8uhs3DVDrLcyYViG6yn0="; AmazonInsights insightsInstance; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); . . . InsightsCredentials credentials = AmazonInsights.newCredentials(APP_KEY, PRIVATE_KEY); insightsInstance = AmazonInsights.newInstance(credentials, getApplicationContext()); } #mceconf #mce-addingknobs 11 Jan 2014
  • 17. Create an A/B Testing Project #mceconf #mce-addingknobs 11 Jan 2014
  • 18. Create an A/B Testing Project #mceconf #mce-addingknobs 11 Jan 2014
  • 19. Create an A/B Testing Project #mceconf #mce-addingknobs 11 Jan 2014
  • 20. Add a New Launch #mceconf #mce-addingknobs 11 Jan 2014
  • 21. Add a New Launch #mceconf #mce-addingknobs 11 Jan 2014
  • 22. Add a New Launch #mceconf #mce-addingknobs 11 Jan 2014
  • 23. Multiple Projects Are Allowed private static final String AB_PRJ_ACC = "Acceleration"; private static final String AB_VAR_MAXACC = "maxAcceleration"; //Project name //Variable name private static final String AB_PRJ_VEL = "Velocity"; private static final String AB_VAR_MAXVEL = "maxVelocity"; //Project name //variable name #mceconf #mce-addingknobs 11 Jan 2014
  • 24. Load Variation Variables private static final int DEF_MAXACC = 5; private static final int DEF_MAXVEL = 50; private int maxAcc; private int maxVel; private void loadTreatment() { ABTestClient abClient = insightsInstance.getABTestClient(); abClient.getVariations(AB_PRJ_VEL, AB_PRJ_ACC).setCallback(new InsightsCallback<VariationSet>() { @Override public void onComplete(VariationSet variations) { Variation variation = variations.getVariation(AB_PRJ_ACC); maxAcc = variation.getVariableAsInt(AB_VAR_MAXACC, DEF_MAXACC); variation = variations.getVariation(AB_PRJ_VEL); maxVel = variation.getVariableAsInt(AB_VAR_MAXVEL, DEF_MAXVEL); } }); } #mceconf #mce-addingknobs 11 Jan 2014
  • 25. Changing Values on the Fly #mceconf #mce-addingknobs 11 Jan 2014
  • 26. Changing Values on the Fly #mceconf #mce-addingknobs 11 Jan 2014
  • 27. Changing Values on the Fly #mceconf #mce-addingknobs 11 Jan 2014
  • 28. Changing Values on the Fly #mceconf #mce-addingknobs 11 Jan 2014
  • 32. Use the Segment Use  App  Segngs  to  idenTfy  your  user  segments           //get user age from the app settings         SharedPreferences myPrefs;         myPrefs = getSharedPreferences("com.example.testingapp", Context.MODE_PRIVATE);         int userAge = myPrefs.getInt("com.example.testingapp.USER_AGE", ""); //Initial the segments here UserProfile userProfile = insightsInstance.getUserProfile(); userProfile.addDimensionAsNumber("age", userAge); #mceconf #mce-addingknobs 11 Jan 2014
  • 34. Wrap up •  A/B Testing –  Free cross platform services –  Precise measuring behaviours using custom segments –  Modifying app behaviors without republishing #mceconf #mce-addingknobs 11 Jan 2014