12

进行 A/B(拆分)测试有两种主要的思想流派:

  • 基于 Javascript 的解决方案,例如 Optimizely、Google Analytics Content Experiments。
  • 服务器端解决方案,例如 Django-AB、Splango 和 django-lean。(另外,写你自己的。)

我的理解是,基于 Javascript 的解决方案对于“哪种颜色的按钮转换效果更好”非常出色,但对于切换整个页面布局来说并不是那么好,并且对于尝试大型功能更改(例如漏斗中的页面序列)完全不可行。

这使我转向服务器端解决方案。我并不热衷于编写自己的代码,只有在没有其他选择的情况下才会这样做。我试图通过改进我网站的核心功能来增加价值,而不是通过创建更好的拆分测试框架。

我发现的用于拆分测试的 Django 应用程序是各种未维护、未记录、记录不正确以及与 Django 1.5 不兼容的混合体。这让我感到惊讶,因为 Django 和 Python 社区似乎非常关注良好的文档。我也很惊讶我尝试过的所有测试框架都没有与 Django 1.5 兼容——在 Django/Python 世界中,测试不像在 Rails 中那样作为核心哲学的一部分吗?

这是我发现的:

  • Splango https://github.com/shimon/Splango -- 与 Django 1.5 不兼容(尽管我发现的大多数兼容性错误都很容易修复)。自 2010 年 10 月以来基本未受影响,除了 2012 年 8 月的修复,该修复声称确保模板包含在安装中。由于通过 PyPI 安装 Splango 时模板不会包含在安装中,因此修复不起作用或未提交给 PyPI。文档在很大程度上是准确的,但并未完全涵盖如何设置测试和获取报告。它告诉您如何配置模板以收集数据,但管理界面中似乎需要额外的步骤,这些步骤完全没有记录,我不确定我是否正确完成了这些步骤。

  • Django 精益。https://bitbucket.org/akoha/django-lean的原文自 2010 年 7 月以来没有更新。在https://github.com/anandhenry2002/django-lean有一个明显的“祝福”叉子,它没有改变自 2012 年 5 月以来,它是从原版复制过来的。原始文档的错误导致无法遵循示例。(尽管您可能会像我一样糊涂。)新版本的文档存在格式问题,难以在 github 上阅读。(这似乎是因为它是旧项目中未更改的文档,并且 BitBucket 语法在 Github 上不起作用。) django-lean Google Group 自 2012 年 7 月以来没有收到任何消息。

  • django-mini-lean https://github.com/DanAncona/django-mini-lean -- 最近在 2013 年 2 月更新,但未记录。

  • Leaner - https://bitbucket.org/brianjinwright/leaner - 最后更新于 2012 年 7 月,没有文档。

  • Django-AB -- 最后更新于 2009 年 5 月。不是一个包,不能通过 PIP 或 PyPI 安装。将结帐放在我的 django app 文件夹中(并将文件夹重命名为 ab)并按照安装说明进行操作后,加载模板加载器时出错,我没有进一步追踪。

到目前为止,Splango 似乎是赢家,因为我实际上已经能够让它或多或少地工作(通过手动安装模板,然后编辑它们以修复 Django 1.5 的不兼容性)。

谁能指出我错过的任何事情?

4

4 回答 4

9

你错过了这个应用程序:https ://github.com/mixcloud/django-experiments + https://github.com/disqus/gargoyle/

于 2013-04-24T07:50:16.390 回答
5

然后是华夫饼:http ://waffle.readthedocs.org/

它简单、更新、维护,但功能不是很丰富,它没有集成任何分析/报告内容。但话又说回来,谷歌分析或混合面板类型的服务更适合这个。

于 2013-12-04T22:45:21.550 回答
3

我首先查看了 Django-AB,这几乎是我想要的,但我也无法让它工作。在查看了 django-experiments 并决定我还不想乱用 redis 之后,我决定自己动手。我已经尝试将它很好地打包并使其易于初学者使用。这是超级基本的。

https://github.com/crobertsbmw/RobertsAB

于 2014-12-19T08:43:39.347 回答
2

您可以使用 Google Analytics Experiments 替换完全不同的页面布局(他们的默认实验设置会将用户重定向到您拥有的每个变体的不同 URL),尽管通常更容易解释为什么如果您测试较小的东西会更成功彼此。

您是对的,使用 Google Analytics(分析)相互测试不同的渠道和用户流需要大量手动设置;尽管理论上您可以通过更换不同的链接并使用 UTM 活动跟踪您的用户来做到这一点。

对于同一页面中较小的 A/B 测试,我最终使用 Google Analytics Experiments 并编写了一个自定义 Django CMS 插件,用于向模板添加一些变体选项,该模板查询 Google Analytics API 并使用 Javascript 显示正确的变体。

于 2016-07-14T19:31:54.693 回答