有关A / B拆分测试的一些信息:
我可以在Rails应用程序中执行此操作,在我的视图中使用简单的case
或if
语句,但这会有很多重复。有没有宝石支持这个?任何有用的设计模式?
答案 0 :(得分:22)
我刚刚发布了A/Bingo,一个OSS Rails插件来执行此操作。
您可以查看comparison with Seven Minute Abs了解详细信息,但我认为它更易于使用。
答案 1 :(得分:15)
答案 2 :(得分:7)
在ApplicationController
:
options = ["option1", "option2", "option3"]
session[:option] ||= option.rand
在您的视图中,根据您想要的部分和所选的选项渲染部分:
<%= render :partial => "foo#{session[:option]} %>
通过这种方式,您可以保证用户在整个网站上获得整个会话的相同选项。另外,只需将选项设置为空字符串即可返回默认部分。你甚至可以在数组中放入一个空字符串,或者重复条目来改变每个字符串选择频率的权重。
您可以使用Google网站优化工具确定哪个选项实现了最佳转化效果。在他们的文档Quick Start Guide - Website Optmizer Help中查看他们的分步演练。这有一些你需要添加的JavaScript。
答案 3 :(得分:7)
您是否看过7分钟AB,一个用于rails的A / B测试插件?