从0到1搭建推荐策略产品的思考:如何搭建?

2019-04-17

这篇文章主要讲一下如何实施策略产品的搭建。

一、明确目标,瞄准方向

如今再也不是移动互联网刚兴起的时候,随便一个APP就能获取百万用户,依靠用户体验即可取胜的时代了。当然不是说用户体验不重要,而是用户体验逐渐像电力一样,越来越成为一个产品的基础设施了

好的产品用户体验一定好,不好的产品用户体验不一定差,这其中的唯一区别就是你的产品能否带来价值。

价值,很虚,很空。具体一点,就是能不能切实的为用户解决实实在在的问题,为业务带来增长

从推荐系统诞生的初衷就可以看出来,推荐策略是为了更加高效的,准确的为用户提供内容。所以当你打算着手在一个业务上搭建策略的时候,想想到底是为了什么?

撇开业务谈策略就是耍流氓

推荐策略除了能够给用户解决实在的问题之外,能给业务带来什么价值更是重中之重。说的俗点,产品该赚钱还得赚钱,不赚钱真的会死。

所谓的业务价值说到底,就是做了推荐策略能为业务增长带来什么,最终的KPI绕不过的就是利润。

生意,莫不过如此。

不过,即便是利润,也可以拆解为若干指标来看。

每一步都可以转化为对利润的贡献率。

重点解释几个常用指标:

至于如何制定推荐策略的核心指标?之前也谈过,一般来说可以根据当前业务线的发展程度去设置:

二、工业级推荐系统架构

在聊具体的搭建流程之前,先简单聊一下目前工业级推荐系统的整体架构,如下图所示:

目前工业级推荐系统架构一般采用如下设计:多路召回、综合排序、人工干预。

  1. 多路召回是指系统会按照预先制定的策略,从不同的维度到item池选择符合策略的item进行召回,一方面是为了更精准的命中用户感兴趣的item,另一方面大大降低了候选item的数量;
  2. 综合排序是指系统会采用算法,结合对应的排序策略对召回item进行排序,一般可分为粗排和精排,精排一般指添加了业务规则的排序;
  3. 人工干预则是对呈现给用户最终的结果进行干预,通常是为了满足特定的业务需求。

除了以上三个核心模块之外,其实对于数据处理也是其中重要的一环,正是数据的流转,推荐系统构成的一个完美的闭环。下面分别说一下以上几个环节。

三、策略搭建,从这里开始

3.1 数据预处理

数据预处理一般是指从底层数据到feature的一个过程。

底层数据通常是指未经过任何加工,直接落到底层表中的数据,比较零散,且不成体系。比如:一个点击浏览表,存放了平台上所有用户在何时何处点过什么东西,但是对于推荐系统来讲通常无法直接使用这种原始数据,因为它依赖的是用户的画像。

画像与原始数据的区别可以做这么一个比喻:原始数据是你买了一个什么物品,画像则是你喜欢买什么物品。所以原始数据仅仅是一种事实,而画像是可以用来做决策的依据

一般来说,通过数据预处理可以把原始数据加工成数据模型,进而形成一个数据仓库,这些都是加入了人为意图的数据,是可以做决策的数据,从中提取作为推荐系统召回的feature。

目前数据预处理这一环节通常被标签/画像系统代替了,也就是推荐系统可以直接对接标签系统。虽然系统架构上有所调整,但是标签系统的工作本质仍然是基于数据提取用户feature,进而生成用户画像。

3.2 召回策略

目前常见的商用推荐系统召回策略一般采用的都是多路召回策略,如下图所示:

基本都会包含个性化标签、热门,协同过滤,个性化内容/活动穿插。

当然对于一些特殊业务线还有其他自定义的策略,比如:对于拍卖这种业务,捡漏是一个很常见的用户心理,因此对于判断捡漏物品并且进行召回就是一个很重要的召回策略。

每一路都会按照TopN的思路进行召回,具体N的值可以自定义,也可以用AB测试来决定。如果这个阶段召回的item比较多,通常会加入一个粗排过程,进而把不是太符合召回策略的item剔除掉

一般来说召回策略的具体制定通常由业务形态以及推荐应用场景来决定,比如:

一般召回策略会分为两种:实时召回和离线召回

3.3 排序策略

排序通常来说是算法的事情了,具体可以稍微了解一下LR/FM/WDL/GBDT这些主流的排序算法,毕竟技多不压身。关于模型的介绍,我之前的文章涉及过部分,可以参考一下:写给产品经理的机器学习算法。

不过我是没法讲具体的算法优化之类,更想说的是排序中的后半段——page placement。(PS:这个叫法不太确定,欢迎大家纠错)

这个阶段一般是指,通过一定的手段去干预呈现在用户面前的最终排序结果。

算法是基于模型跑出来的排序结果,跑的过程完全自动化,而page placement则是在这个基础上加入了对业务目标和应用场景因素的考量,比如:

在这之后,最终的推荐结果才展示给用户。其实这块主要想表达的意思策略一定是基于业务制定的,有牛逼的算法不一定是牛逼的策略

结合姊妹篇关于如何从0到1搭建推荐策略产品的思考(一),一个推荐策略产品的基本搭建流程基本完结了,是我个人的一些思考总结,肯定有不当之处,欢迎大家多多指正交流。

不过还有许多细小的问题待挖掘,比如:有时候推荐系统中可能用了不止一套算法,那我如何衡量两套算法的好坏?做AB测试么?做一次AB测试成本有多高怕是只有做过的人才知道。