122
ShrimpTest A/B Testing with WordPress mitcho (Michael 貴 Erlewine) Bocoup Loft, Boston, July 20, 2010

ShrimpTest: A/B Testing for WordPress

Embed Size (px)

DESCRIPTION

A/B testing (and its big brother, multivariate testing) are powerful methods which help make websites more effective without any guesswork. Boston local mitcho will present on the theory and practice of A/B testing and also debut ShrimpTest, his current project at Automattic, which aims to make testing easier and more straightforward by integrating it directly into the WordPress platform.

Citation preview

Page 1: ShrimpTest: A/B Testing for WordPress

ShrimpTestA/B Testing with WordPress

mitcho (Michael 芳貴 Erlewine)

Bocoup Loft, Boston, July 20, 2010

Page 2: ShrimpTest: A/B Testing for WordPress

Today

• Introduction• A/B testing basics• ShrimpTest

Page 3: ShrimpTest: A/B Testing for WordPress

Today

• Introduction• A/B testing basics• ShrimpTest

Page 4: ShrimpTest: A/B Testing for WordPress

Introduction

Page 5: ShrimpTest: A/B Testing for WordPress

Introduction

• Hi, I’m mitcho.

Page 6: ShrimpTest: A/B Testing for WordPress

Introduction

• Hi, I’m mitcho.• Linguist, coder, teacher.

Page 7: ShrimpTest: A/B Testing for WordPress

Introduction

• Hi, I’m mitcho.• Linguist, coder, teacher.

• http://mitcho.com; @themitcho

Page 8: ShrimpTest: A/B Testing for WordPress

Introduction

• Hi, I’m mitcho.• Linguist, coder, teacher.

• http://mitcho.com; @themitcho• Linguistics PhD student at MIT

Page 9: ShrimpTest: A/B Testing for WordPress

Introduction

• Hi, I’m mitcho.• Linguist, coder, teacher.

• http://mitcho.com; @themitcho• Linguistics PhD student at MIT• Automattic, Mozilla

Page 10: ShrimpTest: A/B Testing for WordPress

Yet Another Related Posts Plugin (YARPP) YARP

P!

Page 11: ShrimpTest: A/B Testing for WordPress

• smart “related posts” listings with lots of customization options

Yet Another Related Posts Plugin (YARPP) YARP

P!

Page 12: ShrimpTest: A/B Testing for WordPress

• smart “related posts” listings with lots of customization options

• mitcho.com/code/yarpp or search for “YARPP”; @yarpp

Yet Another Related Posts Plugin (YARPP) YARP

P!

Page 13: ShrimpTest: A/B Testing for WordPress

• smart “related posts” listings with lots of customization options

• mitcho.com/code/yarpp or search for “YARPP”; @yarpp

• just under 600k downloads

Yet Another Related Posts Plugin (YARPP) YARP

P!

Page 14: ShrimpTest: A/B Testing for WordPress

HookPress

Page 15: ShrimpTest: A/B Testing for WordPress

HookPress

• opens up the WordPress hook system to remote scripts

Page 16: ShrimpTest: A/B Testing for WordPress

HookPress

• opens up the WordPress hook system to remote scripts

• extend WordPress with other languages

Page 17: ShrimpTest: A/B Testing for WordPress

HookPress

• opens up the WordPress hook system to remote scripts

• extend WordPress with other languages• now implemented on WordPress.com!

Page 18: ShrimpTest: A/B Testing for WordPress

HookPress

• opens up the WordPress hook system to remote scripts

• extend WordPress with other languages• now implemented on WordPress.com!• mitcho.com/code/hookpress; @hookpress

Page 19: ShrimpTest: A/B Testing for WordPress

Set your sites on WordPress 3.0!

Page 20: ShrimpTest: A/B Testing for WordPress

Set your sites on WordPress 3.0!

MIT WebPub

Page 21: ShrimpTest: A/B Testing for WordPress

Set your sites on WordPress 3.0!

MIT WebPubTomorrow at 12 noon

Page 22: ShrimpTest: A/B Testing for WordPress

Set your sites on WordPress 3.0!

MIT WebPubTomorrow at 12 noonN42 Demo Center, MIT

Page 23: ShrimpTest: A/B Testing for WordPress

Today

• Introduction• A/B testing basics• Testing on the web?• Theory• Practice

• ShrimpTest

Page 24: ShrimpTest: A/B Testing for WordPress

Testing on the web?

Page 25: ShrimpTest: A/B Testing for WordPress

Testing on the web?

