相信很多人在使用不同的app的时候总是会遇到各种各样的关联推荐,什么是关联推荐呢?
举个例子,喜马拉雅为例。我们会在每个收听页面或者作品详情页看到一系列的关联推荐,如【听过本书的人也在听】。
除了喜马拉雅,很多产品都会使用到关联推荐,目的当然是为用户推荐更适合他的内容,让其在产品中长时间进行使用,增加用户的粘性和活跃度。
今天,我们来简单的分析一下一款刚上线音频产品的关联推荐的逻辑,【听过本书的人也在听】。
为什么选择新上线的产品,原因十分简单,运营时间长的产品,必然会存在大量的数据,只要自己对数据进行综合分析利用即可。相对而言,规则虽然复杂,但是有数据支持,推荐还是比较精准的,而新上线的产品,运营时间不长,用户数据和产品内容也较小,因此,关联推荐相比有成熟数据的产品也更为复杂。
另外,新产品关联推荐的目的性对于业务上的影响并不会太多,逻辑嵌套相对少一些,及时推荐的并不准确,也可以及时的调整,如果海量数据的推荐也有问题,那么用户会觉得这产品不懂自己,期望高的时候,失望也会越大。
因此选择一款新产品进行分析。
那么就讲一下新的音频产品的关联推荐思路。
听过本书的人也在听。
顾名思义,那就是说听过这本精彩作用的用户还浏览了一些其他的作品。把这些好的作品推荐给大家。
但是会出现一个问题,有很多读者都看了这一本书,而且他们也看了其他的不同的作品,但是推荐位只有这么屈指可数的几个,
肯定不能都写下来了。所以就需要从不同的维度来进行综合分析。
假如一个a用户,在听完当前这一本书又连着试听或者是连续听了一些其他的作品,那么我们为这个用户列一份收听的清单。
这个时候,b用户在听完同一本书后,后会听一一些其他的作品,又产生一份书单。
C用户也是一样,听完同一本书后,又听了其他的,也产生了一份书单。
这个时候,这份书单当中定然会有一些共性的作品存在。三个人当中至少有两个人说听了某一本书的, 那么这一本书就被摘选了出来,作为推荐的一个维度。
但是有人可能第一本就听了那么书,而有些人在听第30本的时候才听到,这样的话,不同的人都汇集在一起,数据量是极其庞大的。因此,会对书单的长度做一个汇总。
只取用户在最近阅读历史的前30本书中产生交集的作品,那么就可以抽取出一部分作品作为推荐位的一个维度。
用户在读该作品之后的前三十本书中出现两次以上的作品,作为关联推荐的一个维度。
但是这样的话,100个用户,他们都读两本书的概率也是极高的,因此重复的地方还特别多,因此我们还需要进行具体的细分。
第一章节也是读,读10章节还是读,另外读了充钱和没充钱的这又是一个维度。那么我们就先从阅读章节数量的问题来考虑。
那么我们就从这个来进行继续的拆分,一本书如果好听,就会有人不断的继续听下去,那么,必须要确定一个章节数,收听多少才算得上是喜欢这本书,就可以简单的设定三个档位。
第一个档位,可以是以10集为限制,大于等于十集小于20集的。第二个是大于等于20集小于等于30集,第三个档位是大于等于30集。我们可以选择第二个档位来作为一个标准。之后如果播放量再增加的时候,我们可以再选择其他
不同的档位来进行判断。
虽然收听的集数有了一个判断,但是用户究竟是使用了多久的时间听了这么多集,也是一个需要进行判断的标准。如果用户在一天之内就听了5章或者十章的时候,那肯定是喜欢这本书,如果是一周才听了这么多,肯定是喜欢程度没那么高。
其次,对于收听了20或者是30集的用户而言,收听的周期也是一个值得考量的问题。可以通过收听的周期来对作品的集数进行一个区分。
初步选定的周期为:一天,三天,一周,半个月和一个月,与之对应的集数如下
同一本书,一天收听大于等于5集,可以进行推荐;三天收听大于等于20集,可以进行推荐;一周之内收听大于等于30集;半个月收听大于50集,一个月收听大于80集的作品可以进行推荐。
另外,对于一些新书而言,刚刚上架,这样会导致一个问题,如果按照之前第一条规则来进行算的话,那么永远都不会有新书有曝光率,永远不会被其他人通过关联推荐中找到。因此,要对于新书给予一定的曝光率。
对于优质作品,后台会有对作品品级判断的一个打分,可以优先推荐品级未1和2 的作品。
对于一本新书而言,肯定会有用户因为好奇去进行点击的,会产生初始的数据,因此不需要特意对新作品增加特殊的权重。而对于这些新书而言,收听的章节数也一定程度代表了这些作品的质量,同时也可以验证作品的品级。
因此对于新书而言,适当增加一周的保护期甚至是一月的保护器,在这一周之内,如果有用户收听,其权重就会增加一部分。对于新作品,作品的收听周期也可以适当的减少一部分。
同一本书,一天收听大于等于3集,可以进行推荐;三天收听大于等于10集,可以进行推荐;一周之内收听大于等于15集;半个月收听大于30集,一个月收听大于40集的作品可以进行推荐。
以上行为,只要有出现一次,就可以将该书推荐,但需要和其他的作品进行去重。
这样新书和老书都可以被照顾到。
综上所述,【听过本书的人在也在听】的简单规则就出来了。
1.所有收听本书的用户在收听本书后,最近一个月播放记录以内的作品列表中摘取数据
2.同一本书如收听>=2次以上,该书则为关联推荐待推荐作品。同时,改作品需要满足以下条件。
3.如收听的作品上架时间>1个月。
同一本书,同一用户,如一天收听大于等于5集,可以进行推荐;
三天收听大于等于20集,可以进行推荐;
一周之内收听大于等于30集,可以进行推荐;
半个月收听大于50集,可以进行推荐;
一个月收听大于80集的作品可以进行推荐。
4.对于上架时间小于一个月的作品。
同一本书,同一用户,一天收听大于等于3集,可以进行推荐;
三天收听大于等于10集,可以进行推荐;
一周之内收听大于等于15集,可以进行推荐;
半个月收听大于30集,可以进行推荐;
一个月收听大于40集的作品可以进行推荐。
5.对于以上作品以进行排除处理,按单用户播放集数最多的作品,从高到底降序排列,
共选择5本书,2本上架时间大于1个月的老书,3本上架时间小于1个月的新书
6.新书上架,初始数据可以选取本站播放量前五的书
或许有人会说,为什么不选择推荐同类作品,比如我喜欢恐怖小说,听过本书的人可能听的恐怖小说也比较多。假如很多人听的都是恐怖小说,下面出现恐怖小说的概率应该是极高的。
这个确实如此,不过忽略了一个前提,新产品,数据积累不够,还没有办法做到如此精准的推送。
另外,规则算法并不是一层不变的,随着业务的发展和对产品阶段性战略调整,这个规则也会进行一个改变。以后的时间,我会试着分析一款成熟产品的推荐算法规则,这里面的逻辑复杂,嵌套之多,可比我上面提到的要复杂的多。