Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >企业数据指标体系存在哪些问题,如何解决这些问题呢?

企业数据指标体系存在哪些问题,如何解决这些问题呢?

原创
作者头像
猴子数据分析
修改于 2021-02-25 02:16:01
修改于 2021-02-25 02:16:01
1.1K0
举报
文章被收录于专栏:猴子数据分析猴子数据分析

很多数据分析招聘的要求里会写“构建指标体系”,所以建立指标体系是数据分析人员的一项基本技能。下面从4个问题出发,系统介绍指标体系:

(1)什么是指标体系?

(2)指标体系有什么用?

(3)如何建立指标体系?

(4)建立指标体系有哪些注意事项?

1.什么是指标体系?

实际工作中,想要准确说清楚一件事是不容易的。例如,你在金融公司工作,工作中可能会听到这样的对话:“大概有1万多人申请贷款吧”“有很多人都没有申请通过”“感觉咱们的审核太严了”。

同事之间这样闲聊说话没什么问题,但是如果是向领导汇报或者是数据分析师在回答业务部门问题的时候就不能这么说了,一定要用准确的数据和指标来描述清楚。例如上边的对话可以改成:

5月4日新申请贷款用户10450人,超目标达成1450人; 5月4日当日申请贷款用户10450人,当日通过2468人; 截至5月6日,5月4日申请贷款的10450名用户中有3690人通过申请,申请通过率35.31%。

上面通过一个指标“申请通过率”说清楚了申请贷款用户的情况。但是实际工作中,往往一个指标没办法解决复杂的业务问题,这就需要使用多个指标从不同维度来评估业务,也就是使用指标体系。

指标体系是从不同维度梳理业务,把指标有系统地组织起来。简而言之,指标体系=指标+体系,所以一个指标不能叫指标体系,几个毫无关系的指标也不能叫指标体系。

2.指标体系有什么用?

我们在讨论一个人是否健康的时候,常常会说出一些名词:体温、血压、体脂率等。当把这些指标综合起来考量,大概就能了解一个人的健康状况。

同样,对于一家公司的业务是否正常(健康),可以通过指标体系对业务进行监控。当业务出现异常时,就能以最快的速度发现问题,开始分析,然后解决这些问题,最大化地减少损失。

指标体系的作用包括:

● 监控业务情况;

● 通过拆解指标寻找当前业务问题;

● 评估业务可改进的地方,找出下一步工作的方向。

3.如何建立指标体系?

可以用下面的方法建立指标体系。

(1)明确部门KPI,找到合适的一级指标

一级指标是用来评价公司或部门运营情况最核心的指标。例如,某旅游公司在会员积分方面的开销较大, 业务部门关心成本,定的的KPI是合理利用积分抵扣金额,节省成本,所以该部门一级指标定为积分抵扣金额。

一级指标并非只能是一个指标,有可能需要多个一级指标来做综合评价。例如,某网贷公司产品部门的主要职能是开发出符合市场需求的贷款产品,在提升业务量(放款量)的同时,也需要监控业务质量(放款逾期率)。

根据市场和业务运营情况及时调整产品政策,所以该部门的KPI有两个:贷款产品放款金额、贷款产品的坏账率。

贷款产品卖的好光看“放款金额”还不够,还要关注毛利润,这才是真正赚到的钱。同时也需要看用户数,因为用户数直接和获客成本挂钩,要防止营销成本太高、实际没利润这样不可持续情况的发生。

所以该部门确定了三个一级指标:放款金额、毛利润、用户数。

(2)了解业务运营情况,找到二级指标

有了一级指标以后,可以进一步将一级指标拆解为二级指标。具体如何拆解,要看业务是如何运营的。比如销售部门一般按地区运营,就可以从地区维度拆解。市场部门一般按用户运营,就可以从用户维度拆解。

例如前面的案例中一级指标是积分抵扣金额,从订单维度拆解为积分抵扣金额 = 积分抵扣的订单数 * 平均订单抵扣金额,从会员维度拆解为积分抵扣金额 = 积分抵扣的会员数 * 人均抵扣金额。一级指标、二级指标指标的结构如下图。

