架构A / B实验(iOS)

对产品进行实验是公司获得其客户最佳响应的最强大的技术之一。 但是有时候,尤其是当它们同时超过2个或3个时,对于在整个项目中找到实验块的开发人员来说,这可能会有些沮丧。
在本文中,我将解释一种简单的体系结构方法来保持我们的代码干净和动态。

什么是A / B测试?

假设我们要改善应用程序的功能,以吸引更多用户使用它。 我们几乎没有改善它的想法(涉及设计,可见性等),但是我们不确切知道哪一个最能使用户获得最大响应。 解决方案是设置A / B测试
A / B测试是根据特定版本随机分配用户的实验。 让我们看看它是如何工作的:

假设我们想知道哪个是最好的价格,我们应该出售我们的高级会员才能获得最高的收入。
我们决定设置3种变化:

  • 原始价格变化 :15,00 $;
  • 变化A :25,00 $;
  • 方案B :40,00 $。

通过特定API(即Apptimize API)使用我们应用程序的每个用户都将被分配为这些变体之一,并且该服务将向我们的客户返回已分配用户的变体。 此时,根据选择的变体,我们将执行一段代码而不是另一段代码。
在上面的示例中,用户将看到为其分配的变体选择的价格。请注意, 实验必须始终包含原始变体 ,换句话说,就是开始实验之前存在的变体,否则我们永远不会知道这是否是最好的解决方案,或者实际上是否还不够好。

做得好,实验正在运行! 现在,我们只需要等待任意时间即可获得结果。

好的,已经过去了一周,我们发现了以下结果:

  • 原始变体: 1000个用户支付了15,00 $-> 15.000,00 $的收入
  • 变体A: 800个用户支付了25,00 $-> 20.000,00 $的收入
  • 变体B: 300个用户支付了40,00美元-> 12.000,00美元的收入

请注意,最低价或最高价均未赢得! 实际上, 变体A (中间价格)产生了最高的收入。
因此,我们应该将要出售的会员价格设置为25,00 $,然后关闭实验。

天哪,这太脏了!

使用著名的Apptimize平台进行实验的示例可能是:

左侧的代码使用的是实验管理器方法。 右侧的(2.5x)代码未使用它。

结论

A / B测试愉快!

干杯😉

Twitter上 关注我

本文最初写在我的博客上: http : //matteogobbi.github.io/blog/2016/03/24/architecturing-a-slash-b-experiments/