背景

  在Omega实时触达系统的系列技术文章中,已经对行为采集中心、CEP规则中心、用户触达中心三个子系统进行了详细介绍。Omega实时触达系统的核心能力是基于用户行为实时推送给用户感兴趣的内容,但是频繁的触达对用户体验是巨大的伤害,因此,对于一个实时触达系统,如做到对用户友好的触达,是一个十分关键的问题。

  常见的优化方式有触达素材的择优和疲劳机制的控制,本文会主要介绍在用户触达疲劳控制方面,我们是如何设计灵活精细的疲劳控制策略去处理在触达过程中对用户造成打扰的问题。

实际遇到的问题

  在用户触达中心的设计上,我们采用了灵活的可插拔设计,每个业务可以根据自己的需求配置不同的过滤器组合,但接入的业务都必须配置疲劳控制策略来避免对用户的打扰。在接入早期疲劳控制能力的业务中,我们发现某些用户会在相邻两天收到相同的触达内容;在一个周期允许触达多次的场景中,某些用户的触达时间比较集中。这些问题会对用户造成一定的打扰,会影响到用户的使用体验,可能导致用户屏蔽通知甚至是卸载app。

用户触达中心

metaq:是阿里内部使用的MQ框架;

hermes:为Omega提供素材管理与择优的能力;

定位原因

  在疲劳机制1.0版本的设计中,我们使用了疲劳窗口的概念,疲劳窗口的时长即为疲劳周期,每个业务拥有各自的疲劳周期。如下图所示,由于疲劳周期的划分起点是相同的常量,因此,每个时间点都可以根据业务的疲劳周期换算出对应的疲劳窗口,进而实现对业务疲劳的控制。

疲劳机制1.0

  出现相邻两天收到相同触达内容的原因是因为在疲劳机制的设计上,疲劳周期一旦确定,每个疲劳窗口就随之固定下来,两个疲劳窗口是紧邻的,分属两个疲劳周期的触达就可能先后两天成功触达;另外,在动态调整疲劳周期时,原有的疲劳数据会瞬时全部失效,这也会导致用户短时间内收到相同的触达内容;而在一个周期允许触达多次的场景中,存在触达可能比较集中的问题,是因为用户在某段时间的操作多次触发了业务规则,而疲劳机制中没有对触达间隔进行限制,最终会出现某些用户的触达时间比较集中的问题。

新疲劳机制的设计

  在通用的用户疲劳度设计中,大多会根据系统承载业务的特点,进行分层处理多维度控制,以满足不同场景的需求。比如,某些营销投放系统,其对应的是投放展位,它将疲劳控制分为:展位、方案、单元三层进行控制。其中,一个展位可以投放多个营销方案,而一个营销方案则包含多个投放广告,营销投放系统更关注的是展位的疲劳控制,业务方关注的则是营销方案的疲劳控制,分层控制有利于多方疲劳控制的协调处理。

  在疲劳机制2.0的设计中,我们参考了这种设计理念,对于实时触达系统的核心是用户在哪些场景下触达哪些业务。其中实时触达系统更侧重于用户和场景的控制,因此根据不同的控制维度划分出了三个疲劳控制维度:

• 用户维度:用户每日可接收触达的总次数,默认必须校验;

• 场景维度:每个场景可触达的次数,用于不同场景域的控制;

• 业务维度:每个业务自己的疲劳频次,提供n天m次最小触达间隔t秒的能力;

疲劳机制2.0

  对于相邻两天触达相同内容的问题,我们的解决方案是不在使用固定的疲劳窗口起始点,每个疲劳窗口的起点是其在用户未疲劳的情况下的首次触达时间,即在第一次触达后的一个周期内不允许再次触达。

  另外,查询疲劳的key也改为由用户和业务决定,而非疲劳周期决定,这样设计的优点在于动态切换疲劳周期时,不会影响到已经疲劳的用户,已疲劳的用户会在下次疲劳时使用新的疲劳周期。

  对于一个周期多次触达场景中出现的触发比较集中的问题,我们采用了最小触达时间间隔的概念,在疲劳检验时同时校验与上次触发的时间间隔,两次触达时间差小于最小触达时间间隔的校验不通过。

  通过灵活的疲劳窗口起始时间、多维度管理以及最小触达时间间隔的控制,从控制机制上解决了疲劳机制1.0中出现的问题。另外,为了验证疲劳机制2.0的实际效果,也为了给业务优化提供基础数据,我们将用户的触达记录接入到了数据统计模块,通过对日志清洗、解析,产出了业务的数据漏斗和报表。

应用效果

  在经过多个业务场景接入疲劳机制2.0的设计后,通过分析触达日志和数据报表,我们拿到如下结论:

  • 接入业务没有再出现相邻两天收到相同触达内容的情况;

  • 业务疲劳周期动态变更时,未出现短时间触达相同内容的情况;

  • 一个周期允许多次触达的接入业务,用户触达记录分布更加离散;

  目前,疲劳机制2.0累计接入的业务已有三十多个,qps峰值在6000左右,运行状态稳定。

后续计划

  由于疲劳机制2.0的通用性和配置的灵活性,已经有其他业务在使用2.0版的疲劳服务,后续考虑将该疲劳服务优化后作为对立组件输出到其他业务;另外,提供将疲劳等过滤节点的数据回流到算法的能力,帮助接入业务优化触达策略。

