数据中台实战:基于标签的推荐系统必须要解决的4个核心问题

3 评论 7939 浏览 27 收藏 17 分钟

编辑导语:在推荐系统中,标签的使用可以让定位更精准,提升匹配的水平和效率。那么,在业务过程中,我们应当采用哪种标签推荐方式?本篇文章里,作者结合实际经验,总结了如何利用数据中台解决问题、搭建符合实际业务的标签推荐系统,一起来看一下。

最近公司开了个新的产品线叫:圆猿买手,大家都知道我公司搭了一个B2B的女装批发平台,主要服务的是全国做服装批发生意的采购商、供应商。圆猿买手这个产品是从B2B平台独立出来专门服务二批采购商的产品。

一、什么是二批采购商?

简单来说就是大客户,他们一般在二级的服装批发市场如郑州银基等有自己的档口,主要去一级的批发市场(一级的批发市场如广州十三行、杭州四季清等)拿货,拿完货后销售给自己的所在城市的终端门店或者三批采购商。

作为二批采购商,他们每次拿货(采购)的量都是非常大的,因为是我们的大客户,所以我司配备专门的买手给二批采购商提供一对一的推款、找款、发货的服务。

买手是活跃在批发市场的一类角色,他们的核心竞争力就是对市场的档口、档口的新款、爆款比较熟悉,而且他们是常驻在批发市场的,这样二批采购商拿货就不用每次都长途跑到一批市场,只用和我们的买手沟通,就能拿到市场的新款、爆款。

为什么圆猿买手这个业务能够存在?我觉得有2点原因。

第一由于买手的存在,大大降低了采购商的交易成本。

交易成本就是买卖双方所付出的时间和金钱成本,交易类产品是否能够存在,都可以用这个交易成本这个理论来衡量,交易成本理论是诺贝尔奖获得者科斯老爷子很多年前提出来的。

二批采购商一般都在二三线城市的批发市场,每次跑到如广州十三行这种一级批发市场,来回都要很多的时间,路费也是一笔不少的钱,有了买手的存在大大节省了他们的时间和钱。

第二买手的存在让人货匹配更加精准,这里的人是指二批采购商,货是指一级批发市场的商品。

电商产品的创新很重要的一点就是提高人货匹配的效率,我提供的商品刚好是你需要的,这样买卖双方付出的时间成本最低。

一个经验丰富的服装买手对市场中的档口和档口的新款、爆款都是非常熟悉的,而且由于买手长期和采购商沟通,这样他会非常清楚当前服务的这个采购商的偏好,这种情况下买手推的商品会更能命中二批采购商的口味。

由于买手的存在,交易模式从二批采购商到市场去找商品,到买手精准的推给采购商大致符合他口味的商品,采购商从买手推的商品中挑一个商品就好了,这种模式好像搭建了一个人肉的推荐系统。

这篇文章我们谈的是基于标签的推荐,那必定要解决以下几个问题:

  1. 怎么给采购商和买手分别打上标签?
  2. 标签分为主观标签和客观标签,是用主观的标签去做推荐,还是用客观的标签去做推荐?
  3. 怎么通过标签完成采购商与买手的匹配过程?
  4. 基于标签的推荐具体的应用场景有哪些?

二、怎么分别给采购商和买手打上标签

首先看一下数据情况,数据库中有2类数据,一个是埋点的数据,一个是业务库中的数据。埋点的数据记录了采购商曾经访问了那个买手的那个商品,也就是采购商的访问行为数据。

业务数据分为两种,一种是采购商询盘了买手的那个商品(B2B批发类的产品因为订单量大,每次下单前,采购商和买手要确认商品信息),另外一种是采购商支付了买手的那件商品。

通过这三类数据即可分别给买手和采购商打上相应的偏好标签。因为无论是访问、询盘、下单,都是和商品绑定的,商品是有所属店铺、品类、风格、价格段的属性的,通过这些属性就可以给采购商打上偏好的店铺、品类、风格、价格段的标签,同时也可以给买手打上擅长的店铺、品类、风格、价格段的标签。

比如某个采购商A只有2条数据,分别是访问了某个店铺的商品B,询盘了某个店铺的商品C、下单了某个店铺的商品D:

  • 商品B是属于店铺1的商品,商品B的品类是牛仔裤,这个商品是买手1负责;
  • 商品C是属于店铺2的商品,商品C的品类是毛衣,这个商品的买手2负责;
  • 商品D是属于店铺3的商品,商品C的品类是T桖,这个商品也是买手1负责。

假设采购商访问商品的权重是1分,询盘3分,下单5分,那采购商A偏好的店铺的排行就是店铺3(5分)、店铺2(3分)、店铺1(1分),如果取分数前2名的标签作为采购商的标签,那么采购商A偏好的店铺就是店铺3(5分)和店铺2(3分),同样的采购商A偏好的品类就是T桖(5分)、毛衣(3分)。

假设买手1和买手2也只有这几条数据,那么同样可以给买手1和买手2打上同样的标签。

  • 买手1擅长的店铺排名是:店铺3(5分)、店铺1(1)分。
  • 买手2擅长的店铺排名是:店铺2(3分)。
  • 买手1擅长的品类是:T桖(5分)、牛仔裤(1分)。
  • 买手2擅长的品类是:毛衣(3分)。

三、标签分为主观标签和客观标签,应该用哪种标签完成采购商与买手的推荐?

什么是主观标签?主观标签就是人为给采购商或者买手打上的标签,比如你通过采购商填的一些信息,给他打上了偏好牛仔裤的标签,或者这个采购商在注册的时候自己填了自己喜欢牛仔裤这样一个标签,这类的标签就是主观标签,同样的买手也可以打上相应的主观标签。

主观标签的问题是标签不一定可信,比如刚才那个例子,他选了牛仔裤这个标签,但是他真的就喜欢牛仔裤吗?每个人的兴趣都是在不断的变化的,谁也不能保证他这辈子都喜欢牛仔裤吧?

第一个问题中通过访问、询盘、下单数据给采购商和买手打上的标签就是客观标签,是通过数据算出来的标签。

现在的问题是这两类标签怎么结合完成采购商与买手的匹配,从数据层面来看,有些采购商同时有主观标签和客观标签,有些采购商只有主观标签没有客观标签,还有些采购商只有客观标签没有主观标签,买手的情况也是类似。

我们是采用单独种类标签推荐的方式,还是混合标签推荐的方式呢?

单独种类标签推荐的方式是指通过买手的主观标签和采购商的主观标签完成采购商与买手的匹配,同时通过买手的客观标签和采购商的客观标签完成采购商与买手的匹配,采用这种方式会产生2种推荐结果,最后需要把主客观标签推荐的结果整合在一起,完成最终推荐结果的输出。

混合标签推荐的方式是指无论采购商买手打上了主观、客观的标签,先做一层整合,保证采购商和买手分别只有一套标签,再通过这套标签完成采购商和买手的匹配,这种方式有2个问题:

  1. 怎么整合采购商的主客观标签,保证采购商只有一套标签?
  2. 推荐系统上线后怎么判定那套标签的推荐效果更好?

很明显单独种类标签推荐的方式的推荐结果会更有优势,前期可以分别上线主观标签推荐和客观标签推荐的结果进行单独测试,先验证那种方式的效果更好,后期可以给每种算法不同的权重,结合后给出最终的推荐结果。

比如通过主观标签给用户A推荐出来买手1、买手2,通过客观标签给用户A推荐出来买手2、买手3。

主观标签算法的权重是1分,客观标签算法的权重是3分,那么2种算法结合后给用户A推荐出来的最终结果就是:买手2(4分)、买手3(3分)、买手1(1分)。

而混合标签推荐的方式,不仅不利于后期的效果数据分析,而且因为提前将两种标签做了结合,很难判定那种算法推荐出来的结果更精准。

四、怎么通过标签完成采购商与买手的匹配过程,这也是标签推荐算法的核心

