点击下方名片关注和星标『可乐的数据分析之路』
👆点击关注|设为星标|干货速递👆
转自:大数据分析和人工智能
文整理自知乎专栏:突破数据分析[1],作者是网易数据分析高级总监贺志,
哈喽大家好,我是可乐
看到一篇数据分析好文,分享给大家,主要讲数据分析方法论、经验总结以及个人成长。
正 文
我是一个数据从业者,很早以前就想把自己在工作和学习中的心得做个总结。一方面是对自己过往经历的一个总结和回顾;一方面最近几年大数据是越来越火了,也希望自己的经验能帮到那些对数据有热情、希望从事数据行业的新人们;还有一方面,也非常重要,是希望借助知乎这个平台跟广大同行们做一个交流,互相帮助,共同成长。
在开写之前,先做下自我介绍。我在企业里从事数据相关的工作已经有11年了,在这些年里,我做过咨询顾问、数据分析师、售前工程师、开发工程师、数据分析经理直至总监。在管理岗上,我带过数据分析、数据挖掘、数据产品、数据仓库等各种团队,其中带数据分析团队时间是最长的。先后就职于国企、传统制造业和互联网企业。总的来说,比较杂。现在想来其实有得有失。缺失的是,在任何一个细分领域上都没有做得特别深入,不算是一个合格的专家;得到更多的是,我对整个数据的产生、处理、分析直至为企业提供价值的过程都有过体会和思考,从而也使我能够站在一个更高的角度上看问题。到底是成为一个专才好还是通才好,我觉得这没有一个确定的答案。个人觉得T型人才是比较受欢迎的,也就是自己的技能和业务面同时要有宽度和深度。当然,到底多宽或多深才合适,取决于个人的职业发展意向。基于我的经验,我分享的更多是对这个行业的理解、做事情的思想和方法论,而不会侧重于具体的实现技术。想学技术的同学请绕行。
后面我预计要分享的内容包括数据分析、产品、仓库、数据团队建设等等。个人经验最多的是数据分析,就从这里开始吧。可能包括以下话题:
一句话定义,数据分析是一个从数据中通过分析手段发现业务价值的过程。这个过程的起点是获取一份数据,这个过程的终点是发现业务价值。过程可以大致为分数据获取——数据清洗——数据处理——数据建模——分析结果呈现——业务价值发现——业务价值实现这几个阶段。
在具体说明每个阶段之前,首先要谈下我对数据和业务价值这两个概念的理解。
过程的详细说明:
在开始做分析之前,首先要有分析目标!分析目标!分析目标!重要的事情说三遍。
战略分析:是为了解决公司战略方向问题,回答要向哪里去的问题。
运营分析:不同于战略分析,运营分析以解决实际运营问题为目标,比较微观。
综上,根据数据分析的使用场景、业务阶段、服务人群、范围及层次不同,可以分为很多种。以上只是列举出一部分。在每种场景下,数据分析的目标、关注的重点和难点都有所不同,分析师要在分析过程中时刻关注自己有没有偏离目标,并对重点和难点有充分的准备。
从我的经历看,数据分析的目标主要来自两方:一方是业务,一方是数据部门自身。
对于一个具体的数据分析项目来说,可能以上两方的因素都会存在,只是占比多少而已。以下详细说明这两种方式的场景、前提及“坑”。
分析目标主要来自业务方:这种场景通常存在于业务方对业务发展有疑问,希望通过数据分析提升业务。业务设定的目标要么是对过去的业务发展做总结和诊断,希望从中发现问题;要么是基于业务的历史预测未来的发展趋势。这里经常存在的问题是,业务方提出目标往往是模糊不清的,并且通常用业务术语而非数据口径来定义。因此,这种情况下,分析师要花较多的精力做需求分析。而要做好需求分析,分析师需要具备一定的产品和业务思维,要从业务视角出发,充分理解业务的处境,才能从最根本上理解业务的需求。同时,需要对数据产生的流程和指标计算的口径对业务人员进行充分的说明。如此不断地迭代沟通,往往分析到最后,却发现已经不是原来的需求了。还有一种情况,业务对数据了解较多,会在需求中说明需要的数据口径,这种需求会被单纯地看做一个数据提取需求。即使是这样,如果希望让这部分数据更有价值,分析师也需要就其业务背景有深入的讨论,然后可以修正该需求。
分析目标主要来自数据部门自身:这种场景下,数据部门在组织上是独立于业务部门的。但是独立不意味着可以不考虑数据分析对业务的价值(参见第一章)。如果说实现业务价值是分析的根本原因,那么重要数据指标的变化则是数据分析的直接原因。也就是说,如果数据部门要能够独立提出分析目标,首先要有相对完善的指标监控体系。而指标体系可以分层,并且建立起各指标之间的关联关系。因此,数据部门提出分析目标可以更全面、更客观,而不局限于一隅。但是,这个分析目标的设定对数据部门要求更高:不仅要具备完善的指标监控体系,更要了解业务。经常出现的情况是,数据部门自己费了挺大的劲做出的分析报告,业务部门却无动于衷,其中没有涉及到业务痛点可能是一个重要原因。
总结一下,分析目标的设定是数据分析最初也是最重要的一步。一个合理的分析目标应该具备以下特征:
可以从分析师的工作目标、工作内容和能力要求三个方面回答这个问题。其中工作目标和工作内容是息息相关的。要说清楚这个问题,我认为除了一些公认的标准之外,还有一些标准是因公司和行业而异的。也就是说,必须把它放在一个具体的公司业务框架之中考虑。
一般来说,无论是哪个公司,都希望分析师能有效地利用数据引导和驱动业务发展,实现数据的价值。但是,公司发展的情况不同,对数据分析师的价值定义也会不同。
参照第一章,分析师的主要工作内容数据获取、数据处理、数据清洗、数据建模、分析结果呈现、数据价值发现及实现。无论分析的目标是什么,大体总要经过这几个阶段。由于数据建设的阶段不同,分析师在这几项工作内容上所花费的时间也不同。在公司数据建设早期,分析师可能在数据获取、数据处理和清洗、指标建设上花费更多的时间;数据建设到达一定阶段之后,分析师的工作更多会在数据建模、呈现和数据价值实现上。
对分析师的能力要求可分为通用能力和技术两部分,同时也可以分为业务和数据两部分。
好的分析师在实际的业务操作中至少会做好三点:
企业需要数据并不等于需要数据分析师。
如果仅是想看数据,其实有很多企业可以提供这样的服务和工具。比如流量统计工具GA,比如报表工具Tableau。这些工具都可以在不需要分析师的情况下,对业务人员做简单的培训就可以用起来。
分析师承担的是相对复杂的、个性化的、以分析为目的(而不是查询)的任务。
如果企业有如下情况之一,那么可能是需要建立一支分析师队伍了。
从企业层面看,如果要建立分析师团队,要弄清楚几个问题:
弄清楚这五个问题之后,就会知道应该招聘具备什么经验的人,招聘多少人,以及对水平的要求有多高,如何考核他们等等。
那么如何思考这五个问题?
在之前的章节中已经提到分析的价值在于业务价值,而业务价值实现的最后一步是把分析结论应用于业务中,并反复迭代。
我想从一个例子来说明分析师在整个价值实现链条中的位置和作用。假设我们在考虑如何实现一件工具的价值,这件工具可以是一把钳子,或者更复杂点,比如一部电脑。在这个例子中:
也就是说,数据分析的价值除了分析师这个因素之外,还受到其他因素的影响。比如:
呃。。。是不是漏了点什么?分析师哪里去了?其实分析师的作用正在于对上述因素形成过程中的影响:
个人感觉分析师团队很不好带,数据分析师团队最大的三个痛点是:
散:在公司级别的团队中表现尤其显著。由于支持的业务多,而各业务的发展目标不同,导致无法设立一个统一的业务目标,只能按人去设定目标,管理效率很低。
乱:正是由于业务目标散乱,造成分析师之间的工作无法统一和协同。很多时候都是各自为战,没有配合,甚至出现目标冲突的情况。
弱:不能影响业务,不能建立话语权。这个在上文中已经说过,此处不再赘述。
这里面的关键是解决“散”的问题。很显然,如果把眼光放在部门级的业务上,是无法解决这个问题的。因此,需要把视野扩展到全公司。基于公司统一的发展目标,建立一个统一的分析框架。正如数据分析是服务业务的,分析框架也要基于业务模型来建立。业务模型的标准是:
有了业务模型,现在需要建立分析模型。我的经验是对着业务模型提问题。首先是公司级的:公司的发展目标是什么?需要哪些要素来完成这个目标?各要素之间如何互相促进?然后将上述问题分解到部门级。最后可以将问题归类,可以分为:目标分析、运营分析、要素分析等。这些分类好的问题就是分析师分工的基础。
传统的分工方式是分析师按支持业务部门分工,或者按支持的业务模块分工。
这种分工方式的结果是:
第一、分析师对业务的了解如同盲人摸象,每个人都只能了解到部分业务,不能也不会从整体考虑业务问题,对问题的定位缺乏深度;
第二、分析师的工作是割裂的,自己的分析结果不容易被其他分析师采用。
以电商平台模式举例,运用上面的方法:
建立业务分析模型:用户、商品两个主要要素。链接这两个要素的是用户购物体验。用户自身会有用户生命周期,商品自身会有商品生命周期。还可以进一步细化:用户购物体验包括查找商品信息、下单、配送、付费、售后等体验。商品生命周期可以包括采购、仓储、上下架等。商品要素包括定价、分类、功能、用户评价等。
提问:公司的发展目标?假设公司的发展目标就是追求销售利润最大化(实际上很多电商平台不是通过这个模式来盈利的)。要素?利润的大部分通常是由高净值人群和高毛利商品贡献的。要不断发展壮大高净值人群和提升高毛利商品的销量。各要素之间如何促进?高净值人群不会只买高毛利商品,平台也不可能只卖高毛利商品。链接这两者的是用户体验。分析师可以根据分析主题分成两个大组:一组的分析任务包括识别高净值人群、分析高净值人群的购物体验、分析高净值人群的生命周期;二组的分析任务包括识别高毛利商品、分析用户对高毛利商品的购物体验、分析高毛利商品的生命周期。当然,还可以把购物体验单独作为一组或者在上述基础上进一步细分。比如高净值人群分为A、B、C等几个不同特征的人群,如果其特征差异很显著,可以基于人群分组做进一步划分。
这样分工的好处是:
第一、分析师是基于分析模型的分组,组内目标一致,组内分析结果是可以共享和互相借鉴的;
第二、组内大目标的设定可以较为宏观,促使分析师从整体考虑问题
第三、组内对大目标的分解最终会落实到具体业务上,不会太虚
第四、不同分组间的分析师虽然目标不同,但是使用的数据维度基本一样,很多的基础性工作是可以共建的,且分析结果也可以互相借鉴。
写分析报告应该是每个分析师的必做功课之一,不管是简单的或者复杂的,正式的或者非正式的。
什么是分析报告?我定义为有特定的主题、分析过程和结论的都可以算作分析报告,而不拘泥于表现形式。
那么怎么才算是一篇好的分析报告?相信每一个分析师都会有自己的标准。比如:对业务有意义、数据准确、逻辑严密等。这些都没有错,但是报告是给人看的,而每个人的背景和需求不同,那么从报告读者的角度出发去衡量报告的好坏会更加客观。
既然要从读者出发,那么首先就要对读者分类。从我的经验出发,我们可以把报告的读者按职级不同简单分为决策层、执行层;按对业务的了解程度不同分为了解和不了解两类。那么读者可以细分为四类:
我将从选题、数据选择、分析过程、结论、报告结构、可视化这几个方面去说明对不同类别的读者,一篇好的分析报告的标准是什么。
对于A类读者:由于他们对业务了解,视野又有一定的高度,所以选题应该以相对宏观且能反应业务痛点的主题。比如对公司或一级部门KPI目标完成度的剖析、相对于竞品主要业务指标的表现分析。数据应该选择较大的、粒度较粗的指标数据,不能用那种多个维度交叉且口径定义很复杂的指标。分析过程应简单明了,逻辑推理尽可能把数据变化和业务解读结合起来,同时一定需要关注时间维度上的变化。结论应清晰明了,包括对业务方向性的诊断和预判。在发布报告时,结论前置较为合适,对业务背景的描述不需要太多。可视化方面,以趋势性的图表为主。
对于B类读者:一般是经理及以下的运营人员。选题方面应侧重具体的运营问题,范围限定在二级或三级部门的职责范围内。选择某个业务线环节及上下游的微观数据,分析过程中要将统计方法或机器学习方法与业务规则结合,发现各指标之间的因果关系。报告结构的重心在于分析过程和结论,可视化方面要注重细节数据的呈现。
对于C类读者:选题偏重业务诊断和监控,选择宏观的、KPI或目标相关的重点指标,可以包含行业的、竞争对手的相关数据。分析方法以对比和预测为主。结论以对业务方向的定性总结为好。报告结构应在业务背景介绍、选题的依据、结论建议等多花些笔墨,过程可以简略。报告呈现以精简为好。
对于D类读者:通常是新人或者新业务。选题偏重业务发展细节中的痛点或瓶颈。数据选择微观的但较为简单的指标,分析过程中着重在于指标的历史趋势、相关指标之间的对比和变化,结论侧重于发现和定义业务问题。报告结构侧重于业务背景的描述、数据选择和指标定义。可视化需要在业务逻辑的展示上多花些功夫。
总结下,我认为报告选题、数据选择、分析过程、结论、报告结构、可视化是影响一篇报告质量的主要因素。但是分析报告如同一件艺术品,没有放之四海而皆准的标准,只有是否迎合和满足的受众的需求。因此,分析师必须清楚谁会看你的报告、你的读者希望从你的报告中得到什么、读者的背景(包括业务和数据方面的知识)是怎样的、读者对你和数据的信任度如何。如果分析师要写出一篇好的分析报告,需要了解的不只是数据和业务。
有个成语叫“大势所趋”,顺应趋势、迎合潮流的事情做起来总是事半功倍的。
在做数据分析之前,我们要问一问:在这个时代、行业、公司做数据分析是大势所趋吗?
要回答这个问题,首先要搞清楚哪些因素构成了数据分析的“势”。我列举如下几个:
所谓“道”,主要指分析体系和框架、目的和价值。
而这些主要受公司的业务模式和业务需求的影响。说白了,业务模式越简单、越清晰,数据分析越容易出成果。因为简单的业务模式能显著减少数据分析师学习业务的成本。分析体系和框架也会简单明了,在分析时需要考虑的影响因素就越少。而价值链短业务模式更容易让分析主题直接与业务收益挂钩,更容易让数据分析成果变现。而分析需求越稳定,就可以给分析师更多的时间深入研究下去,不断迭代,最终产出更大的价值。分析需求越清晰,花在需求讨论中的时间就越少,最终分析成果被转化的可能性就越大。
所谓“术”,是指数据分析的方法和过程,其中分析思维和分析技术对分析结果的影响。
正如我在开篇所述,数据分析所涉及技术体系非常庞大,而且学习资料也很多,不在本专栏范围之内。我重点想说说我经验中的一些分析技巧(包括思维和方法):
分析主题的定性与定量:设计分析主题中的重要一步,是要确定分析的目的是定性或是定量。如果是定性,通常只要考虑有关或无关,正面影响或负面影响。定量分析是很受业务方欢迎的,分析也更加复杂和困难,通常要通过机器学习模型解决。
发现分析主题的两个切入点:指标监控与业务问题。在《如何设定分析目标》一节讲过,数据部门更适合从指标监控中发现问题,业务部门更适合从业务中发现问题。但对于一个成熟的数据部门,把指标监控和业务监控深度结合,对于发现分析主题更有利。
数学建模:我对数学建模技术了解并不深。但是如果能把业务问题转化为一个数学模型,对于确定分析思路会很有帮助。
指标创新:指标其实是数据分析师分析业务问题的武器。因为无论你用什么分析方法,总要用到一些数据,而这些数据的计算方法、范围会很大程度上影响分析结果。且不说任何一个建模过程中的特征选择都非常重要,即使只是对业务的简单监控,一个好的指标往往能准确无误地反映出问题。对于互联网,PV、UV、时长、留存、点击率、退出率这些是大家很常用的。用来监控整体业务是没有问题的,但是对于某个小的业务板块就不太够了。比如,作为内容平台,我想衡量一次曝光的用户体验如何,应该用什么指标?有人会建议用点击率,但是点击率会受到标题党的影响,此时高的点击率并不代表好的用户体验。比较好的选择是把点击率、阅读时长、阅读进度等合成一个指标。
整体与个体:大处着眼,小处着手。无论是数据还是业务,都不是孤立存在的,系统性思维对于分析师非常重要。所以在看到一个小问题的时候,要知道它绝对不会影响这一小块业务;而看到大的目标出现问题的时候,要能意识到可能是一些小的业务环节出了岔子。在动手层面,对于数据分析来说,微观分析更容易获取实验数据,也更容易找到因果关系。所以要不断地对问题分解和细化。
分析维度的引入:在低维空间上解决不了,在高维空间上就不是个事(想到三体了吗)。比如SVM,低维空间上无法做到线性可分的数据样本,在高维空间上就可以。所以如果你在某个分析问题中费了牛劲也找不到答案,也许正是因为你忽略了某个重要的因素。当然也不是维度越多越好,因为维度越多,解释起来就越困难,不要忘了,结果是给人看的。
大胆假设,小心求证:试想求解一个方程式,我把某个解代入方程验证是否正确,要比我从空间中求解容易得多。同理,由于在现实世界中可能影响业务的因素太多,选择其中最有可能的因素去验证无疑是一条捷径。这个假设怎么去做?首先要对业务有足够的敏感度。是的,业务老鸟就是比新手能更快地“嗅”出问题的根源;其次要对数据有足够的敏感度,数据之间都是有关系的,某个相关的指标变化也许就能告诉我们答案。究竟这个假设是不是问题的答案,最终取决于数据验证。“小心”的意思是,一定要保证在验证过程中不受其他因素的干扰,AB测试无疑是个很好的方法。还有,在求证过程中要保持逻辑的严密。
往期推荐