Feed流设计:怎样用策略掌控用户视线?

2017年05月17日 人人都是产品经理



作者:潘一鸣

全文共 2144 字,阅读需要 4 分钟


—— BEGIN ——


早期的Feed流主要是把用户关注的内容以Timeline的形式展开。但是随着用户场景的丰富,Feed流也有了更多的变种。本篇文章主要讨论如何设计一个Feed流,以及Feed流背后的设计逻辑。


0.前言


首先,什么是Feed流?


Feed是一个互联网早期的概念,本意是RSS中用来接收信息来源更新的接口。


现在的定义比较宽泛,一般而言,持续更新并呈现给用户的内容都叫做Feed流。朋友圈是feed流,微博首页是feed流,知乎首页是feed流,各种门户的内容也是feed流。


换句话说,我们大量的在线时间和视线,实际上都被Feed流掌控。


早期的Feed流主要是把用户关注的内容以Timeline的形式展开。但是随着用户场景的丰富,Feed流也有了更多的变种。本篇文章主要讨论如何设计一个Feed流,以及Feed流背后的设计逻辑。


1. Feed流设计的要核心问题


之前提到,对于搜索而言,基本上是召回用户感兴趣的内容,然后进行筛选排序。其实Feed的设计也是如此。一个Feed流永远是在解决两个核心问题:


  • 应该展示给用户什么内容

  • 这些内容该怎么排序


不同的Feed流其实是在给出这两个问题不同的答案。不同的答案也没有绝对的对与错,更多的是场景是否合适。


2. 永恒的经典——Timeline


Timeline,一般而言,不对用户主动要求获取的内容进行筛选,同时所有的内容按照时间排序。最经典的案例就是朋友圈。关于Feed流设计的两个核心问题,微信朋友圈的回答是这样的:


  • 应该展示给用户什么内容:用户好友发的内容

  • 这些内容该怎么排序:按照时间先后顺序


Timeline简单的内容选取和排序非常易于用户理解,充满了极简主义的哲学:随时更新,吸引用户随时打开使用,而每次更新的部分都有限也保证了大部分用户不会错过任何消息。微信也用这个设计,获取了用户大量的时间。


既然Timeline有这么多优点,那么Feed流为什么还会迭代衍生出来其他的设计?


其实这里也牵扯到一个问题,Timeline有一个致命的缺点——内容呈现效率最为低下。需要内容提供方非常克制,同时也需要用户对这些内容足够关注。


微信朋友圈的内容是用户自己的个人展示,注定不会大量更新;同时选择都是基于熟人关系,能引起用户足够的关注。正是这两个原因,保证了朋友圈内容虽然效率低下,但是还是极具吸引力。如果动辄每天上千条陌生人更新的内容,使用Timeline的形式呈现出来,想见一下,这是一个多么缺乏思考的设计。


2. 重力排序算法——兼顾热度和更新时间


如果每天有更新量很大的Feed流,同时大部分内容没有太大用户价值,这种情况下我们该怎么排序?这个场景其实也很常见,也是一些PM在实际工作中遇到的棘手问题。


答案就是重力排序算法。


重力排序算法中,对于一个在Feed流中的内容而言,有两种力量:重力和拉力。重力是持续让内容往下掉的力,这个重力就是时间,因为新的内容会把老的内容刷下去;同时拉力则是让内容排序往前的力,比如知乎的赞,贴吧的回复。


这样的排序算法实现方式有很多,这里可以简单介绍一种,也是来自Reddit的核心排序算法:



其中:H表示能代表内容热度的值:比如说收到的赞,比如说浏览量,也可以是综合类似的指标,加权求和得到的值。


T代表内容发布的时间,代表一个时间的起始值,只要比最早发布的内容早就行了(比如用公司创立时间)。


T-T0用来衡量一个内容的新旧程度,单位为秒,T-T0越大,则代表内容越新。


A也是设立的参数,A越大,T-T0的影响力越小,则内容更新的越慢。一般而言初始值可以用36000,10个小时的秒数,后续不断迭代。


关于Feed流设计的两个核心问题,重力排序算法的回答是这样的:


应该展示给用户什么内容:用户表现出喜好的内容都推给用户,虽然用户不一定看得见后面的。


这些内容该怎么排序:按照时间衰减因素和内容受欢迎程度综合排序。


3. 智能排序——双刃剑


Facebook使用智能排序之后据称效果拔群,于是我们看到越来越多的社交网络放弃使用Timeline排序,转入智能排序的阵营,国外的Twitter,国内的微博和知乎。


智能排序牵扯到复杂的模型构建和机器学习,这里只阐述下简单的原理。


  • 首先,系统需要知道什么是一个内容被展示的目标值。比如微博,一个内容被展示的目标值是转发,评论,点赞的次数。那么通过大量的样本的机器学习,系统对于什么是好的内容会有一个预测。这个对于一个内容的预测,则是的智能排序的基础。

  • 接下来,系统会屏蔽掉一些违规的内容,比如Facebook处罚标题党,知乎处罚抱团点赞。

  • 其次,为了用户内容的质量,系统会在用户的Feed中增加一些热门的内容。

  • 最后,考虑内容和用户的亲密度、系统认为内容受欢迎的程度、内容时间衰减性等因素后,系统进行综合排序。


听起来智能排序是一个很好的主意。但是,智能排序也是一把双刃剑。


算法质量的高要求,导致一些技术比较差的公司,使用智能排序效果不佳。另一方面,因为智能排序的不透明性和扩展性,过度的商业化更是成为了用户体验的头号凶手。


有的内容因为用户买了粉丝头条而可以排在Feed流前面,有的内容只要有足够的推广费,可以绕过关注关系,呈现在用户面前。智能排序如果被过度商业化,那么Feed流的用户体验也会越来越差。


4. 总结


Feed流的设计原理其实讲起来比较简单,如果需要成型的排序算法,也可以找到很多,但是更重要的是,什么是真正适合的选择。


如果选择Timeline的排序,那么就需要考虑用户关注的内容是否足够有吸引力。


如果选择重力排序算法,那么就需要考虑该如何选择参数保证最后的展示效果。


如果加入不断壮大的智能排序大军,那么就需要考虑是否有足够的技术实力和产品自制力。


重要的是思考清楚两个问题:


  • 应该展示给用户什么内容

  • 这些内容该怎么排序


Don’t waste life in doubts and fears,just make a choice.


—— END ——


本文由 @潘一鸣 原创发布于人人都是产品经理。未经许可,禁止转载


点击“阅读原文”下载APP

收藏 已赞