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

简介: 陈独秀同志,请你坐下

作者:闲鱼技术-骆彬

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

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

实践中遇到问题

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

用户触达中心

用户触达中心

metaq:是阿里内部使用的MQ框架;
hermes:为Omega提供素材管理与择优的能力;

定位问题的原因

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

疲劳机制1.0

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

新疲劳机制的设计

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

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

• 用户维度:用户每日可接收触达的总次数,默认必须校验;
• 场景维度:每个场景可触达的次数,用于不同场景域的控制;
• 业务维度:每个业务自己的疲劳频次,提供n天m次最小触达间隔t秒的能力;

疲劳机制2.0

疲劳机制2.0

  对于相邻两天触达相同内容的问题,我们的解决方案是不在使用固定的疲劳窗口起始点,每个疲劳窗口的起点是其在用户未疲劳的情况下的首次触达时间,即在第一次触达后的一个周期内不允许再次触达。
  另外,查询疲劳的key也改为由用户和业务决定,而非疲劳周期决定,这样设计的优点在于动态切换疲劳周期时,不会影响到已经疲劳的用户,已疲劳的用户会在下次疲劳时使用新的疲劳周期。
  对于一个周期多次触达场景中出现的触发比较集中的问题,我们采用了最小触达时间间隔的概念,在疲劳检验时同时校验与上次触发的时间间隔,两次触达时间差小于最小触达时间间隔的校验不通过。

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

应用效果

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

  • 接入业务没有再出现相邻两天收到相同触达内容的情况;
  • 业务疲劳周期动态变更时,未出现短时间触达相同内容的情况;
  • 一个周期允许多次触达的接入业务,用户触达记录分布更加离散;

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

后续计划

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

相关文章
|
3月前
|
人工智能 自然语言处理 搜索推荐
2025智能营销产品深度评测,国内主流智能营销厂商推荐
在数字化运营深化的时代,用户资产成为企业核心竞争力。用户智能运营产品已从单一营销工具演变为支撑用户生命周期管理、降本增效、业务增长的关键基础设施。面对AI自动化、全渠道数据整合、私域公域协同等趋势,企业需构建涵盖场景适配性、数据能力、智能化、生态集成等维度的选型体系。本文对比瓴羊Quick Audience、神策数据、致趣百川、Convertlab、HubSpot、Adobe Experience Cloud六大主流产品,揭示其在数据整合、运营自动化、个性化能力等方面差异,为企业提供科学选型参考,助力实现精细化运营转型。
|
5月前
|
自然语言处理 数据挖掘 BI
阿里云瑶池 Data Agent 体验馆上线啦
阿里云瑶池 Data Agent 体验馆上线啦,通过自然语言描述需求,Agent 自动完成需求解析、数据理解与洞察挖掘,快速生成定制报告,大幅减少人工操作,提升分析效率与决策深度。
477 96
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
10月前
|
人工智能 前端开发 Java
AI大模型进阶系列(02)基于Spring AI实现AI chatbot助理|一句话让deepseek实现
本文介绍了通过DeepSeek生成一个基于Spring AI的在线AI聊天助手项目的全过程。项目采用JDK17+Spring AI+Thymeleaf+Spring Web技术栈,实现了一个简单的聊天界面,用户可输入内容并获得DeepSeek返回的结果。文章详细描述了从需求明确、项目结构设计到配置参数启动的步骤,并展示了核心代码片段如pom.xml、application.properties及主要Java类文件。尽管功能简单,但体现了AI在编程领域的高效应用,未来有望进一步优化上下文记忆等功能,提升开发体验与效率。
|
12月前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的循环语句
本文介绍了C语言中的三种循环语句:`while`、`do-while`和`for`,并详细解释了它们的语法格式、执行流程及应用场景。此外,还讲解了循环控制语句`break`和`continue`的使用方法。希望这些内容能帮助你在编程道路上不断进步,共同成长!
1330 0
一文彻底搞清楚C语言的循环语句
|
缓存 负载均衡 应用服务中间件
深入解析Nginx配置文件
Nginx是一个高性能HTTP服务器和反向代理,其配置文件`nginx.conf`包含全局、事件、HTTP、Server和Location块。全局块设置如用户和工作进程数,事件块设定连接数,HTTP块涉及MIME类型、日志和包含其他配置。Server块定义虚拟主机,Location块处理URI匹配。Nginx常用于反向代理和负载均衡,如`proxy_pass`指令转发请求至后端服务器组。理解这些配置有助于服务器优化和测试。
|
搜索推荐 数据挖掘 API
API接口在电商的应用及收益
本文探讨了API接口技术在电商领域的应用及其带来的收益。API接口作为连接电商平台与外部系统的桥梁,实现了高效、实时的数据交换和集成,提升了用户体验、运营效率和市场竞争力。具体应用包括库存管理、支付网关、物流跟踪、自动化业务流程、个性化推荐和精准营销等方面。通过实战案例分析,展示了亚马逊和小型电商公司如何利用API接口实现自动化管理,提高了工作效率和客户满意度。未来,API接口技术将更加注重智能化、标准化、安全性和跨界合作。
532 3
|
算法 数据安全/隐私保护
数字通信中不同信道类型对通信系统性能影响matlab仿真分析,对比AWGN,BEC,BSC以及多径信道
本项目展示了数字通信系统中几种典型信道模型(AWGN、BEC、BSC及多径信道)的算法实现与分析。使用Matlab2022a开发,提供无水印运行效果预览图、部分核心代码及完整版带中文注释的源码和操作视频。通过数学公式深入解析各信道特性及其对系统性能的影响。
|
NoSQL 算法 Java
技术好文:Redis实现分布式锁的7种方案
技术好文:Redis实现分布式锁的7种方案
|
机器学习/深度学习 自然语言处理 监控
带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(8)
带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(8)
313 0