二、在线验证

在线验证一般情况下单指AB Test方式上线进行测试,也就是将用户按照一定规则随机地切分成对照组和测试组,对照组和测试组分别通过未使用算法与使用算法比较,使用不同算法之间的比较,然后统计不同组的评测指标。它支持多个方案并行进行测试,但需要确保每次测试只有单一变量,并且根据所规定的指标进行优胜劣汰,比较特定场景下的最优方案。这个方案包括推荐算法和推荐策略,这两者是AB Test中的变量。

AB Test的优点是可以在商业环境中验证不同方案的实际运营指标,但ABTest所需周期较长,尤其是大型平台,一般需要测试一个较为完整的、用户自然波动的周期。从我们服务客户的经验看,ABTest基本是客户衡量智能推荐能否带来指标提升最直观也是最常用的方式,甚至ABTest会变成算法策略调整、优化的常态化的手段。通过ABTest,可以以未使用智能推荐用户作为对照组,观察用户未使用推荐时的数据表现,观察PlanB即测试组得出初步的使用推荐提升指标的结论及预期底线,使评估推荐系统效果有据可依。

那么智能推荐在商业环境的ABTest中评估效果的通用数据指标有哪些呢?

1.黏性

即用户活跃度,考察的是用户访问的参与度,一般对用户的每次访问取平均值,可将“平均停留时间”“平均访问页面数”等用来衡量用户活跃的指标。

在推荐场景的计算公式是:黏性=用户行为总数/用户数。

推荐系统通过计算用户的行为数据预测用户最有可能会发生操作行为的结果,大部分场景下,推荐系统预测的结果越准确,用户发生在平台上的行为越多,说明平台用户越活跃。

举个例子,用户越满意短视频平台上的推荐结果,那么用户将会发生越多的播放、点赞、分享行为以及浏览时间会更长。用户对平台内容满意度越高,留在平台中成为活跃用户的意愿更强,从而平台具备更大的商业价值。通过AB Test比较方案之间用户黏性的大小可以判断哪种方案会带来更多的用户黏性。

但是,在很多场景下黏性并非能代表用户的满意程度,还需要结合其他数据一起判断。

例如,车载智能推荐系统中,如果用户的黏性越低,即用户行为数越少,与屏幕的手动交互越少,使用时长越长,则说明用户更少的手动挑选娱乐信息,而是满意当前车载系统推荐的信息,类似场景还有B2B类电商场景。在B2B类电商场景中,黏性越高即用户行为总数(用户的点击、收藏、加购或询单等)越多代表了两个可能:用户对平台使用深度增加;用户决策成本增加。

