64
Continuous Experimentation with Continuous Deployment Steve Mardenfeld Etsy Monday, November 5, 2012

Strata New York 2012: Continuous Experimentation with Continuous Deployment

Embed Size (px)

DESCRIPTION

Continuous deployment is core to Etsy, and we push public facing code over 30 times per day. Evaluating an experiment amidst this shifting landscape is a difficult task as our traditional methods of monitoring operational metrics don’t provide enough information to make product-level decisions. To this end, we have developed internal tooling for deep analytics that enables us to systematically analyze our experimental results in a continuously changing environment. This talk will focus on the analysis framework that we have built – from the raw logging data, to our elastic mapreduce-based data transformations, to the final dashboards and underlying statistics that drive decision making.

Citation preview

Page 1: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Continuous Experimentationwith Continuous

Deployment

Steve MardenfeldEtsy

Monday, November 5, 2012

Page 2: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 3: Strata New York 2012: Continuous Experimentation with Continuous Deployment

World’s Handmade Market

Monday, November 5, 2012

Page 4: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Continuous Deployment

Monday, November 5, 2012

Page 5: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 6: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 7: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Metrics

Monday, November 5, 2012

Page 8: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Graph Factory

Monday, November 5, 2012

Page 9: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Oops

Monday, November 5, 2012

Page 10: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Oops

Monday, November 5, 2012

Page 11: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Good Enough?

Monday, November 5, 2012

Page 12: Strata New York 2012: Continuous Experimentation with Continuous Deployment

What  is  Better?

Monday, November 5, 2012

Page 13: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Sometimes it’s Obvious

Monday, November 5, 2012

Page 14: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Most Times it’s Not

Monday, November 5, 2012

Page 15: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Most Times it’s Not

Cart Page Restyled

Monday, November 5, 2012

Page 16: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Most Times it’s Not

Etsy Mentioned on Oprah

Internet Goes Down in Brooklyn

Justin Beiber Sneezes

New Cat Meme

Cart Page Restyled

Monday, November 5, 2012

Page 17: Strata New York 2012: Continuous Experimentation with Continuous Deployment

A/B Testing?Monday, November 5, 2012

Page 18: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 19: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 20: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Test  Them  Both

Monday, November 5, 2012

Page 21: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Statistics?

Monday, November 5, 2012

Page 22: Strata New York 2012: Continuous Experimentation with Continuous Deployment

First Pass

HADOOP

Monday, November 5, 2012

Page 23: Strata New York 2012: Continuous Experimentation with Continuous Deployment

First Pass

CASCADING

Monday, November 5, 2012

Page 24: Strata New York 2012: Continuous Experimentation with Continuous Deployment

First Pass

R

Monday, November 5, 2012

Page 25: Strata New York 2012: Continuous Experimentation with Continuous Deployment

First Pass

RHADOOP

CASCADING

Monday, November 5, 2012

Page 26: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Automate It

A/B Analyzer

Monday, November 5, 2012

Page 27: Strata New York 2012: Continuous Experimentation with Continuous Deployment

A/B Analyzer

•Framework for looking at experiments

•Done for every experiment beforehand

Monday, November 5, 2012

Page 28: Strata New York 2012: Continuous Experimentation with Continuous Deployment

A/B Analyzer

Monday, November 5, 2012

Page 29: Strata New York 2012: Continuous Experimentation with Continuous Deployment

A/B Analyzer

Monday, November 5, 2012

Page 30: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 31: Strata New York 2012: Continuous Experimentation with Continuous Deployment

3 Types of Metrics

•Co-occurence

•visits that did X (searched)

•average number of X (searches)

•Funnels

•Special Cases*

Monday, November 5, 2012

Page 32: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Co-Occurence

•Co-occurence of all actions with the variant

•i.e. - how many people saw this variant and then purchased

•i.e. - average number of purchases per variant

Monday, November 5, 2012

Page 33: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Funnels

BuySearch Listing Buy

Monday, November 5, 2012

Page 34: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Funnels

Buy

BuySearch Listing Buy

Search Listing BuyHome

Monday, November 5, 2012

Page 35: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Funnels

BuyBuy

BuySearch Listing Buy

Search Listing BuyHome

Monday, November 5, 2012

Page 36: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Special Cases

•Exiting pages

•Bounce rate

•Visit length

Monday, November 5, 2012

Page 37: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Pipeline

HDFS Events Visits MySql

A/B

PROCESSING

Client

Logs

DB

COLLECTION

Monday, November 5, 2012

Page 38: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Bucketing

Home Search Listing Buy

Search A/B Test

Monday, November 5, 2012

Page 39: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Bucketing

Home Search Listing Buy

Search A/B Test

Monday, November 5, 2012

Page 40: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Deploy

•Wait

•Analysis

Monday, November 5, 2012

Page 41: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Deploy

•Wait

•Analysis

Monday, November 5, 2012

Page 42: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Idea

Monday, November 5, 2012

Page 43: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Changing Search

Monday, November 5, 2012

Page 44: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Related Searches?

Monday, November 5, 2012

Page 45: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Deploy

•Wait

•Analysis

Monday, November 5, 2012

Page 46: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Be Specific

•What does an improvement look like?

•More clicks?

•Less searches?

•Shorter visits?

•Longer visits?

Monday, November 5, 2012

Page 47: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Bet Driven Development

Monday, November 5, 2012

Page 48: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Is this even worth it?

Monday, November 5, 2012

Page 49: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Deploy

•Wait

•Analysis

Monday, November 5, 2012

Page 50: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Code  It  Up

Monday, November 5, 2012

Page 51: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Code

Monday, November 5, 2012

Page 52: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Turn it On

Monday, November 5, 2012

Page 53: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Deploy

•Wait

•Analysis

Monday, November 5, 2012

Page 54: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Realtime?

Monday, November 5, 2012

Page 55: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Wait

Monday, November 5, 2012

Page 56: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Process

•Idea

•Hypothesis

•Code

•Wait

•Analysis

Monday, November 5, 2012

Page 57: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Making Sense of ResultsMonday, November 5, 2012

Page 58: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Back To Related Searches

Monday, November 5, 2012

Page 59: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Back To Related Searches

Monday, November 5, 2012

Page 60: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 61: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 62: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Final Thoughts

•Bet driven development - be explicit about your changes

•Easy experimental setup and quick analysis makes for more experiments

•An experiment is successful if you learned something, not if you launched

Monday, November 5, 2012

Page 63: Strata New York 2012: Continuous Experimentation with Continuous Deployment

Monday, November 5, 2012

Page 64: Strata New York 2012: Continuous Experimentation with Continuous Deployment

http://www.slideshare.net/powerlexis/retro-slides-from-ibm

Monday, November 5, 2012