SlideShare ist ein Scribd-Unternehmen logo
1 von 27
AB Testing
Revolution through constsant
evolution
Expedia SF
114 Sansome
www.expedia.com
@expediaeng
Work with us:
letstalk@expedia.com
Paul Lucas
Sr Director, Technology
Want to visit next? Greece
Jeff Madynski
Director, Technology
Want to visit next? Croatia
Anuj Gupta
Sr Software Dev Engineer
Want to visit next? Peru
Revolution through constant
evolution
Technology Evolution
V0 – batch processing from abacus
exposure logs, Omniture, and booking
datamart. Tableau visualization
V1 - Storm, Kestrel, DynamoDB /
Postgresql reading UIS messages and
client log data. (Nov 2014 - Dec 2015)
V2 - Introduce Kafka and Cassandra (May
2016)
TNL – original solution
• Batch processing
• Tableau visualization
• Merged data from OMS/omniture
• Problems:
– 1-2d feedback loop – what if we had mistakes
in test implementation(bucketing not what
anticipated)?
– In order to fix data import errors - start over
again
TNL Dashboard v0
Omniture
click data
Booking
datamart
Abacus
exposures
Tableau
Hadoop ETL
TNL v0 -> v1
Begin Jeff
delete this page
TNL v1 Problems
• Database size 420GB, queries took 3-5
minutes
• Data drop (kestrel)
• Increase in data (multi-brand,
+customers)
TNL v1->v1.1, v2
• Fighting fires, borrowing more time
• POC next
Fighting fires – borrowing more time
User Interaction Service(UIS) Traffic
Scaling messaging system
Kafka
• Publish-subscribe based
messaging system
• Distributed and reliable
• Longer retention and
persistence
• Monitoring dashboard
and alerts
• Buffer for system
downtime
Kestrel limitation
• Message durability is not
available
• Reaching potential
scalability issues
• In-active open source
project
Scaling database performance
• Database views for caching
–Views created every 6 hours
–UI only loads data from views
–Read-only replicas for select queries
• Archive data
–Moved old and completed experiment data to
separate tables
–DB cleanup using vacuum and re-indexing
TNL Dashboard v2
Product Demo
Streaming
•Column-oriented, time series schema
•Time-to-live(TTL) on data
•Only store most popular aggregates
v1 VS v2
•New Architecture
–More scalable
–More responsive
–Less prone to data loss
• Lessons learnt
–System is as fast as the slowest component
–Fault-tolerance and resilience
–Partition data
–Pre-production environment
Questions/discussion
APPENDIX
27
Apply statistical power to test results results
Using 90% confidence level, 1 out of 10
tests will be false positive or negative
Heads Tails
Right hand 51 49
Left hand 49 51
Right hand is superior at
getting heads!
Do’s and Don’ts when concluding tests
Don’t call test too early;
this increases false
positives or negatives
Don’t call tests as soon
as you see positive
results because test
result frequently goes
up and down
To claim a test Winner/Loser, the
positive/negative effect has to stay for
at least 5 consecutive days and the
trend is stable
Please note this type of chart is not currently available in the Test and Learn dashboard or SiteSpect UI; The shape of Confidence Interval lines varies test by test
Define one success metric and run
tests for a pre-determined duration;
(For hotel/flight tests in the US,
suggest running until confidence
interval of conversion change is
within +/- 1%); tests should run at
least 10 days
Don’t assume the midpoint (observed
% change during the test period) will
hold true after the feature is rolled
out: a 4.0% +/- 4.0% test may have
zero impact and may not be much
better than a 1.0% +/- 1.0% test
Don’t call an inconclusive test
“trending positive” or “trending
negative” as test result fluctuates
Contact ARM testing
team for questions
gaotest@expedia..com
Using 90% confidence level
Winner: Lower bound of % change >= 0 (or
probability of test being positive >= 95%);
Loser: Higher bound of % change <= 0 (or
probability of test being negative >= 95%)
Else: Inconclusive or Neutral

Weitere ähnliche Inhalte

Was ist angesagt?

Blockchain and DeFi: Overview
Blockchain and DeFi: OverviewBlockchain and DeFi: Overview
Blockchain and DeFi: OverviewSvetlin Nakov
 
Introduction to Raft algorithm
Introduction to Raft algorithmIntroduction to Raft algorithm
Introduction to Raft algorithmmuayyad alsadi
 
10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning Systems10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning SystemsXavier Amatriain
 
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...HostedbyConfluent
 
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseUsing Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseDataWorks Summit
 
Predictions for the Future of Graph Database
Predictions for the Future of Graph DatabasePredictions for the Future of Graph Database
Predictions for the Future of Graph DatabaseNeo4j
 
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...DataWorks Summit/Hadoop Summit
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyChris Johnson
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Data ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFiData ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFiLev Brailovskiy
 
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry confluent
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaTimothy Spann
 
CI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + JenkinsCI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + JenkinsGo Chiba
 
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBComparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBScyllaDB
 
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...
Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta...Spark Summit
 

Was ist angesagt? (20)

Blockchain and DeFi: Overview
Blockchain and DeFi: OverviewBlockchain and DeFi: Overview
Blockchain and DeFi: Overview
 
Kafka at scale facebook israel
Kafka at scale   facebook israelKafka at scale   facebook israel
Kafka at scale facebook israel
 
Introduction to Raft algorithm
Introduction to Raft algorithmIntroduction to Raft algorithm
Introduction to Raft algorithm
 
10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning Systems10 Lessons Learned from Building Machine Learning Systems
10 Lessons Learned from Building Machine Learning Systems
 
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
 
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseUsing Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
 
Predictions for the Future of Graph Database
Predictions for the Future of Graph DatabasePredictions for the Future of Graph Database
Predictions for the Future of Graph Database
 
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
 
DeFi 101
DeFi 101DeFi 101
DeFi 101
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
 
DevOps at Lowe's - Our Journey
DevOps at Lowe's - Our JourneyDevOps at Lowe's - Our Journey
DevOps at Lowe's - Our Journey
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Data ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFiData ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFi
 
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry
Fundamentals of Stream Processing with Apache Beam, Tyler Akidau, Frances Perry
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafka
 
CI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + JenkinsCI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + Jenkins
 
BlockchainLAB Hackathon
BlockchainLAB HackathonBlockchainLAB Hackathon
BlockchainLAB Hackathon
 
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBComparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
 
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...
Netflix's Recommendation ML Pipeline Using Apache Spark: Spark Summit East ta...
 

Andere mochten auch

Toolkits and tips for UX analytics CRO by Craig Sullivan
Toolkits and tips for UX analytics CRO by Craig SullivanToolkits and tips for UX analytics CRO by Craig Sullivan
Toolkits and tips for UX analytics CRO by Craig SullivanUXPA UK
 
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at ScaleAppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at ScaleAppDynamics
 
楽天市場を取り巻く状況と開発
楽天市場を取り巻く状況と開発楽天市場を取り巻く状況と開発
楽天市場を取り巻く状況と開発Rakuten Group, Inc.
 
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのか
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのかヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのか
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのかYahoo!デベロッパーネットワーク
 
Expedia at London Technology Week 2015
Expedia at London Technology Week 2015Expedia at London Technology Week 2015
Expedia at London Technology Week 2015Open Destinations
 
A Millennial’s Magnetic Influence on LinkedIn
A Millennial’s Magnetic Influence on LinkedInA Millennial’s Magnetic Influence on LinkedIn
A Millennial’s Magnetic Influence on LinkedInLinkedIn
 
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジー
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジーデブサミ2013 【15-A-1】「爆速」を支えるテクノロジー
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジーDevelopers Summit
 
Brand Management Study of Amazon
Brand Management Study of Amazon Brand Management Study of Amazon
Brand Management Study of Amazon Nikhil Narayan
 
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )Amazon Web Services
 
ライブショッピングモール
ライブショッピングモールライブショッピングモール
ライブショッピングモールYouhei Kanbe
 
【トピカル】風雲急を告げるEC業界を展望する
【トピカル】風雲急を告げるEC業界を展望する 【トピカル】風雲急を告げるEC業界を展望する
【トピカル】風雲急を告げるEC業界を展望する Yuya Sakai
 
OpenStack Summitの歩き方
OpenStack Summitの歩き方OpenStack Summitの歩き方
OpenStack Summitの歩き方Hideki Saito
 

Andere mochten auch (16)

Toolkits and tips for UX analytics CRO by Craig Sullivan
Toolkits and tips for UX analytics CRO by Craig SullivanToolkits and tips for UX analytics CRO by Craig Sullivan
Toolkits and tips for UX analytics CRO by Craig Sullivan
 
ACS DataMart_ppt
ACS DataMart_pptACS DataMart_ppt
ACS DataMart_ppt
 
ACS DataMart_ppt
ACS DataMart_pptACS DataMart_ppt
ACS DataMart_ppt
 
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at ScaleAppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
AppSphere 15 - Expedia Lessons from the Trenches: Managing AppDynamics at Scale
 
楽天市場を取り巻く状況と開発
楽天市場を取り巻く状況と開発楽天市場を取り巻く状況と開発
楽天市場を取り巻く状況と開発
 
Case study on Travel
Case study on TravelCase study on Travel
Case study on Travel
 
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのか
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのかヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのか
ヤフー株式会社はアクセシビリティ対応を
なぜ始めたのか、どう進めているのか
 