因此,在重视黏性指标的基础上,还应观察平台的总订单转化率(总下单数/日活跃用户数,黏性和订单转化率综合评估才能反映出智能推荐对平台的真实影响。黏性作为重要的判断推荐系统性能的指标,还需结合具体应用场景和场景指标综合判断其对业务的影响。

2.推荐结果满意度

是反映推荐系统预测能力的重要标准。在接触很多客户的过程中,经常被问及的问题是“你们的推荐是否精准”,对于推荐系统的性能我们从来不用精准与否来衡量。之所以用“满意度”而非“准确度”,是因为精准的标准难以用量化指标衡量,什么样的推荐结果算是精准呢?什么样的精准结果能满足复杂的人性和需求呢?

我们只能用一部分量化指标反映用户对推荐结果的满意程度。根据预测指标的不同可以分为两种方式:Top N推荐和预测评分(权重)。

(1)Top N推荐即推荐给用户个性化推荐列表后,用户所发生的CTR(点击通过率),点击率越高说明推荐结果越符合用户的兴趣和需求,对推荐结果的认可度越高。但值得一提的是,在瀑布流推荐列表这个场景下,CTR的计算方式与计算广告有些许不同。CTR统计是无法反映瀑布流场景下用户的真实兴趣度。

举例:每次取10条商品的情况下,一个用户取了2次,点了2个商品,CTR为10%;一个用户取了5次,点了4个商品,CTR为8%。显而易见的是,用户点了4个商品的情况会产生更大的商业价值,但反映在CTR指标上却少于前者。就好像在线下实体超市里,我们假定顾客平均拿起3个东西就会买1个:有一个顾客转了2圈拿起2个面包看了看;另一个顾客转了5圈拿起4个面包看一看,并最终产生了购买行为,但从CTR指标来看后者是低于前者的,但却实实在在发生了交易。

所以CTR指标隐含的假设条件是:用户翻页数是指定的。而这在真实的业务场景下不会发生。推荐系统的另一个重要作用就是不断地吸引用户看更多内容,延长用户的停留时间。翻页数(结果数)不仅不应当作为限定条件,而是应该成为主要提升的指标。因此,在瀑布流等用户浏览内容页数不固定的场景下,CTR无法反映推荐系统的实际能力,过度重视这个指标会对业务优化方向产生偏差。

(2)而预测评分(权重)往往发生在离线环境中用户对某些内容的评价预测。例如推荐结果是以权重分值排序的方式返回至服务器,预测一个用户对哪些电影的评分会是多少,那么直接参考推荐结果的权重分值即可。

3. 用户留存率

即用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户占当时新增用户的比例。用户留存率能够衡量用户增长的效率和结果,体现了应用的质量和留住用户的能力,也从一定程度上反映了推荐内容与用户需求的匹配程度。一般来说,用户留存率的指标包括次日留存率、3日留存率、7日留存率、15日留存率和30日留存率。不同的留存率数据指标,在推荐场景下所代表的数据意义都有所不同:

A.产品的次日留存率,可以反映推荐系统冷启动推荐结果对用户吸引力的强弱。

B.3日留存率,可以观察推荐系统的黏性,以便调整算法策略、优化推荐模型。

C.7日留存率,可以反映用户完成一个完整体验周期后的去留情况,是检验推荐系统对用户忠诚度影响的指标。

4.覆盖率

即推荐出的物料所占数据库物料的比重,是反映推荐系统挖掘长尾内容的重要标准。在不同的业务目标下,覆盖率的高低会有不同的价值。例如在PGC场景中,覆盖率越高说明每个专业内容都有很大概率被曝光出来,那么从每个内容生产者的角度来说才算比较公平。而在电商场景数以千万的sku中,并不是越多的商品被曝光出来,买家和卖家就越受益,这些商品中可能很多是无效商品或者是低质量无人问津的商品,本身并不太受买家的欢迎。

覆盖率的指标,并不是越高越好,所以在推荐系统AB Test过程中,为了商业价值的最大化,会逐渐找到一个最佳收益的覆盖率平衡点。推荐系统在分发时,对内容并不是完全公平,公平和效率从来都是一对孪生子。

5.多样性

即推荐列表能够覆盖用户不同的兴趣。从推荐结果看则是,推荐结果之间不具备相似性。在艾克斯的推荐系统中,不同推荐引擎会产生基于各自算法的推荐结果,对相似内容有严格的频控机制,且会在推荐结果中穿插最新、最热等内容满足推荐列表的多样性,不至于让用户陷入“信息茧房”中。多样性的指标和覆盖率指标的相同点,是两者都不是指标越高越好,而是根据业务目标调试到最有利于业务场景的平衡点。

6.实时性

一个能实时反应用户行为、捕捉用户兴趣的推荐系统至关重要。实时性包含两层含义:(1)推荐结果实时更新;(2)最新内容实时进入模型。

其实,说“实时性”有点夸大了推荐系统的性能,因为往往推荐系统的实时性以秒、分钟计算,或许说秒级、分钟级的形容词又会让很多用户感到不“智能”,所以产业界容易将不怎么实时的推荐系统描述为“实时性”。

一般来说,融入用户最新行为的推荐结果的计算周期在30~90S之内,也就是用户浏览完一份内容的大致时间。时间太短意义不大,且太短的计算周期意味着召回内容较少,推荐结果并不一定能真实反应用户兴趣。(召回内容多,也可以用增加计算资源解决)时间太长,则不利于满足用户兴趣,导致用户流失。最新内容实时进入模型,即新发布(新上架)的内容能够在短时间内被推荐系统推荐,这个周期一般反映了系统遍历用户行为与内容库的时间,计算量巨大,时间大多控制在几十分钟甚至几小时内。

以上为AB Test中会用到的较为具有普遍验证意义的数据指标。之所以没有提到系统的鲁棒性,是因为鲁棒性是任何系统的基础,且每个平台都应有PlanB方案或者保险机制,即系统无法正常运营时的备用方案,从而不影响平台的正常运营和用户的正常使用。当然我们上线推荐系统时,可能无法兼顾如此多元的指标,但所有评测指标的制定、选用都应紧紧围绕着业务场景和业务目标,任何不以提高平台商业价值为目的的指标都是伪指标,都不具备任何评测价值。