APP下载

指标预警系统设计与分析

2022-08-29刘利朋

现代信息科技 2022年12期
关键词:批处理职级预警系统

刘利朋

(太平金融科技服务(上海)有限公司,上海 201201)

0 引 言

随着大数据技术的兴起和发展,越来越多的企业开始拥抱大数据,大数据技术在跟企业现有技术的融合也越来越深入。从2017年开始保险行业发展减缓,业绩的不理想亟须新的发展动力,而大数据分析正好为其提供了有力的理论支持。大数据技术逐步融入现有的技术体系中,既对客户的行为分析、特征分析、产品需求分析等提供了有力支撑,也对公司整体业绩发展中出现的问题及时预警,并提供发现问题、分析问题、解决问题一揽子解决方案。笔者仅以一个约十五年数据分析经验的从业者角度,分享一下这些年积累的数据分析设计经验。

1 指标预警系统特点

指标预警系统既不同于传统的数据分析系统多以制式报表等方式展示,也不同于互联网领域的数据分析多以hadoop等为基础的分布式计算。而是基于现有资源和数据,同时采用大数据技术的“混搭”模式,以指标数据为分析对象,以指标变化为分析内容,以影响指标变化数据为溯源途径,采用因果分析法进行问题原因逐层递进,从而逐步发现问题根源,进而达到解决问题的目标。具体内容为:

(1)分析模型源于整体数据。传统数据分析均来自经营分析会议,而经营分析会议的数据来自相关部门对关注数据的提取和分析,因限于系统计算能力,只能提取部分数据进行分析,现在采用新系统,我们对全系统数据做整体统计分析,把全部加工后的分析数据导入分析模型,从而基于比较完整的数据,得出更准确地预警结果。

(2)发现问题源于整体数据。原来发现问题主要靠业绩达成率和排名,而业绩的统计往往比较滞后,以月度或季度为统计周期,很难及时发现问题。现在采用新系统,数据既有横向同级机构比较,也有历史数据纵向比较,还可以下钻到其他维度。相对以前,可以更容易更迅速地发现问题。

(3)分析问题源于整体数据。由于大数据技术支撑,分析指标数据异常的时候不仅可以从多个维度分析问题,还可以同时查看对应机构对应时间区间的关联指标,找出影响指标的指标,进而更准确地分析和定位问题。

(4)解决问题源于整体数据。发现和分析问题的过程既可以发现问题机构,也可以同时找到对应的优秀机构,若干个关联指标对应比较,可确定问题根源及应对措施,同时结合问题机构的反馈,从而得出合理的解决方案。

笔者有幸主持实施的2021年某寿险公司指标预警系统的建设项目,本项目完成后得到了客户的广泛好评,形成了业务活动产生数据—数据分析反馈业务经营活动情况—业务根据经营情况改善经营决策的良性循环。本文以此为实例,进行一些探讨研究,希望借此能提供一些有用的经验。

2 指标预警系统概述

2.1 功能概要说明

指标预警系统分为指标定义、指标计算、指标展示、指标推送四个模块,指标定义和指标计算即是本文所说的数据分析模型。

指标定义模块包括指标定义、维度定义、时间定义、维度组合定义等。主要用于管理指标计算模块的计算范围、计算时间等。此模块未来会扩展为指标管理平台,作为我们数据分析系统的统一指标管理系统。

指标计算模块,根据指标定义的指标,对没有计算而又需要计算的指标,按照时间定义确定时间范围,按照维度定义确定数据范围,进行数据计算。

数据展示模块,把数据计算结果展示到页面,供用户使用。

数据推送模块,根据订阅关系和预警阈值,推送不同的预警消息给不同的用户。整体来说指标预警系统根据指标定义进行指标计算,计算完之后进行指标展示,对于异常指标进行消息推送。指标预警系统主流程如图1所示。

图1 指标预警系统主流程图

2.2 指标预警系统整体方案

2.2.1 架构设计

指标预警系统采用传统数据库和大数据相结合的模式。人力、产能等数据量较小的指标,因现有数据库可以支持,直接集成现有程序和数据。出勤率等考勤指标涉及刷脸等数据量较大数据则充分利用大数据的数据计算能力来计算。大数据计算能力的引入也为未来指标扩展储备算力。

指标预警定位为获取各个业务系统数据进行指标计算,通过跟历史数据进行比较纵向,与同级机构进行横向比较,以便及时发现异常,并对异常信息进行溯源分析。同时进行推送预警消息给对应的订阅人和责任人,功能架构如图2所示。

图2 功能架构

指标预警系统通过大数据平台进行指标计算,并把计算结果推送至Oracle,通过java-job 调用Oracle 结果数据通过缓存数据库返回给前端H5,技术架构概述如图3所示。

图3 技术架构

2.2.2 指标定义

指标定义模块包括指标定义、维度定义、时间定义、维度组合定义。这些维度表主要用于管控指标计算模块的计算范围、计算时间等。指标定义包括指标代码、指标预警幅度、指标是否有效、指标是否展示、指标计算范围、指标计算频率等;维度定义包括:机构维度、险种维度、职级维度等多个维度表,每个维度表具有不同的维度组合;时间定义包括时间控制、时间大类、时间小类;维度组合定义指标对应的第一维度、第二维度、第三维度等信息。

