策略产品经理实践
上QQ阅读APP看书,第一时间看更新

2.1 推荐策略初探

对于推荐算法、搜索算法和反作弊算法,读者可能很好奇,不熟悉推荐模型的人还可能会被它的“空架子”吓倒,但其实推荐模型并没有那么神秘,反而非常容易理解。

本质上,推荐模型是一种根据输入数据进行内部参数自适应的数学模型。我们先用一个非常简单的例子来理解算法。假设每个人的大脑都是一台复杂的计算机,如果现在有一道题目是:“我在纸上写一个正整数,这个正整数大于0,并且小于500。你来猜这个数字。每次得到回答时,我都会告诉你此回答比正确答案大还是小。请问,你如何用最快的办法找到这个正整数?”

想必看到这里你会觉得方法非常简单。首先猜250,如果大了则将目标区间锁定在0到250之间,反之亦然。第二次再猜125,如果小了则目标区间就是125到250之间。以此类推。这个办法就是二分法,我们可以使用反复迭代的办法找到目标值,也就是1.1节中的最优解(在本题中最优解是唯一的)。

让我们重新分析这个过程和“推荐模型”的关系,这个例子中其实有几个关键因素和推荐模型是一致的。

起始状态:已知目标数值在0到500之间,起始状态为第一次猜的250。

迭代:进行多次相同逻辑的循环,得到“大或者小”以后,计算出新的目标区间,下一次就猜新目标区间的中间点。

反馈:本例中的反馈为“大还是小”。

终止状态:本例中的终止条件为找到目标数值。

上述流程就构成了所谓的算法:从一个初始状态开始,经过一系列有限而清晰定义的状态,最终输出并终止于一个状态。

推荐模型和这个“猜数字”游戏在原理上是接近的,模型同样需要输入数据(比如不同用户对不同内容的偏好程度的定量数据),同样会收到反馈(比如模型预测用户会点击的内容,用户是否真点击了),经过有限而清晰的状态,最终自适应地修正公式内部的参数,输出一份“你可能喜欢看”的内容列表。

本节主要介绍三部分内容:内容推荐定义、推荐系统的指标体系、推荐系统的极限。

2.1.1 内容推荐定义

1.推荐系统的定义

在给推荐系统下定义前,不妨梳理一下不同来源对推荐系统的定义。

●推荐系统是一种信息过滤系统,用于预测用户对物品的“评分”或“偏好”。(维基百科)

●推荐系统对用户模型中的兴趣需求信息和推荐对象模型中的特征信息进行匹配,同时使用相应的推荐算法进行计算和筛选,找到用户可能感兴趣的推荐对象,然后推荐给用户。(百度百科)

●推荐系统就是根据用户的历史行为、社交关系、兴趣点、所处上下文环境等信息去判断用户当前需要或感兴趣的物品/服务的一类应用。(简书)

可以说推荐系统做了两件事:筛选和排序。筛选指的是推荐模型通过用户的历史行为数据,在算力允许的情况下,从全部内容候选集中把“你可能喜欢的内容”挑选出来的过程(包括但不限于时效性、内容稀缺性、内容及时性的过滤条件)。排序指的是使用排序模型对筛选出的候选内容重新排序,然后传递给服务端并推荐给用户的过程。其他一些更细节琐碎的工作其实也是为了实现筛选和排序。

图2-1 推荐系统的的影响模块

2.推荐系统的影响模块

推荐系统的最终效果其实是由图2-1的三个模块共同影响的,即算法、算力和数据

●算法其实包括模型选择、模型调参、模型评估、规则制定等工作。但本质上讲,算法很难做出壁垒。第一个因素是算法研究的阶跃式发展。虽然不同公司在推荐算法上的起步时间不同,导致各自的技术积累存在差距,但科学界的进展是阶跃式的,深度学习的红利正在被工业界消耗,如果学术界难以突破瓶颈,其在工业界的应用也会陷入停滞。第二个因素是公司人员的流动。相比于知识的扩散,人员流动带来的信息流动是更关键的因素。尽管大公司在算法上的选择非常接近,但是真正具有竞争力的往往是实践中总结的算法内部的细节(比如参数和架构设计)。所以仅仅从算法层面突破,公司难以保持长期竞争优势。

