A/Bingo: Rails AB Testing

A/Bingo is a Ruby on Rails A/B testing framework written as a plugin. It is an extraction from Bingo Card Creator, where it is used in production. A/Bingo should work for most recent versions of both Rails 2.3 and 3.0.

Key features:

  • Test display or behavioral differences in one line of code
  • Measure any event as a conversion in one line of code.
  • Eliminate guesswork: test for statistical significance in one line of code.
  • Blazingly fast, with minimal impact on page load times or server load.
  • Written by programmers, for programmers. Marketing is an engineering discipline!

#Simple syntax to start a test:
#Here we're interested in whether the login buttons affect whether folks sign in.
#If you're using Rails 3. this should be <%= instead of <%
<% ab_test("login_button_test", ["/images/button1.jpg", "/images/button2.jpg"], :conversion => "login") do |button_file| %>
  <%= image_tag(button_file, :alt => "Login!") %>
<% end %>

#Track any arbitrary event as a conversion
def login
  #some business logic goes here


A/Bingo Is Open Source

Bingo Card Creator, my business, has only come as far as it has because I stand on the shoulders of giants. Without Rails and Nginx powering this website, or the Apache HTTPClient library embedded in the downloadable version of Bingo Card Creator, or (at last count) 62 other open source projects, it is unlikely I would be a businessman today.

A/Bingo is my attempt to repay the community a favor, bringing some skill at marketing to a profession which frequently lacks and often despises it. It is copyright Patrick McKenzie 2009-2015 and released under the MIT license, which is the same as Rails. The human-readable summary of the legal code is "You can do whatever you want with this, just please don't sue me."

A/Bingo is designed to work right out of the box for most uses. If you have different needs, I encourage you to alter A/Bingo to suit your purposes. The code is commented, documented, and mostly easy to follow. It is hosted in a publicly accessible git repository. I'm not actively maintaining it anymore, as it is behind Rails by a few versions.


Development Roadmap

Patrick McKenzie, who originally developed A/Bingo, sold Bingo Card Creator and doesn't work on actively developing A/Bingo anymore. Consider the project EOLed, but feel free to fork/improve it for your purposes.