• Websites aren’t just for passive communication.

Page 26: ShrimpTest: A/B Testing for WordPress

Testing on the web?

• Websites aren’t just for passive communication.

• Every website has a purpose.

Page 27: ShrimpTest: A/B Testing for WordPress

Testing on the web?

• Websites aren’t just for passive communication.

• Every website has a purpose.• Common actions: register, sign up, log in, pay, donate, read more...

Page 28: ShrimpTest: A/B Testing for WordPress

Testing on the web?

• Websites aren’t just for passive communication.

• Every website has a purpose.• Common actions: register, sign up, log in, pay, donate, read more...

• tinyurl.com/everywebsite

Page 29: ShrimpTest: A/B Testing for WordPress

Example:

Page 30: ShrimpTest: A/B Testing for WordPress

Example:• highrisehq.com

Page 31: ShrimpTest: A/B Testing for WordPress

Example:• highrisehq.com• Action: sign up

Page 32: ShrimpTest: A/B Testing for WordPress

Example:• highrisehq.com• Action: sign up• Tried many different button texts: “Free Trial”, “Sign-up for Free Trial”, etc.

Page 33: ShrimpTest: A/B Testing for WordPress

Example:• highrisehq.com• Action: sign up• Tried many different button texts: “Free Trial”, “Sign-up for Free Trial”, etc.

• “See Plans and Pricing” increased sign-ups by 200%

thinkvitamin.com/business/how-to-increase-sign-ups-by-200-percent/

Page 34: ShrimpTest: A/B Testing for WordPress

Another example:

Page 35: ShrimpTest: A/B Testing for WordPress

Another example:

Page 36: ShrimpTest: A/B Testing for WordPress

Another example:

+30% +27%

+7%+15%

37signals.com/svn/posts/1525-writing-decisions-headline-tests-on-the-highrise-signup-page

Page 37: ShrimpTest: A/B Testing for WordPress

Others:

Page 38: ShrimpTest: A/B Testing for WordPress

Others:

• Huffington Post titles

Page 39: ShrimpTest: A/B Testing for WordPress

Others:

• Huffington Post titles

• Most everything at Amazon, Google

Page 40: ShrimpTest: A/B Testing for WordPress

Why test?

Page 41: ShrimpTest: A/B Testing for WordPress

Why test?

• We know that {design, content, layout, titles, copy, interface, load time} matters.

Page 42: ShrimpTest: A/B Testing for WordPress

Why test?

• We know that {design, content, layout, titles, copy, interface, load time} matters.

• How do you know you’re making the right decision? What if you disagree?

Page 43: ShrimpTest: A/B Testing for WordPress

Why test?

• We know that {design, content, layout, titles, copy, interface, load time} matters.

• How do you know you’re making the right decision? What if you disagree?

• Get the “hard data.”

Page 44: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

Page 45: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

• Every visitor is different.

Page 46: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

• Every visitor is different.• But when aggregated, a random subset can be a representative sample.

Page 47: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

• Every visitor is different.• But when aggregated, a random subset can be a representative sample.

• So we can do a randomized experiment.

Page 48: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

• Every visitor is different.• But when aggregated, a random subset can be a representative sample.

• So we can do a randomized experiment.• Randomly assign each user to a different treatment and keep track of a metric.

Page 49: ShrimpTest: A/B Testing for WordPress

The theory of A/B testing

• Every visitor is different.• But when aggregated, a random subset can be a representative sample.

• So we can do a randomized experiment.• Randomly assign each user to a different treatment and keep track of a metric.

• How can we interpret the data?

Page 50: ShrimpTest: A/B Testing for WordPress

Is this coin a fair coin?

Page 51: ShrimpTest: A/B Testing for WordPress

TTTTHHHHTHTTHHTTHTHHHHHTTHHHHTHTTTTHHHHTTHHTTHTHTHHHHHTTTHHHHHHTHTHHHHTHHTTTTHHHHHTHTHHTTTTTHTHHHTHTTTHHTTHHHHHTTHTHHHHHTTTHHHTHTHHHHHHHTTTHTTHHHHTHHHTTTHHHHHHHHHHTTHTHHHHHTTHHHTHTHHHHTHHHHHTHHTHHHHHHHTHTHTHHHHHHHHHTHHHTHTHHTHHTHHHHHTHHHHTHTHTHHHHTTTHHHTHHHHHHHHHHTTTHHHHTTHTTHHHHTHTHHHHHTHTHHTHHHHTHTTTHTTTTHHTHHHTTHTHTTHHTHTHHHHHTHHHHHHHHTHTTHTTHTTHHHHTTHTHTHHHHTTHTHTHTHTHTTHHTHTTHTTTHHHHHHHHHHTHTHTHHTHTHHTHTHHHHHTHHHHHHHTHTHTTHTHHTHHHHTHHHTTTTHTTHHTHHHHTTHHHHTHTHTTHTHTHHHHHTHTTTHTHHTHTHHTTHTHTH

