SlideShare a Scribd company logo
Aviran Mordo
Head of Engineering
@aviranm
linkedin.com/in/aviran
aviransplace.com
Advanced A/B Testing
Advanced A/B Testing - Jax London 2015
Wix In Numbers
Over 72M users + 1.5M new users/month
Static storage is >2Pb of data
3 data centers + 3 clouds (Google, Amazon,Azure)
2B HTTP requests/day
1000 people work atWix
Advanced A/B Testing - Jax London 2015
BasicA/B testing
Experiment driven development
PETRI –Wix’s 3rd generation open source experiment system
Challenges and best practices
Complexities and effect on product
Agenda
17:27
A/B Test
Advanced A/B Testing - Jax London 2015
Home page results
(How many registered)
Advanced A/B Testing - Jax London 2015
This is the Wix editor
Gallery manager
What can we improve?
Is this better?
Advanced A/B Testing - Jax London 2015
Product ExperimentsToggles &
Reporting Infrastructure
How do you know what is running?
If I “know” it is better, do I really need
to test it?
Why so many?
Advanced A/B Testing - Jax London 2015
Sign-up
Choose
Template
Edit site Publish Premium
The theory
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015
EVERY new feature is A/B tested
Measure success
If flawed, the impact is just for % of our users
Conclusion
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015
New code can have bugs
Conversion can drop
Usage can drop
Unexpected cross test dependencies
Sh*t happens (Test could fail)
Numbers look good but sample size is small
We need more data!
Expand
Reaching statistical significance
25% 50% 75% 100%
75% 50% 25% 0%Control Group (A)
Test Group (B)
Language
GEO
Browser
User-agent
OS
Minimize affected users (in case of failure)
Gradual exposure (percentage of…)
Company employees
User roles
Any other criteria you have (extendable)
All users
First time visitors = Never visited wix.com
New registered users = Untainted users
Existing registered users = Already familiar with the service
Not all users are equal
Signed-in user
 Test group is determined by the user ID
 Guarantee toss consistency across browsers
Anonymous user (Home page)
 Test group is randomly determined
 Cannot guarantee consistent experience cross browsers
