技术干货 | 闲鱼:一个优秀的 Push 平台,需要经历怎样的前世今生
编者荐语:
点击这里,了解 mPaaS 消息推送服务,快速集成多家厂商 Push 通道,有效提高用户留存率,提升用户体验。
以下文章来源于闲鱼技术,作者剑辛
对闲鱼用户来说,因为闲鱼商品库存只有一件,商品的时效性很强,因此当用户关注的卖家上新、浏览的商品发生降价或者平台为用户找到一批高性价比商品时,用户期望尽快被通知。Push 已经成为用户与闲鱼平台联系的重要纽带。
本文将以技术同学视角,介绍闲鱼 Push 从离线手工投放的 1.0 版本进化到智能个性化的 2.0 版本的发展过程,详细说明遇到的问题和技术方案选型,以期给读者带来一些思考和解决类似问题的思路。
闲鱼 Push1.0
当闲鱼 all in 无线后,平台需要把与用户相关的优质内容推送给用户,便于用户快速找到想购买的商品和感兴趣的内容。平台亟需一个 Push 产品化方案保证将优质内容以 Push 的形式触达到用户,提升用户体验。基于这样的前提,闲鱼 Push1.0 方案的主要思路如下:
计算 Push 用户名单
a. 计算与用户强相关的优质 Push 场景,根据场景得到用户名单
b. 垂直业务根据用户画像等条件,圈选业务的目标人群
2. 基于场景疲劳度过滤每个用户能发送的场景列表
对每个用户的场景列表进行全局择优,挑选点击率最高的场景作为目标场景
闲鱼 Push1.0 方案简单明了,流程清晰,而且离线流程方便监控告警和问题排查,满足当时的业务需求,上线后运行稳定。在很长一段时间内 1.0 方案的核心架构和流程没有太大变更。但随着业务发展,闲鱼 Push1.0 方案的一些弊端开始暴露,包括
Push 用户名单计算不够实时
消息卡片样式不够丰富
Push 触发时机单一
Push 场景比较少
这些问题最终导致 Push 点击率无法继续提升,触碰到 1.0 方案的天花板。为了解决这些问题,我们对闲鱼 Push 系统进行几个方面的优化升级,并最终重构了闲鱼 Push 系统。
闲鱼 Push1.1
为了给 Push 用户提供更好的用户体验,丰富用户 Push 场景,我们优先考虑从消息样式、触发时机和用户场景几个方面优化扩展现有闲鱼 Push 方案,优化项主要分为消息 feeds 流升级、Push 时间个性化、实时 Push 等。
消息 feeds 流升级
Push 会沉淀到客户端的消息板块,而消息板块也是用户进入闲鱼后浏览最频繁的板块之一,消息样式最开始只支持文本消息和图片消息,这类消息样式的问题是对用户来说有效信息曝光少、而且消息样式单一。为此我们对消息展示形式进行升级,通过 feeds 方式展示消息,提升有效信息曝光率,优化消息样式,打造消息板块的用户心智。feeds 流升级上线后效果明显,因为用户感兴趣的内容相比透出更多,UV 点击率和用户次留相对提升都很大。
第一条为 feeds 流消息,之后是图片消息,相对来说,feeds 流消息可以透出更多有效信息
Push 时间个性化
闲鱼 Push1.0 方案主要支持的是定时批量 Push,实际的运行情况是定时批量给目标用户发 Push。Push 触发时机比较单一,人为造成流量较为集中,增加系统稳定性风险;另外统一的触发时机并不适用于所有用户,存在对部分用户打扰的情况。
针对这种情况,我们优化了 Push 触发时机,由算法根据用户行为计算预测每个用户的触发时机。算法将用户相对平均的分在一天之中,在用户相对活跃的时间段将 Push 触达给用户,减少对活跃用户骚扰,也使得 Push 触达的用户群体分层更加合理健康。
实时 Push
闲鱼 Push1.0 方案主要覆盖的是用户相关离线场景,对用户实时行为产生的场景覆盖不够,而且这类场景较离线场景相比实时性更高,对用户来说相对更重要。针对这个问题,我们增加了对实时场景覆盖,将用户行为抽象成关系模型,以 IFTTT 作为系统整体触发机制。当关系一侧的用户行为发生变更后触发对另一侧的触达,这类场景实时性更强,和用户强相关,提升用户 Push 场景丰富度,增强用户粘性。实时 Push 场景上线后 Push 点击率相对离线场景提升 1 倍以上,具体技术细节可参考《闲鱼IFTTT》。
以上是我们针对闲鱼 Push1.0 的功能优化和增强,通过这些能力也扩展支持了更多场景和业务,最终组合在一起成为闲鱼 Push1.1 版本。
闲鱼 Push 的今生
闲鱼 Push1.1 整体上线后极大提升了用户 Push 场景丰富度和用户体验。随着对 Push 和用户理解的深入,我们发现还有优化提升的空间,包括:
平台视角不够,现有的优化更偏向点对点,需要从闲鱼 Push 平台视角将这些点连成线形成合力,产生 1+1>2 的效果
现有闲鱼 Push 流程的本质还是离线计算,算法无法进行更加实时的个性化和全局择优,对用户体验有一定影响
场景配置不够灵活,新增场景成本高,制约了丰富用户 Push 场景的进度
基于这些原因,我们最终对闲鱼 Push 系统进行重构和升级,打造闲鱼 Push 实时智能投放平台 Hermes。Hermes 取自希腊神话,他聪明(智能)、行动敏捷(快)、多才多艺(多种触达),最能契合闲鱼 Push 实时智能投放平台的使命愿景。
逻辑架构
Hermes 架构与闲鱼 Push1.0 完全不同,以实时为目标,在场景素材准备、算法全局调优和 Push 发送等关键环节实现实时或准实时,提升 Push 内容时效性;另外从平台角度出发,将 Hermes 分为配置中心、匹配中心和任务中心,各个子系统定义交互的数据协议,彼此没有强依赖。三个子系统的作用分别是:
配置中心
配置中心负责维护平台核心数据模型,给业务方提供页面操作配置 Push 场景和素材,降低业务方接入成本;并且把配置数据以离线全量和实时增量的方式同步给算法模型,作为匹配依据。
匹配中心
匹配中心又称为算法择优中心,匹配中心负责训练算法择优模型,根据场景和素材配置为每个用户个性化筛选,根据每个素材历史点击率数据排序,根据用户近期行为召回用户最有可能感兴趣的素材和个性化内容。
任务中心
任务中心负责 Push 触发时机和实际触达,任务中心核心支持定时触发、实时触发和时间个性化触发,目的是对 Push 触发方式收口,为不同的业务和场景选择不同触发方式,帮助业务实现业务目标。另外是对触达进行收口,方便平台编排触达计划,包括触发时间和发送量级,保证达到业务目标同时不会对 Hermes 和业务下游系统造成过大瞬时压力。
业务效果
Hermes 平台上线后效果非常明显,主要表现为:
Push 点击率相对提升达到两位数
用户场景覆盖量直接翻倍
Push 点击激活的 DAU 也超过历史最高水平
总结
本文介绍了闲鱼 Push 从前世离线计算的 1.0 版本,发展到多项功能优化的 1.1 版本,最终进化成今世的实时智能投放平台的全过程,其实闲鱼 Push 的每个阶段都契合当时业务发展需要,但对于用户体验的无限追求最终产出了闲鱼 Push 实时智能投放平台 Hermes。希望这种方式可以帮助读者理解闲鱼 Push 发展的业务背景和技术方案选型考量。
本文作者:闲鱼技术团队(剑辛 )
点击这里了解更多 mPaaS 消息推送更多详情。
版权声明: 本文为 InfoQ 作者【蚂蚁集团移动开发平台 mPaaS】的原创文章。
原文链接:【http://xie.infoq.cn/article/cffda929f3dc1e0c45f207f25】。文章转载请联系作者。
评论