●算力受算法复杂度、技术架构、服务器计算能力共同影响。算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源(包括时间资源和内存资源)。在现实情况中,算法复杂度的优化效果好于堆积服务器。算力是可以通过优化系统架构、优化代码、购买更多更快的服务器解决的,不依赖于外部因素,所以仅从算力层面突破,公司同样难以长期保持竞争优势。

●数据是公司之间推荐效果的核心壁垒,用户数据量级越大、行为越密集,越能产生网络效应,能用于训练模型的数据量级也就越大。虽然在大数据量级上会有更多高并发性能的问题需要解决,但毕竟是可以通过调整内部因素来解决的。高质量的用户数据是无法用钱买到的(短期买量难以收获高质量用户数据),这也就让数据成为公司之间竞争的坚实壁垒。人工智能的核心在于数据量,即用最简单的模型以10倍的数据量训练,不见得比用顶级模型以1倍的数据量训练的效果差,这个逻辑可以用几个等式来衡量:

复杂模型+小数据=一般的效果

简单模型+大量的数据=很好的效果

复杂模型+大量的数据=更好的效果

值得注意的是,上述公式中的复杂模型并非越复杂越好,数据量才是决定模型效果的核心壁垒,也是同一个赛道竞争的小公司很难追上大公司的重要原因。这也就是为什么美团收购摩拜后对外宣称是一笔非常划算的生意,因为美团在O2O场景中掌握了“最后一公里”的数据。(用户搜索某家理发店,搜索去理发店的路线,从公共交通换乘共享单车到达理发店,在美团上完成消费,形成数据闭环。)有了数据闭环,美团能做的事情增加了许多,同时和其他O2O赛道的公司形成了竞争壁垒。

为了更好地理解推荐算法,来看一个简单的思考题。在一个村子的一家杂货店里,细心的管家记录了以下的账本,如表2-1所示。

表2-1 杂货店的账本记录

根据表2-1已知的前4天的收入数据,预测第五天的收入数据。显而易见,问号处答案是50。

表2-2同样是已知前4天的收入数据,但增加了年龄分布的信息,预测第五天的收入数据。此时本题的复杂度较前者有了增加,可能只有一部分人能答对。分析发现,可能是因为收入低或无收入导致20岁以下的用户没有购买行为,而20岁以上的用户,平均每人消费10元,所以问号处答案是30。

表2-2 根据年龄分布信息预测收入金额

更复杂的情况也是一样,现实世界的数据隐含着诸多的模式,推荐系统遵循类似过程,通过大量的已知输入信息(如表2-2中的用户数和用户年龄分布)和已知输出信息(收入金额),其中“20岁以下用户因为无收入或收入低没有购买行为”这个规则是通过推荐模型学习到的信息,从而预测出新的情况下(第五天)的输出信息。推荐系统的流程归纳如图2-2所示。

用于训练推荐模型的是几百维的高维数据,远比例子中的数据复杂,但原理都是一样的。所以,推荐模型本质上是一个通过已知信息预测未知信息的一个数学模型

图2-2 推荐系统的流程归纳

总之,策略产品经理需要了解推荐系统的主要工作是由从所有候选内容中筛选出可被推荐的部分、对筛选出的内容进行排序两部分构成的,而且需要从已知数据中,通过数学模型等种种手段进行数据挖掘,实现未知数据的预测。

2.1.2 推荐系统的指标体系

笔者熟悉的产品有专业生产内容(PGC)、连载形式的内容(漫画、小说)、“00后”二次元社区(短视频、图文、图片)和职场实名社区(脉脉)。以笔者的经验来看,产品形态不同、用户群不同、融资阶段不同,其指标体系建设都是不同的。指标体系建设并没有标准答案,所以本节只列出通用框架。

指标体系更多是自上而下的推动,并且往往来自CEO或者投资人的意志,对于一线策略产品经理来说,目标设定更像是1.1节中所提到的策略产品经理定义中的“限定条件”,策略产品经理在限定条件内能够做到的是尽可能地影响决策,尝试自下而上地推动并去论证你所提出的指标体系的合理性。