(3)梳理业务流程,找到三级指标

一级指标往往是业务流程最终的结果,例如积分抵扣金额,是业务流程(会员->购买旅游产品->使用积分抵扣->支付金额) 最后的一个结果。

光看一个最后结果是无法监督、改进业务流程的,这就需要更细致一些的指标,也就是添加三级指标。例如,在业务流程中不同会员等级可以抵扣的金额不一样。不同旅游产品线可以抵扣的金额比例也不一样。所以,需要把二级指标按照业务流程拆解为更细的三级指标。

在会员业务节点可以拆解为LV1级会员数、LV2级会员数、LV3级会员数、LV4级会员数。在购买旅游产品业务节点可以拆解为酒店订单数、机票订单数、跟团游订单数、自由行订单数。最后,确定的指标如下图,因为一级指标、二级指标、三级指标的结构像金字塔,所以下图也叫做指标体系金字塔。

每个指标从3个方面确定统计口径:

  • 指标含义:这个指标在业务上表示什么?
  • 指标定义:这个指标是怎么定义的?
  • 数据来源:从什么地方收集的原始数据?数据统计的时间范围是什么?

(4)通过报表监控指标,不断更新指标体系

前面步骤找到了一级指标、二级指标和三级指标,到这一步可以把这些指标制作到报表中,通过报表监控指标,不断更新指标体系。

4.指标体系有哪些注意事项?

建立指标体系需要注意以下4个问题。

(1)没有一级指标,抓不住重点

工作里最常见的情况是你获得的报表是从离职同事那里交接过来的,或者是领导给你的指标,你只是负责定时更新报表。但是为什么这样做报表?做完了报表给谁看?其实你是不清楚的。

弄清楚这些,需要知道一级指标是什么。如果不能围绕一级指标来做事会闹出笑话来。例如,某银行为了激励员工,根据KPI给分行经理制定的奖励规则如下:

投诉率最低的五个分行经理各奖励2000元现金; 分行客服月通话时长平均≥3.5小时,奖励3000元。

某个分行经理带领团队只放出贷款20万元,在150家分行中排名最后一名,但因为上面KPI达成的好,其收入反而比某些全额达成放款目标的分行经理高。这种不以一级指标(放款金额)为前提的激励方案就是无效的方案。

(2)指标之间没有逻辑关系

如果不按照业务流程来建立指标体系,虽然指标很多,但是指标之间没有逻辑关系。以至于出现问题的时候,找不到对应的业务节点是哪个,没办法解决问题。

(3)拆解的指标没有业务意义

有的报表上的指标很丰富,但是却没有实际的业务意义,导致报表就是一堆“没有用”的数字。

例如:在销售部门,最关注的是销售目标有没有达成,现在达成了多少,接下来的每天应该达成多少,哪些些区域达成最高,哪些区域达成最低。如果不围绕这个业务目标拆解指标,而是随意把指标拆解为用户年龄、性别,这就与业务没有任何关系,只是为了拆解而拆解。

(4)一个人就完成了指标体系和报表,也不和业务沟通

建立指标体系不是1个人能够完成的,需要业务部门(市场、运营、产品等部门统称为业务部门)、数据部门(这里把数据分析师所在的部门统称为数据部门)、开发部门相互之间进行协作。

业务部门会不断提出新的业务需求。如果业务部门认可数据部门做出的分析报告,并希望以后可以随时查询到相关的数据,那么数据部门会把数据产品化,也就是协助开发部门把数据产品做进公司后台系统,一般形式就是报表

日常工作中,业务部门、数据部门、开发部门部门是像下图这样紧密协作的。

建立指标体系需要各部门紧密沟通,还需要对公司业务和各部门职能的深刻理解,也就是这本书后面章节的业务知识,在此基础上再根据建立指标体系的方法,不断进行尝试就能够搭建出合适的指标体系。

参考资料:

(本文内容选自书《数据分析思维》,作者:猴子 • 数据分析学院)

