闲鱼触达平台的大杀器-HermesX-阿里云开发者社区

开发者社区> 闲鱼技术> 正文

闲鱼触达平台的大杀器-HermesX

简介: 基于用户+基于行业+免打扰
+关注继续查看

作者:闲鱼技术——之诚

讲讲上下文

如果你是公众号《闲鱼技术》的老粉,也许你还记得,在去年的那个春天,我们给大家介绍了闲鱼PUSH的前世今生,给大家带来了Hermes-爱马仕,它是一个基于PUSH的用户运营系统。在接下来的一年里,我们的Hermes也发生了很多改变,它收到了很多很多热心用户的建议、吐槽还有宝贵的夸赞,我们也基于这些信息做了很多的优化,还有很多正在陆续上线。今天我想借这个机会和大家伙唠唠我们今年的进展(爱马仕升级啦!)

<img src="https://gw.alicdn.com/imgextra/i4/O1CN01bPW8ib21AOyF9kgtb_!!6000000006944-0-tps-1024-680.jpg" width="500">

过去这一年

作为一个技术同学,我想从三个视角给大家介绍一下目前闲鱼的推送还有哪些地方需要加把劲儿:

用户宝宝们:推送的内容相关性需要再提升,“有些时候推给我的东西感觉还是没啥兴趣”,“有些时候推送是不是发的有点多了,我其实最近不太想看推送,你说我关通知吧,我还想收到私聊或者订单的通知,不关吧,有些推送我真的不想收到啊”

业务大大们:“现在的闲鱼业务这么丰富,潮品、同城、社区....,但我们和目标用户连接不稳定啊(因为我们的Hermes系统是选择最好的内容给用户,每次推送可能都不一样,并没有稳定的通道直接连接用户和行业),这样推送带来的转化不够啊;而且我们希望用户的长留要好,不能光看短期点击的”。

头秃的我:作为Hermes平台的技术owner,我发现系统确实需要升级了,随着触达业务不断复杂,技术架构无法完美支持丰富的业务场景,而且当问题出现时,现有的技术链路无法全链路复现当时的问题。

So!这些问题怎么解?

打仗得有战略

我们要做的是:

To 用户宝宝:
• 只关注自己感兴趣的推送,不开心随时取关,免打扰,删除,怎么都可以。
• 推送的疲劳度全局管控,你喜欢多看就多发给你,不喜欢就不发给你。

To 业务大大:
• 有没有一种产品形态可以建立业务和用户稳定的连接和转化呢

To 自己:
• 技术如何帮助业务提效
• 如何更快更全面的排查问题
• 如何灵活的支持更复杂的业务

总结一下:我们需要探索一种新的推送形态,保证与用户的有效连接,基于这种连接推送用户感兴趣的内容,并且要优化发送频率和时机,只有这样,用户才会更喜欢看我们推送的内容。

所以,我们今年建立了闲鱼的服务号体系

<img src="https://gw.alicdn.com/imgextra/i1/O1CN015BwRKG1Rtu9mGcNsj_!!6000000002170-0-tps-592-1280.jpg" width="200"><img src="https://gw.alicdn.com/imgextra/i2/O1CN01oIjpNc1aEWuvMRIj3_!!6000000003298-2-tps-209-452.png" width="200">

它的特点是:

• 基于用户兴趣的推送
• 基于行业的私域运营
• 免打扰全局管控机制

服务号推送的粒度更细,按照用户兴趣和行业之间的关系进行了重新的映射,产生了多种多样的服务号,大多数服务号只给自己的粉丝推送消息,你喜欢就关注,不喜欢就bye bye。

接下来,让我们一起走进服务号背后的大杀器,HermesX-闲鱼一站式用户触达系统
这是《HermesX一站式闲鱼用户触达》系列文章的开篇,更多的是承上启下,给大家介绍一下各个方面的概况,在接下来的日子里,我们会通过其他文章详细介绍一些关键的技术实现细节。

战术布置

战术1:整合目前闲鱼所有触达逻辑

去年的Hermes在触达时机,触达内容上已经做了很多优化,但依然无法有效的串联所有的触达系统(由于历史原因和业务诉求,闲鱼现存了多个触达平台),所以HermesX做的第一件事,就是整合所有平台,将链路进行归一,这样做最重要的目的是,对所有触达用户的内容进行统一管控,不光是内容上的择优,还包括了频次的控制和策略的下发。

<img src="https://gw.alicdn.com/imgextra/i3/O1CN01ESXanf1c1MlVGrdFk_!!6000000003540-2-tps-219-223.png" width="130">    <img src="https://gw.alicdn.com/imgextra/i1/O1CN01Dd5MGo28hYxbeFUmp_!!6000000007964-2-tps-339-225.png" width="200">


 
这里面技术的挑战在于如何抽象出统一的模型,定制统一的协议,以及对不同的推送类型做集中逻辑处理。由于推送的业务模型天然拆分为五个要素(who、when、what、how and where),如下图:

