The simple_split gem provides the absolute simplest possible interface for
split testing via Rails while still providing an expressive set of tools for
writing and maintaining experiments. More traditional solutions like
split provide more bells and whistles, but they also do far
more than is necessary for simple split testing via good analytics services.
Instead, simple_split is bare bones, but it still supports flexible testing.
- Includes optionally-weighted variations
- Does not require the use of any data store
- Variations already seen by users are tracked via cookies
Quick Start
Add gem 'simple_split' to your Gemfile, then run bundle. That's it. Now you
can start writing A/B tests for your project.
All classes that inherit from ActionView or ActionController have access to
the ab_test method. It accepts an experiment name and a list of variations.
ab_test 'experiment_name', 'variation_a', 'variation_b', 'variation_c'The result of a call to ab_test is a randomly selected variation. If a user
has already seen a particular variation, that result will always be returned
instead of picking a new one.
Variations can be weighted by using a hash, where the keys are variation labels
and the values are numeric weights. If no weight is provided, the default is to
use 1.0.
ab_test 'experiment_name', { 'variation_a' => 1.0, 'variation_b' => 0.2 }Credit
This was inspired by the simple_abs gem, which also provides a
stripped-down interface. However, it still persists information to a database,
and it does not include support for weighted variations.