既然是指标体系,那么一定分为一级、二级、三级这样的层级结构,如图2-3所示。层级结构是说,项目首先追求一级指标,在一级指标无变化的时候追求二级指标,在二级指标无变化的时候再追求三级指标,以此类推。

图2-3 指标体系的层级结构

通常,影响指标体系的变量如下。

公司的情况:公司是否得到融资,公司的产品技术实力,公司是否有充裕的现金流或者清晰的盈利方式。

产品的形态:需要定义一个理想态,即平台方希望用户如何使用产品,根据理想态和现实态的差距制定指标体系。

那么,常见的一级指标有哪些?

一级指标一般以客观指标为主,比如次日留存、产品日活数据、人均收入、千次曝光成本、技术系统延时等,一般可以设计1到2个一级指标,并设定相对明确的上线规则。

在产品策略迭代上,如果一级指标上涨且统计上具有置信度,则该产品策略达到上线标准。最终决策人为策略负责人或研发负责人(决定上线与否的负责人通常为该指标的责任人)。

在实际操作中可能会出现边界模糊的情况,比如一级指标共有两个数值,其中一个涨幅5%,另一个降幅3%。这时候是否上线取决于负责人的判断。上线规则应该是明确的,比如形成如下书面上线规则。

●A指标和B指标存在互斥关系,且同为一级指标,A指标与B指标的重要性相同。

●在A指标有涨幅,并且B指标小于1%的跌幅时,可以上线。

●在A指标有任何跌幅,并且B指标有涨幅时,不可以上线。

●对上线有疑虑时,产品策略申请者需要将完整实验结果发给负责人,请其决策并在24小时内通过邮件/即时通信等应用告知确认。

上述例子中的细节完全是杜撰的,但清晰的上线机制和指标体系关系是决定一个公司中齿轮能否快速运转的重要因素,其中清晰的人事分工和流程化的负责人决策机制是这套上线规则的核心。只有这样,策略产品经理和推荐算法团队才能将整体策略很好地运转起来。如果读者所在的公司策略进展缓慢,可以试图从流程上寻找原因。

下面介绍二级指标。二级指标一般同时包含主观指标和客观指标。主观指标是基于科学的主观评估方法论得到的长期稳定的定量数值指标,通常反映一些不可直接测量的变量情况(如内容生态的资源倾斜情况)。主观指标之所以被列入二级指标,原因有两点。

●尽管主观指标有相对科学的方式,但稳定度低于客观指标,易受评估方式和评估员的影响。

●市场认可度较低,投资人不会只根据产品的主观评估指标决定是否进行下一轮投资,而必须依靠客观存在的数据,所以主观指标无法直接影响融资进程。

主观指标一般分为公司内部员工基于平台价值观的评估和用户价值观的评估。前者一般是公司内部员工参与评估,基于一套平台整理并达成一致的评估标准;后者一般是引导外部真实用户参与评估。这两种方式的问卷设计和最终评估结论的方式有着很大的差别。一般来说,内部评估追求内部价值观统一(比如清晰可执行的标准),外部评估追求回答问卷的用户分布与目标人群的使用程度分布一致,但共同点是都需要对得到的原始数据做精加工,得到统计上具有置信度的描述型统计量。

二级指标中客观指标和一级指标的选取基本类似,但在二级指标上,策略产品经理的话语权会增大。具有充分话语权的策略产品经理可能还会参与到二级指标的制定中。换句话说,一级指标往往是自上而下的高层意志,二级指标是公司的中层意志,由项目负责人进行决策。一般在内容型产品中,二级指标中的客观指标以大盘数据的直接行为数据为主,比如点击率、人均消费时长等。

通常,二级指标数量为3~7个,一般会有指标之间的重要性排序,不宜过多也不宜过少。过多时会让团队分散精力,过少时则无法描述产品的理想态,可能会导致团队执行时过度看重某个指标。

三级指标往往是细分页面的细分指标,比如二级页面、三级页面的非大盘指标,本节不再赘述。

不同级别的指标对应的产品和策略上线规则可以统一设定。

首先,判断一级指标的涨跌情况,一级指标对应的产品策略的上线规则如上述模板。

其次,判断二级指标的涨跌情况,需要类比上述模板给出二级指标对应的产品策略的上线规则,二级指标(大盘指标)的个数较多,需要更为细致的比较关系。

最后,判断三级指标的涨跌情况,实际项目中对三级指标的决策是最多的,因为并非所有策略都能对前两级指标产生显著影响,因此,同样需要清晰的上线规则,同样需要三级指标之间的重要性排序。

但是所有的规则都是人来定义的,类比于交通规则中“如果同时存在红绿灯和交通警察时,需要听从警察的指挥”,在策略上线时也同样需要听从策略负责人的决策。制定清晰的决策流程是为了提升团队效率,但死板的执行则难以覆盖到所有情况。

项目目标是通过大家民主讨论、“独裁”决策出的“理想情况”的数值描述,指标体系则是尽可能降低真实世界中不可测指标比例和影响程度的有力武器,也是团队执行力的重要保障。

2.1.3 推荐系统的极限

在实际工作中,根据笔者的经验,推荐系统的极限可以总结为一句话:“做好我们能做的,接受我们无能为力的。”如果业务突破只依赖推荐系统,那么在业务上能达到的效果实际上是有极限的,因此认清推荐系统的效用边界是业务发展的重要一环。换句话说,不能让一切关键指标都依赖推荐系统

策略产品经理的一项重要能力就是极限推演能力,不妨建立两个极限假设。

假设1:推荐系统的候选池中没有新作品进入,并且用户在应用内的全部需求只有消费型内容,用户对非消费型内容完全没有意愿。

假设2:我们有“超能力”能够知道每个人潜在喜欢哪些漫画。不妨用一个诙谐的描述,试想用户坐在我们面前,主持人询问他是否喜欢看某作品,并假设用户被提问时就能准确地回答喜欢或者不喜欢,然后将所有的候选池中的作品遍历一遍,记录他喜欢的作品并统计数量。

基于这两个假设,试想下述三种用户的行为。

●用户甲在所有可推荐候选池中没有喜欢的作品(或者内容),下载应用后就流失了。

●用户乙在所有可推荐候选池中有两个喜欢的作品(或者内容),下载应用后不久就流失了。

●用户丙在所有可推荐候选池中有37个喜欢的作品(或者内容),下载应用一段时间后也流失了。

在许多场景下难以想清楚的问题,在极限推演场景下会变得十分清晰,在这个极限推演中我们可以看到推荐系统能做到的极限情况是让“用户乙”和“用户丙”产生充分消费行为,而对于“用户甲”则丝毫没有办法。

推荐系统解决的是效率问题,解决的是如何在信息过载时把推荐系统的候选池“物尽其用”,推荐系统的瓶颈是候选集的数量。“巧妇难为无米之炊”,没有“米”再好的“巧妇”也难以做出“好吃的饭”。而如何提升候选集的数量则依赖于内容生产端的策略、市场宣传、发布体验、正向激励等多方面因素,这部分工作通常也是由策略产品经理完成的。

让我们回溯一下这种思考过程,无论是“天花板”的估计还是“理想态”的定义通常要经历这样的过程:找到主要因素,忽视次要因素。在本例的推演中,我们使用的方法也是一样的。第一个问题是推荐系统“天花板”的估计,换言之是“推荐系统在什么时候无法再进行优化”。这个问题的另外一种表述是:“推荐系统的哪些功能点是可以得到优化并逼近极限的”,用这个思路进一步思考,可以找到如下次要因素。

用户对产品的使用深度:真实情况中用户对产品使用深度和忠诚度是较低的,不可能遍历产品的每一个功能。

推荐算法的供需匹配精度:真实情况中推荐算法不可能实现100%的精准匹配,尤其是在每个用户对内容的预期阈值不同的情况下。

用户对自己喜好的清晰程度:真实情况中用户对自己的潜在需求是不清楚的,即使将用户会喜欢的内容推荐给他,他也不一定愿意点开(可能由于内容包装不够有吸引力,或者有一篇更有趣的文章吸引了他,或者只是用户接了个电话)。

上述的每一项在真实情况中都是无法100%达到的,但至少上述次要因素是可以通过提升推荐系统效率来改善的,而忽视这些次要因素的影响才能帮助我们找到主要限制因素:候选集数量,因为只有候选集数量这个变量与推荐系统效率无关。