运营系统介绍

运营系统介绍

每个公司可能会有这样一个系统,它负责给公司的用户发布一些营销信息,比如通过短信的方式或者通过APP消息的方式来触达用户.那么首先应该要有一个用户标签的概念,用户标签指的是用户的特征,比如用户在最近30天内购买过一个理财产品,通过一个或多个特征,我们可以从一个用户库里面筛选出一部分人出来,我们称它为客群.有了客群,我们还需要营销的信息,比如给用户发短信,发优惠券等各种各样能触达到用户的方式,这类信息叫做触点.最后一点是我们将在什么时候触达用户,这个叫做执行时间.总结起来,运营系统最主要的职责便是在某个时间,向特定的用户发布特定的信息.除此之外,在某一次任务执行完成之后,我们还需要追踪任务的执行情况,以获取最终的运营效果.

功能点

当然,每个公司的业务不一样,可能运营系统还会承担其它的一些职责,现在介绍一下我之前参与开发的运营系统的功能.如图:
operation_system_introduce_01

基础功能

这一部分主要是建立用户-角色体系,运营系统主要针对的用户不是大众用户,而是服务于公司内部的运营人员.主要由以下几点组成:

  • 用户
  • 角色
  • 权限
  • 菜单
  • 定时任务

在运营系统中,首先需要有用户来操作,接着会给予用户某个角色,通过角色控制用户的权限,比如用户可以看到什么菜单,做什么操作(菜单权限和接口权限).另外,定时任务主要给开发人员配置定时任务,在某个时间点执行某个任务.

基础配置

这一部分主要是服务于任务执行的信息,比如客群和标签,这一部分主要对接公司的大数据部门.当然短信配置和消息配置其实也算是基础配置,但从功能点来分的话,就没把它们放到基础配置里面了.另外运营系统还服务于另外一个广告系统,所以这部分还有其它一些配置功能.主要功能如下:

任务执行相关:

  • 标签:一个表达式,标识用户的某个特征.
  • 客群:标签的组合,最终筛选出一批用户.

广告系统相关:

  • 运营位:运营位对应APP上的某个广告位.
  • 素材:素材也就是广告的内容,一般为图片或者文案.
  • 推广计划:也就是广告,其中会指定广告位置、素材、客群,同时还有其它一些配置,比如推广的时间段,比如指定用户的操作系统类型(只给安卓用户下发某个广告).
  • ABTest:主要用户建立实验,进行广告策略的分流.
  • 账户:创建推广计划时,还需要指定账户,账户会充值一定的金额.当一条广告下发时,将消耗这个账户的一部分金额.

核心功能

短信任务和息任务是系统的核心,以这两个触点触达用户.素材自动化也是一个比较核心的功能,以自动化的方式来生成素材,能提升素材的生成效率.

  • 短信任务:在指定时间,向客群发送短信.
  • 消息任务:在指定时间,向客群发送消息.
  • 素材自动化:主要用于自动化生成素材.运营人员自己创建一张图片的成本比较高,如果可以根据用户上传图片的模板信息来组合成一系列的素材,那么素材创建将会更加的高效.

扩展功能

这一部分是由其他部分产生的扩展功能.

  • 任务执行信息:任务执行过程的信息:比如调用短信接口的次数,成功数以及失败数.
  • 任务监控:主要用于监控任务的执行情况,当任务执行满足一定的条件时(比如任务开始5分钟之内没有执行成功的记录),将会进行任务预警.
  • 任务预警:主要通过短信和邮件的方式告知开发人员任务执行异常.
  • 定时清理任务:将超过一定时间点的数据清除(比如半年).
  • 报表订阅:这个主要和报表功能相关,当用户订阅报表时,将通过邮件发送给用户.

效果数据

这一部分主要用于追踪短信和消息以及广告的执行情况,但是这类数据有个很明显的特点,它们不是实时的产生效果数据的,比如一条短信下发之后,可能由于短信运营商或者用户原因(比如停机)导致无法接收到短信,那么就需要追踪一个时间段发送出去的短信,那么就有个问题:通过什么方式来追踪呢?

在我们的系统中,创建一个短信任务时,将同时为每个短信内容创建一个模板id(通过对接短信平台),也就是短信的唯一标识.发送短信时,只要通过这个标识调用短信平台接口就可以了.除此之外,短信的发送状态一般由短信平台同步到大数据的Hive库中,运营平台需要每天去拉取某个时间段的短信状态信息(比如截止到短信发送后一周,仍然要拉取短信状态信息).

消息任务的效果追踪和短信是类似的,至于广告,主要对Hive库的广告下发表、广告展示表还有广告点击表的数据进行统计.

  • 短信任务报表:展示短信最终的效果信息,比如到达量,发送成功量,失败量.
  • 消息任务报表:展示消息最终的效果信息,比如到达量,发送成功量,失败量.
  • 广告报表.展示广告下发量、浏览量、点击量等信息.

形成闭环

从用户创建任务,到任务执行,再到查看营销结果,整个系统形成了一个闭环,从上面的图中自上而下也能很明显得看出这一点.

技术栈

在我参与开发的运营系统中,主要用到的技术如下图:
operation_system_introduce_01

数据库

系统主要分为四个模块:

  • web模块
  • 配置模块
  • 数据模块
  • 任务执行模块

根据模块的职责,各个模块的表情况如下图:
operation_system_introduce_01

流程图

运营系统其实大部分流程并不复杂,这里简单的描述一下短信任务的一个流程,复杂性在于要把系统的各个模块串联起来.主要流程描述如下:

  1. 短信任务执行之前,会有短信模板id的生成(在创建任务的时候会生成,还会有定时任务每天重新生成新的模板id)
  2. 拉取任务对应的客群,调用短信接口发送短信
  3. 在任务执行过程中,会记录任务执行的情况(任务发送了多少条短信,调用短信发送接口成功数和失败数).
  4. 每日的短信任务报表的拉取,以此来查看短信最终的触达情况.

短信任务流程图:
operation_system_introduce_04

再详细一点,短信任务的执行流程图:

operation_system_introduce_05

总结

这篇文章大致介绍了之前参与开发的运营系统的主要功能,不同的运营系统的设计可能多种多样,需要开发人员发挥想象力,创造更有价值的功能.


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!