由公众号推荐引入的feed流思考

“问题引入”]微信今年年中更改了公众号的推送机制,不再以公众号自身的推送时间为准,而是以用户的阅读情况来定。公众号改版信息流,对大部分中小型公众号的运营者来说确实收到极大的影响;但作为一个资深产品人,看到了企业微信对feed流的思考和调整……

Feed 流定义

Feed是一个互联网早期的概念,本意是RSS中用来接收信息来源更新的接口。现在的定义比较宽泛,一般而言,持续更新并呈现给用户的内容都叫做Feed流。朋友圈是feed流,微博首页是feed流,知乎首页是feed流,各种门户的内容也是feed流。换句话说,我们大量的在线时间和视线,实际上都被Feed流掌控。
从以上定义中可以看出
  • feed是一种给用户持续提供内容的数据形式
  • 是由多个内容提供源组成的资源聚合器,由用户主动订阅消息源并且向用户提供内容

Feed流 起源

facebook 在2006年推出了“news feed”,同时还有“mini feed”(个人动态):
Facebook提供了一种新的思路,将好友或者关注的对象作为信息源,而内容即是好友或关注对象的动态(发布的内容以及其他的社交行为)。当好友足够多或者好友发布动态足够频繁时,用户能源源不断的收到内容。
我们现在习以为常的“好友动态”,在facebook刚推出来的时候,便遭到了大量用户的抗议,用户觉得该功能会侵犯个人隐私,甚至有用户建立了专门抵制“news feed”的网站,要求Facebook移除该模块。
Facebook最终还是没有移除“news feed”模块,并且在后续的发展中,对该模块不断的进行优化迭代,现在feed流已经能够给Facebook每天带来上千万美元的收入。

Feed流 设计

Timeline 
早期的Feed流主要是把用户关注的内容以Timeline的形式展开。但是随着用户场景的丰富,Feed流也有了更多的变种。对于搜索而言,基本上是召回用户感兴趣的内容,然后进行筛选排序。其实Feed的设计也是如此。一个Feed流永远是在解决两个核心问题:
  • 应该展示给用户什么内容?
  • 这些内容该怎么排序?
Timeline,一般而言,不对用户主动要求获取的内容进行筛选,同时所有的内容按照时间排序。最经典的案例就是朋友圈。关于Feed流设计的两个核心问题,微信朋友圈的回答是这样的:
  • 应该展示给用户什么内容:用户好友发的内容
  • 这些内容该怎么排序:按照时间先后顺序
Timeline简单的内容选取和排序非常易于用户理解,充满了极简主义的哲学:随时更新,吸引用户随时打开使用,而每次更新的部分都有限也保证了大部分用户不会错过任何消息。微信也用这个设计,获取了用户大量的时间。
既然Timeline有这么多优点,那么Feed流为什么还会迭代衍生出来其他的设计?
其实这里也牵扯到一个问题,Timeline有一个致命的缺点——内容呈现效率最为低下。需要内容提供方非常克制,同时也需要用户对这些内容足够关注。所以在这个问题的基础上微信就采取策略对公众号采用了重力排序的算法。
重力排序算法——兼顾热度和更新时间
如果每天有更新量很大的Feed流,同时大部分内容没有太大用户价值,这种情况下我们该怎么排序?这个场景其实也很常见,也是一些PM在实际工作中遇到的棘手问题。答案就是重力排序算法。
重力排序算法中,对于一个在Feed流中的内容而言,有两种力量:重力和拉力。重力是持续让内容往下掉的力,这个重力就是时间,因为新的内容会把老的内容刷下去;同时拉力则是让内容排序往前的力,比如知乎的赞,贴吧的回复。
这样的排序算法实现方式有很多,这里可以简单介绍一种,也是来自Reddit的核心排序算法:

H表示能代表内容热度的值:比如说收到的赞,比如说浏览量,也可以是综合类似的指标,加权求和得到的值。
T代表内容发布的时间,To代表一个时间的起始值,只要比最早发布的内容早就行了(比如用公司创立时间)。T-To 用来衡量一个内容的新旧程度,单位为秒,T-To 越大,则代表内容越新。
A也是设立的参数,A越大,T-To的影响力越小,则内容更新的越慢。一般而言初始值可以用36000,10个小时的秒数,后续不断迭代。
关于Feed流设计的两个核心问题,重力排序算法的回答是这样的:
应该展示给用户什么内容:用户表现出喜好的内容都推给用户,虽然用户不一定看得见后面的。

智能排序——双刃剑

Facebook使用智能排序之后据称效果拔群,于是我们看到越来越多的社交网络放弃使用Timeline排序,转入智能排序的阵营,国外的Twitter,国内的微博和知乎。
智能排序牵扯到复杂的模型构建和机器学习,这里只阐述下简单的原理。
首先,系统需要知道什么是一个内容被展示的目标值。比如微博,一个内容被展示的目标值是转发,评论,点赞的次数。那么通过大量的样本的机器学习,系统对于什么是好的内容会有一个预测。这个对于一个内容的预测,则是的智能排序的基础。
接下来,系统会屏蔽掉一些违规的内容,比如Facebook处罚标题党,知乎处罚抱团点赞。其次,为了用户内容的质量,系统会在用户的Feed中增加一些热门的内容。
最后,考虑内容和用户的亲密度、系统认为内容受欢迎的程度、内容时间衰减性等因素后,系统进行综合排序。听起来智能排序是一个很好的主意。但是,智能排序也是一把双刃剑。算法质量的高要求,导致一些技术比较差的公司,使用智能排序效果不佳。另一方面,因为智能排序的不透明性和扩展性,过度的商业化更是成为了用户体验的头号凶手。
有的内容因为用户买了粉丝头条而可以排在Feed流前面,有的内容只要有足够的推广费,可以绕过关注关系,呈现在用户面前。智能排序如果被过度商业化,那么Feed流的用户体验也会越来越差。

总结

Feed流的设计原理其实讲起来比较简单,如果需要成型的排序算法,也可以找到很多,但是更多的是,什么是真正适合的选择。如果选择Timeline的排序,那么就需要考虑用户关注的内容是否足够有吸引力。如果选择重力排序算法,那么就需要考虑该如何选择参数保证最后的展示效果。如果加入不断壮大的智能排序大军,那么就需要考虑是否有足够的技术实力和产品自制力。
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
相关推荐
  • 暂无相关文章
  • 评论 抢沙发