如何制作一张好看的报表?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第四十三章: 基于SpringBoot & RabbitMQ完成TopicExchange分布式消息消费
我们在之前的两个章节第四十一章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息消费、第四十二章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息多消费者消费提高了RabbitMQ消息队列的DirectExchange交换类型的消息消费,我们之前的章节提到了RabbitMQ比较常用的交换类型有三种,我们今天来看看TopicExchange主题交换类型。 本章目标 基于SpringBoot平台完成RabbitMQ的TopicE
恒宇少年
2018/06/27
1.3K0
第四十二章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息多消费者消费
在上一章第四十一章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息消费我们讲解到了RabbitMQ消息队列的DirectExchange路由键消息单个消费者消费,源码请访问SpringBoot对应章节源码下载查看,消息队列目的是完成消息的分布式消费,那么我们是否可以为一个Provider创建并绑定多个Consumer呢? 本章目标 基于SpringBoot平台整合RabbitMQ消息队列,完成一个Provider绑定多个Consumer进行消息消费。 Spring
恒宇少年
2018/06/27
7510
第四十四章: 基于SpringBoot & AOP完成统一资源自动查询映射
本章内容比较偏向系统设计方面,简单的封装就可以应用到系统中使用,从而提高我们的编码效率以及代码的可读性。统一资源在系统内是不可避免的模块,资源分类也有很多种,比较常见如:图片资源、文本资源、视频资源等,那么资源统一处理的好处是什么呢?大家有可能会有疑问,我把资源存放到业务表内岂不更好吗?这样查询起来也方便,并不需要关联资源信息表!当然设计不分好坏,只有更适合、更简单!接下来带着疑问进入本章的内容。 本章目标 基于SpringBoot平台结合AOP完成统一资源的自动查询映射。 构建项目 本章使用到的依赖相对来
恒宇少年
2018/06/27
1.5K0
第四十一章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息消费
消息队列目前流行的有KafKa、RabbitMQ、ActiveMQ等,它们的诞生无非不是为了解决消息的分布式消费,完成项目、服务之间的解耦动作。消息队列提供者与消费者之间完全采用异步通信方式,极力的提高了系统的响应能力,从而提高系统的网络请求吞吐量。 每一种的消息队列都有它在设计上的独一无二的优势,在实际的项目技术选型时根据项目的需求来确定。 本章目标 基于SpringBoot项目整合RabbitMQ消息队列,完成DirectExchange(路由键)分布式消息消费。 SpringBoot 企业级核心技术
恒宇少年
2018/06/27
1.3K0
第二十七章:SpringBoot使用ApplicationEvent&Listener完成业务解耦
ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。 我们平时日常生活中也是经常会有这种情况存在,如:我们在平时拔河比赛中,裁判员给我们吹响了开始的信号,也就是给我们发布了一个开始的事件,而拔河双方人员都在监听着这个事件,一旦事件发布后双方人员就开始往自己方使劲。而裁判
恒宇少年
2018/06/27
1.1K0
第二十八章:SpringBoot使用AutoConfiguration自定义Starter
在我们学习SpringBoot时都已经了解到starter是SpringBoot的核心组成部分,SpringBoot为我们提供了尽可能完善的封装,提供了一系列的自动化配置的starter插件,我们在使用spring-boot-starter-web时只需要在pom.xml配置文件内添加依赖就可以了,我们之前传统方式则是需要添加很多相关SpringMVC配置文件。而spring-boot-starter-web为我们提供了几乎所有的默认配置,很好的降低了使用框架时的复杂度。 因此在使用xx.starter时
恒宇少年
2018/06/27
1.6K0
第三十九章:基于SpringBoot & Quartz完成定时任务分布式单节点持久化
定时任务在企业项目比较常用到,几乎所有的项目都会牵扯该功能模块,定时任务一般会处理指定时间点执行某一些业务逻辑、间隔时间执行某一些业务逻辑等。我们在之前有讲过SpringBoot是已经集成了定时任务的,详见:第二十六章:SpringBoot使用@Scheduled创建定时任务,那么我们本章将会采用外置的quartz定时任务框架来完成定时任务的分布式单节点持久化,我们为什么要持久化定时任务呢? 在一些项目中定时任务可能是必不可少的,由于某种特殊的原因定时任务可能丢失,如重启定时任务服务项目后,原内存中的定时任
恒宇少年
2018/06/27
2.5K0
第三十七章:基于SpringBoot架构以及参数装载完成接口安全认证
在上一章第三十六章:基于SpringBoot架构重写SpringMVC请求参数装载中我们说到了怎么去重写SpringMVC参数装载,从而来完成我们的需求。本章内容会在上一章的基础上进行修改! 企业中接口编写是再频繁不过的事情了,现在接口已经不仅仅用于移动端来做数据服务了,一些管理平台也同样采用了这种方式来完成前后完全分离的模式。不管是接口也好、分离模式也好都会涉及到数据安全的问题,那我们怎么可以很好的避免我们的数据参数暴露呢? 本章目标 基于SpringBoot平台实现参数安全传输。 SpringBoot
恒宇少年
2018/06/27
1.5K0
RESTful规范Api最佳设计实践
RESTful是目前比较流行的接口路径设计规范,基于HTTP,一般使用JSON方式定义,通过不同HttpMethod来定义对应接口的资源动作,如:新增(POST)、删除(DELETE)、更新(PUT、PATCH)、查询(GET)等。
恒宇少年
2019/10/10
1K0
第三十章:SpringBoot使用MapStruct自动映射DTO
MapStruct是一种类型安全的bean映射类生成java注释处理器。 我们要做的就是定义一个映射器接口,声明任何必需的映射方法。在编译的过程中,MapStruct会生成此接口的实现。该实现使用纯java方法调用的源和目标对象之间的映射,MapStruct节省了时间,通过生成代码完成繁琐和容易出错的代码逻辑。下面我们来揭开它的神秘面纱 本章目标 基于SpringBoot平台完成MapStruct映射框架的集成。 SpringBoot 企业级核心技术学习专题 专题 专题名称 专题描述 001 Spring
恒宇少年
2018/06/27
5.6K0
SpringBoot系列(九)统一异常处理与统一结果返回
 日常开发过程中,难免有的程序会因为某些原因抛出异常,而这些异常一般都是利用try ,catch的方式处理异常或者throw,throws的方式抛出异常不管。这种方法对于程序员来说处理也比较麻烦,对客户来说也不太友好,所以我们希望既能方便程序员编写代码,不用过多的自己去处理各种异常编写重复的代码又能提升用户的体验,这时候全局异常处理就显得很重要也很便捷了,是一种不错的选择。
