假如你是一家电商公司的产品经理,你会怎么搭建好一个推荐系统?这篇文章里,作者就尝试做了解答,并从需求定义、数据准备、技术实现和评价标准这四个方面做了梳理,一起来看看吧。
引言:当我们浏览购物平台时,我们总会发现平台会根据我们浏览轨迹或购买过的物品进行相关商品的推荐,以便我们更好的查看和进行下单。这智能的背后,离不开推荐算法的加持。下面站在产品经理的视角,让我们一起理解搭建推荐系统的全过程吧。
首先,作为产品经理我们要清晰推荐系统的核心是推荐算法的应用。因此,在我们开始构建推荐功能之前,我们先了解一下常用的推荐算法都有哪些。其实,推荐算法在机器学习还没有兴起的时后就有需求和应用了。概括来讲,大致可以分为以下3类:
类型1:基于内容的推荐
这一类推荐算法一般依赖于自然语言处理NLP的一些知识, 大致逻辑是通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,其基本思路是根据用户已经喜欢的内容,推荐类似的内容给用户。
这种推荐算法的优势是不需要用户历史数据,只需要对物品(如文章、电影等)进行描述即可。但这种算法只考虑物品的属性,而没有考虑用户的交互行为,可能会出现无法推荐用户感兴趣但是没有被描述到的物品的情况。并且某些物品的属性难以获取或者需要人工标注,因此建立物品描述需要投入大量的时间和人力成本。
类型2:基于规则的推荐
这类算法常见的比如:基于最多用户点击,最多用户浏览等,属于大众型的推荐方法,在目前的大数据时代并不主流,多为人为干预,大都应用于平台初创阶段。
类型3:协同过滤推荐
协同过滤是推荐算法中目前最主流的种类,大致逻辑是基于用户的历史行为和与其他用户的相似性来推荐物品。一般来讲,协同过滤分为3种类型:
其中,基于用户的协同过滤主要考虑的是用户和用户之间的相似度。比如:只要找出相似用户喜欢的物品,并预测目标用户对对应物品的评分,就可以找到评分最高的若干个物品推荐给用户。
而基于物品的协同过滤和基于用户的协同过滤类似,只不过转向找到物品和物品之间的相似度,只有找到了目标用户对某些物品的评分,那么就可以对相似度高的类似物品进行预测,将评分最高的若干个相似物品推荐给用户。比如你在网上买了一本机器学习相关的书,网站马上会推荐一堆机器学习,大数据相关的书给你。
那有意思的问题来了:在我们现实场景中,针对m个物品,m个用户的数据,只有部分用户和部分数据之间是有评分数据的,其它部分评分都是空白。但此时需要我们用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。怎么办?
这就不得不用到机器学习的思想来建模解决了,也就是是基于模型的协同过滤算法,目前主流的比如:用到关联规则算法、聚类算法、分类算法、回归算法等。因这些算法涉猎点较多,笔者就不占用篇幅在这里展开了,大家后续可以查阅资料进行了解。
好了,基于上述笔者对常用推荐算法的介绍,假如你是一家电商公司的产品经理,公司经过一年多的用户运营和供应链的打造,业务已进入高速增长阶段,但平台无法体现用户给对于商品的偏好情况,也无法满足供应商的曝光度。公司领导希望你牵头打造一个mvp推荐系统,那么你接下来需要做些什么呢?
笔者大致总结了4点,分别是需求定义、数据准备、技术实现和评价标准。下面我们一起来看看吧。
需求定义,这个不用过多解释,它是产品经理的必备技能。在需求定义阶段,常规阐述逻辑氛围三个部分:需求背景、逻辑交互和预期目标。
我们以此次推荐系统为例,公司电商平台“千人一面”的人工干预逻辑已无法响应公司业务的高速发展,无法满足用户对商品偏好的评估。为此,公司需要搭建一套推荐系统,满足“千人千面”需求。
逻辑交互,在需求定义阶段,是非常关键的环节。这个阶段描述的清晰与否直接影响后续的结果。
在这个阶段,产品经理要对推荐系统进行详尽的描述,包括:用户流程、模型诉求、现有数据等。比如:新/老用户推荐策略、对所采用模型准确率、召回率、覆盖率等详细要求等。总之,这个环节产品经理主打一个详细,避免后期被算法工程师怼的哑口无言。
有句话说的非常好,需求的背后是KPI。这个世界上没有无中生有的事情。因此,作为产品经理在需求定义阶段,需要将预期目标定义清楚,不能模棱两可。在这个环节上,产品经理需要对平台所处阶段、平台往期数据和未来公司投入进行详尽的分析,从而根据公司业务的实际情况指定相应的指标。如对应的CTR、CVR等。
数据对于推荐系统是非常重要的。作为产品经理,我们在搭建推荐系统之前,我们要完成大量的数据收集和整理工作。并且要形成清晰的数据分类。如电商平台的业务数据有哪些、埋点日志以及广告渠道商能提供的数据等。
其实,在数据准备环节特别考验产品人员的全局能力。优秀的产品经理在电商平台建设初期对未来需要哪些数据、如何进行数据埋点早已进行了设定。一般不会出现没有数据在临时抱佛脚的尴尬局面。
有了平台所需的数据之后,产品经理只需告诉算法工程师数据源在哪里即可,后续算法同学会自行抽数。然后就是后面模型构建的环节了。
从项目管控上来看,在推荐系统的项目建设过程中会涉及两波技术团队,分别是算法团队和应用研发团队,并且两个团队是并行进行的。 因此作为产品经理,我们除了要关注算法工程师的模型构建,同时也要关注推荐系统工程的整体设计。
具体来说,对于系统工程的整体设计,产品经理要关注推荐系统进行一次完整推荐会涉及哪些系统模块,它们和算法模型是怎么交互的,数据流向什么样,产品的关键逻辑是在哪个模块中实现的。整体来讲,如果在需求定义和数据准备环节下足功夫,项目进度问题不大。反之,这个环节极容易“失控”
最后,也是公司最为关注的,那就是如何评价推荐系统给业务提升了多少效果。其实,评估方法并不难,也是我们经常用的AB测试,但对于推荐系统要想做 AB 测试,我们注意以下几点:
在评价标准环节,AB测试并不是最关键的,关键点是产品经理需要产品经理对指标的分析过程,以及最终给出的迭代计划。
总之,在整个推荐系统搭建过程,作为一名产品经理,我们不仅能够清晰的设计需求,还要能够理解数据、整理数据,并对测试评估结果给与持续的迭代计划。至于技术实现环节,理解就好,无需过多深入。
本文由 @王振永 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。