Expedia at London Technology Week 2015
Expedia at London Technology Week 2015Expedia at London Technology Week 2015
Expedia at London Technology Week 2015
 
A Millennial’s Magnetic Influence on LinkedIn
A Millennial’s Magnetic Influence on LinkedInA Millennial’s Magnetic Influence on LinkedIn
A Millennial’s Magnetic Influence on LinkedIn
 
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジー
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジーデブサミ2013 【15-A-1】「爆速」を支えるテクノロジー
デブサミ2013 【15-A-1】「爆速」を支えるテクノロジー
 
Expedia case study
Expedia case studyExpedia case study
Expedia case study
 
Brand Management Study of Amazon
Brand Management Study of Amazon Brand Management Study of Amazon
Brand Management Study of Amazon
 
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
 
ライブショッピングモール
ライブショッピングモールライブショッピングモール
ライブショッピングモール
 
【トピカル】風雲急を告げるEC業界を展望する
【トピカル】風雲急を告げるEC業界を展望する 【トピカル】風雲急を告げるEC業界を展望する
【トピカル】風雲急を告げるEC業界を展望する
 
OpenStack Summitの歩き方
OpenStack Summitの歩き方OpenStack Summitの歩き方
OpenStack Summitの歩き方
 

Ähnlich wie AB Testing at Expedia

End-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test ModelEnd-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test ModelTechWell
 
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthHypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthPrabhat Gupta
 
Delivering @ Warp Speed
Delivering @ Warp SpeedDelivering @ Warp Speed
Delivering @ Warp Speedandremadeira
 
Leverage alter table conversions methodology to alter your upgrade downtime
Leverage alter table conversions methodology to alter your upgrade downtime Leverage alter table conversions methodology to alter your upgrade downtime
Leverage alter table conversions methodology to alter your upgrade downtime KPIT
 
Sangram Nayak_22Jan15
Sangram Nayak_22Jan15Sangram Nayak_22Jan15
Sangram Nayak_22Jan15Sangram Nayak
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardTechWell
 
Resume - Santi Gong__
Resume - Santi Gong__Resume - Santi Gong__
Resume - Santi Gong__Zhenglei Gong
 
DMM9 - Data Migration Testing
DMM9 - Data Migration TestingDMM9 - Data Migration Testing
DMM9 - Data Migration TestingNick van Beest
 
Ensuring a Quality Order Management Implementation
Ensuring a Quality Order Management ImplementationEnsuring a Quality Order Management Implementation
Ensuring a Quality Order Management ImplementationPerficient, Inc.
 
Cmsc 1215 ensuring a quality order management (3)
Cmsc 1215  ensuring a quality order management  (3)Cmsc 1215  ensuring a quality order management  (3)
Cmsc 1215 ensuring a quality order management (3)Perficient, Inc.
 
Agile Test Management and Reporting—Even in a Non-Agile Project
Agile Test Management and Reporting—Even in a Non-Agile ProjectAgile Test Management and Reporting—Even in a Non-Agile Project
Agile Test Management and Reporting—Even in a Non-Agile ProjectTechWell
 
Tech Talk: The New CA Application Performance Management Team Center—Faster T...
Tech Talk: The New CA Application Performance Management Team Center—Faster T...Tech Talk: The New CA Application Performance Management Team Center—Faster T...
Tech Talk: The New CA Application Performance Management Team Center—Faster T...CA Technologies
 
Testing Attributes
Testing AttributesTesting Attributes
Testing AttributesAbiha Naqvi
 
Understanding System Performance
Understanding System PerformanceUnderstanding System Performance
Understanding System PerformanceTeradata
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Whitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/POWhitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/PODaniel Graversen
 
Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationOptimizely
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Tieturi Oy
 

Ähnlich wie AB Testing at Expedia (20)

End-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test ModelEnd-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test Model
 
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthHypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
 
Delivering @ Warp Speed
Delivering @ Warp SpeedDelivering @ Warp Speed
Delivering @ Warp Speed
 
Leverage alter table conversions methodology to alter your upgrade downtime
Leverage alter table conversions methodology to alter your upgrade downtime Leverage alter table conversions methodology to alter your upgrade downtime
Leverage alter table conversions methodology to alter your upgrade downtime
 
Sangram Nayak_22Jan15
Sangram Nayak_22Jan15Sangram Nayak_22Jan15
Sangram Nayak_22Jan15
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
Resume - Santi Gong__
Resume - Santi Gong__Resume - Santi Gong__
Resume - Santi Gong__
 
DMM9 - Data Migration Testing
DMM9 - Data Migration TestingDMM9 - Data Migration Testing
DMM9 - Data Migration Testing
 
Ensuring a Quality Order Management Implementation
Ensuring a Quality Order Management ImplementationEnsuring a Quality Order Management Implementation
Ensuring a Quality Order Management Implementation
 
