问题定义

在互联网行业,唯一不变的就是一直在变化。作为技术同学,我们经常会碰到以下几种需求:
当用户收藏的商品降价后及时通知用户,促进双方交易达成;新用户或90天内未成交的用户浏览多个商品后引导用户主动和卖家聊天、也可以给用户发个红包促进用户首单的达成;

这些需求本质上是这样的逻辑:实时采集分析用户行为,通过规则计算,对符合条件的用户进行精准触达。普通开发模式很难比较好的承接这类需求,为此我们专门研发了omega系统解决这类问题。omega系统分为三个子系统:

  • 行为采集中心
  • CEP规则中心
  • 用户触达中心

我们在之前文章已经详细说明前两部分,本次我们将着重阐述用户触达系统是如何设计和实现策略灵活配置和精准触达的。

系统设计

2.1、逻辑架构


为了方便读者理解,我们简单回顾omega系统的逻辑架构。omega系统基于高内举低耦合的原则进行拆分,每个部分本身是独立完整的系统,也可以组装后提供服务。

  • 第一层是用户行为采集中心,通过采集端上请求的MTOP(应用网关)接口和端上用户行为埋点,将数据清洗为规整的用户行为数据;
  • 第二层是CEP规则计算中心,通过解析DSL生成Blink(Flink)流计算任务,输出满足规则的用户;
  • 第三层为用户触达中心,定义触达策略和通道,将策略实时触达给用户。

三层环环相扣,既可单独对外提供服务,也可联合对外承接业务,目前已经在承接用户增长、玩法和安全相关业务。

以用户增长业务举例,当用户在体验的过程中,运营通过合理策略组合,引导用户完成交易行为,到达产品形态上的“啊哈”时刻。这些策略在端内可能是权益透出、POP和实时Push,在端外是Push、短信和外呼等手段。Omega系统通过整合端内/端外的主动/被动触达渠道,以用户的实时状态为核心,实现了一套满足长周期运营的策略编排技术方案体系。

2.2、触达流程


触达流程本身比较明确,我们将流程拆分为多个小的节点,每个节点之间通过配置化方式组合,保证每个节点是可插拔、可替换的实现。整体用户触达系统处理流程如下:

  • 接收CEP规则计算结果,包括规则名和满足规则的用户;
  • Action路由层根据规则名查询所有订阅此规则的Action列表;
  • Action过滤层根据一定策略过滤有效Action列表,过滤策略包括黑/白名单,灰度、人群和疲劳度策略;
  • Action下发层会根据策略配置执行,可以是通用的触达,比如发push、短信;也可以是调用其他业务系统,比如调用安全系统处罚;也可以将Action下发到端上执行;
  • Action执行后将相关信息按照通用协议埋点,方便后续数据统计;

用户触达是omega系统流程的最后一环,需要封装足够多的通用触达能力,保证触达的实时性、有效性,不然对用户体验会有伤害,接下来通过详细设计看下用户触达系统如何保证触达策略可组装、可插拔的灵活配置和触达实时性等特性。

2.3、详细设计

注:metaq是阿里内部使用的MQ框架;HSF是RPC框架。

用户触达中心的目标是可以单独提供服务,支持灵活可插拔配置和策略精准触达,所以在设计上着重减少对外部依赖,对外通过MQ方式减少对外部系统直接依赖和耦合;对内明确各子模块的功能边界,通过配置化方式组合子模块。

用户触达中心的主要作用是维护触达策略和封装标准触达能力,整体分为以下部分:

  • 输入数据源:用户触达中心可以接收上层规则中心计算结果,也可以由外部业务系统主动触发;
  • 触达物料包括文案、图片等维护在云投放系统(闲鱼素材管理系统),后续会接入离线数据补充更细粒度的基础信息,包括用户画像、商品数据等。
  • Action路由层维护Action与规则之间的订阅关系,包括订阅的有效时间、优先级等要素;
  • Action过滤层采用责任链模式设计,各filter相互独立,可动态插拔和灵活配置;
  • Action实现层封装了各种通用触达能力实现,目前主要是云端和客户端两种,后续可通过faas模式提供Action灵活快速上线能力。为了保证在客户端执行Action的实时性,我们专门维护了与客户端的长连通道,通过针对性优化,提升通道的数据传输速度和到达率,对端上触达进行了重点保证。
  • Action触达后会按照统一埋点协议记录,后续会整理埋点上报和数据开发流程,减少数据开发成本,方便业务方查看Action实验效果和实验归因。

线上效果

用户触达中心上线后已经通过配置化方式承接多个业务,包括闲鱼金鳞双十一玩法、用户增长、租房、租赁等多个业务场景,通过运营灵活配置策略和权益的实时精准触达,拿到以下数据结果:
对目标人群触达准确率大幅提升;

金鳞玩法延迟在1s内;

授人以鱼不如授人以渔,提供运营工具,彻底解放开发资源;

其中双十一项目对实时性要求高而且QPS比较高,对Omega系统尤其是用户触达中心的性能和实时触达能力进行充分验证。最终浏览商品降价场景Push点击率较离线有大幅提升。

总结展望