Page 52: ShrimpTest: A/B Testing for WordPress

TTTTHHHHTHTTHHTTHTHHHHHTTHHHHTHTTTTHHHHTTHHTTHTHTHHHHHTTTHHHHHHTHTHHHHTHHTTTTHHHHHTHTHHTTTTTHTHHHTHTTTHHTTHHHHHTTHTHHHHHTTTHHHTHTHHHHHHHTTTHTTHHHHTHHHTTTHHHHHHHHHHTTHTHHHHHTTHHHTHTHHHHTHHHHHTHHTHHHHHHHTHTHTHHHHHHHHHTHHHTHTHHTHHTHHHHHTHHHHTHTHTHHHHTTTHHHTHHHHHHHHHHTTTHHHHTTHTTHHHHTHTHHHHHTHTHHTHHHHTHTTTHTTTTHHTHHHTTHTHTTHHTHTHHHHHTHHHHHHHHTHTTHTTHTTHHHHTTHTHTHHHHTTHTHTHTHTHTTHHTHTTHTTTHHHHHHHHHHTHTHTHHTHTHHTHTHHHHHTHHHHHHHTHTHTTHTHHTHHHHTHHHTTTTHTTHHTHHHHTTHHHHTHTHTTHTHTHHHHHTHTTTHTHHTHTHHTTHTHTH

N = 500, P(H) = 0.632

Page 53: ShrimpTest: A/B Testing for WordPress

TTTTHHHHTHTTHHTTHTHHHHHTTHHHHTHTTTTHHHHTTHHTTHTHTHHHHHTTTHHHHHHTHTHHHHTHHTTTTHHHHHTHTHHTTTTTHTHHHTHTTTHHTTHHHHHTTHTHHHHHTTTHHHTHTHHHHHHHTTTHTTHHHHTHHHTTTHHHHHHHHHHTTHTHHHHHTTHHHTHTHHHHTHHHHHTHHTHHHHHHHTHTHTHHHHHHHHHTHHHTHTHHTHHTHHHHHTHHHHTHTHTHHHHTTTHHHTHHHHHHHHHHTTTHHHHTTHTTHHHHTHTHHHHHTHTHHTHHHHTHTTTHTTTTHHTHHHTTHTHTTHHTHTHHHHHTHHHHHHHHTHTTHTTHTTHHHHTTHTHTHHHHTTHTHTHTHTHTTHHTHTTHTTTHHHHHHHHHHTHTHTHHTHTHHTHTHHHHHTHHHHHHHTHTHTTHTHHTHHHHTHHHTTTTHTTHHTHHHHTTHHHHTHTHTTHTHTHHHHHTHTTTHTHHTHTHHTTHTHTH

N = 250, P(H) = 0.568

Page 54: ShrimpTest: A/B Testing for WordPress

TTTTHHHHTHTTHHTTHTHHHHHTTHHHHTHTTTTHHHHTTHHTTHTHTHHHHHTTTHHHHHHTHTHHHHTHHTTTTHHHHHTHTHHTTTTTHTHHHTHTTTHHTTHHHHHTTHTHHHHHTTTHHHTHTHHHHHHHTTTHTTHHHHTHHHTTTHHHHHHHHHHTTHTHHHHHTTHHHTHTHHHHTHHHHHTHHTHHHHHHHTHTHTHHHHHHHHHTHHHTHTHHTHHTHHHHHTHHHHTHTHTHHHHTTTHHHTHHHHHHHHHHTTTHHHHTTHTTHHHHTHTHHHHHTHTHHTHHHHTHTTTHTTTTHHTHHHTTHTHTTHHTHTHHHHHTHHHHHHHHTHTTHTTHTTHHHHTTHTHTHHHHTTHTHTHTHTHTTHHTHTTHTTTHHHHHHHHHHTHTHTHHTHTHHTHTHHHHHTHHHHHHHTHTHTTHTHHTHHHHTHHHTTTTHTTHHTHHHHTTHHHHTHTHTTHTHTHHHHHTHTTTHTHHTHTHHTTHTHTH

N = 10, P(H) = 0.5

Page 55: ShrimpTest: A/B Testing for WordPress

Not a fair coin:

P(H) = 0.6P(T) = 0.4

Page 56: ShrimpTest: A/B Testing for WordPress

HHHHTHHHTTHTHHHTHTTHTHTTTTTHHTTTTHHTTHHHHHHHTHTHHHHHTTHHHHHHHTTHHHHTTHTTHHTHTHHTTHHTHHHTHHTTHHTTTHHHTHTHHTHHHTTTHTHHHHHHHHHHHHTTHTHHTTHHHTTHHTTHHHHTTHHTHHHHHHHHTTTHHTTTTHHHTHHHTHHTTTHHHTTHTHTHTHHTHHTHHHHHTTTHHTHHTHHTTHHHTHHTTHTTTTHTHTTHHTHHHTHTHTHTTTTTHHTHTTHHTTHHTHHTTHHTHHHTHTHHHHHHTTHTHTTHHHHHHHTHHHHTHTTHTHHHHHHHHTHTHTTTHHHHTHTHTTHHHHTHTHTHTTHTHHHHHHHHTTHTHTHHTTTTHHHHHHTTTTTHTHHTHTHTHTHHHTHHHTHHHHHTTTTTHTHHHTHHHHTTTHTHHTTTTHTTHTTTTHHTTTHTHTTHHTTHTHHTHHTTHHTHTHTHHHHHHHHTTTHHHTTTHTHTHHTTTHTHTTHHHHTHHHTHHHTHTHHHTHHHTHHTTHHHTHHTHHHHTHHTHHTHTTTTTHHHHTTHHHTHTTHHHHTHHTHHTHTHTHHTHHTTTHTTHHHTTHHTTHTHTTHTHTHHTHHHTTTHHTHHTHTHHHTHTTHTHHHHTHHTTTHTHHHHTHHTHHTTHHTHTTHTTHHTHTHTHHHHHTHHHHTHHHHHHTHTHHHHHHHHTHTTTTHTTHHHTHHHTHHTTHTTHTTHHHTHHHHHTHHHHTHHTHHTHHHHTTHHHHHHTTTHHHHHHHHTTHHTTHTTHHTTHTHHHTHTTTHHHTHHHHTTTHTHHHHHHHHHTTHHHTHHTHHHTHHTHTHHHTHHHTHHTTHTHHTTTTHHTHHHHTTTHHTHHTHHTTTTHHTTHTTHHTHHHHHHTHHTTHHHTHHTHTHTHTHHHHTTHTHHTTHHHTHTHHHHHTHTHHHHHTTTHHHTHHTHHHTHTHTHHHHHHTHHHTHTHHHHHTHTHHHHTHHHHHTHHHHTHTHHTTHHTHHHHTHHTTHHHHTHHTTHTHTTTHHHHHHHHHTHHHHTHHHTTHHHTTTHHHHTTHTHHHHTHHHTTHTTTHTTTTHTHTHTTHTHHTHTHHTTHHHHTTTHTHTHHHHTTHHTHTTTHTHTHHHTTHHHHHHHHHTTTHHTTHHHTHTHTTHHHTTHHHHHHHHHHTTHTHHHTTTHHTHHHTHTHHHTHTHTTHTHHTHTHHTHTTTTTHHTTTTHHTHHHHHHHTTHTTHHHHHTTTHTHHTTHTHHHHTHHTHTHTTHTHTTHHHTTTHTTTHHTTHHHHTTTHTHTTTTHHHTHTHHHTHHTHHHHHTHHHHHHHHTTTHHHTTTHHHTHHTTHTHHTHHHHHHTHTHTHTHHHTTHTHTHTHHTTTHHHTHHTHHTHHTTHTHTTHHHTHHHTHHTHTHTHHHTHTTTTTTHTTHHHHHTTTTTHTTHTHHTHTHTTHHHTHTHHTTTTTTHHHTTTHTTHHHHTHHHTHTHTHHHHHHTHHTTTHHHHHTHHHHTTTHTHHTHHHTHHTHTHHTHHTHHHHHHHTHHHHHTTTTTHHHHHTTHHHHHHHHTHHHHHHHTTTTTHHTHHHHTHHTHHTHTHHHTHHTHTHTHHTTHHTTHTHHHHTTTHTHTTHTHTHHTHHHTHHTHHHTHHHHHHHTHTHHHHHTTHTHHHHTHHTTTHHTTHHHHTTTTHHHTHHHTHTHTTTTHTHHHHTHHHHHTHHHHHHHHTHHTHHHHTHHTHTHTTTHTHHTTHHTHTTHHHHTHHHHHHHHTHHHHTHHHTTHHHTHHHHTTTTHHHHTHHHHHHHTTTHHTHHTTHHTTTTHHTHHHHHHTHTHTTHHTHHHHTTTHTHHTHTTHHHTHTHTTTTTHHTHHHHTHHHHHHHHHHHHHHHHHTTHHHHTHHHTTTTHTHHHHHHHHTHTHHTTTTHTTHTHHTHHHHHHHTHTHTHHHTTTTHHTHHHHHHTHTTHTHHTHTHHHHHHHTTHHHHTHTHTHTTTHTTHHHTHHHHHHTTHHTHTTHTTTHHHHHTTTHHTHHHTTHHHHHTHHHHHTTHTHTHHTHHHHTTHHTTTHTHHHTHHHHTTTTHTHHHHHHHTHTHHHHHHHHTTHTHHHHTHHHHTHHHHHTTHTTHHHHTTHTTHHHHTHHTHHHTTTHTHTTHTTTTHTTHTHHHHTTTHTTHHTTTTTHTHTTHTHTHTTHHTHTTHHHTHTTHTHHHHTHHTHHHHHHHHTTTHTHHTHTHTHHHHTHTTTHHHTHHHHHTHTTTHTTHHTHTTHHHHHTTTTTHHHHHTTTTHTHHHHTTHHHHHHHHHTHTHHHTTTTHTHTHTHHTHHTTTHHTHHTHHTHHTTHHHHHTHHHHTHTHHHHHTHTTHTHHHHTHHHTHHTHHTHHHTHHTHTTHHHHHTTTHHTHTHTHTHHTTHTHTTHHTTTHTHTHTHTTHHTHTHTHHHTHHHHHHHTTHHHHTHHTTHTHHTHTHTHHHHHHHHTTHHTHHHHTHHHTTHHHHHTTHTHHHHHHHHHTHTHHTTTHHTHHHHHTHTHHTHTHHHTTHHHHTTTHHTTHHTTTHTTTTTTTTHHHHTTHTHHHHHHTTHHHTHHHHTHTTHHHHHHTHHTTHHTTTHHHHTHHTTHTHTHHHHTTHTTTHHHTHTHHTHHHTTHTHHHTTHHTHHHHTTHHTHTTTTHHTTHTTTTTHHHHHHHHHHHTTTTHTTTHTHHTHHHHHHHHHHHTHHHTTHHHHTHTTHHHTTHHHTHHHTTTHTHHTHHHTTTTHTTHHHHTTHTTTHTHHHHHTHTHTHHTTTTTHTTHHTTHHTTTHHTHTHHTTTHHHHHHHHTTTTTTTHTHHHHTTTHHTHHHHTHHHTHHHTHHTHHHHTHHHHHHTHTTHHHHTTHHTHTTHHHTHTHTTHHTHHHTTTHHTTTHHHTHHHHTHHHTHTHTHHTHTTTTTTHTHTTHHTHHHHHHHHHHHHHTTHHTTHTHTTTTTTHHHHHTTHHHHHTTHTHHHHHTTTHHTHTHHTHHHTHTHHTHTHTHHHTHHHHHHHHHHHTHHHHHHHTTHHHHTTHHHHTHHHTHHHTTHTTTHHHHHHHHHTTTHHHTTHTHHTHTHTTHTTTHHHTTHHHHHHHHHHTTHHHTTHTTTHTHHHTTTHHTHHTTTHHHHTTHHTHTTTTHTTHHHHHHTHTTHHHHHTHHTTHHHTTHHHHHTTTHTTHHTTHTTHTTHHHHHHTTTHHHTTTHTHHTHHHHHTHTTHHHHHHHHTTHHTHHTTHHHHTTHHHTHHHHHHHTTTHHTHHHHTHHHHHHHHHTHHTTHHTHTTTHHHTTHTTTHHHHHHHTTTHHHHTHHHHHHHTTTTTHHHTTHTTTHHHHTHTTTHTHHHTHTHHHTTTTHHTTHHTTTHHTHHTHHHTHTHTHHHHTHHTHHHTHHHTTTHHHTHHTHTHHTTHHTTHTTHHHTTTHHHHHHHHHHHTTHHTTHHHHHHHHHHTHTTHHHHHHTTHHTTHTTHTTHHTTTHTTHTHTHHHHTHHHTHHTHHTTHTTHTHHTTTHTHHTHTHHHHHTHTTHHTTHTHHHHHHTHTHHTHTHHTTHHHHHTHTHHTHTHHTTHTTTHHTHHHTTTTTTTTHHHHTHHTHTHHHHTHTHHHHTHHTHTTTHHTTHHTTTHHHHTTHHHHHHTHTTHTHTTHHTHHHTTHHTTTTTHHHHHTTTTTHHHTTHHTHTTHTHTTHHTTHHHTHHHHHHHTTHTTHHHHHHTTHHHHTHTHHTTHHHTHHHHTHHTHTTHHHTTTHTHTHTTHHHHHTHHHHHTTHTHHTTTHTTHHHHHHHTHTHHHHHTTTTTTHHHTTTTTHHTTTHHHHTHHTTHTHTHHTTHHHHTHHHTHHHHHHTHHHHHHHTTTHHHHHTTHHTHHTTTTTHHTHTTTTHHHTHTTHHTTTHTHHHTHHTHTHHTTHHTHTTTHHHTHHHHHHHHHHHHTHTTTHHTTHHHTHTTTHHTHHTTHHHHHHTHTTHTHHHTHTTTTHHHTHTHHHHHHHHTHHHTHHHHTTHHHHTTTTHTTHTHTHHHHHTHHHHHHTHTTHHTHTHHHHTHHTHHTHHHTHTHTHTTHTHHHHTHHTHHHTHHTHHTTHTHHTHHHHHTHHTTHHTTHTTTHTTHHHTTTTHTHHHHHHHHTHTTHHHTHTHTHHTHTTTHHHHHHTHTTTHHHTHHHHHTTHTHHHHHHTTTHTTHTHTHHTHTTTHHTTHTHHTTHTTHHTHHTHHHHTHTHHHTHHHHHTTHTTTHHTHHHHTTHHHTTTHHHTTTTHTHTHTHHTTTTHTHTHHHHTHHTHHTHHTTHHTTHHHTHHTHHHTTTTHHTHHHHTTHHHHHTHTTHHHHTTHHTHHTHHTHHHHHHTHHHTTHHHHHTTHTTHHTHHHTTTTTHTTTHTTTHTTHTHTTTTHHTHHHHTHHHHHTTHTTHTHTHTTHHHHTTTHHHHHHHHHTHTHHHTTHHTHTHTTHHHTHTTHHHTTHHTTHHHHTHTHHHHHHTHTHTHHTTHTTTHHTHTHTHHHTTTTTHHHHHTHTHTTTTHTTHHHTHTTTTHTTHTTHHTHTTHHHHHTTTHHHHHHHHHTTHTTHTTHHTHTTHTTTTTTHTTTHHTHTTHTTHHHHHHTHHHHHHHHHTHHTHHTHHHTHHHHHTHHTHTHTHHTHHHTHTHHTHTHHTTHTHTHTTHTHTTTHHTHHHTHTHHHHHTHHHTHHHTHTTHHHHHHTHHHHTHHHTTHHTHHTTHTTHTHTTHHTTHHHTTHHHHHHHTHTHHHTHHTTHHHHHTHTHHHHTHHTTHTTTHHTHHHHHTTTHHHHHHHHTTHTTTTTTHHHTHTTHHHTTTHTTHHHHHHHTTHTHTHHTHHTHTHHTTTHHHTTHHHHTHHHHHHHHHTHHHTTTHTTHTHHTHHHTHTHHHTTHHHHHHHHHHHTHTHTT

