数据中台:从0到1打造一个离线推荐系统( 三 )


数据中台:从0到1打造一个离线推荐系统
文章插图
数据中台:从0到1打造一个离线推荐系统
文章插图
数据中台:从0到1打造一个离线推荐系统
文章插图
2)搭建推荐系统还需要其他部门同事的配合,比如产品线的产品/运营人员。
运营人员需要在产品的功能界面中预留一个位置,类似淘宝网的“猜你喜欢”频道,可以基于自己的产品特性来选择位置;运营人员还需要协调UI资源,设计推荐位的LOGO、背景图等。
电商产品线的产品经理需要协调前/后端开发工程师完成推荐位置的前/后端和数据埋点开发的开发工作。前/后端开发工程师负责调用数据中台的推荐接口,完成推荐功能界面的开发。
数据埋点开发要解决2个问题:
一是要知道每个场景、每个算法、每天的交易额,当用户加购时,要把场景ID、算法ID,同商品一起加入购物车中,当用户下单时再将场景ID、算法ID一并加入结算。
二是我们要统计每天有哪些用户访问我们的推荐位,点击了哪些商品,就需要针对推荐模块做一个常规的埋点,埋点方法可以参考第2章“数据采集”部分内容;有了这些埋点数据,我们就可以计算推荐位每天产生的总交易额、总访问用户数等相关商业指标,也可以通过查看每个算法的准确率、召回率、覆盖率这三个指标,来找到最合适的算法。
数据中台主要承担算法的开发、推荐接口的开发、推荐系统的数据分析等工作。推荐系统的方案设计大概需要1周时间,另外需要3天的时间来评审方案,电商产品线的产品经理进行前/后端和埋点的开发工作大概需要1周的时间,数据中台针对算法的开发工作大概需要1个月的时间。
由此可知,打造一个简单版本的推荐系统预计共需要2个月左右的时间。
四、离线推荐系统测试至此,推荐系统的整个开发流程就结束了,接下来需要进行推荐系统的测试。
为了方便测试,我们可以开发一个快速拿到每个用户推荐结果的功能,方便产品经理和测试人员查看推荐数据。这项开发工作需要满足三方面要求。

  • 可以快速查询每种召回算法带给每个用户的推荐结果。
  • 可以快速查询通过排序算法生成每个用户的最终推荐结果。
  • 可以快速查询向用户展示的最终推荐结果。
要想开发查询推荐结果的功能,最好配上商品的图片,看商品图片比看商品名称,更令人印象深刻,如图11-13所示,可以快速筛选出某个算法在某天为某个用户推荐的结果。
数据中台:从0到1打造一个离线推荐系统
文章插图
用户推荐界面
测试工作的流程如下:
1)需要对召回算法进行测试
召回算法主要需要测试其算法的逻辑是否正确。一般来说,算法工程师和测试工程师需要合作完成测试用例的验证。算法工程师按照测试工程师的要求提供数据,测试工程师则负责验证算法逻辑的准确性。
2)需要对排序算法的结果和用户最终的推荐结果进行测试
因为逻辑比较复杂,这两个步骤的测试很有挑战性。在这里推荐一个简单的方法,项目组可以一起定义几类典型用户,比如:无用户行为的用户;有历史行为数据,但很久没来访问的用户;有历史行为数据并且最近很活跃的用户。
对于第1类用户,可以验证一下推荐给他们的结果是否符合冷启动的策略。
对于第2类用户,他们虽然有历史行为,但是历史行为的数据陈旧,无法再利用,需要验证一下推荐给他们结果是否符合我们制定的策略。
对于第三类用户,可以让算法工程师基于他们最近的行为,推荐给他们可能喜欢的商品,然后对比他们喜欢的商品,检查推荐的商品是否有很大的误差;假如某用户喜欢50~100元价格段的牛仔裤,而我们推荐给他的结果都是500元以上的牛仔裤,那么推荐结果就有问题了。
3)最后还需要对过滤的规则进行测试
比如对“用户近期买过的商品不能出现在推荐列表中”“退货、缺货率很高的商品不能出现在推荐列表中”等过滤规则进行测试。
相关阅读:
《不以用户价值为目的的数据指标设计就是耍流氓》
#专栏作家#Wilton董超华,微信公众号:改变世界的产品经理,人人都是产品经理专栏作家。畅销书《数据中台实战》作者,曾任职科大讯飞,现任富力环球商品贸易港数据中台产品负责人。主要分享商业、产品、运营、数据中台相关原创文章。
本文原创发布于人人都是产品经理,未经许可,禁止转载。