闲鱼技术团队不仅是阿里巴巴集团旗下闲置交易社区的创造者,更是移动与高并发大数据应用新技术的引导者与创新者。我们与Google Flutter/Dart小组密切合作,为社区贡献了多个高star的项目和大量PR。我们正在积极探索深度学习和视觉技术在互动、交易、社区场景的创新应用。闲鱼技术与集团中间件团队共同打造的FaaS平台每天支持数以千万级用户的高并发访问场景。

就是现在!客户端/服务端java/架构/前端/质量工程师面向社会+校园招聘,base杭州阿里巴巴西溪园区,一起做有创想空间的社区产品、做深度顶级的开源项目,一起拓展技术边界成就极致!

*投喂简历给小闲鱼→guicai.gxy@alibaba-inc.com

开源项目、峰会直击、关键洞察、深度解读

请认准闲鱼技术

一个PUSH系统是怎么做到友好触达的?相关推荐

  1. 人事考试在线报名系统新突破,一键触达“智慧考试”

    当下,人事考试在线报名系统已进入发展快车道,带来了可一键触达"智慧考试".但是,当我们站在新的历史发展关口,发现人事考试在线报名系统想要取得新突破,就必须加强人事招考的精细化运营管 ...

  2. 华为Push用户增长服务:精准触达,加速增长

    速戳了解华为Push用户增长服务:通过精细化运营,助力开发者高效实现用户增长,提升用户活跃度和粘性! 合作咨询请点此链接 了解更多详情>> 访问华为开发者联盟官网 获取开发指导文档 华为移 ...

  3. 闲鱼触达系统背后——我想更懂你

    背景 上周看完了闲鱼 push 系统 Hermes 的"三生三世",大家是不是一直等着"十里桃花"呢?Hermes 咋就这么敏捷呢?她咋就这么懂你呢?今天,小编 ...

  4. 智能运营新功能,多波次营销全触达

    推送触达率不高,转化效果不好? 消息推送时下已经是APP日常运营的重要工具,好的消息推送能够有效地增强用户黏性.提升用户体验,然而一切好的消息推送都是建立在能够到达用户终端为前提的,所以消息推送的到达 ...

  5. 智能运营:有效触达,驱动用户生命周期价值升级

    用户运营的本质在于同用户进行有效的沟通.用户处于不同生命周期的阶段,相应的运营重点也不同,因此需要通过针对性的运营,帮助提升各生命周期的用户价值. 华为分析服务的特性智能运营可以帮助运营人员实现&qu ...

  6. 码农节快乐|一个系统,高效解决复杂事件采集-计算-实时触达

    PartI: 1024 今天是1024,一个特别的数字,比如某网站内容的解压密码通常都是1024,想求一个种子留言也是1024.1024是属于广大程序猿(又称码农)的节日,在这样一个节日里,各种&qu ...

  7. 一个实时精准触达系统的自我修养

    问题定义 在互联网行业,唯一不变的就是一直在变化.作为技术同学,我们经常会碰到以下几种需求: 当用户收藏的商品降价后及时通知用户,促进双方交易达成:新用户或90天内未成交的用户浏览多个商品后引导用户主 ...

  8. 亿级流量架构演进实战 | 架构演进重构消息PUSH系统 05

    这不是一个讲概念的专栏,而且我也不擅长讲概念,每一篇文章都是一个故事,我希望你可以通过这些故事了解我当时在实际工作中遇到问题和背后的思考,架构设计是种经验,我有幸参与到多个亿级系统的架构设计中,有所收 ...

  9. 用户运营中触达积分系统的搭建方法

    触达是用户运营中很重要的,它使用户和活动联系在一起,让其达到理想效果.在今天这篇文章中,给大家分享了一些搭建积分商城触达的方法.但愿你能够对你有所帮助和启发! 1.业务简单的描述 用户运营的定义:就是 ...

最新文章

  1. C# IPGlobalStatistics获取本机网络流量信息
  2. I've got so many hongbaos(should it be translated as red bags?)
  3. 你不得不掌握的thinkphp5
  4. IBASE handle free after save - buffer table cleared
  5. 【HDOJ】2266 How Many Equations Can You Find
  6. Lesson 04 for Plotting in R for Biologists
  7. 在WSUS 3.0的环境中,部分客户机没有向WSUS服务器更新状态,该如何解决?
  8. 订单同步有技巧,双十一高峰不再怕
  9. CSDN VIP文章
  10. 浅谈用户营销模型AIPL
  11. mysql root权限_如何设置Mysql root权限
  12. 和老外聊天、发邮件常用英语缩写(超实用)
  13. js-函数式编程-柯里化和语义化
  14. SSMS 实用小技巧
  15. 京东 ChubaoFS 分布式文件系统分析
  16. 软碟通(UltraISO)9.7.6.3812单文件高级版
  17. 二手房中介管理系统设计
  18. Python数据可视化的3大步骤!
  19. SPM 超级位置模型
  20. 【转】我的助理辞职了!—给不听话的下属看看

热门文章

  1. oracle中 awr,ORACLE AWR(AWR、SNAPSHOT、BASELINE)
  2. 【广告算法工程师入门 17】机制设计-有效机制与VCG机制
  3. 小蟑螂与帅哥的故事~
  4. 一首忧伤的歌曲.......bressanone(布列瑟农)-Matthew Lien
  5. 安卓开发中,release安装包安装后,打开app后再按home键,再次点击程序图标app再次重新启动的解决办法
  6. 飞机牵引车-阅读相关规范
  7. css 的基本选择器,复合选择器,后代选择器
  8. flask缓存caching
  9. html5 开发tv,乐视TV开放平台鼎力支持html5开发者
  10. CentOS 6.3图形界面自定义开启终端快捷键