BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Stripe Open Sources Abba, an A/B Testing Framework

| by Abel Avram on Mar 15, 2013. Estimated reading time: 1 minute |

 Stripe has open sourced their JavaScript A/B testing framework called Abba. In order to set up a web application for testing, the following code snippet needs to be inserted in main page:

<script>
  Abba('test name')
    .control('Test A', function(){ /* ... */ })
    .variant('Test B', function(){ /* ... */ })
    .start();
</script>

This script defines a control test called Test A, against which all results are reported, and another test variant, Test B. There can be multiple variants. For each test a handler is specified, being called by the framework when necessary. The control test may lack a handler.

When the test is started, Abba randomly calls the handlers associated with different tests. This usually results in serving different pages to site users, and the framework keeps track of each user and their test start and completion status. If set accordingly, Abba can make sure a user sees the same page when visiting the website again.

Data is stored in MongoDB and can be visualized in a graph displaying  daily visitors and conversion rates (visitors that completed the test) for a certain period of time. Values for different variants are weighted and a standard score is computed to evaluate the accuracy of the test. The results can be filtered by date and/or browser.

Abba can be run locally or on a server, instructions being provided to run it on Heroku. The framework requires Ruby 1.9.3 and MongoDB.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT