swab:简单的wsgi a/b测试
swab的Python项目详细描述
简单的wsgi a/b测试-拭子
什么是A/B测试?
A/B测试是一种比较网页的两个版本与每个版本的方法 另一个,看看哪一个对你的访客表现最好。可能是在测试 更改网站副本、视觉设计或用户界面。
当你运行一个A/B测试实验时,你需要告诉拭子你的变种是什么 有什么目标,你想优化。拭子将随机分配 访问每个变体并跟踪每个变体的次数 显示,以及这些访问中有多少次导致转换。
使用这些数据,swab可以显示每个变量的转换率 用一些基本的统计数据来帮助你决定 不同版本之间的差异。
设置拭子实例
swab需要一个目录,它可以保存用于跟踪的数据文件 试用和转换数据:
from swab import Swab s = Swab('/tmp/.swab-test-data')
然后你需要告诉拭子你想做的实验,变种 以及转换目标的名称:
s.add_experiment('button-color', ['red', 'blue'], 'signup')
最后,您需要将wsgi应用程序包装在swab的中间件中:
application = s.middleware(application)
在应用程序中集成拭子
swab为您提供了许多功能,您可以将这些功能放入您的应用程序代码中:
< Buff行情>显示变量(环境,实验,记录=假,变量=无)
< Buff行情> 返回要为当前请求显示的变量名。在上面 例如,调用show_variant('button-color',environ)将 返回 'red' 或 'blue'录制试用标签(环境、实验)
< Buff行情>返回应放置在 你正在测试的页面。标记使用户的浏览器加载 引用的javascript文件,触发swab为 给定实验。
如果在请求的页面上只运行一个实验,并且 以前调用过show_variant 实验名称。
记录试验(环境试验)
< Buff行情>如果您不想使用javascript信标来跟踪试用版,可以 直接拨打 记录试用 。javascript信标方法是 首选,因为它不太可能由机器人触发。
如果在请求的页面上只运行一个实验,并且 以前调用过show_variant 实验名称。
记录目标(环境、目标、实验)
< Buff行情> 记录命名实验的目标转换查看结果
测试结果可在url /swab/results
缓存
如果 请求期间调用了show_variant或record_trial。这个 有助于避免代理缓存您的测试变体。它还将删除任何其他 缓存相关的头(例如"etag"或"last modified")。如果你不想要这个 行为,创建拭子时需要传递 cache_control=false 。 实例。
查看变量
测试你的竞争页面附加'?拭子。<;实验名称>;=<;变量名称>;'到 强制显示任何给定变体的URL。