简单的A/B测试框架

dabble的Python项目详细描述


#dabble是一个简单的python a/b测试框架。使用dabble,您可以
在代码中配置测试,收集结果,并在稍后进行分析,以便
对设计更改、功能实现等做出明智的决定。

您可以使用类a b test在dabble中定义一个a/b测试,该类描述了
测试名称、每个备选方案的名称,以及
用户将在测试期间完成的一组步骤(在最简单的情况下,这只是
两个步骤)。然后定义一个或多个“abparameter”,其中包含
您希望在测试中为每个备选方案更改的值。每个测试可以
有一个或多个备选方案,但最常见的情况是有2个
(因此称为“A/B测试”)。


fsresultstore('/path/to/results.data')



class signup(page):
path='/signup'


signup_button=abtest('signup button',
alternatives=['red','green',
steps=['show','signup'])
button\color=abparameter('signup button',['\ff0000','\00ff00'])


def get(self):
self.signup\u button.record('show')
return render('index.html',button\color=self.button\color)

def post(self):
self.signup\button.record('signup')
return redirect('/account')


在幕后,dabble使用cookie为站点上的每个用户分配了一个*标识*,以便每个用户始终看到相同的
*替代项*。用户可以在许多浏览会话中多次访问主页,但只要浏览器中存在相同的cookie,
他们将始终看到红色或绿色按钮,这取决于第一次查看页面时选择了哪个按钮。

跟踪用户的操作。稍后,可以生成报告来确定红色或绿色按钮是否会导致更多用户注册。


dabble配置除了“abtest”和“abparameter”之外,dabble还需要
“identityprovider”和“resultsstorage”。dabble为每一个现成的选项提供了几种
替代方案,而且编写自己的选项也很简单。


`identityprovider`应该尽最大努力始终
识别个人,而不是浏览会话(特别是当cookies
设置为在用户关闭浏览器时过期时)。如果您正在测试需要用户登录的功能,那么他们的用户名是一个很好的标识选择。


`resultsstorage`存储A/B测试的配置和结果,并提供根据存储的结果生成报告的一些工具。dabble
提供了几个后端,包括“mongoresultsstorage”和“fsresultsstorage”。

通过“report()”方法参与a/b
测试。报告是一个字典,它为每个选项描述在每个定义的步骤中尝试和转换的用户数量。对于上面的示例,报表可能如下所示:


>;>;storage=fsresultstorage('/path/to/results.data')
>;>;storage.report('signup button')
{
'测试名称':'signup button',
'结果':[
{
'可选':'red,
‘漏斗’:[{
‘舞台’:(‘表演’,‘注册’),
“已尝试”:187,
“已转换”:22,
},
},
{
{
“可选”:“绿色”,
“漏斗”:[{
“阶段”:(“显示”,“注册”),
“已尝试”:195
“已转换”:18,
}],
}
],
}


每个“results”条目中的“funnel”键将有一个元素
少于步骤数,因为每个条目描述用户从一个步骤到下一个步骤的进展

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
接收com。太阳媒体声音Java中来自MIDI控制器的FastShortMessage,如何解码?   JAVA日志记录:当日志文件将要滚动时,应用程序将暂停   java如何使用循环来重复函数选择   java OpenJPA和存储过程,Weblogic 12c   编码风格什么是正确的方式来使用。Java中的equals方法?   通过tcpsocket将xml从java发送到C#   java对象比JTable效率更高   java在运行时删除标志\半透明\状态   java将一个数均匀随机地分成m个部分   链表的Java数组   javajaxws:在数据库中记录请求和响应   java maven,执行标记,缺少id标记   泛型类中的java泛型转换