Cmsc 1215 ensuring a quality order management (3)
Cmsc 1215  ensuring a quality order management  (3)Cmsc 1215  ensuring a quality order management  (3)
Cmsc 1215 ensuring a quality order management (3)
 
Raghav_QA
Raghav_QARaghav_QA
Raghav_QA
 
Agile Test Management and Reporting—Even in a Non-Agile Project
Agile Test Management and Reporting—Even in a Non-Agile ProjectAgile Test Management and Reporting—Even in a Non-Agile Project
Agile Test Management and Reporting—Even in a Non-Agile Project
 
Tech Talk: The New CA Application Performance Management Team Center—Faster T...
Tech Talk: The New CA Application Performance Management Team Center—Faster T...Tech Talk: The New CA Application Performance Management Team Center—Faster T...
Tech Talk: The New CA Application Performance Management Team Center—Faster T...
 
Testing Attributes
Testing AttributesTesting Attributes
Testing Attributes
 
Understanding System Performance
Understanding System PerformanceUnderstanding System Performance
Understanding System Performance
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Whitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/POWhitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/PO
 
Clover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive ExperimentationClover Rings Up Digital Growth to Drive Experimentation
Clover Rings Up Digital Growth to Drive Experimentation
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
 

AB Testing at Expedia

  • 1. AB Testing Revolution through constsant evolution
  • 2.
  • 4. Paul Lucas Sr Director, Technology Want to visit next? Greece Jeff Madynski Director, Technology Want to visit next? Croatia Anuj Gupta Sr Software Dev Engineer Want to visit next? Peru
  • 6.
  • 7. Technology Evolution V0 – batch processing from abacus exposure logs, Omniture, and booking datamart. Tableau visualization V1 - Storm, Kestrel, DynamoDB / Postgresql reading UIS messages and client log data. (Nov 2014 - Dec 2015) V2 - Introduce Kafka and Cassandra (May 2016)
  • 8. TNL – original solution • Batch processing • Tableau visualization • Merged data from OMS/omniture • Problems: – 1-2d feedback loop – what if we had mistakes in test implementation(bucketing not what anticipated)? – In order to fix data import errors - start over again
  • 9. TNL Dashboard v0 Omniture click data Booking datamart Abacus exposures Tableau Hadoop ETL
  • 10. TNL v0 -> v1
  • 12.
  • 13. TNL v1 Problems • Database size 420GB, queries took 3-5 minutes • Data drop (kestrel) • Increase in data (multi-brand, +customers)
  • 14. TNL v1->v1.1, v2 • Fighting fires, borrowing more time • POC next
  • 15. Fighting fires – borrowing more time
  • 17. Scaling messaging system Kafka • Publish-subscribe based messaging system • Distributed and reliable • Longer retention and persistence • Monitoring dashboard and alerts • Buffer for system downtime Kestrel limitation • Message durability is not available • Reaching potential scalability issues • In-active open source project
  • 18. Scaling database performance • Database views for caching –Views created every 6 hours –UI only loads data from views –Read-only replicas for select queries • Archive data –Moved old and completed experiment data to separate tables –DB cleanup using vacuum and re-indexing
  • 22. •Column-oriented, time series schema •Time-to-live(TTL) on data •Only store most popular aggregates
  • 23. v1 VS v2 •New Architecture –More scalable –More responsive –Less prone to data loss • Lessons learnt –System is as fast as the slowest component –Fault-tolerance and resilience –Partition data –Pre-production environment
  • 26. 27 Apply statistical power to test results results Using 90% confidence level, 1 out of 10 tests will be false positive or negative Heads Tails Right hand 51 49 Left hand 49 51 Right hand is superior at getting heads!
  • 27. Do’s and Don’ts when concluding tests Don’t call test too early; this increases false positives or negatives Don’t call tests as soon as you see positive results because test result frequently goes up and down To claim a test Winner/Loser, the positive/negative effect has to stay for at least 5 consecutive days and the trend is stable Please note this type of chart is not currently available in the Test and Learn dashboard or SiteSpect UI; The shape of Confidence Interval lines varies test by test Define one success metric and run tests for a pre-determined duration; (For hotel/flight tests in the US, suggest running until confidence interval of conversion change is within +/- 1%); tests should run at least 10 days Don’t assume the midpoint (observed % change during the test period) will hold true after the feature is rolled out: a 4.0% +/- 4.0% test may have zero impact and may not be much better than a 1.0% +/- 1.0% test Don’t call an inconclusive test “trending positive” or “trending negative” as test result fluctuates Contact ARM testing team for questions gaotest@expedia..com Using 90% confidence level Winner: Lower bound of % change >= 0 (or probability of test being positive >= 95%); Loser: Higher bound of % change <= 0 (or probability of test being negative >= 95%) Else: Inconclusive or Neutral