<img src="https://gw.alicdn.com/imgextra/i2/O1CN0109ZLQh272yF92gRBG_!!6000000007740-2-tps-649-441.png" width="500">

可以把串联五个要素的服务抽象为HermesXFlowService,每个要素作为一个HermesXFlowPoint的实例,HermesXFlowPoint明确知道执行逻辑的先决条件,具体执行逻辑以及执行后的检查工作。

<img src="https://gw.alicdn.com/imgextra/i3/O1CN01Uk35rK1gvw9Hr3mHk_!!6000000004205-0-tps-986-832.jpg" width="500">

这样的设计解耦了每一个触达要素,HermesXFlowService可以动态加载各个要素,根据推送的类型,不同的推送可以在各个要素节点有自己的实现逻辑,灵活实现但依然受到整体控制。
同时,由于触达策略和触达规则是一对多的关系,在触达规则这个模块,我们把多个规则进行动态的串联,通过FIlterChain的方式来进行规则的判断,使得代码结构非常清晰,排查链路简单明了。

<img src="https://gw.alicdn.com/imgextra/i1/O1CN01peohOQ1FqRm57Svsm_!!6000000000538-0-tps-506-454.jpg" width="500">

在触达通道侧我们对不同的通道进行了协议的抽象,可以根据配置信息灵活调度。
最后送上HermesX的架构大图,有兴趣的朋友们可以和我进行深入交流:

<img src="https://gw.alicdn.com/imgextra/i3/O1CN01o7qTbM1NWJI2EMEf4_!!6000000001577-2-tps-4459-1944.png" width="700">

战术2:内容召回优化,提升内容相关性

搭建好了工程链路的底子,现在可以把丰富的信息送到算法的嘴边了,先别急,借着这次重构,算法的小伙伴们也进行了基础建设能力的增强,之前由于热点时刻发送请求量巨大,导致算法的实时计算服务(TPP)经常超时。通过一系列的代码优化以及配置优化,并且对用户触达时间进行削峰,算法性能取得了显著的优化:
• 全天异常量降低35%
• 非高峰期异常降低90%
• 计算资源消耗减少65%
• 峰值接口耗时减少69%
基建优化之后,开始着手提升内容的相关性,发掘一些好玩的素材,扩充内容池。这里算法首先0-1建立了多体系内容投放系统,将用户在闲鱼端内的行为数据进行特征归类,分为多个场景,融入到模型中学习。举例来说,如果用户A喜欢逛社区,那A很有可能会有大量的帖子相关的内容,但哪个帖子用户A更感兴趣,需要算法根据帖子的特征进行大量的样本学习,从而算出该用户和他喜欢的帖子之间的匹配程度;其次,算法在内容的生产上,也尝试了通过热门搜索词匹配感兴趣的潜在用户群体,并通过自动化的链路将内容素材给到业务同学,业务同学根据该素材的相关数据,来进行进一步的修订和校验。(智能化文案的生产和全自动化推送需要更精准的匹配和文案的打磨,目前机器学习的推荐依然需要人工校验,确保没有负向风险)

在召回侧,从端内行为利用不足、trigger较单一、X2I覆盖不足,到构造11路X2I召回、补充数十亿x2i关系,算法极大的补充了内容召回的不足,为更充裕的内容择优提供了坚实的保障。

战术3:用户体验优化,客户端算法齐发力

HermesX整合的最重要的意义之一,就是对推送的发送频率进行统一控制,也就是疲劳度。系统设计了四层疲劳度,分别为用户级别的疲劳度、策略维度、素材维度和实际内容的疲劳度。进行全局收口后,工程侧统一把每天要给用户发送的不同类型推送统一给到算法侧,算法侧会预测该用户每日接收推送的个人喜好以及兴趣度,如果预测发现该用户不适合多条推送,算法会在产品推送的基础上不发送营销内容给用户,降低用户被打扰的次数;如果用户对服务号的内容感兴趣,算法可能会推送多于普通用户的条数。同时,工程侧也将发送PUSH和发送端内消息进行了分离,算法决策的粒度变为了主要发端内消息,PUSH为辅的策略,因为PUSH对用户是一种相对较强的通知方式,当算法预测该用户大概率今日会访问闲鱼的时候,发送消息就可以触达到用户。

我们还对N天不点击推送的用户添加了静默期功能,当用户长时间不点击推送内容,我们会在一定时间内不发送任何营销类推送给该用户,保持最低限度对用户的打扰。其次,如果算法发现某个发送内容点击和用户行为效果不好(点击率低,落地页用户行为少),说明这个内容对用户帮助少,那么我们会对这些内容进行降权甚至不发送相关的内容。

在端侧体验方面,客户端小伙伴将会话模型进行了重构,按照服务号粒度进行了拆分,支持更细粒度的运营订阅服务,用户可以随时取关或者静音某个服务号的推送,这样的设计方便后续我们更灵活的组装众多的服务号会话类型。