全栈学习笔记
2022/03/31
2.5K0
SpringBoot系列(九)统一异常处理与统一结果返回
Java统一异常处理(配置文件集中化定义)
无论任何项目,都避免不了在运行期间出现的一些异常,并伴随着因业务逻辑的需要而给出相应的提示,使得系统变得更加友好,这类提示处理,我们统称为异常处理(exceptiona handling)。
xcbeyond
2020/04/01
1.4K0
Java统一异常处理(配置文件集中化定义)
第三十八章:基于SpringBoot架构使用Profile完成打包环境分离
在中大型企业项目开发中,环境分离是必不可少的一步,然而现在的开发人员也只是有这个概念,还是有很多项目采用普通的方式,每次打包发布部署的时候改动一大堆的配置文件,有一个地方忘记改就相当于白更新了一次系统,这种修改配置文件完成环境更换的方式给我们带来了很多的困扰,浪费了我们很多宝贵的时间!早在Spring 3.1版本就已经为我们提供了环境分离的相关注解配置方式,不过在传统的Spring项目中配置Profile确实有点麻烦,在Spring版本的不断更新直到后来SpringBoot成长起来后Profile已经能够很
恒宇少年
2018/06/27
6710
使用aop统一处理controller中的异常及日志
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
呼延十
2019/07/01
4.3K0
使用aop统一处理controller中的异常及日志
第四章:使用QueryDSL与SpringDataJPA实现多表关联查询
对于业务逻辑复制的系统来说都存在多表关联查询的情况,查询的返回对象内容也是根据具体业务来处理的,我们本章主要是针对多表关联根据条件查询后返回单表对象,在下一章我们就会针对多表查询返回自定义的对象实体。 本章目标 基于SpringBoot框架平台完成SpringDataJPA与QueryDSL多表关联查询返回单表对象实例,查询时完全采用QueryDSL语法进行编写。 构建项目 我们使用idea工具先来创建一个SpringBoot项目,添加的依赖跟第三章:使用QueryDSL与SpringDataJPA完成Up
恒宇少年
2018/06/27
3.4K0
第六章:使用QueryDSL的聚合函数
在企业级项目开发过程中,往往会经常用到数据库内的聚合函数,一般ORM框架应对这种逻辑问题时都会采用编写原生的SQL来处理,而QueryDSL完美的解决了这个问题,它内置了SQL所有的聚合函数下面我们简
恒宇少年
2018/06/27
3.7K0
第三十六章:基于SpringBoot架构重写SpringMVC请求参数装载
在国内企业开发项目中大多数都已经偏向Spring家族式的开发风格,在前几年国内项目都是以Structs2作为Web开发的主导,不过由于近几年发生的事情确实让开发者对它失去了以往的信心。与此同时Spring家族发布了SpringMVC,而且完美的整合Spring来开发企业级大型Web项目。它有着比Structs2更强大的技术支持以及更灵活的自定义配置,接下来我们就看看本章的内容,我们自定义实现SpringMVC参数绑定规则,根据业务定制参数装载实现方式。 本章目标 根据项目定制SpringMVC参数状态并了解
恒宇少年
2018/06/27
1.4K0
第七章:使用QueryDSL与SpringDataJPA实现子查询
在上一章我们讲到了QueryDSL的聚合函数,让我们重新认识了QueryDSL的便利之处,它可以很好的使用原生SQL的思想来进行Java形式的描述,编写完成也不需要考虑更换数据库存在的不兼容问题。当然QueryDSL还有很多我们没有发掘出来的核心技术,我们今天来讲解下”子查询“,看看QueryDSL是怎么完美的诠释了使用Java写SQL。 本章目标 基于SpringBoot平台完成QueryDSL整合JPA实现多表、单表子查询。 构建项目 我们使用idea工具创建一个SpringBoot项目,然后添加部分依
恒宇少年
2018/06/27
5.4K0
第四十六章:SpringBoot & RabbitMQ完成消息延迟消费
在2018-3-1日SpringBoot官方发版了2.0.0.RELEASE最新版本,新版本完全基于Spring5.0来构建,JDK最低支持也从原来的1.6也改成了1.8,不再兼容1.8以下的版本,更多新特性请查看官方文档。 本章目标 基于SpringBoot整合RabbitMQ完成消息延迟消费。 构建项目 注意前言 由于SpringBoot的内置扫描机制,我们如果不自动配置扫描路径,请保持下面rabbitmq-common模块内的配置可以被SpringBoot扫描到,否则不会自动创建队列,控制台会输出4
恒宇少年
2018/06/27
8620
SpringBoot 实战 (十四) | 统一处理异常
如题,今天介绍 SpringBoot 是如何统一处理全局异常的。SpringBoot 中的全局异常处理主要起作用的两个注解是 @ControllerAdvice 和 @ExceptionHandler ,其中 @ControllerAdvice 是组件注解,添加了这个注解的类能够拦截 Controller 的请求,而 ExceptionHandler 注解可以设置全局处理控制里的异常类型来拦截要处理的异常。 比如:@ExceptionHandler(value = NullPointException.class) 。
JavaFish
2019/10/17
5550
SpringBoot 实战 (十四) | 统一处理异常
推荐阅读
相关推荐
第四十三章: 基于SpringBoot & RabbitMQ完成TopicExchange分布式消息消费
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档