11% ofWix users use more than one desktop browser
Keeping consistent UX
Which Test Group are You?
Non-Developers Developers
Test Group A Test Group B
Calling Laboratory is Easy
Start new experiment
Advanced A/B Testing - Jax London 2015
Adding a mobile view
First trial failed
Performance had to be improved
Halting the test results in loss of data.
What can we do about it?
Solution – Pause !
• Maintain NEW experience for
already exposed users
• No additional users will be exposed
to the NEW feature
Decision (What to do with the data)
Keep feature Drop feature
Improve code &
resume experiment
Keep backwards compatibility for exposed
users forever?
Migrate users to another equivalent feature
Drop it all together (users lose data/work)
Advanced A/B Testing - Jax London 2015
Always exclude robots
Don’t let Google index a losing page
Don’t let bots affect statistics
Advanced A/B Testing - Jax London 2015
# of active experiment Possible # of states
10 1024
20 1,048,576
30 1,073,741,824
Possible states >= 2^(# experiments)
Wix has ~600 active experiments ~4.149516e+180
Integrated into the product
Advanced A/B Testing - Jax London 2015
Share document with other users
Document owner is part of a test that
enables a new video component
What will the other user experience
when editing a shared document ?
Owner Friend
Assignment may be different than owner’s
Owner (B) Friend (A)
Enable features by existing content
 What will happened when you remove a component
Enable features by document owner’s assignment
 The friend now expects to find the new feature on his own docs
Exclude experimental features from shared documents
 You are not really testing the entire system
Possible solutions
Advanced A/B Testing - Jax London 2015
Petri is more than just an A/B test framework
Feature toggle
A/B Test
Personalization
Internal testing
Continuous
deployment
Jira integration
Experiments
Dynamic
configuration
QA
Automated
testing
Petri is an open source project
https://github.com/wix/petri
Q&A
Head of Engineering
Aviran Mordo
@aviranmwww.linkedin.com/in/aviranhttp://www.aviransplace.co
m
https://github.com/wix/petri
http://goo.gl/yMUzta
Credits
http://upload.wikimedia.org/wikipedia/commons/b/b2/Fiber_optics_testing.jpg
http://goo.gl/nEiepT
https://www.flickr.com/photos/ilo_oli/2421536836
https://www.flickr.com/photos/dexxus/5791228117
http://goo.gl/SdeJ0o
http://weltender.deviantart.com/art/Pause-relax-think-159996895
https://www.flickr.com/photos/112923805@N05/15005456062
https://www.flickr.com/photos/wiertz/8537791164
https://www.flickr.com/photos/laenulfean/5943132296
https://www.flickr.com/photos/torek/3470257377
https://www.flickr.com/photos/i5design/5393934753
https://www.flickr.com/photos/argonavigo/5320119828
Modeled experiment lifecycle
Open source (developed usingTDD from day 1)
Running at scale on production
No deployment necessary
Both back-end and front-end experiment
Flexible architecture
Why Petri

More Related Content

PPTX
Scaling wix with microservices architecture jax london-2015
PPTX
Mircoservices, dev ops and Engineering best practices at Wix.com
PPTX
Scaling up to 30M users - The Wix Story
PPTX
Why AvePoint chose Azure for its Office 365 solutions
PDF
Intro to azure logic apps
PPTX
Windows Azure Platform + PHP - Jonathan Wong
PDF
Tech Talk on Cloud Computing
PDF
Baking Stash in the AWS Cloud at Netflix
Scaling wix with microservices architecture jax london-2015
Mircoservices, dev ops and Engineering best practices at Wix.com
Scaling up to 30M users - The Wix Story
Why AvePoint chose Azure for its Office 365 solutions
Intro to azure logic apps
Windows Azure Platform + PHP - Jonathan Wong
Tech Talk on Cloud Computing
Baking Stash in the AWS Cloud at Netflix

What's hot (13)

PDF
RightScale Webinar: Get Your App To Azure
PPTX
Put Your Existing Application On Windows Azure
PPTX
Operational Best Practices in the Cloud
PDF
Moving apps to the cloud 3rd edition
PDF
Create and manage a web application on Azure (step to step tutorial)
PPTX
Azure DevOps for Developers
PDF
Developing multi tenant applications for the cloud 3rd edition
PPTX
Jumpstart Azure
PDF
Java in the Cloud : PaaS Platforms in Comparison
PPTX
Azure Stack Fundamentals
PPTX
Best Practices for Architecting VDI with Flash Storage
PDF
10 Tips to Pump Up Your Atlassian Performance
PPTX
Introduction to Azure Functions
RightScale Webinar: Get Your App To Azure
Put Your Existing Application On Windows Azure
Operational Best Practices in the Cloud
Moving apps to the cloud 3rd edition
Create and manage a web application on Azure (step to step tutorial)
Azure DevOps for Developers
Developing multi tenant applications for the cloud 3rd edition
Jumpstart Azure
Java in the Cloud : PaaS Platforms in Comparison
Azure Stack Fundamentals
Best Practices for Architecting VDI with Flash Storage
10 Tips to Pump Up Your Atlassian Performance
Introduction to Azure Functions
Ad

Similar to Advanced A/B Testing - Jax London 2015 (20)

PPTX
The Art of A/B Testing
PPTX
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
PDF
Experimenting on Humans
PDF
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
PDF
Petri for kyiv.pptx
PDF
Methodology: IT test
PPT
Trends in Agile Testing by Lisa Crispin
PPTX
Wix Dev-Centric Culture And Continuous Delivery
PDF
QA in Digitalized World - Kari Kakkonen
PDF
Future of Software Testing
PDF
Pulse UX Testing: Bring the user into the user story. A.Witteman&R.vandenOever
PPTX
Strategies in continuous delivery
PDF
QA in Digitalized World by Kari Kakkonen at KDS2015
PDF
Produkt Tank Amsterdam PULSE UX
PDF
Product Tank Amsterdam Pulse UX Presentation
PDF
QA in digitalized world kari kakkonen ICTexpo2016
PPTX
Road to Continuous Delivery - Wix.com
PPTX
Software testing
PDF
DSR Testing (Part 1)
PDF
Exploratory testing Kari Kakkonen KDS2015
The Art of A/B Testing
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Petri for kyiv.pptx
Methodology: IT test
Trends in Agile Testing by Lisa Crispin
Wix Dev-Centric Culture And Continuous Delivery
QA in Digitalized World - Kari Kakkonen
Future of Software Testing
Pulse UX Testing: Bring the user into the user story. A.Witteman&R.vandenOever
Strategies in continuous delivery
QA in Digitalized World by Kari Kakkonen at KDS2015
Produkt Tank Amsterdam PULSE UX
Product Tank Amsterdam Pulse UX Presentation
QA in digitalized world kari kakkonen ICTexpo2016
Road to Continuous Delivery - Wix.com
Software testing
DSR Testing (Part 1)
Exploratory testing Kari Kakkonen KDS2015
Ad

More from Aviran Mordo (13)

PDF
Platform as a Runtime - PaaR QCON 2024 - Final
PPTX
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
PDF
Arrested by the cap devoxx uk 2018
PPTX
Scaling wix.com to 100 million users
PPTX
Scaling Wix engineering
PPTX
Scaling wix with microservices and multi cloud - 2015
PPTX
Scaling wix with microservices architecture devoxx London 2015
PPTX
Wix.com Back-end Engineering Guild Manifesto
PPTX
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
PPTX
Wix Architecture at Scale - QCon London 2014
PPTX
Scaling r&d org while maintaining quality
PPTX
Introduction to HTTP protocol
PPTX
Lessons Learned Monitoring Production
Platform as a Runtime - PaaR QCON 2024 - Final
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Arrested by the cap devoxx uk 2018
Scaling wix.com to 100 million users
Scaling Wix engineering
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices architecture devoxx London 2015
Wix.com Back-end Engineering Guild Manifesto
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Wix Architecture at Scale - QCon London 2014
Scaling r&d org while maintaining quality
Introduction to HTTP protocol
Lessons Learned Monitoring Production

Recently uploaded (20)

PPTX
Online Work Permit System for Fast Permit Processing
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
medical staffing services at VALiNTRY
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
System and Network Administraation Chapter 3
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Transform Your Business with a Software ERP System
PPT
Introduction Database Management System for Course Database
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Online Work Permit System for Fast Permit Processing
Design an Analysis of Algorithms II-SECS-1021-03
How Creative Agencies Leverage Project Management Software.pdf
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
Understanding Forklifts - TECH EHS Solution
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Softaken Excel to vCard Converter Software.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ISO 45001 Occupational Health and Safety Management System
medical staffing services at VALiNTRY
Adobe Illustrator 28.6 Crack My Vision of Vector Design
System and Network Administraation Chapter 3
Odoo POS Development Services by CandidRoot Solutions
Navsoft: AI-Powered Business Solutions & Custom Software Development
Transform Your Business with a Software ERP System
Introduction Database Management System for Course Database
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

Advanced A/B Testing - Jax London 2015

Editor's Notes

  • #5: Who here does A/B tests? Who plans to do A/B test?
  • #6: A/B test is embedded in our development process Petri is based on our experience and lessons we learned
  • #7: You divide your users into group and measure which reached your goal
  • #8: What does it mean better? What is your goal?
  • #9: Measure conversion to register
  • #10: Not just comparing pages but also in development
  • #12: The theory – we can make a better gallery Our goal – make it easier for our users to build their sites (converting to premium)
  • #14: It is not about winning, its about not losing
  • #15: Lessons learned from 5 years of experience Petri allows PM to manage their tests
  • #16: A screenshot of the UI we built on top of PETRI
  • #18: PM added a Premium link in the editor
  • #19: If we shorten the funnel more users will reach the purchase page, thus increasing our sales PM added a Premium link in the editor
  • #20: Why did it fail. T-Shirt time
  • #21: Users were taken out of editing context before they were happy with the results
  • #23: Who thinks we should start with 50%
  • #24: Remember a test could fail
  • #26: The end result of every A/B test is reaching a decision. For this we need enough numbers. Add %, countries etc’
  • #29: For anonymous users – this is the best we can do. This means sometimes (~11%) users will see different experiences.
  • #31: Product manager defines a limited new experiment
  • #32: Product manager defines a limited new experiment
  • #33: We also test new must have features
  • #34: There is no A version. Control group just don’t get it.
  • #35: we need to improve before releasing to all users.
  • #36: Lose mobile view ? Unable to update ?
  • #37: Pause is a temporary state until system improves and resume test
  • #39: What would you expect the result should be for a bot? A? B? 2-nd T-Shirt time!
  • #42: Production is never in a ‘known’ state At least 2^ (more than 2 options)
  • #49: The obvious answer may be – allow the friend to edit the component if it’s already in the site But then – what if the friend deletes the component by mistake (or on purpose)? Then if he’s assigned to A he won’t be able to add it back. Possible solution – assign by site owner instead of by user (this means you must implement server side state) (why? Bcos you don’t know what lang/geo etc the site owner was when he got assigned – you only know his user id) Not perfect, user may experience something else on his own document
  • #51: Expose features internally to company employees Select assignment by sites (not only by users)
  • #54: santa