Python 中有哪些 A/B 对比测试资源?

发布于 2024-09-05 22:16:36 字数 414 浏览 10 评论 0原文

Rails 有多个 A/B 分割测试模块/插件。
http://github.com/paulmars/seven_minute_abs
http://www.bingocardcreator.com/abingo
http://vanity.labnotes.org/

Python有类似的东西吗

There are several A/B split testing modules/plugins for Rails.
http://github.com/paulmars/seven_minute_abs
http://www.bingocardcreator.com/abingo
http://vanity.labnotes.org/
etc.

Is there anything similar for Python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

巷雨优美回忆 2024-09-12 22:16:36

目前只有 0.1.2 版本,但 Swab 看起来很有前途。测试表单按钮的两种尺寸的示例:

from swab import Swab
s = Swab('/tmp/.swab-test-data')
s.addexperiment('button-size', ['default', 'larger'], 'order-completed')

It's only at version 0.1.2 so far, but Swab looks promising. Example of testing two sizes of a form button:

from swab import Swab
s = Swab('/tmp/.swab-test-data')
s.addexperiment('button-size', ['default', 'larger'], 'order-completed')
你好,陌生人 2024-09-12 22:16:36

我想我来晚了一点——但如果你能原谅这个无耻的插件,请查看 Dabble ,我自己的 A/B 框架。它非常适合使用基于类的视图的 Web 框架,支持文件系统或 mongodb 存储,并为您生成结果。

I guess I'm a little late to the party -- but if you'll forgive the shameless plug, please check out Dabble, my own A/B framework. It works quite nicely for web frameworks using class-based views, supports filesystem or mongodb storage, and generates results for you.

枕梦 2024-09-12 22:16:36

您可以查看 SimpleAB 库。它是一个非常简单但灵活的工具,用于在 A/B 测试中组织内容。目前SimpleAB有几种创建测试类的方法:

  • SimpleAB测试。 AB 测试的这种实现提供了将替代方法实现为名称为 A、B、...、Z 的方法的方法。
>>> import simpleab
>>> class MyTest(simpleab.SimpleAB):
...     name = 'MyTest'
...     def A(self): return 'Side A'
...     def B(self): return 'Side B'
...     def C(self): return 'Side C'
...
>>> myab = MyTest()
>>> myab.test()
'Side A'
>>> myab.current_side
'A'
>>> myab.test(force_side='C')
'Side C'
  • ConfigurableAB 测试。 AB Test 的这种实现提供了配置测试名称、侧面和选择器实例的方法。如果未指定选择器,将使用随机选择。
>>> improt simpleab
>>> import random
>>> myab = simpleab.ConfigurableAB(name='MyTest',
...             sides={'A': 'Side A', 'B': 'Side B'},
...             selector=lambda: random.choice(['A','B']))
>>> myab
<ConfigurableAB [name: MyTest, sides: ['A', 'B']]>
>>> myab.test()
'Side A'
>>> myab.current_side
'A'

实际上,该库还没有对数据存储和分析设施的可靠支持,但它允许快速实现这些东西。我认为很快就会完成:)

You can look at SimpleAB library. It's pretty simple but flexible tool to organize your content in A/B test. Currently SimpleAB has several ways to create test class:

  • SimpleAB test. This implementation of AB Test provides way to implement alternatives as methods with names A, B, ..., Z.
>>> import simpleab
>>> class MyTest(simpleab.SimpleAB):
...     name = 'MyTest'
...     def A(self): return 'Side A'
...     def B(self): return 'Side B'
...     def C(self): return 'Side C'
...
>>> myab = MyTest()
>>> myab.test()
'Side A'
>>> myab.current_side
'A'
>>> myab.test(force_side='C')
'Side C'
  • ConfigurableAB test. This implementation of AB Test provides way to configure test name, sides and selector instance. If selector isn't specified random selection will be used.
>>> improt simpleab
>>> import random
>>> myab = simpleab.ConfigurableAB(name='MyTest',
...             sides={'A': 'Side A', 'B': 'Side B'},
...             selector=lambda: random.choice(['A','B']))
>>> myab
<ConfigurableAB [name: MyTest, sides: ['A', 'B']]>
>>> myab.test()
'Side A'
>>> myab.current_side
'A'

Actually the lib doesn't have solid support for data storage and analytic facilities yet, but it allows to implement this stuff quickly. That I think will be done soon :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文