绝大多数的应用,都采用了列表页和详情页两层结构设计。
用户打开应用,首先看到的是列表页,基于页面内卡片所呈现出的摘要信息进行快速筛选决策,然后点击进入详情页进行后续的消费行为(如阅读、观看、购买、资讯等).
在这样一个大用户量、高曝光量的列表页场景下应用推荐,就让我们一起聊聊列表页推荐的“屏效”。
在线下业态中,有一个专有名词叫做“坪效”,指的是每坪的面积可以产出多少营业额(营业额/专柜所占总坪数)。为了改进坪效,线下的卖场会基于消费者的动线定期调整店铺布局、品类推头分布等等,通过时下热门的商品促销进行引流,在用户的动线过程中拜访相关商品和高毛利商品从而促进销售额的提升。
当线下迁移到了线上,坪效的计算逻辑依然成立,只是“坪效”或许可以改称为“屏效”。我们借由手机屏幕的方寸之地构建起一个线上的虚拟空间,对于这个虚拟的空间,我们同样追求通过有效的的迭代,能够让用户尽可能多刷(类比线下尽量多逛),在刷的过程中产生尽可能多的有效行为(类比线下尽量多买)。
如何有效提升列表页屏效呢?两个切入点:底层排序逻辑,表层展示逻辑。
底层排序逻辑
列表页内容究竟该如何排序?
一个直观的想法:基于业务的核心指标,将围绕用户计算出的个性化结果按照打分进行降序排列。
可随之而来的问题是,既然我们是按照打分降序排列的,那是否意味着从列表页第一个位置开始,内容一个不如一个、一屏不如一屏呢?
从理论上来说,的确如此。
在没有引入额外变量的前提下,系统给特定用户产出的排序结果应该是稳定的。如果我们的推荐算法对于用户的点击预估相对比较准确,那么从点击概率上来看,确实应该一个不如一个。
但在实际场景中,我们可以利用的变量,至少有两个:用户行为的变化、对侧供给的变化。在我们系统算力足够强的情况下,可以对这两个变量进行即时的响应和反馈:
当用户进行了有效的消费行为后,该行为就应该被作为输入数据及时反馈给模型,从而基于新的行为数据计算出新的推荐内容;
当系统有了新的供给之后,用户的刷新操作就可以触发一次重新计算,将新产生的内容纳入到排序当中。
当然,如上只是理想态的讨论。
理想有多丰满,现实就有多骨感。对于绝大多数公司和业务而言,我们的系统并没有足够多的资源和算力来支持高时效性的反馈,就势必需要从产品机制上做出折衷与妥协,以规则干预的方式来提升用户体感。
比如,离线计算出内容A和内容B之间的相关度,当用户点击内容 A 的时候,以看了又看的理由推荐内容 B。又如,针对时效性的内容单独增加一个通路,针对一个小的资源池进行单独计算,从而使得这些内容能够更快速的呈现在用户的列表上(类似于在搜索引擎中的时效性结果处理)
虽然逻辑上是按照打分降序排列的,但我们从实际的结果中常会看到这样一种现象:首屏第一个结果的点击率往往还不如第二屏结果的点击率高。是我们的推荐系统出错了么?
推荐系统没错,只是我们对于用户太过乐观了。
就像是线下卖场每天有很多顾客进入卖场后又转身折返一样,线上应用每天也有很多无行为用户。他们或许是被 Push唤醒,或许只是无目的打开应用。在打开应用后,并没有进一步的有效操作(无论是刷新、上滑还是点击)。无行为用户的存在,使得首屏信息的曝光量中有很大一部分是无效曝光,从而增加了点击率统计的分母,使得首屏的第一个结果不如第二屏第一个结果的点击率高。
在建设数据报表时,我们也应当将这些无行为用户从统计过程中过滤出去,从而能够得到更有参考价值的用户报表和数据累计。
在实际操作中,除了按照个性化打分逆序这个基础原则外,列表页还承载了许多业务需求,如用户时长、商业变现、兴趣探索、流量照顾种种,这使得列表页推荐变得愈发精细化起来。
首先,是用户时长和商业化变现的平衡。
皮之不存毛将焉附,我们首先追求的用户多刷多用,在保证用户时长和留存的基础上,再增大商业化内容的比例,这就使得各家应用里,新用户的体验或者是老用户每天前几刷的体验相对来说是更加用户导向、更加友好的,随着用户行为密度的提升、留存的增加,我们也就可以越来越多的插入商业化相关的内容。
其次,是兴趣探索和流量照顾的平衡。
在明确指标导向的前提下,推荐算法已经给出了当下算力所能支持的最优解,干预这个结果进行用户兴趣的探索和特定供给的扶持照顾一定是对指标有损的,这一点是毋庸置疑。决策的逻辑仅在于,这个损失我们短期是否可以承受,长期是否有回报。
一个典型的例子是某公司提到的知识视频、国粹文化视频扶持计划,PR 稿中号称投入了千万流量。在光鲜亮丽的扶持计划之下,隐藏的则是该公司的人均时长已经超过了1.5小时,在这样的人均时长的基础上,即便损失几个视频播放,也不会对用户留存产生任何的波澜。
列表页是用户的主入口与主场景,当各种业务需求都抛出来的时候,大概率会插入到列表页来承载实现,所以,我们需要更仔细的平衡新老用户的体感、平台的短长期利益,从而做出更好的权衡。
表层展示逻辑
在排序逻辑已经确定的情况下,想要进一步提升屏效自然有赖赖于交互样式的设计和迭代。
在研发资源充沛的情况下,迭代列表页交互最省力的方式就是“借鉴+AB”。
一方面,在设备(手机、Pad)短期没有快速颠覆式变化的大背景下,无论是图文、视频、商品信息等,都有了相对成熟的范式交互方案,我们所做的工作更像是积木搭建而非重新创造。另一方面,如果我们所处的行业已经是相对成熟的市场,那么同行业内竞品所采用的方案本身,也在帮我们持续的教育着目标用户。
通过快速学习借鉴竞品或行业领先者的交互方案构成候选集,以 AB 实验的方式筛选和收敛实验方案,就能够帮助我们达到一个还不错的水平。
有个段子,我在某司工作的时候,对于列表页交互样式的迭代,半年的时间就已经到了 V18(第十八个版本),而更为奢侈的是,V17和 V18是并行开发的,也就意味着自打立项那一天起,就已经有预判要舍弃一套交互方案了。
而在研发资源不那么充沛的情况下,就还是得审慎的前置思考以避免浪费研发资源了,一个参考思路是:“点要找准、字要放大、数要做正”。
点要找准:在产品的服务场景下,用户真正关注的信息要素是什么?
比如,对于健身计划来说可能是锻炼的部位、时长和难度系数;对于外卖服务来说,可能是菜品口味、送达的时间和价格;对于内容来说,可能是核心主题等等。
为了帮助产品运营同学找到真正有价值的信息要素,可以通过观察在平台上自然效率比较好的内容、商品和同品类内容、商品的差别,去看看说它们在标题、封面上突出了什么信息要素,是否是你可以抽象出来的;也可以切实访问、观察一些用户,观察他们的偏好究竟是什么。
字要放大:如何将重点的信息以更有说服力、更显著的方式呈现出来?
找到了用户真正关心的信息要素,那么接下来就需要以适合它们的方式展示出来。在做信息呈现的时候,很多产品经理往往容易陷入逻辑合理性的窠臼,尽可能将信息按照逻辑结构分门别类的呈现。可是,用户是没有逻辑的,那些结构合理的灰色的标签、缩小的图标,对于绝大多数的用户来说都是视而不见的。
曾经做过一个有趣的实验,将对照组在标签上呈现的信息直接拼接到实验组的卡片标题里,整体的点击率就正向了。从卡片信息量的角度,实验组和对照组并没有差别,但是,考虑到信息呈现方式的差别,实验组对于标签信息的接收效率,显然更高了一些。
数要做正:形式 永远需要为内容服务,内容永远需要为结果服务。
在设计列表页的卡片交互时也是如此,所谓的逻辑结构不重要、产品经理或设计师的理念坚持不重要,真正重要的,是在调整交互之后,数据指标能够呈现正向改进的趋势。这,才是我们追求样式迭代的目的所在。
一个典型的例子,经典的逻辑认知里是应该有历史记录存在的,当用户翻页的时候,能够看到曾经看到的历史内容。但是,如你所见,在很多信息流应用里无论是下拉还是翻页,都会触发刷新的操作。这样的交互或许不符合你我作为产运设计等等“深度用户”的消费习惯,但是这样的交互从全局数据统计上来看,是最优的。绝大多数的用户不需要历史记录、不需要收藏、不需要高级设置。
在进行列表页交互样式迭代的过程中,要时刻谨记:我们在提供的是商品而非艺术品,迎合目标受众的诉求才是绝大多数场景下的最优解。就像是大呼小叫的电梯广告,存在或许意味着潜在的合理性,作为产品的设计者,更应该尊重客观规律而非主观偏好。
当然,交互样式的调整,因为影响了信息的传达,往往会传导到点击分布的改变,从而影响到推荐系统的输入数据和输出模型。这也就是为什么,当平台更新了交互样式之后,平台上的商家和媒体需要适配的原因所在。
优化底层排序逻辑,迭代表层展示逻辑,我们才能够打造出一个繁荣的线上应用,既有人场,又有钱场,构建出更好的列表页屏效。
2022-08-23 10:57