如何快速成为数据分析师？
这个问题出来很久了，看了几个高票的答案，作为大数据领域唯一真正老仁波切 @北冥乘海生 ，我觉得有必要出来做一些补充。 实际上，成为一个优秀的数据分析师，并不是靠单打独斗的个人能力可以做到的。这就好比以色列空军在贝卡谷地空战中87:0的战绩，靠的是一个现代化的空中作战体系，而不是浑身是胆的飞行员。因此，您想成为优秀数据分析师的话，就需对下文所说的整个现代数据分析体系有深入的理解，并驱动这一体系在你负责产品中的不断完善，而不是仅仅掌握几个工具了事。为了突出方法论的重要性，我们在本答案中也将淡化具体的工具，只是告诉大家要做什么，应该选取哪一类工具。 想成为一个优秀的数据分析师，关键是建立如下四段式的工作方法论： 如果只用一个特征来判断数据分析师的水准，那就是对唯一目标函数的敏感程度。什么，这听起来很简单？不然，我们会发现有如下几个常犯的错误： 1. 同时优化多于一个的目标函数。你做一个推荐系统又想优化点击率，又想优化多样性，又想优化新鲜度，最后一定是哪个也优化不好。正确的方法，是确定一个目标，其他的变成约束，篇幅有限就不展开说了。 2. 目标函数的评估并非严格量化，要靠人的判断。如果每次目标都要人判断好不好，那等于没有目标，因为人是严重非理性的，这样优化跟扔鞋的结果差不多。 3. 简单copy一个看起来差不多问题的目标函数。这是个偷懒的办法，有时候效果也还不错。但是真正的高手，需要认真分析自己面对问题的本质，然后决定借鉴什么，改变什么，这需要一个长期的训练过程。 任何一个领域在技术上的突飞猛进，其实都首先依赖于合理明确目标函数的确立。就拿互联网变现的核心问题——计算广告来说，其优化的目标函数非常明确，即单位流量上的利润，而由于成本往往没有单独的优化空间，又可以简化为单位流量上的收入，即eCPM（expected Cost Per Mille，千次展示期望收益），可以说，有了这个合理的目标，问题就解决了一大半： 这一步甚至根本用不到什么工具，仅仅是一些案头工作。不过我要强调，这是成为一个优秀的数据分析师最、最、最重要的能力，而且当面对一个新问题时，它的难度很可能超乎你的想象。 仅有量化的目标函数往往还是不够的，因为这个目标的达成可能经过多个环节，而分析师的任务是找出其中哪个环节出了问题并加以解决。 于是，工作的第二步，就是针对上面所说的各个环节，将目标函数分解成若干子目标。仍然拿广告的问题为例，一个广告从展示出来到产生效果，从用户流程上看，可以分解为点击和转化两个环节（如下图所示），相应的两个子目标，即为点击率和点击价值。 在这样分解的基础上，我们才能进行更加有针对性的数据优化：仅仅说eCPM低了，并没有什么卵用，我们还要看到底是点击率低，还是点击价值低。如果是前者，那么有可能是创意不够吸引人；如果是后者，那么有可能是产品本身有问题。如此一来，才能有的放矢地进行优化。 再比如移动用户增长这个任务，我们的目标函数时总用户市场，此目标可以按下图分解，并根绝前后两各环节的数据比例制定一系列子目标： 要完善地记录这样的漏斗数据，我们需要用到网站分析或者应用分析的工具，前者比如GA，后者比如TalkingData，这些工具的功能都比较庞杂，还是那句话，眼中有目标，心中有漏斗，这些比熟练掌握工具中的奇技淫巧，要重要得多。 竖着切完了，还要横着切。某一个环节的数据不好，有时候不见得是全局的问题，很可能是部分数据上的策略缺陷，甚至可能是某种特殊条件下程序上的bug。那么怎么把这个“特殊条件”找到呢？这就要靠灵活的多维度数据查询分析。 所谓多维度数据分析，非常类似于给病人做CT：把病体一片片地切出来，看看到底哪个局部出了问题。比如下面的例子： 纵向地看，我们知道是注册率这个环节出了问题，可能具体的问题在哪里呢，可以需要横向分解数据来分析。如下图所示，我们把数据按照浏览器类型切分，可以明显看出Chrome浏览器的数据太低了，很可能是一个bug！当然，有时候我们需要在类似于“浏览器+地域”或“时间段+操作系统”这样的组合维度上找问题，这就要用到多维度的联合查询。 这一步要用到什么工具呢？主要是数据库上的SQL语言，和多维度联合查询的数据魔方（Data Cube）。数据魔方就是类似于下图的一个系统，能任意抽取其中的子立方体获得统计数据，这是不是很像CT？ 在已有的数据上刨食儿找问题，其实只是数据分析师一部分的工作，甚至可以说并不是最有挑战性的工作。 我们真正希望数据做到的、是为产品进化插上翅膀。显然，这要求我们主动地去探索一些新的策略和方案。可是，新的策略和老的策略，究竟哪个更好呢？从科学的角度来说，必须要在统计上完全一致的数据集上作比较，才能得到准确的答案。 显然，上面的需求依赖于一个线上系统中的实验框架，能够灵活科学地切分流量。可是，问题的真正困难之处还不在这里。实际上，一个产品演进的速度，取决于同时在单位流量上进行的实验数量。这涉及到有关分层实验框架的设计，由于篇幅有限，我们就不展开了。 有了实验框架的支持，一个好的数据分析师应该尽可能依赖数据而非经验作出判断，比如下面的游戏试玩优化过程，几个问号都应该在合理的实验框架中靠数据来决定，而非简单相信策划的理念和经验。 当然，好的数据分析师，还应该清楚地知道数据作用的边界，诸如感性用户产品的设计、博弈性场景的优化，就不能够完全依赖数据。 相信我，把我上面说到的几点理解透彻了，您对数据分析的理解一定能上一个层次。不过呢，这只能说是快速找到努力的方向，而快速成为优秀的数据分级师，是不太可能的，总要在实践中加深认识和训练技能才行。 如果您觉得本文有帮助，何不点个赞，让更多的朋友看到呢？   ［我是@北冥乘海生 ，想吸收更多负能量，请大家关注我的公众号“计算广告”(Comp_Ad)和知乎专栏“计算广告”！也欢迎参与我的系列live：通往数据达人之路］