大家好,好久没有写文章和大家交流产品了(貌似也没怎么写过
) 今天和大家聊聊APP中最重要的东西,首页信息流。从千帆正式上线至今已经1年半了,首页信息流规则一直没有变动过,因为这个信息流是整个APP的第一流量来源,我们也不敢轻易的乱改动这个规则。 我先介绍下现在的信息流规则: 当前信息流由三部分组成 广告位略去不谈,当前信息流主要依靠备选池运作,小编将内容推送至备选池,备选池每隔30秒(站点可自行设置)拿N条信息放在首页信息流中。用户每次刷新都是看的信息流,所以所有用户的信息流都是一致的。 这个方案有几个缺点 1.所有人看的都是同一条信息流,看历史信息只能上拉加载最新内容(大家研究今日头条就知道,用户习惯的行为应当是下拉刷新,而非上拉加载) 2.备选池中的内容数量是有限的,30秒刷一条,很快就会将小编推送的内容全新刷完,到时候就是将已经推送的内容重复刷到前面让用户看,这种会打算用户看过的历史记录。 这套信息流规则不能说不好(要是真的不好也不会跑这么久都没站长反馈了),它至少解决了两个问题,1是信息流不更新问题(没有备选池,那么信息流改动必须依靠人工,费时费力还容易出错)。2是周末国庆小编放假,保持信息流的内容继续更新(让小编将无时间限制的内容推送至首页备选池,拉长备选池的调取时间限制)。好吧,貌似这两个问题本质上是同一个问题……
随着时间的推移,这套信息流算法的问题也逐渐浮现,对于大站而言,我内容量多,结果用户每次下拉基本上还是没啥内容,只能去看历史记录。对于小站而言,我内容量少,你这个备选池就是把我那几篇帖子换个位置显示,没啥具体作用。
如何解决信息流这个问题,如何采用一套规则适用于所有站点,在数据量不大的情况下保证每次刷新都有新的内容和好的内容,当然还要兼顾技术解决方案,太复杂的方案容易出问题,大家也不同意理解。在经过无数次探讨以及刀光剑影之后,终于讨论出一个终极无敌解决方案(好吧,其实是满足多方需求的中间方案,技术上简单稳定,效果上也可以,最关键的是,无论数据量多少,都适合采用此方案)。
就此我来介绍下新方案 - 取消当前信息流,以用户的阅读记录代替
- 将备选池更改为未读池
- 广告位
假设当前未读池中有100条信息,id分别为1,2,3,4.....,98,99,100,id为100的即是最新的帖子,阅读量最高的为50,49,48,47,46,45,44.... 那么用户首次下拉刷新时,会先调取三条最新推入未读池的内容,即100,99,98,再选取三条阅读量最高的内容,50,49,48, 混合在一起推送给用户。这时候用户的阅读记录就是 100,99,98,50,49,48, 当用户再次下拉刷新时,我们再选取97,96,95,这最新的三条加阅读量最高的三条,47,46,45,展示给用户。当用户上拉加载时,就直接加载用户的阅读记录,当阅读记录不足时,依旧按此规则调取信息展示给用户。
这就是新版信息流一个大致的算法,这个算法解决了三个问题: 1. 小编推送100篇帖子到未读池,那么用户将要下拉刷新100/6=16次,才会将内容看完 2. 上拉加载时保持了用户的阅读记录,不会将用户看过的帖子重复顶到首页 3. 每次刷新兼顾最热的内容和最新的内容,当用户点击看过该内容后,又将此内容的热度增加了,这样好的内容就能因为阅读数高而优先被用户看到,保证了用户下拉刷新不会总是刷到无聊的内容。 为了兼容大站和小站,我们为新信息流做了诸多自定义配置,如: 1.下拉刷新数量,站点根据内容量选择用户每次下拉刷新的数量。 2.调取内容时间段,同样根据内容量选择时间段。 3.内容自动推送首页设置:目前此处新增视频推送首页设置,后续会继续增加其他设置到此处。
注:
内容量少的站点,建议使用千帆提供的自动下发功能,可将帖子直接下发至首页,即使没有任何小编,也能一直保持首页信息流更新。
千帆的wap目前已经采用了新的信息流模式,所以站点会发现wap端与首页信息流不一致,后续各类新的功能,我们都将应用在新的首页信息流中,老版的信息流也会留给大家继续使用,不过不会在继续更新功能。
大数据行业中的机器学习有个专业术语叫做训练调教,我们新的信息流也需要很多使用中的反馈结果来帮助我们训练,将我们新的信息流调教的越来越好。
忘了说怎么开启了,在 首页信息流管理/首页信息流 的上部有一个设置,点开后可以开启未读池。
大家有意见可以及时与我沟通,谢谢大家。 2017年2月23日 千帆产品 李伟 以上
|