(1)指标定义。指标定义模块不仅包括常规的指标代码、指标名称、指标类型,还包括指标预警(废弃及开发中指标不需要预警)、预警幅度、是否展示、时间大类、时间小类、当前数据计算完成时间、下次数据计算时间、数据计算频率、数据计算范围、需求来源、指标责任人。

(2)时间定义。时间大类分日、周、月、季、半年、年等,时间小类根据时间大类进行细分。比如日分工作日和非工作日,月分佣金月或自然月等。不同类型的指标,有不同的时间分类。

(3)维度定义。维度除了常规的维度代码和名称外,还有维度最小粒度和最小档位,比如代理人职级最小粒度包括试用、降级、正式、业务员、业务经理一级、业务经理二级、高级经理一级、高级经理二级、区域总监、区域总经理,最小档位可分为业务员和主管,或者试用、正式、业经、高经、区域总等。

(4)指标维度组合表。不同的指标对应不同的维度,维度可能有多个,不同的组合汇总出不同的结果数据,比如职级跟产品的组合、司龄跟产品的组合等。

2.2.3 指标计算

指标计算模块主要是根据指标的定义,按照指标的属性,比如指标类型、计算范围、计算频率、时间控制属性及维度信息进行数据的清洗、加工和计算。

2.2.4 指标展示

指标展示模块用于展示指标定义为可以展示且计算完成的指标,指标展示页面根据用户的关注度进行展示。用户进入指标预警系统可以看到指标列表,点击指标订阅,可以选择高中低不同的指标关注度,每个用户最多可以关注16 个指标,按照关注度的高中低依次展示。用户进入指标预警系统后可以查看不同的指标,每个指标展示不同的维度,不同的指标不同的维度有不同的展示风格,相关性指标会有关联展示。指标展示示例页面如图4所示,维度展示示例页面如图5所示。

图4 活动率展示

图5 职级维度变化

2.2.5 指标推送

指标推送模块用于订阅用户的消息推送,不同的指标根据不同的预警幅度和关注度推送不同的用户。用户订阅指标后,根据关注度进行相应的阈值配置,比如高关注度的用户,预警幅度达到5%即进行预警消息推送,中关注度的用户预警幅度达到7%就进行预警消息推送,低关注度用户,预警幅度达到10%才进行预警消息推送。当数据趋势异常,达到阈值时,触发微信推送消息,不同级别的消息,按照不同的消息模板进行推送。消息模板有指标异常数据说明,如指标历史数据、目前数据、偏差量、偏差原因、建议解决方案等。指标预警消息推送页面如图6所示。

图6 消息推送

2.3 计算模块设计

如前所述,用于计算的业务数据来源于不同系统,从核心业务系统通过实时同步工具OGG 同步保单业绩明细数据,从人管系统通过ETL 工具Informatica 同步佣金、职级,组织架构数据,从营销系统通过ETL 工具Informatica 同步增员数据,从培训系统通过ETL工具Informatica同步培训数据,从考勤系统通过大数据同步工具sqoop 同步考勤数据等,批处理按照模块区分,考勤、培训、会议、请假等数据在hive中处理,业绩费用明细、人力、职级、佣金数据在Oracle 中处理。汇总数据在Oracle 轻度聚合后,存入redis/mongodb供前端应用调用获取。

2.3.1 批处理功能设计

指标计算模块的核心是批处理的流程设计,批处理要运行的指标,指标计算的范围都是通过指标定义模块控制的。具体流程为:

(1)系统轮询指标主表,指标主表是当前系统所有指标的属性,包括时间属性、预警属性、展示属性、运维属性、数据属性、优先级属性等,一般来说预警的指标优先级高,则预警页面优先展示,其次是展示优先级一般的指标,非展示的指标(一般是刚上线处于试运行的指标)优先级最低。

(2)通过指标主表的优先级,优先处理优先级高的指标数据,根据其时间属性关联时间控制表,时间控制表用于定义每个指标的计算范围,数据存储范围,统计开始和结束时间等。

(3)通过指标代码关联指标维度表,获取指标对应的计算维度,指标维度决定计算结果数据的最细粒度。

根据指标的时间属性和维度定义划定对应数据的内容和范围,比如业绩月度产能指标会先读取指标主表的月度产能指标,根据产能指标的时间属性,读取时间控制表的产能指标的统计范围,再根据指标维度表读取产能指标的维度,比如跟产能指标有关的维度有机构、职级、司龄、险种,批处理会从核心费用数据关联代理人的机构、入司时间、职级计算出当月1日0 点截止到目前的明细数据,按照2 到5 级机构,每个机构每个代理人机构id 和名称,产品id 和产品名称,代理人编码、姓名、职级、渠道、入司时间、预收保费、承保保费、预收价值、承保价值、FYC、收入、预收件数、承保件数、预收寿险长险件数、承保寿险长险件数、年度产能等。