HHTHHTHTHHTTTTTHTHHHHHHHTTHHHHHTTTTTTTHHTTHTTHHTHHHTHHHHHHTHHTTTHHTHTHHHTHHHHHHHHHTTTTHTHHTTHHHHTHTHHHHHHHHTTHHHHTHTT

But maybe we should run N = 5000 ?

Page 57: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

Page 58: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• The question: could this actually be a fair coin, and the variance is due to chance?

Page 59: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• The question: could this actually be a fair coin, and the variance is due to chance?• Or: could this variant be just as “effective” as my control, and the variance is due to chance?

Page 60: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• The question: could this actually be a fair coin, and the variance is due to chance?• Or: could this variant be just as “effective” as my control, and the variance is due to chance?• We can calculate this probability: p.

Page 61: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

Page 62: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• Normally, if p < 0.05, we can be confident. If p < 0.01, we can be very confident.

Page 63: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• Normally, if p < 0.05, we can be confident. If p < 0.01, we can be very confident.

• We want to be 95% sure that the different results we see are due to a real difference in “effectiveness”.

Page 64: ShrimpTest: A/B Testing for WordPress

Statistics to the rescue!

• Normally, if p < 0.05, we can be confident. If p < 0.01, we can be very confident.

• We want to be 95% sure that the different results we see are due to a real difference in “effectiveness”.

