8.3. 推荐算法优化试验

优质
小牛编辑
121浏览
2023-12-01

推荐算法优化试验

推荐算法和AppAdhoc A/B Testing

许多网站或APP都涉及到推荐系统,比如电商产品会涉及在结算月推荐“购买了此商品房的用户也购买了…”,比如新闻资讯类的首页动态推荐Feed流,影视和音乐类的产品会在最显著的地方有推荐板块等等。。。 无论是基于内容,基于协同过滤,或是基于标签的算法模型,都会面临同样的问题:如何衡量算法模型的好坏?很多时候,只能凭感觉,实际效果往往差强人意。 自建A/B测试是一个好的想法,但是A/B测试的搭建过程无论对前端还是后端,都有很高的要求,没有雄厚的研发实力难以实现。

有了 AppAdhoc A/B Testing 云服务平台,推荐算法的A/B测试不再是空中楼阁,变得非常简单。大体思路是,像普通的APP试验一样,前端集成SDK,后端生产服务提供不同的算法路由实现。如下图: 试验案例

如上图所示,一个后端算法试验在代码逻辑上大概分三步:

1.请求变量获取算法路由

2.APP端获取完了算法路由后,请求相应数据

3.APP端通过埋点统计对应版本数据

注意:以上逻辑,AppAdhoc SDK 已经处理了网络不好时,数据如何保证准确的问题

使用AppAdhoc A/B Testing 试验衡量 推荐算法实例

试验场景

方案:针对某应用商店有多种推荐算法模型效果需要衡量

算法模型1

试验案例

算法模型2

试验案例

试验指标

关注的指标是:

首页推荐list 中的每条内容左侧的下载按钮点击和每条内容的序号。

创建试验

试验案例

  • 原始版本对应变量值为0,试验版本为1;在代码中获取变量之后,根据变量值值决定请求哪种算法路由

试验案例

  • 如下图,创建衡量算法的指标(点击和序号累加用于衡量算法优劣)

试验案例

在本例中的场景中,可以通过AppAdhoc A/B Testing Web/H5-编程模式实现,具体可以参考帮助文档:Web编程试验创建试验版本

代码集成

有Android的SDK集成详情参考集成说明

集成调试

确认试验版本和优化指标内容无误,点击完成创建,将会跳转到集成调试界面。在此界面中,点击预览版本,可以直接在浏览器中预览页面的真实效果,此链接转发有效。操作后,也会获取到对应的指标数据,可以在此界面中预览。调试数据不会影响到真实试验数据。

试验案例

开始试验

点击完成调试,将会跳转到运行控制界面。在此界面中您可以调整试验流量、运行或结束试验。

请为此次试验分配流量,访问到链接的用户将会按照您设定的百分比看到所展现的页面。未参与到试验中的用户将会看到原始页面,并且不会上报数据。 即使是试验开始运行后,也可以调整流量,所做的调整将会即时生效。 请注意100%的流量不代表所有用户都会参与试验,以及在同一层中,某试验占用的流量不能再被分配到其他试验中。 有关流量的详细说明请参考流量分配

试验案例

试验结果分析

基本数据

试验指标会以如下形式呈现 试验案例

1.这里提供了两类指标

均值和总值,均值表示用户人均点击“点击购买”次数、“加入购物车”次数,总值表示总次数。

转化人数和转化率,转化人数表示有多少独立用户点击了“点击购买”、“加入购物车”,也就是这两个按钮的转化人数。转化率=转化人数/UV

(这里的UV指的是在试验期间内,所有用户去重的人数)

2.这里表示了数据科学性

第一个值:+118.13%,表示人均点击或转化率提升了118.13%。

第二个区间:表示置信区间,表示有95%的概率,人均点击或转化率的提升值会在这个范围之内。

3.对于判断试验版本的效果

一方面,我们要从业务上去分析,是更加侧重点击转化还是人数转化;另一方面对于数据科学性,好的试验,置信区间是收敛的,这里收敛是指上下限的值同正或同负,而不是一正一负。当置信区间收敛时,我们就可以初步判断到底试验版本好还是坏。更多的数据解读可参考:如何用数据决策。

多维度数据

进一步,AppAdhoc A/B Testing提供多维度数据查看,也就是说,当对全体用户进行试验时,可以分不同维度来查看用户表现,比如:安卓版本,新用户/老用户,地域,年龄等等。

试验案例

在数据栏最下方,可以根据“用户自定义”维度和“系统自带”维度来查看用户数据。

对于系统自带维度,可在这里查看包括哪些维度。对于自定义维度,可以在通过SDK接口进行上报,具体上报方式可以参考“接入SDK”里各种类型试验的自定义受众。