不懂推荐算法也能设计推荐系统?
本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。
相信很多新手产品,看到算法二字,多是懵圈的。
什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。
但,不了解推荐算法,就无法做推荐系统了吗?其实,产品人员可以从产品侧挖掘自己的长处。
下面,以商业化应用推荐为例,讨论如何在不熟悉推荐算法的前提下设计推荐系统。
01 解决什么问题
收入: 推荐用户感兴趣的应用,提高收入。
改善用户体验: 对于用户不感兴趣的应用,少推荐,减少整体的广告显示,提升用户体验(毕竟,多数情况下,商业化与体验是矛盾的)。
02 设定目标
这是比较难的。需要了解当前的推荐策略 与 优化后的策略,才能制定出来。要么你熟悉推荐算法,要么知晓行业数据。建议是:如果没有明确的依据,不要拍脑袋。
03 有什么数据
用户画像,是一个谈到烂的话题。但小体量的公司很难把用户画像落地,因为需求是简单的:根据用户画像,用户的喜欢做……但在实际执行中,很难建立一个数据模型处理万千的数据并应用到推荐场景当中。
下面讨论数据情况,有哪些维度的数据,直接决定数据模型。
1. 基础数据
无论贵公司是以APK还是SDK的方式,用户手机安装了什么应用,均可以拿到。具体数据如下:
2. 基础数据的推导
根据基础数据,我们可以推导出应用卸载列表。
用户卸载列表:指用户点击安装后,又卸载的应用。用相临两周的应用列表,做差,即可得到。如下图所示,相对于本周数据,上周缺少了百度地图与饿了么两个应用。
3. 不喜欢应用列表
是指,推荐给用户的应用,有效展示后,用户不点击的应用列表。
04 高阶数据
如果可以获取用户使用应用的详情,那做应用推荐时,准确度可大幅提升。但普通应用获取不到此类数据,所以本篇不作讨论。
05 推荐策略
推荐应用给用户,可以有多种推荐策略。如:
- 已安装类别中,推荐额外应用:如用户安装了QQ音乐,可以推荐网易云音乐。
- 推荐缺少类别的应用:用户缺少健身类的应用,推荐KEEP。
下面,我们以“ 推荐缺少类别的应用 ”为例:
1. 先上整体流程图
第一步 :获取用户本地应用,即用户当前时间段安装的应用。建议以 周 为统计周期。
第二步 :对用户本地应用按类别整理。示例数据中,用户有“系统工具,导航”这两类数据。但缺少“音乐,旅游”等类别的应用。那么每个分类的排名是如何得来的呢?
衡量一个分类的排名,涉及到多个因素。我们暂时用最简单的,推荐成功率来计算。即:以往的数据中,每个类别推荐成功了多少个应用/总的推荐数。
各位读者实际的项目中,要根据自己的业务特点,来计算排名。
第三步 :获取第一个缺失分类及所包含的应用。在步骤2中,排名第1,第2的类别已有,下一个类别为音乐,即为用户缺失的类别中,最为靠前的。如上图红色字所示。
第四步 :获取该类别的第一个应用。每个类别可能有多个应用。应用间的排名,也可暂用推荐成功率来计算。如下图所示,在缺少的音乐排名中,QQ音乐排名第一位。我们选出该应用,优先推荐。
第五步 :将步骤4中的应用,按不喜欢名单过滤。如上图,如果用户不喜欢QQ音乐,则按照顺序,向其推荐 网易音乐。
最后,统计是否已经达到需要的广告数量。如果没有达到,则继续在该类别中取下一个应用。如果该类别已经取完,则依次获取下一个类别中的应用。
第六步 :保底推荐。最后托底的推荐策略,防止所有的应用遍历一遍广告数量还是不够的情况。
以上,就是精简后的,按缺失类别推荐应用的最基本的流程。您可能会问:为什么优先从一个类别中挑选应用呢?是的,上文实际的策略是:单(缺失)类别优先的策略。
我们也可以优先把每个缺失的类别都挑最少应用出来,这就是另一个推荐策略了。
欢迎大家来探讨推荐策略,无论是“平民”的还是需要数理统计背景的推荐策略。
作者:大肚飞鱼,公众号:大肚飞鱼
本文由 @大肚飞鱼 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: