头部电商的推荐入门课
编辑导语:“电商个性化推荐”,想必在淘宝、天猫和京东等电商巨头的熏陶下,每个电商用户或多或少的都对这个名词有所听闻。但作为当下商品流和信息流领域一项必不可少的技术,其中的门道都有哪些?一个电商平台是如何猜你喜欢什么的?希望这篇文章能够给你带来收获。
一、目标
在我们开始讲电商推荐之前。我们先来明确整一个推荐系统在电商平台中的目标是什么。毋庸置疑的,推荐系统对于电商平台的核心价值一定是:转化率的提高,销售额的提高。
那在明确了推荐系统对于电商平台的价值之后,我们同时也来看一看一个好的推荐系统对于用户所带来的价值是什么:
显而易见的就是让用户在更短的时间内找到他最喜欢的商品,特别是在当下一个信息和商品都无比丰富的时代背景之下,我们需要通过推荐系统去帮助我们的用户快速的去找到他所感兴趣的或者说是他想购买的商品,为用户节省时间,缩短路径。
在明确的整一个推荐系统对于电商平台以及用户的价值之后,我们来看一下整一个推荐系统,它是如何去实现的。
一个完整的推荐系统,它包含三大核心环节:召回、排序、调整。
- 召回:通过召回,来找出要呈现在用户面前的商品;
- 排序:通过排序,来决定商品出现在用户面前的顺序;
- 调整:通过调整,来对系统的排序结果做一些调整,以提供更好的体验给用户。
那下面我们先从召回开始讲起。
二、召回
召回需要解决的核心问题就是:找出要给消费者推荐哪些商品。
而关于如何找出应该给消费者推荐的商品,是有一个大方向的,那就是——找出消费者更喜爱的、更有可能购买的商品。因为只有这样,消费者才更加的愿意去浏览这个商品,更加愿意为这个商品买单。
而要达到这样一个目的的召回,一般我们在电商行业里面有五种方法,也就是:
- 基于商品属性的召回
- 基于物品的协同过滤
- 基于用户的协同过滤
- 基于商品热度的召回
- 基于规则的召回
我们先来看基于商品属性的召回:
1. 基于商品属性的召回
基于商品属性的推荐,它本质的一个思想是非常朴素的,也就是:给用户推荐他正在浏览的这个商品的相似商品给他以增加用户的购买概率,丰富用户的选择。
我们的用户来到电商平台,正在浏览某一个商品的时候(如商品详情页面),他是有比较明确的一个目的性的(因为当一个消费者来到了商品的详情页的时候。
他一般经历过了比较长的一个购买路径,例如说他可能是搜索某一个关键词进来的,也可能说是他看了某一个推荐的文章,或者说是某个商品列表之后,对这个商品有一定的兴趣,然后点击进来的。
也就意味着说我们的消费者点击进来这个商品的详情页面的时候,是付出了一定的成本的,因此我们就可以比较大概率的认为我们的消费者对将一个商品是有一定的目的性的)。
那基于这样的一个前提下,我们的消费者在浏览一个特定商品的时候,我们需要给他推荐的是与该商品相似的一些商品,这样用户的购买概率会更大。
关于如何去实现的话,我们可以构建这样一个矩阵:
行向量是我们的物品,纵向量是商品的属性,矩阵的值就是每一个商品在具体属性上的值。然后我们只需要计算特定商品和其他商品之间的相似度即可,找出相似度评分的TopK个商品返回即可完成召回。
有了这样一个矩阵之后,我们两两去计算行向量之间的余弦相似度(当然也可以用别的方法,至于什么是余弦相似度请自行百度),即可得到商品的相似度评分。
2. 基于物品的协同过滤
基于物品的协同过滤,这个算法,它并不利用商品属性来计算商品相似度,这个算法利用的是用户的行为记录来计算物品之间的相似度。该算法认为物品a和物品b具有很大的相似度,是因为喜欢物品a的用户大都也喜欢物品b。
关于如何去实现的话,我们也是先构建一个矩阵,行向量是我们的商品,列向量是我们的用户。矩阵中的值就是每一个用户对每一个商品的消费结果,或者是浏览次数,又或者是浏览时长。
有了这样一个矩阵之后,我们再两两计算行向量之间的相似度即可得到每个商品之间的相似度(一般采用余弦相似度)。
当我们需要在商品详情页的底部进行商品推荐的时候,我们就直接计算当前页面的商品的相似商品即可;当我们需要在首页的猜你喜欢进行推荐的时候,我们就可以取出用户最偏爱的一些商品,然后再计算这一些偏爱商品的相似商品,推荐给用户即可。
3. 基于用户的协同过滤
基于用户的协同过滤,他的思想来自于物以类聚,人以群分。
也就是说,当我们需要给一个消费者进行商品推荐的时候我们可以先找到和这个用户拥有相同兴趣的一群人,然后再找到这一群人他们所喜爱的商品、但是该消费者又没有浏览或者消费过的商品,我们再把这些商品推荐给他。
关于如何去实现的话,同样的,我们也是先去构建一个矩阵:行向量是我们的用户,列向量是我们的物品,矩阵的元素就是每一个用户所消费过或者说喜欢过的物品。
我们先两两计算用户之间的相似度,找出和该用户相似的一个用户群体。
得到相似的用户群体之后,我们再找出这个用户群体所喜爱的商品的集合,同时刨除该用户的已消费过已浏览过的商品之后,把剩余的商品推荐给我们的用户即可。
4. 基于热度的商品推荐
基于热度的商品推荐,顾名思义就是按照商品的热度进行推荐,这个算法也是在电商中应用的比较多的一个方法。
因为,当某一些新进来的用户,他在我们的站内其实并没有太多的数据记录。这时候,基于热度的商品推荐不失为一种较好的解决方法。
5. 基于规则的召回
基于规则的召回方法一般应用于特殊场景。
例如:在某一个卖场的入口商品的推荐,当我们的用户在这个卖场的活动页面浏览过某一些商品的时候,我们如果把用户最近浏览那些商品直接放在这个卖场的入口里边。这样子的话,用户下次点击进来这个卖场活动的概率就大大增加。
又或者说,我们的用户在购物车的结算页面的时候,我们可以把和结算商品相搭配的一些商品,或者说是一些低单价的用来凑单的商品放在这个结算页面的推荐,增加我们客户购买的客单价。
基于规则的召回方法更多的是站在业务的层面和公司的一些战略考虑来进行设计的,它具有明确的业务导向和场景导向。在这方面也是推荐策略的产品人员耗费精力,或者说迭代次数较多的一个方面。
上面我们讲了这五种召回的方法,是不是就意味着说我们在某一个场景就只能用其中一种方法来进行召回呢?
显然不是的,在绝大多数场景下,我们都是多种召回方法混合使用的。例如:我们现在在电商平台经常能够看到的猜你喜欢的这样一个栏目,他其实就是多种召回算法混合使用的结果。
一般都会使用按照规则的召回方法,召回我们最近这一段时间,点击浏览收藏但未购买的商品把它放到整一个猜你喜欢列表的靠前的地方,又或者说采用按商品属性相似度的方法给我们计算近一段时间我们偏爱的商品的相似商品。
此外,为了丰富我们推荐的丰富度,也会去采用基于用户的协同来找到一些我们还没有看过,但是有可能喜欢的商品推荐给我们的用户。
三、排序
在排序这一方面的话,大型电商平台更多的是使用机器学习的算法再进行排序。
算法层面,我们在这里不做过多的讨论,我们这里只需要明确,整一个算法的目标就是最大化用户的点击率,或者说用户的转化率。
除却这一点,作为一位产品人员,在推荐系统上和算法人员合作最密切的应该就属算法特征的选取上面了,这什么意思呢?
也就是说我们要把哪一些影响因素考虑到这样一个推荐算法上面去,一般来说我们会考虑的有用户的个人的画像特征,例如性别、收入、消费水平、消费记录;以及我们也会把商品的一些特征放到算法里面去,商品的品类、品牌、价格、风格等其他属性的一些数据。
根据这样一些用户的特征和商品的特征以及历史的商品成交数据,我们去训练得到这样一个点击率预测模型,或者叫做转化率预测模型。
得到了这样一个模型之后,当我们一个用户进来我们的平台之后,我们只需要把这个用户的特征以及我们召回阶段得到的商品的特征,放入到我们这个模型中,我们就能够得到这个用户对每一个商品的点击率或者是转化率的一个数值,依此来去做商品的排序。
四、调整
排序结果的调整,顾名思义,就是针对算法模型给出的排序结果,进行一些规则方面的调整。这些规则方面的调整出发点,都是一些业务导向和场景导向的。
举个具体的例子:像我们一般会配置的排序调整规则有:无库存打压,当一个商品没有库存的时候,那他的排序就会直接被打压沉底;又或者说,已购买商品的过滤,就是一个用户已经购买过的商品,我们就会把这个商品过滤掉。
这些排序调整的规则都是我们根据现实的业务和用户的使用场景所总结出来的,都是为了更好的用户体验而设定的一些排序调整规则。
此外,也有一些公司战略层面或者说是公司运营规则方面所带来的一些排序调整,例如京东的自营的商品排序就一定会排在商家的商品前面;是淘宝的天猫商品一般排序都会排在个人卖家的商品前面,就是这个道理。
电商平台需要通过这样一些排序的调整规则来去刺激,来去引导一些运营的操作。
五、调优
洋洋洒洒的写了几千字,只是初步的把一个商品是如何在电商平台呈现在用户面前的流程粗略的叙述了一下。
但是对于做推荐的人来说,构建一个推荐策略只是开头第一步,剩下的就是AB测试、数据复盘、策略调优。如此往复,一个好的策略才可慢慢放量,直至完成这个策略所覆盖的所有人群为止。
所以,对于推荐团队来说,一旦当排序的算法构建起来,并初步稳定之后,调整的频率和幅度都不会太大。
而永远在变就是召回的策略和排序调整的策略,随着业务的扩展,例如一开始只卖女装,现在还要卖男装;又或者说这个月老板和这个品牌是好朋友,下个月老板又换好朋友了等等。
这些业务情况是随着公司的发展而变化的,而为了满足这些不断变化的业务场景,召回和调整的策略也必定是同步调整的,而这也是产品人员参与最多的环节。
#专栏作家#
王掌柜,人人都是产品经理专栏作家。关注电商、企业服务、智能聊天机器人、数据产品。
本文原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Pexels,基于 CC0 协议
- 目前还没评论,等你发挥!