<img src="https://gw.alicdn.com/imgextra/i2/O1CN01a1WPdf1P6mRW02VUc_!!6000000001792-2-tps-1170-2532.png" width="200">       <img src="https://gw.alicdn.com/imgextra/i3/O1CN01NBW7MG21a39Xy1oYF_!!6000000007000-2-tps-1170-2532.png" width="200">


 
同时,为了丰富端上信息展示的样式,我们跟随服务号一期项目,同时新开发了多种消息卡片样式,这些卡片支持DX卡片动态下发内容,不需要跟版本发布,提升了需求迭代的效率,提升了用户获取内容的效率和体验。

<img src="https://gw.alicdn.com/imgextra/i4/O1CN01YyXdD91dBjLNPqESC_!!6000000003698-2-tps-752-453.png" width="500">

 
最后,悄悄地说,如果你点击进入了服务号,你会看到更多菜单内容以及和服务号聊天的功能,这个功能希望业务同学作为服务号的owner,可以给他们一个直面用户的通道,可以在自己的私域内和自己的粉丝进行交流,收获建议或者回答问题,多倾听用户的声音,反复打磨优化自己的服务号内容。(这么好的功能我们还在紧锣密鼓的开发中,不久就会上线,大家敬请期待呀)

战术4:全新交互的管理后台,运营效率杠杠的

说完了HermesX对用户侧的改进后,让我们也来讨论一下HermesX的另外一个”用户“-业务小伙伴们。如何帮助业务小伙伴们提升策略的配置效率,洞察更多的机会,是技术平台义不容辞的责任。HermesX天然的基于触达五要素的设计,从管理后台角度,也按照了自然思维配置触达策略和触达内容,如下图:

HermesX管理后台示例1

对比之前,配置一个策略多个内容要跳2-N个页面不等,现在在HermesX上面一个页面就可以全部搞定,业务同学可以看到策略相关的所有内容和策略对应的元数据信息,交互体验非常顺畅。

同时,新的管理后天对策略进行聚合,新增了场景的概念,这样的设计正好映射了服务号的产品理念,将相关的策略进行分组,不同的场景目标不同,所以设定场景目标,将转化目标和具体的每一个策略挂钩,据此来评估策略的效果,方便同行业的同学直接查看相关素材,有些时候自己创建的内容不好了,抄抄作业获取一下灵感也是极好的。

HermesX管理后台示例2

我前面提到了,HermesX管理后台不光全面升级了交互流程,还设计了丰富的数据看板,业务同学可以通过首页的dashboard 看到自己管理的策略的多维度表现情况,还可以和大盘的基本面进行比较,发现自己策略所处的位置,举例说明:我们给业务提供了大盘策略点击率、落地页、最终转化等排名,大家可以看到对用户效果好的策略都是什么样子;同时我们会对owner管辖的策略对用户的各项数据进行可视化展示,让业务知晓自己的策略覆盖了多少用户,不同用户的策略交互效果如何。后续我们计划引入对用户的更加细致的分层,帮助业务分析自己策略的特点,更好的帮助到不同维度的用户。

HermesX管理后台示例3

整套交互后台的技术方案,前端小伙伴都是基于一套中后台方案快速搭建起来的,数据和交互解耦,完全的数据模型驱动,交互组件高度可复用,这样的设计方便了以后内部运营系统的开发,可以实现多租户,高效解决同质需求。

阶段性总结

说了这么多,总结一下,今年HermesX系统的搭建:
• 营配置效率提升至少一倍
• 长期留存目前AB实验效果都有超过30%的提升
• 通知推送关闭的降低,APP卸载的下降有明显的收益
希望大家对今年的HermesX有更多的期待,现在有些功能还在开发中,陆陆续续会和用户见面。推送业务很不好做,我们一直在努力做的更好,希望今天介绍的这些小功能,有真的可以帮助到我们的用户,让他们获取更及时,更有效的内容。

前方的路

这仅仅是开始,今年的战役我们打响了第一枪,后面道阻且长,下一步的计划是:
• 进一步优化内容供给池,扩充内容的供给,并且细粒度的拆分内容场
• 更多维度的人群特征预测,精细化运营推送人群
• 服务号我们会进行更多更好玩的功能迭代,这里我先卖个关子,到时候大家就看到了。
我们的用户如今规模庞大,大家有着各自的兴趣和用户习惯,作为和用户连接的直接通到,服务号体系需要承担更多的使命和责任,作为支持服务号背后的技术平台HermesX,会不断沉淀自己,和业务一起服务好我们的用户。还是那句话,服务好我们的用户,是闲鱼触达的唯一愿景。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6911 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4479 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7751 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9425 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
16821 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
1131 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3227 0
+关注
闲鱼技术
阿里巴巴旗下,闲鱼技术团队官方账号 简历投递:guicai.gxy@alibaba-inc.com
251
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载