第1章
什么是数据分析
1.1 一眼就看到结论还需要数据分析吗
在我做数据分析培训和咨询的时候,时不时会有学员或者客户流露出这样的情绪:
我们的企业其实是不需要数据分析的。
我们公司的业务情况,我很清楚,分析不分析都那样,反正我都知道了。
公司的数据好简单啊,就那么几列,有啥好分析的。
公司里面的很多数据都是造假的,没有分析的价值。
在以上问题中,除了数据质量,其他问题都与企业数据的可分析度有关。数据质量确实是数据分析很难解决的问题,如果企业员工出于种种原因总是在编造各种假数据,这应该属于职业道德或者企业管理水平(企业应该通过严格严谨的管理流程使得员工无从造假)的范畴,这里暂且不讨论。那么,什么是数据的可分析度呢?
这个问题实际上包含如下两层意思:
1)这个企业的数据是比较复杂的,一眼是看不到结论的,需要使用一些工具、模型、方法进行分析。
2)关于数据的分析是有价值的,也就是说分析的过程和结论对于企业是有价值的,能够对企业的生产经营等带来促进和提高。
因此,在数据的可分析度方面,我们需要有一些判断的维度,以帮助我们辨识数据是否值得分析,这里所说的维度主要考虑企业数据量、数据复杂度、数据颗粒度这三个方面(如图1-1所示)。
图1-1
1.1.1 企业数据量
企业数据量是企业可分析度的第一要素,企业数据量的大小往往取决于两个因素:
一是企业的行业属性,二是企业的信息化程度。众所周知,互联网行业往往也是产生大量数据的行业,“BAT”不仅仅引领了各自行业的发展,同时也是数据行业发展的标杆。
一般情况下,企业的数据量跟企业的规模呈正相关关系,中等以上规模的企业数据量均比较大。但是也有例外,我曾经接触过一家从事智能手机操作系统推送业务的公司,该公司规模很小,只有40多人,但是由于合作方是国内诸多智能手机的生产企业,因此该企业的手机用户数量有3000多万,每天产生的业务数量高达几GB。
1.1.2 数据复杂度
如果说数据量相当于数据的行,那么数据复杂度就相当于数据的列。某公司营销部曾给我发来的数据样例,总共的列数加在一起是12列。该公司要求分析客户数据,但是涉及客户资料的数据基本上就是客户名称、客户行业(行业数据还是不全的)这两列,客户注册资本、销售收入、雇佣人数都没有,怎么分析?
做过数据分析的人肯定都知道“巧妇难为无米之炊”的苦楚!请想想,你提供的客户数据就是寥寥数列,那要怎么去分析?怎么做文章?
到目前为止,并没有什么明确的指标来度量数据量与数据复杂度,我们很难说每天的数据超过3万行就算数据量多,或者说数据超过30列就算数据复杂。特别是数据复杂度,这中间还有一个数据相关性的问题:以案例文件1.1为例,虽然其中的数据是3列,但是用EXCEL自带的“数据分析”模块中的“相关分析”进行分析(相关系数的函数,后面会详细讲解),我们发现第二列“销售数量”和第三列“销售额”之间的相关系数是1(完全相关),如图1-2所示。
图1-2
从数据分析的角度看,这里实际上是两列数据而不是3列,换句话说,第3列的销售额数据属于“衍生指标”,因为单价30是固定的,我们只需要用销售量这个数据就可以反映销售的状况。
因此通过数据的列数来衡量数据复杂度其实也未必准确,而是应该看剔除相关性之后的列数。
1.1.3 数据颗粒度
数据颗粒度指的是从不同的层次来看待数据。很难用语言来形容数据颗粒度的重要性,还是通过一个例子来说明一下。炒过股票、用过股票软件的人都知道各种周期的分析(如图1-3所示)。
图1-3
从图1-3可以看出,股票有1分钟、5分钟、15分钟、30分钟等多个观察周期,而各种周期之间存在着相互包含的关系,例如5分钟的周期线实际上是由5个1分钟的周期线组合而成的,而15分钟的周期线是由3个5分钟周期线组合而成,以此类推。因此,我们说股票数据的颗粒度是:1分钟、5分钟……
其他颗粒度的例子还有很多,例如在分析各地GDP的数据时,涉及全国、省、市、区(县)等颗粒度;考虑家电产品的维度时,也有家电、白色家电、冰箱、型号等颗粒度。
理解了颗粒度之后,就很容易理解如下道理:数据的颗粒度越细越好,因为有了细颗粒度的数据,就可以自行组合成颗粒度比较“粗”的数据。例如我们知道了全国各个区(县)的GDP数据,就可以推算出市、省、全国的数据,但是反向的操作无法实现,即知道了市的GDP数据,未必能够知道下辖区(县)的GDP数据。
综上所述,可以得到如下结论:企业数据量比较大的、复杂度比较高的、颗粒度比较细的数据,就有比较高的分析和利用价值。
1.2 数据分析能给我们带来什么
数据分析是有成本的,这种成本包括时间精力、金钱,以及情感上的烦恼等。既然有成本付出,那人们自然关心,我能够从数据分析中得到什么?
1.2.1 了解数据的整体状况
曾有人在培训时提出,我公司的业务状况,我非常清楚,还用得着分析吗?可是,事实真的是这样吗?你真的对公司的数据了如指掌?对它所体现的特征一清二楚?如果公司的数据量比较大、比较复杂,那么它就有可能存在潜在的价值,就有分析的必要。
数据的整体状况包括如下内容:
(1)总体状况
总体销量是多少?质量问题的总计是多少?研发团队目前有多少人?研发费用是多少?
(2)结构状况
在关注总量之余,我们也关心结构情况,例如销售在各产品、各区域的分布是怎么样的?哪些设备、哪些机床有质量问题?
(3)异常情况
曾经有客户问过我这个问题:“老师,我们希望把产品销售增速放缓的品线找出来,可以吗?”这里先解释一下客户的需求,就是假如客户一月份的销售增速是3%,二月份的增速是3.4%,三月份的增速是4.5%,如果四月份的增速是3.9%,那么4月份的增速就放缓了,就属于异常值。
什么是异常值?简单地讲,就是根据客户的想法感觉有些异样的值,这些值是我们要重点关注的东西,并且会试图分析其背后的原因。后面会成体系地详细讲解。
(4)其他一些数据特征
我们有时候也会关心数据的稳定性、对称性等特征,后续都会详细讲解。
1.2.2 快速查询数据
数据分析的第二个好处是我们可以快速地查询数据,在数据分析领域中,筛选查询是一个宽泛的课题,涉及很多技术,从简单的筛选数据到动态筛选再到ACCESS的数据查询,内容非常丰富。
我曾经碰到一个企业的老总,他跟我说,企业里面的数据,他不可能都记得很清楚,但是他时常需要了解某个数据,例如某个产品在某个时间段里的返修率是怎么样的,这个时候他会去问秘书,秘书找到数据后再告诉他。“有的时候查一个数据,要一个小时”,这位老总觉得效率不高。
碰到这种情况,如果企业的规模比较大,则需要建立数据库;对于小规模的企业来说,用VB控件把企业的重要数据全部整合起来放在一个EXCEL文件中,是一个高效而且切合实际的做法。后面会详细讲解VB控件的具体安装和应用。
1.2.3 数据之间关系的探索
这部分内容应该是数据分析中最像“数据分析”的部分,例如以下的问题:
❑ 产品价格中的成本占比是多少?
❑ 如果成本上升了,价格怎样调整才是最优的?
❑ 影响产品质量的因素有很多个,假如这些数据都是能量化的,那么哪些因素对产品质量是有影响的?
❑ 肥胖和饮食习惯对冠心病有影响吗?
这些都是“正规”的数据分析的内容,需要运用一些统计分析的模型算法等进行分析。
1.2.4 业务预测
这里把业务预测放在数据分析收益的最后,并不代表数据预测的重要性是排在最后的。在我和企业接触的过程中,发现很多企业都有数据预测的需求,即使我告知他们预测未必很准确,但是一些企业也坚持要做一些预测,他们认为科学预测过的数据,对他们的生产经营等能有一个比较科学的指导。
1.3 数据分析的几大抓手
时不时地有培训学员来问我一个问题:“我怎么样才能把数据分析做好?”要回答这个问题还真是不容易,就像业余围棋爱好者问“我怎么样才能快速提高自己的棋力?”或者刚刚进入职场的大学生问“我怎么样才能把销售业绩做好?”一样。
任何一项工作要做好,都是一个综合的成体系的事情,这里就简单梳理一下把数据分析做好的几个必要条件。
1.3.1 足够多的数据
给巧妇多一点米吧!数据量越多,每天更新的数据就越多,做分析的价值就越大。这也就是为什么现在数据分析做得比较好的还是电信、金融、互联网等几个行业,汽车行业现在进展也比较快。从部门的角度看,市场部、财务部、生产部、质量部等是需要做数据分析的重点部门,为什么?就是因为数据多啊。
1.3.2 数据质量
光有数据量还不行,数据质量也是非常重要的。总体来说,我国很多企业的数据质量目前还比较低下的,先不说数据是否有造假的成分,光是数据的“粗漏错乱”这些就足以让企业的数据分析人员头疼了。
“粗”是指数据的颗粒度很粗,过于粗疏的数据,使得数据的分析价值非常低。
“漏”是指由于企业的数据规划或者数据记录仪器等的问题,很多数据都没有被记录下来。
“错”和“乱”指记录的数据错误,或者是数据被不同的部门所记录,但是数据对不上。例如有一个指标数据,市场部记录为103,而财务部记录为124,大家看到这个例子可能会觉得这怎么可能啊?但是我想告诉你,由于IT系统的五花八门以及部门之间数据经常缺乏稽核比对,因此很容易出现这类问题。
1.3.3 合适的工具
用来做数据分析的工具很多,比较知名的就有10多种,如果再加上那些不知名的,说几十种都算少的。
有的学员在跟我交流时提到不愿意换工具,例如他好不容易熟悉了Eviews,然后要做销售数据的季节性分解,虽然听说SPSS比较好,但是他不愿意换,觉得再学一个软件比较麻烦。
我个人的观点是:存在的就是合理的。每种软件都有它的优势,反过来,也有它的问题。其实我们可以逆向思维,如果有一个软件什么都能干,那么其他的软件就可以退出市场了。
要把各种软件的优势和长处说清楚是件不容易的事情,2.2节会尽可能做一个总结和描述。
1.3.4 分析结果的呈现
仅仅能够分析数据是不够的,还需要把分析的结果展示给其他人,这包括领导、同事、客户等。数据呈现目前是一个热门话题,所谓呈现,就是把数据分析的比较专业甚至晦涩的结果,以生动的甚至有趣的形式展示给他人看。
比较通俗地讲,有人认为呈现就是画图,我比较认同这个观点,“一图抵千言”,人们对于图形的接受程度要远远高于文字和数字。
EXCEL中有很多绘图技巧,EXCEL的更新版本也在对图形绘制进行不断地改进,各种专业统计工具中都有绘图模块,Stata、SAS、R等软件都有专门的绘图命令用来绘制图形。
1.4 数据分析的流程
数据分析一般有数据采集、数据整理、制表、数据分析、数据呈现等多个阶段。当然,不是说每一个数据分析的过程都需要这些阶段,有的企业数据质量非常好,自然就不需要数据采集过程了;也有些数据分析并不怎么需要呈现过程。不过,为了方便读者理解,下面将介绍一个完整的流程。
1.4.1 数据采集
数据采集指为了保证数据分析能够顺利展开而进行的数据采集工作。数据采集工作的难度、跨度非常大,有的采集工作非常简单,仅仅是几个简单的邮件、电话,就能够完成数据的采集工作;有的数据采集工作则非常痛苦,甚至经常会出现采集不到数据的情况。
数据采集的难度一般表现在如下几个方面。
(1)数据根本就不存在
由于企业缺乏数据规划或者现场人员疏漏等原因,在采集数据的过程中,经常发现数据根本就不存在。
(2)数据过粗
如1.1.3节所述,企业经常在数据记录的颗粒度方面出问题,例如根据某企业的规定,项目的成本数据应该按照“天”为单位来记录,但是我们最后发现成本记录的单位是“月”,这中间的差别非常大。
(3)数据质量低下
数据的错误、对不上、缺漏等情况普遍存在,曾经有一个项目合作方对我说,如果严格校对数据质量,我们的数据可以删除70%。试想想,在30%的比较“靠谱”的数据上做分析,得出的结论是否靠谱?
(4)人为原因导致数据采集困难
一些人为原因也会导致数据采集的困难,包括部门之间的隔阂、人际关系等因素。
1.4.2 数据整理
但凡是做过数据分析的人都知道,数据整理是一个痛苦而且复杂的过程,很多数据拿到手之后,并不能马上做处理,而是要经过一个转换过程,请看图1-4所示的一个需要整理的数据案例。
图1-4
从图1-4可以看出,A列的数据都是合并单元格格式,如果要对以上的数据进行透视表分析,需要进行如下的操作。
(1)取消合并单元格
选中A列,点击EXCEL中的“开始”→“合并后居中”,取消合并单元格之后的数据效果如图1-5所示。
图1-5
(2)填充空白单元格
按F5键,点击“定位条件”,如图1-6所示。
图1-6
在弹出的界面中选择“空值”,如图1-7所示。
图1-7
这时工作表中的空白都被选中了,效果如图1-8所示。
图1-8
在公式栏中输入“=A2”,也就是让每一个单元格都等于上一个单元格的值,然后按“Ctrl+Enter”组合键,空白处都填充好了。填充后的效果如图1-9所示。
图1-9
以上只是一个小小的例子,我们在进行数据处理的时候,都要先进行各种数据整理。甚至有时数据整理的时间会占据数据分析时长的70%以上。
1.4.3 制表
制表是日常工作的重要组成部分,也是数据分析的重要组成部分。实际上不少企业已经把企业管理工作贯穿到报表的实现当中,通过一张张精心设计的报表,管理人员可以迅速了解企业的采购、生产、销售、售后、财务、人事、安全等相关信息。
企业常见的报表包括如下类型。
❑ 采购报表:反映企业各部门的需求,供应商供货品类、价格等状况,采购项目进展状况等;
❑ 生产报表:包括产量表、成本表、人力消耗表、设备故障表、安全质量表等;
❑ 财务报表:包括销售输入管理、成本管控表、量本利分析表、流动资产管理表、负债管理表、投资项目决策表、财务预测表等;
❑ 售后报表:包括样品跟踪表、设备状况跟踪、客户满意度跟踪、投诉建议表等;
❑ 人事报表:包括人员状况、薪资福利、人员雇佣离职表等多个报表。
1.4.4 数据分析
数据分析的范围非常广泛,凡是基于业务需求出发且依托于数据进行分析的,就是数据分析。
企业的数据分析一般包括以下方面。
❑ 营销数据分析:这是企业数据分析的主要部分,个人认为也是数据分析最迷人最有魅力的地方。营销数据分析包括营销整体状况分析、客户分析、产品线分析、促销分析、客户画像、客户购买原因分析、营销预测、营销异常值分析等。
❑ 生产质量数据分析:包括生产态势分析、设备故障分析、生产成本分析、质量稳定性分析等。
❑ 财务数据分析:财务数据分析也是数据分析的主要部分之一,在很多企业,营销数据和财务数据有很多交集,甚至我见过一些企业的营销数据基本上是在财务部进行汇总的。财务数据分析一般比较关心异常值分析、财务预测、成本结构、项目投融资决策等多个方面。企业的其他部门也有一些数据分析的需求,不过分布得比较零散。
1.4.5 数据展示(呈现)
数据展示这件事情的跨度很大,高度重视数据展示的大企业会购买类似Tableau这样的专业可视化软件,这类软件功能强大,能够承受大数据量的考验,且运转速度快;而一般的企业由于实力限制或者没有那么高层次的需求,通常利用EXCEL或者一些数据分析插件来优化图形展示效果即可。
1.5 如何成为数据分析高手
在工作中接触数据比较多的朋友,由于提高工作效率的需要,或者考虑到职业发展前途,经常会关心一个问题:我怎么样成为一个数据分析高手?这种想法非常自然,如同一个下围棋的人经常会想“我怎么样成为围棋高手”一样。
根据我个人的理解,要想成为数据分析高手,要做到如下几个方面。
1.5.1 “拳不离手,曲不离口”
我培训的课程大概有10多门,不过课程的频度不同,有的课程一年要上好多遍,而有的课程相对比较冷门,一年也上不了几次。然后我就发现,那几个冷门课程,我每次上课之前都要备课,因为有些细节我忘记了。
项目中也是如此,自己写的系统代码,隔段时间不看了,就会有点看不懂了,需要静下心来仔细看一看。
所以,要成为数据分析的高手,第一要旨就是你工作中的数据很多,而且天天要做表、做分析,做得多了,自然熟练了,感觉也有了。
记得卖油翁的那句话吧:无他,唯手熟尔。
1.5.2 熟练掌握常用工具
“工欲善其事,必先利其器”,这话一点不假,身处信息时代的我们,掌握(尤其是熟练掌握)一些工具是非常有必要的。
第2章会比较详细地介绍统计分析工具,以下只是谈谈我自己的一些体会。
1.贵精不贵多
我曾经碰到过这样的人,他平时工作用EXCEL,也用VBA,根据我对他的了解,他的VBA用得一般,基本就是入门的级别吧。他报名去学习Matlab,也自学过R,2015年碰到他的时候,他说现在要考虑学Tableau。首先,我很赞赏和佩服他的学习精神,毕竟要学这么多东西,是要耗费很多时间和精力的(包括要花不少钱),但是,我绝对不赞成他的这种风格。要知道,对于一个分析工具的掌握需要长时间的学习和实践,有人说大部分人只掌握了EXCEL中5%的功能,我个人基本表示赞同。我使用VBA近20年,仍然觉得对VBA的很多功能还是知之甚少。再说,如果你熟练地掌握了一种工具,再学其他的也比较容易。
2.工具之间往往是互补的
我们需要掌握一个工具组合,一个有效的工具组合可以基本解决你的大部分问题。实际上,我在分析数据时,经常是多种工具一起使用。我会用EXCEL VBA表来收集数据,用EXCEL来预处理数据,用EXCEL数据透视表和SPSS来分析数据,用XLSTAT来做对应分析和决策树(因为我觉得XLSTAT虽然是个小工具,但是它在多重对应分析和决策树这两个模块上做得特别好),然后我会用clementine来处理关联分析。因此,“组合拳”还是很有必要的。
1.5.3 最好能编点程序
记得曾经看过一篇文章,写的是在美国,很多小孩都能编点简单的程序,有的小学生甚至能够熟练地掌握双重循环,也就是说,编程这个技巧,起码在美国,大家没认为它是一个很高端的技能。
国内的情况则大大不同,个人的感觉是很多企业人员对编程都比较害怕,甚至到了恐惧的程度。我曾经在班上问过一些学员,在大学的时候有没有学过编程,有1/3的学员举手。实际上,现在的大学在大一的基础课中是有VB和C语言的。不过即使这样,我仍然觉得很多学员包括学过VB或C语言的学员都不大喜欢或者不大愿意去接触编程。
我们的很多学员,还没有开始编程,就已经掉头撤退了,他们已经把自己归类到不可能学会编程的那个行列中去了!
本书的主旨不是探讨为什么很多有点编程基础的人不愿意编程,这里想说的是,编程技能几乎是数据分析高手的必备技能。如果学会一种编程语言将极大地提高数据分析的能力,如果精通的话那实在是太棒了。
试想,人家在跑代码,而你是手工做数据,这可是天壤之别!数据量大到一定程度,步骤多到一定程度,手工就没法做了。
1.5.4 一定要通晓业务
做数据分析,不能为了做分析而分析,做数据分析的出发点是业务需求,例如,我们要做商务预测,或者我们要找到有兴趣购买我们产品的客户,因此但凡是数据分析高手,基本上都有两个特征:一是懂业务,二是会做数据。
曾经有企业领导问我,他们要建一个数据团队,如何组建?我跟他说,不管你是内部选拔还是外部招聘,建议你团队里面一定要有几个从业务口出来的人,这几个人懂业务,跟企业其他人员也熟,沟通、交流都方便。后来,我得知,他们的数据团队有两个副经理,一个是偏业务的内部人员出身,一个是外部招聘的统计学硕士,我觉得这个设置比较合理。