• This 95% confidence interval is standard.

Page 65: ShrimpTest: A/B Testing for WordPress

Can we say this is an unfair coin?

Page 66: ShrimpTest: A/B Testing for WordPress

Can we say this is an unfair coin?

N = 10, P(H) = 0.5, p = 1 unclear!

Page 67: ShrimpTest: A/B Testing for WordPress

Can we say this is an unfair coin?

N = 10, P(H) = 0.5, p = 1

N = 250, P(H) = 0.568, p ≈ 0.03

unclear!

confident!

Page 68: ShrimpTest: A/B Testing for WordPress

Can we say this is an unfair coin?

N = 10, P(H) = 0.5, p = 1

N = 250, P(H) = 0.568, p ≈ 0.03

N = 500, P(H) = 0.632, p < 0.01

unclear!

confident!

very confident!

Page 69: ShrimpTest: A/B Testing for WordPress

Best practices

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 70: ShrimpTest: A/B Testing for WordPress

Best practices

• Decide on a clear, measurable, long-term metric ahead of time.

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 71: ShrimpTest: A/B Testing for WordPress

Best practices

• Decide on a clear, measurable, long-term metric ahead of time.• Clear metric = actionable results.

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 72: ShrimpTest: A/B Testing for WordPress

Best practices

• Decide on a clear, measurable, long-term metric ahead of time.• Clear metric = actionable results.

• Experiment early and often.

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 73: ShrimpTest: A/B Testing for WordPress

Best practices

• Decide on a clear, measurable, long-term metric ahead of time.• Clear metric = actionable results.

• Experiment early and often.• Test bold changes.

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 74: ShrimpTest: A/B Testing for WordPress

Best practices

• Decide on a clear, measurable, long-term metric ahead of time.• Clear metric = actionable results.

• Experiment early and often.• Test bold changes.• Keep the potential costs in mind.

CC-BY-NC flickr.com/photos/kylemacdonald/3199283481/

Page 75: ShrimpTest: A/B Testing for WordPress

Best practices: how you test

Page 76: ShrimpTest: A/B Testing for WordPress

Best practices: how you test

• Assignment of visitors to variations must be truly random.

Page 77: ShrimpTest: A/B Testing for WordPress

Best practices: how you test

• Assignment of visitors to variations must be truly random.

• Each visitor must have a consistent experience across visits.

Page 78: ShrimpTest: A/B Testing for WordPress

Best practices: how you test

• Assignment of visitors to variations must be truly random.

• Each visitor must have a consistent experience across visits.

• The site must still work, both during and after the experiment!

Page 79: ShrimpTest: A/B Testing for WordPress

Best practices: how you test

• Assignment of visitors to variations must be truly random.

• Each visitor must have a consistent experience across visits.

• The site must still work, both during and after the experiment!

• Beware of interactions. Or go multivariate.

Page 80: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

Page 81: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

• Get clear, actionable results with hard data.

Page 82: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

• Get clear, actionable results with hard data.• Take the guesswork out of design.

Page 83: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

• Get clear, actionable results with hard data.• Take the guesswork out of design.• Increase your bottom line with little cost.

Page 84: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

• Get clear, actionable results with hard data.• Take the guesswork out of design.• Increase your bottom line with little cost.• You can’t afford not to!

Page 85: ShrimpTest: A/B Testing for WordPress

A/B testing on the web

• Get clear, actionable results with hard data.• Take the guesswork out of design.• Increase your bottom line with little cost.• You can’t afford not to!

• Unfortunately, if it’s not drop dead easy and convenient, it won’t happen...

Page 86: ShrimpTest: A/B Testing for WordPress

ShrimpTest

Page 88: ShrimpTest: A/B Testing for WordPress

ShrimpTestA/B Testing for WordPress

Page 89: ShrimpTest: A/B Testing for WordPress

ShrimpTest*

* free beer and pizza if you guess why it’s so named

A/B Testing for WordPress

Page 90: ShrimpTest: A/B Testing for WordPress

ShrimpTest

Page 91: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:

ShrimpTest

Page 92: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use

ShrimpTest

Page 93: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use• More robust and extensible

ShrimpTest

Page 94: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use• More robust and extensible