Omega系统是针对实时性要求高、运营主导、快速实验这类场景解法的高度抽象。秉承这个理念,用户触达中心封装多种通用触达能力,支持灵活可插拔的filter配置和设计标准埋点协议以支持业务快速实验和数据归因分析。后续我们将支持离线画像数据标准接入和数据回流分析标准化,打通业务上下游数据,在功能上实现流程闭环。也欢迎读者交流讨论。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

一个实时精准触达系统的自我修养相关推荐

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

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

  2. 运营商大数据靶向短信,指定区域,定位发送,100%精准触达

    行业背景 在疫情背景下,中小企业营销获客变得日益艰难. 线下同行竞争大,网络获客抢不过大V,广告投放客户不精准,中小企业获客成本高 为了帮助中小企业解决获客引流问题,智享工场(深圳)科技有限公司联合中 ...

  3. B站品牌营销如何精准触达用户?4种方法找到优质UP主

    B站投放,最难的是什么?是写出一段直击用户痛点的文案?是拍摄一段吸引受众眼球的视频?还是找到一个合适的推广渠道? 这些都不容易,但如果操盘手有着丰富的经验,做好这些步骤并不算困难. 最难的是--如何让 ...

  4. 你的网红营销如何精准触达核心人群?

    英国<金融时报>曾报道过:"目前在全球范围内,KOL营销正在逐渐取代电视和纸媒广告等传统营销方式". 小编认为当下行业更迭的趋势归于两个原因: 一. 年轻群体已晋升为消 ...

  5. 小雨伞触达系统的优化方向的一些思考

    小雨伞已上线的触达系统 https://mp.weixin.qq.com/s/wItL0k8oHOqF0_LlEctrRw 在过去一年里,经过多次迭代,已经基本达到当时系统设计的目标.随着业务接入的增 ...

  6. 五分钟快速搭建一个实时人脸口罩检测系统(OpenCV+PaddleHub 含源码)

    导读 本文主要介绍如何使用OpenCV和PaddleHub实现一个实时人脸口罩检测系统.(公众号:OpenCV与AI深度学习) 背景介绍 从19年疫情爆发到现在,佩戴口罩对大家来说已是常态.应运而生的 ...

  7. 如何情景式精准触达用户,提高活跃用户转化?

    无论是产品新功能上线,抑或组织营销活动,都需要触达用户,那么: 如何在不打扰用户的情况下推送用户关心的消息? 如何给不同人群精准推送其关心的内容? 如何基于用户行为和兴趣触发消息? 华为分析(Anal ...

  8. 微信搜一搜产品团队:三大能力助力内容优质呈现、品牌精细增长、服务精准触达

    在9月9日腾讯全球数字生态大会微信专场上,微信搜一搜产品运营总监梁泽锋以"微信搜一搜,流量增长的新引擎"为主题展开了分享.从今年年初微信公开课PRO上首次亮相至今,微信搜一搜已完成 ...

  9. 运营商精准大数据获客 快速精准触达目标用户

    大数据精准营销 低成本高效获客 [导语] 运营商大数据"现在已经被各行业,与各中小微企业熟知,但是很多人也只是在听说的程度,却没有真正的使用过"运营商大数据",都说&qu ...

最新文章

  1. u盘驱动 内核代码阅读 2.6.11.12版本
  2. 方差过滤: Removing features with low variance
  3. 工程之星android版使用,安卓版工程之星软件网络1+1模式及网络cors连接操作详解...
  4. 复练-面试的科技树-我是谁、我喜欢、我能够
  5. 实现在线用户列表的简单方法
  6. java分布式架构的发展
  7. JavaScript 的 defer 与 async
  8. Android 属性动画实现一个简单的PopupWindow
  9. Xshell使用方法
  10. 汇编语言典型例子详解_汇编语言及编程实例(电子教案).pdf
  11. OpenHarmony release3.1版本启动子系统功能分析
  12. 【计量经济学】工具变量估计与两阶段最小二乘法
  13. 基于vsftpd搭建ftp服务器
  14. Python语言程序设计基础_实验四_函数(一)_答案_通识教育必修课程_上海师范大学
  15. SSD_Resnet 飞机与油桶数据集实战
  16. 2016..8.25 切题总结
  17. python怎么从excel获取数据_python如何读取excel表数据
  18. deepin安装docker
  19. 阿尔法ct_X光、CT、B超、核磁共振、核医学到底有什么不同?
  20. QQ腾讯登录相关的HTTP协议

热门文章

  1. 某些您可以编辑的区域交叠在一起 可能不能同时显示_DX200操作要领—修改与编辑程序(三十九)...
  2. bigdecimal 判断是否为数字_C语言判断字符串是否为回文
  3. 响应文件是不是标书_标书的编制
  4. 原来C语言和其他高级语言的最大的区别是这个...
  5. 武汉大学信息管理学院java上机考试_java上机试题
  6. leetcode 116 --- 填充每个节点指向最右节点的next指针
  7. 简述ipython的特点 app_介绍、基本语法、流程控制
  8. ef.extensions mysql_EFcore 使用 EFCore.BulkExtensions(不支持mysql)或 EntityFramework-Plus 批量增加、删除、修改...
  9. mysql数据库二进制_Mysql数据库简单安装(二进制)
  10. python中如何定义函数的传入参数是option的_python – 当使用@ click.option将命令行参数传递给函数时,如何返回值?...