问题一中我们分别为采购商、买手打上了店铺、品类的标签:

  • 采购商A偏好的店铺是店铺3(5分)和店铺2(3分);
  • 采购商A偏好的品类是T桖(5分)、毛衣(3分);
  • 买手1擅长的店铺排名是:店铺3(5分)、店铺1(1)分;
  • 买手2擅长的店铺排名是:店铺2(3分);
  • 买手1擅长的品类是:T桖(5分)、牛仔裤(1分);
  • 买手2擅长的品类是:毛衣(3分)。

第一种方式是不看标签的分数,只要采购商和买手的标签匹配上就计1分,先从店铺的角度来看因为采购商A偏好的店铺是店铺3和店铺2,而买手1擅长店铺3,买手2擅长店铺2,买手1和买手2各得1分,再从品类来看因为采购商A偏好T桖和毛衣,买手1擅长T桖,买手二擅长毛衣1,买手1和买手2也各得1分,这种方式的最终结果是:

  • 采购商A与买手1的匹配分数是2分;
  • 采购商A与买手2的匹配分数是2分。

这种算法虽然简单,但是明显有些问题,没有考虑采购商和买手针对标签的得分,导致买手1,买手2的得分一致。

如果加入采购商与买手针对标签的得分:

  • 在店铺的维度买手1的得分是:5*5=25分,买手2的得分是3*3=9分;
  • 在品类的维度买手1的得分是:5*5=25分,买手2的得分是3*3=9分。

这样买手1的总分是50分,买手2的总分是18分,优先推荐买手1给采购商A。

当然还可以考虑给标签定义不同的权重,可以假设店铺标签的权重是大于品类的,这种算法考虑的就更加全面,但也会更加复杂。做推荐这块我们的追求应该是简单且有用,也就是说付出最低的成本,拿到最好的效果,从简单到复杂、不断优化的过程。

五、基于标签的推荐具体的应用场景有哪些

基于标签的推荐算法,最终一定要开放出去,用来服务采购商,但前期因为无法确定这套算法的效果,可以先开放给公司内部运营人员使用。

首先可以先开放查询采购商/买手所打标签功能给熟悉业务的运营人员,让他们可以快速查看采购商/买手身上基于现有数据所打上的标签:

数据中台实战:基于标签的推荐系统必须要解决的4个核心问题

数据中台实战:基于标签的推荐系统必须要解决的4个核心问题

如果经过验证,所打标签数据足够准确,那这些标签的数据也可以指导运营人员针对采购商/买手做更加精细化的运营,当然也可以将采购商的标签开放到给他服务的买手,让买手快速查看到他当前所服务采购商的特点,这样可以做更加精准的服装推荐。

接着可以让运营人员提供一些典型的采购商/买手,将标签算法匹配的最终结果(采购商与买手的匹配率),交给运营人员来验证。

数据中台实战:基于标签的推荐系统必须要解决的4个核心问题

如果基于标签的推荐匹配准确率达到人工匹配水平或者超过人工匹配水平,就可以考虑将算法的结果开放出去服务真实的采购商。

实际项目中我们也是花了3个月的时间不断验证和迭代,最后达到人工判断超过80%的准确率(随机输出10个采购商的推荐算法结果,其中有8位采购商的结果,以人的判断是准确的),才最终用到实际项目中:

数据中台实战:基于标签的推荐系统必须要解决的4个核心问题

最后留个小问题,比如你给一个采购商基于算法推荐出了一个合适的买手,但这个买手最近太忙了,实在不能抽身服务这个采购商,这个时候该怎么办?欢迎留言讨论。

#专栏作家#

Wilton董超华,微信公众号:改变世界的产品经理,人人都是产品经理专栏作家。畅销书《数据中台实战》作者,曾任职科大讯飞,现任富力环球商品贸易港数据中台产品负责人。主要分享商业、产品、运营、数据中台相关原创文章。

本文原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 点个赞。还能坚持在人人上写文章不容易,内容还这么详实有学习价值,更不容易。加油。

    来自广东 回复
  2. “最后留个小问题,比如你给一个采购商基于算法推荐出了一个合适的买手,但这个买手最近太忙了,实在不能抽身服务这个采购商,这个时候该怎么办?欢迎留言讨论。”—系统有买手的服务情况,把闲忙系数也作为标签,对么?

    来自四川 回复
  3. 赞!

    来自上海 回复