如何减少"导数"需求?
前言
做数据的同学经常会遇到导数
需求,各种临时导数.
本文主要也是本人工作中遇到的各种各样的导数需求导致的一些思考,也算是零零散散的解决方案吧。
本文也是从What、Why、How三个方面来总结。欢迎留言交流....😄
What:什么是导数?
首先需要确定的是导数
是什么意思?
导数
是数据仓库工程师、ETL工程师、数据工程师等日常工作中比较频繁的一部分。
简单的说
导数:就是根据数据需求方提出的需求,去数据仓库中提取数据(export),然后把结果提供给需求方
但是:
- 导数是一件很烦的事
- 比较复杂的导数需求相当于做一张报表
- 一些数据提供给业务方后,对他们真的有价值吗?
Why:为什么会有这么多导数需求?
首先思考为什么会有这么多导数需求,他们业务方怎么就知道要数据呢?
这个我们要站在业务方的角度考虑问题,他们为什么问我们要数据?
-
我们现有的系统(报表系统)不足以支撑他们的业务需求
-
可能有相应的报表可以满足该导数需求,但是不同的业务部门不同权限,不知道这张报表
-
业务方的问题:业务方需求判断不成熟,有一些价值不大的数据没必要一股脑问开发人员要数据
毕竟,我们是做数据仓库的!! 不仅仅是你们口中"你们就是个写SQL导数的..."!!
How:如何减少?
既然导数需求较多,那就在数据需求方和导数工作之间加一层过滤。。。
下图是一个导数流程图,主要是在需求方 和 开发人员中间加了一层过滤(数据产品经理、邮件申请等)
导数流程1. 制定提数邮件模板
首先需要拟定一份邮件模板,所有的导数需求都需要通过邮件的形式来提出申请,并且相应的得到审批后,开发人员才可进行导数。
直接当面找数据开发人员导数的均不回复,增加导数需求的难度。
模板参考
数据需求规范:
1、邮件标题:
数据需求_部门_需求名称_YYYYmmdd
例如:数据需求_分析部_2018年到店次数共大于5次客户数据_20181218
2、邮件抄送:
收件人必须是data_support@qq.com , 并必须抄送a@qq.com,不可直接发给data_support组的某一位同事
2、需求背景:
说明本次导数原因,涉及敏感信息(客户个人信息等)的需要走相应的流程审批方可向data_support@qq.com申请导数
提数据需求之前,请先查看应用系统是否有相应的报表可满足数据需求,如果实在无法满足再提数据需求,以免不必要的导数工作。
3、导数条件:
机构:说明数据限定的机构id
时间:说明数据的有效时间YYYYmmdd
其他过滤条件:例如:不包含散客的所有消费过的客户数据
4、指标口径:
如果某些指标计算判断逻辑较复杂,请务必提供详细的计算口径。
例如:到店次数大于5次 (只要到店一次就算做到店,还是到店消费且每次消费金额>0算做一次)
5、数据期望提供时间:YYYYmmdd 之前提供
(具体提供时间依据实际data_support组工作安排)
6、数据表头:请按附件模板中格式提供详细表头字段
如果某些指标判断条件较复杂,请提供详细的计算口径
7、其他:
不可直接找数据组同事要求导数据,所有数据需求均须走邮件流程。
如果是提前已经当面找数据组同事沟通了数据是否可提供后,还需要按本邮件规范发送数据需求邮件审批通过后,数据组同事才会提供数据。
示例:
邮件标题:数据需求_分析部_2018年到店次数共大于5次客户数据_20181218
邮件正文:
Dear data_support:
需求背景:为了**分析,需要统计2018年到店次数共大于5次客户数据,由于现应用系统没有该部分指标数据,需要数据组支持导出如下条件数据。
导数条件:
1、机构:xx品牌下所有机构
2、时间:20180101至今
指标口径:
1、到店次数:每个客户到店消费且每次消费金额>0算做一次到店
数据期望提供时间:20181223日之前
数据表头:见附件
导数邮件必须提供明确的表头(期望得到数据的样例)
2. 利用现有系统
利用现有的应用系统(报表系统、分析系统),数据组产品经理(如果没有产品经理,则负责人代替)需要判断该需求是否有类似的报表可满足该需求。
- 有报表且需求方有报表查看权限:直接回复让其查看报表
- 有报表但需求方没有报表查看权限:可内部沟通是否可开通报表权限
- 有报表但不方便给该需求方开通报表权限:数据组同学利用该报表数据导出反馈给需求方
3. 邮件审批机制
对于敏感数据的申请(客户信息)必须加大邮件审批机制(部门领导之类的),让导数
工作不再随随便便,让大家各部门都重视起数据的价值。
4. 自助取数系统(成本高)
可根据团队力量,成本预算等开发一套自助分析系统,可让业务人员自助提取数据。
对外提供一些中间表接口,让分析人员、业务人员可根据中间表字段结构,自助的提取自己想要的数据。
不过,该方案成本较高可根据自身公司实际情况来做。
如果要开发一套自助分析系统,需要考虑的东西还是很多的:
- 数据的开放程度
- 数据的权限
- 该系统的价值?
可参考如下链接:
5. 分享的理念
分享的理念,就是让数据组的同学一起把自己导过数的脚本共享起来。以后有类似需求的时候可直接查看参考以前导过数的脚本,达到代码复用的效果。
例如:
├── 导数记录
│ ├── 2018
│ │ ├── 20181010_张三_3月消费客户数汇总
│ │ │ ├── 20181010_张三_3月消费客户数汇总.sql
│ │ │ ├── result.xlsx
│ │ ├── 20181010_李四_4月消费客户频次分析
│ ├── 2019
│ │ ├── 20181010_王五_分析部2018年新客数量
│ │ ├── 20181010_王五_分析部2018年新客数量