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. 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.
<% 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
bingo!("login")
end

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 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. If you do anything noteworthy with it that you'd
like to share, email me (patrick@ this domain) with the location of your repository
and I may include it in the version seen here. You are especially likely to be
included if you make me money by solving Bingo Card Creator's business problems.

Development Roadmap
Tell me what you need (patrick@ this domain) and I will try to make it happen, at least to the extent that it helps me sell bingo card makers to elementary school teachers. Currently, I have the following planned for A/Bingo:
- More statistical significance tests.
- Better visualization of results.
- Performance improvements, if people require them.
- Tracking multiple types of conversion per test.
- Tracking different conversion values.