(4)更新完指标基础数据后,更新汇总数据,按照机构、职级、司龄、险种等维度进行分类汇总,比如新人分为入司3 个月新人、入司4 ~6 个月新人、入司7 ~12月新人、入司1 ~2年内新人、入司3 ~5年新人等,险种分类有人寿险、健康险、年金险、意外险等,汇总数据直接供页面查询展示。

指标数据运行完毕后更新指标主表的数据更新时间、数据更新完成标识、历史数据更新范围等数据。

批处理运行流程如图7所示。

图7 批处理

2.3.2 批处理性能设计

由于数据量比较大,所以数据计算性能是必须要考虑的因素。在指标预警系统中,不同的数据库根据特点承担不同的任务,Oracle 主要存放指标定义数据和计算结果数据,计算现有集成的数据,hive 数据库主要计算大批量数据,Redis 和MongoDB 主要用于Oracle 和应用之间缓存数据。批处理性能设计为:

(1)sqoop 同步过来的数据在hive 数据库进行计算,主要是考勤数据;OGG 和ETL 同步过来的数据在Oracle 数据库计算,主要计算核心业务的费用明细数据。

(2)基础费用数据批量更新频率为15 分钟,常用的维度如机构、职级、险种、司龄等,职级、人力数据更新频率为1 天,机构、部门、人员异动等数据更新频率为4 小时。考勤、培训、请假数据更新频率为1 小时。

(3)Oracle 的计算任务,为了防止实时同步数据大概率短时间数据同步延迟,在考虑减少系统性能压力和批处理运行时长等情况下,高频数据每次更新最近时点往前推30分钟以来的数据,为了防止源系统数据更新历史数据,每天凌晨2 点更新最近15 天数据。

(4)大数据hive 的计算任务,在早晚班时间每小时计算一次当天刷脸数据,每天12:30 和22:30 计算当月数据,每月15日及15日之前计算上月数据,15日之后计算当月数据。增员数据每2 个小时计算一次当月数据,为了减少数据计算压力,每个并发处理一个二级机构。

(5)维度指标数据批处理依赖于基础数据批处理,属于串行关系,维度数据批处理之间是并行关系。批处理经过数据优化,索引、分区分片、并行等技术优化,已实现均衡运行。

(6)计算结果同步到redis 和MongoDB 是通过Java 的定时job 实现的。业绩指标匹配数据频率,一般15 分钟,其他指标根据数据生成频率,30 分钟到2 个小时不等。

2.3.3 指标计算模型设计

指标预警数据计算模型分为四层:ODS 贴源层、EDW标准层、CDM 模型层、ADM 集市层。

ODS 贴源层,直接存放从业务系统抽取过来的数据,这些数据从结构上和数据上与业务系统保持一致,基本都是按照源头业务系统结构进行存储。

EDW 标准层,从ODS 层同步数据,并完成数据清洗,按照统一数据模型标准化。定位永久保留,全量数据。指标预警按照指标类型进行标准化,比如产能指标、业绩指标、佣金指标、出勤指标、增员指标等。

CDM 模型层,为了降低数据应用复杂度建立的通用层,包括汇总和明细。按业务主题进行划分。存放明细事实数据、维表数据及公共指标汇总数据。通用的保险业模型是按照客户、保单、理赔、财务、服务、渠道、产品、机构、再保、合作方这种主题分类的。由于指标预警系统的特殊性,模型主题按照指标分类,分为业绩、佣金、产能、增员等,比如增员模型对应的指标包括增员率、活动率、三转率、脱落率等。

ADM 集市层,基于CDM 层数据的高度汇总数据,根据业务场景生成对应的结果数据。数据生成后用于导入Oracle 供应用调用。

指标预警系统通过大数据平台进行指标计算,并把计算结果推送至Oracle,通过java-job 调用Oracle 结果数据通过缓存数据库返回给前端H5,计算模块在整体系统架构起到了核心作用,其整体架构流程图如图8所示。

图8 计算模块

3 结 论

综上所述,我们可以看出,虽然指标预警系统和数据分析系统有一定关联性。但总的来说还是有其独特的特点。目前国内公司信息化技术水平都在迅速发展,而对于传统公司,大数据技术使用程度还有很大提升空间。也希望指标预警系统的应用能够给其他公司提供一些经验,既不需要完全迁入大数据系统,又能在现有系统的基础上充分利用大数据技术的优势。与现有技术相互补充,相得益彰。在公司可承受成本的基础上进一步发挥大数据优秀的计算能力和扩展能力优势,把数据分析真正作为企业经营分析甚至决策的重要参考依据。

猜你喜欢

批处理职级预警系统
学校肺结核流行趋势控制及预警系统监测分析
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
职级体系二三问
俄太空预警系统探测到64枚导弹发射
不装软件批处理为文件夹加锁
职务职级并行后,科员可以努力到哪个层级
中办印发《公务员职务与职级并行规定》
借助批处理 让Cortana变聪明
县以下公务员职务与职级并行具体是如何规定的
交通流量增长下的空管安全预警系统研究