• A project of Automattic, written by mitcho

ShrimpTest

Page 95: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use• More robust and extensible

• A project of Automattic, written by mitcho• To be released as a free plugin.

ShrimpTest

Page 96: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use• More robust and extensible

• A project of Automattic, written by mitcho• To be released as a free plugin.• Developed in the open. Dev blog:

ShrimpTest

Page 97: ShrimpTest: A/B Testing for WordPress

• A/B testing right in WordPress:• More convenient and easier to use• More robust and extensible

• A project of Automattic, written by mitcho• To be released as a free plugin.• Developed in the open. Dev blog:

• shrimptest.wordpress.com

ShrimpTest

Page 98: ShrimpTest: A/B Testing for WordPress

Demo

Page 99: ShrimpTest: A/B Testing for WordPress

Custom variant selection and metrics

Page 100: ShrimpTest: A/B Testing for WordPress

Custom variant selection and metrics

$variant = shrimptest_get_variant( $my_experiment_id );// $variant is going to be an integer.switch ( $variant ) { case true: // if $variant > 0 echo "This is variant #{$variant}."; break; default: // if $variant is 0, or if ShrimpTest is down. echo "This is the control.";}

Page 101: ShrimpTest: A/B Testing for WordPress

Custom variant selection and metrics

$variant = shrimptest_get_variant( $my_experiment_id );// $variant is going to be an integer.switch ( $variant ) { case true: // if $variant > 0 echo "This is variant #{$variant}."; break; default: // if $variant is 0, or if ShrimpTest is down. echo "This is the control.";}

// the user did something worth xshrimptest_update_metric( $my_experiment_id, $x );

Page 102: ShrimpTest: A/B Testing for WordPress

Features

Page 103: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin

Features

Page 104: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin✓ Server-side (PHP) selection

Features

Page 105: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin✓ Server-side (PHP) selection✓ Tools for easy setup of experiments: [ab] shortcode, variant viewer

Features

Page 106: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin✓ Server-side (PHP) selection✓ Tools for easy setup of experiments: [ab] shortcode, variant viewer

✓ API for custom metrics, variant types

Features

Page 107: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin✓ Server-side (PHP) selection✓ Tools for easy setup of experiments: [ab] shortcode, variant viewer

✓ API for custom metrics, variant types✓ “eat my own dogfood” approach

Features

Page 108: ShrimpTest: A/B Testing for WordPress

✓ Written as a WordPress plugin✓ Server-side (PHP) selection✓ Tools for easy setup of experiments: [ab] shortcode, variant viewer

✓ API for custom metrics, variant types✓ “eat my own dogfood” approach

✓ Works with caching plugins

Features

Page 109: ShrimpTest: A/B Testing for WordPress

A work in progress...

Page 110: ShrimpTest: A/B Testing for WordPress

• Documentation

A work in progress...

Page 111: ShrimpTest: A/B Testing for WordPress

• Documentation• UI improvements

A work in progress...

Page 112: ShrimpTest: A/B Testing for WordPress

• Documentation• UI improvements• Experiment automation tools

A work in progress...

Page 113: ShrimpTest: A/B Testing for WordPress

• Documentation• UI improvements• Experiment automation tools• More testing, particularly on higher traffic sites

A work in progress...

Page 114: ShrimpTest: A/B Testing for WordPress

Get involved!

Page 115: ShrimpTest: A/B Testing for WordPress

• Try it out!

Get involved!

Page 116: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

Get involved!

Page 117: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

• Check out and submit bug tickets:

Get involved!

Page 118: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

• Check out and submit bug tickets:• tinyurl.com/shrimptesttrac

Get involved!

Page 119: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

• Check out and submit bug tickets:• tinyurl.com/shrimptesttrac

• Follow development:

Get involved!

Page 120: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

• Check out and submit bug tickets:• tinyurl.com/shrimptesttrac

• Follow development:• shrimptest.wordpress.com

Get involved!

Page 121: ShrimpTest: A/B Testing for WordPress

• Try it out!• tinyurl.com/shrimptesttrunk

• Check out and submit bug tickets:• tinyurl.com/shrimptesttrac

• Follow development:• shrimptest.wordpress.com• @ShrimpTest

Get involved!

Page 122: ShrimpTest: A/B Testing for WordPress

ShrimpTest

Thank you! Questions?mitcho (Michael 芳貴 Erlewine), Automatticmitcho.com, @themitchoshrimptest.wordpress.com, @ShrimpTest

A/B Testing with WordPress