UGC与算法|2017行业产品FEED流产品设计,我是如何落地UGC信息流?
作者:FancyPig | 发布时间: | 更新时间:
对于FEED,这是一个UGC的必备属性,产品经理需要不断的学习和思考根据自己的产品业务属性、产品定位来制定相应的算法,但市面上大部分的产品对于FEED的把控依旧不够。
UGC的核心—FEED
由于工作原因,近期正在负责公司产品UGC模块设计,尤其是经过需求的开发挑战、BOSS挑战,产品经过一轮评审、二轮评审之后,产品的需求逐渐落地下来。最近在负责产品UGC模块,以及FEED的相关算法。 UGC社区,无论是在PC端还是移动端,其最重要的就是信息流展示,其信息流的展示方式和排序方式是我在调研的重点,这里提出广场、热门两个概念,可作为覆盖UGC模块的基本属性模块。 提到UGC模块,产品经理在进行落地设计首先需要考虑的是用户的社交关系,这一点在不同产品中,有弱、有强的倾向。 产品经理在进行UGC模块设计之前,首先搞清楚其产品用户社交关系、以及产品社交定位的强度。01 用户关系与内容源
大多数UGC的分类,都会将UGC进行内容以用户角度与平台角度分类,推出相应内容,当然在如今的智能个性化推荐中,平台还是既能够保证平台需要曝光的内容进行展出,也需要曝光的内容是用户需要的内容。平台内容的分类
用户内容
平台与用户如何达到一个共节点,这是PM设计UGC中FEED流的关键,什么是FEED?做PM的朋友可以自己百度,这里我就不详细解释了。 这里提出一个内容源概念,在UGC设计中,在当前社区或论坛的模块中,其信息的来源有那些?将系统、运营人员、用户的三种角色的内容进行区分,我们可以将FEED的内容进行罗列。视频类
签到类
系统类
QQ将系统内容、用户内容、用户签到行为的内容进行区分,毫无疑问将内容的有效性大大提供,每个FEED的核心字段进行提取,方便了运营与用户的玩法。02 广场与热门
FEED的内容源与区分既然上面说了,下面就是FEED的集中展示了,这里我以常见的广场与热门来举例。- 广场:所有消息的集合,系统、运营、用户消息集合(常见的),(不排除因产品定位不同,有将系统、运营、用户消息部分过滤)
- 热门:根据算法将热门的内容以热门从高——低进行排序,或以用户活跃进行排序等(将特点权重的属性进行排序)
广场舞APP中最新发布与热门
因此FEED的分类,需要注意的是在不同的分类其涉及的算法就不同,或者以同一个算法满足所有分类,其最简单粗暴的就是目前热门的智能推荐系统,不管你是那个版块,FEED的分类是怎么样,都可以尽可能的去推荐,满足让用户看到他需要的内容。- 以UGC模块为例,其典型的案例就是群聊与社区的模块是关联的;
- 以证券类产品来说,其锦囊与观点的产品线是相同的。
模块的关联与产品的关联
这里需要重点说明的,其模块的关联与产品的关联,产品经理往往一个人没办法全局打量,建议和几个产品经理或LEADER一起脑暴一次,将所有可能会存在的关联点进行列举,这样才能保证FEED流能够流到各个地方。 每一个路径就是FEED流可能流动的地方,其能流动的地方都会有用户存在,仅能可能满足用户的所有对FEED的需求,除了依靠算法,其产品的关联与生态尤为重要。 FEED的功能关联,这里说一下,如果有数据体系支撑,建议通过将模块、产品建立在数据漏斗、热力图进行分析,用数据驱动,会帮助产品人少走一些弯路。03 FEED流算法与设计
这里就是本次分享的重点,FEED流的算法和设计落地,在这里首先抛出几个FEED流典型的产品体系和算法以及2个关键词- UGC产品体系:强社交体系、弱社交体系
- 算法:重力排序法、时间排序法、智能推荐排序法(概述)
- 关键词:未读池、FEED存储区
重力排序法
首先重力排序法还是依靠时间进行FEED拉去,在这里根据时间的从近到远,依次将FEED进行拉去展示,这就是重力;权重标签,这里可以是指的是FEED的权重标签,可以是内容的、也可以是针对产生FEED的对象;- 比如针对内容:点赞、阅读、转发…
- 比如针对对象:关注好友、好友活跃度、好友粉丝度排序
基础信息的采集
智能推荐系统通常会有一个智能推荐引擎,其中引擎就是各种算法的结合,系统将基础的信息采集后会分别进入相应的采集库,通过引擎将平台中的内容推荐给与相应的用户,这一点在行业中今日头条一直处于领先。推的模式
拉的模式恰恰相反,类似与新浪微博的形式每用户下拉其将其FEED存储区的FEED拉进来,而不是全部获得存储区的FEED。FEED存储区
这里说到FEED存储区,就要引入未读池的概念,如何在高并发量以及高量FEED产生的情况下,保证用户能够索取到想要的内容?FEED存储
这个就是FEED的存储方式,将其FEED存储在数据库中,我们以最近的FEED、近期FEED、比较长期的FEED,3个时间区进行存储。 刚才上面说的关于重力排序法中,时间段的区分,就是在这里进行时间区分,其中这个时间刷新我列举了3个小时、1天、7天,但这个时间段产品经理应该利用自己的数据分析能力,将其UGC社区中的FEED量进行统计,预算出其可行的FEED时间划分段。
未读池FEED
这样的FEED产生之后,其在未读池中,FEED可能会出现永远都不可能被用户阅读到,系统通过之前我说明智能推荐算法,将其认为的垃圾FEED或无效FEED永远不上传给予用户,因此这套机制就能够解决高并发量的情况下,给予用户有效的FEED。
但这里也会存在一个问题,因为FEED的产生有时间属性,因此用户在拉去FEED是的时候会发现有一些FEED因为不具备时间轴的顺序,本来昨天发生的事情,今天才拉去出来。让用户产生摸不着头脑的感觉。