Business Analyst与严格意义上Data Scientist的区别

 

Data Scientist职位的工作内容包罗万象。有的Data Scientist主要做数据分析、写SQL,有的Data Scientist更像Engineer,需要写代码,把最原始的数据转化为大家可以用的数据。有的Data Scientist主要做模型。所以大家不要被职位的头衔迷惑,要好好读Job Description。

 

Business Analyst

 

作为一个Business Analyst,首要任务是解决问题。Business Analyst与人合作广泛,平时可能会与各种不同职位的人接触,比如PM、Marketing、Engineer等,他们可能会向你请教不同的问题。他们的背景与思维方式都不一样,所以不管你做了多么厉害的模型,最终你都要用浅显易懂的方法告诉他们你是怎么解决这个问题的,从数据中得到了什么结果,以及下一步我们要做什么。

 

 

Business Analyst的工作通常比较快节奏,短周期。比如Flipboard的安卓组每两周都会发布一个Feature,那么每两周都要做A/B测试,12天的时候就要开始分析从上一版本的数据中得到了什么结论,下一个版本要发布什么Feature。Business Analyst的项目有长有短,短至一天两天,长至两个星期或一个月。

 

狭义的Data Scientist

 

大部分Data Scientist的工作有明确具体的待解决的问题。比如说,假设我是Facebook的Data Scientist,我可能想要解决的具体问题是:我怎样让Facebook更个性化地迎合每一个人的喜好。Data Scientist做的项目比较偏中长期,从收集数据、清理数据、建立模型到优化模型,再到把模型应用于产品让上亿人使用,这需要一个过程。对于建模的项目,可能是一个人的项目,也可能是几个人的项目,但大家都是Focus在一个具体的问题上的。

 

他们的技能点有什么区别?

 

 

实际工作中与数据相关的工作可以归纳出四个步骤,我们一步步地来看其中会用到什么技能。

 

首先是比较偏Data Engineering的工作,这是首要的第一步。这一步所做的是把数据从原始的状态,变成我们之后可以用来分析、用来建模的形态。举个例子,公司可能会有安卓、IOS等客户端,它们收集了一些用户数据,如用户点击了什么新闻,阅读时长与阅读喜好。把这些数据收集起来之后,就需要Data Engineer做ETL,建立Data Pipeline,把数据清理后放在Table里,之后就可以通过写SQL等对数据做一些基本的分析。

 

第二步是处理一些基本的数据需求。比如,有时候与你合作的产品经理不会写SQL,他们可能会找你帮忙,并告诉你他们想得到怎样的数据。还有一些同事会让你直接把数据放在Excel分享给他们。很多公司都有内部商业智能的工具,我们可以在这个工具上建立报告,把这些报告编纂成小的集合,也就是一个个Dashboard,你需要知道内部的数据结构,并且搭建Dashboard分享给他人。这些其实是很多Business Analyst在日常工作中会做的。

 

第三步涉及到数据的探索性分析。很多时候只写SQL是不能解决问题的,我们需要更深入的了解数据。其中所使用的两个比较常见的工具是R和Python。R中有一个流行的包叫ggplot2,它是专门用来做数据可视化的。当你要把数据分享给产品经理或工程师时,把它可视化变成图表,别人更能一眼看出你想表达什么。很多工程背景的人可能会觉得Python更加好用,科技公司的包容性比较强,所以工具的选择其实是很广泛的。

 

第四步比较偏Modeling。在经济金融行业,线性模型建得比较多,而在科技行业选择就更多一些,有监督学习、无监督学习、分类模型等都会涉及到。

 

那么在这四个步骤中,Data Scientist和Business Analyst都涵盖了哪几个部分呢?

 

狭义的Business Analyst技能点主要落在第二步与第三步之间,狭义的Data Scientist可能更注重于第四步,也就是建模。当然这里每一步都有它的价值所在,如果你的技能点更全面当然更好,这样你在未来工作中更可以独当一面。假如你在第二步中写SQL时,发现数据有一些问题,如果你同时拥有第一步中Data Engineering的知识,那你就能更快速地发现问题在哪里。

 

BA在公司里典型的工作与所用的工具

 

 

我做的Business Analyst工作,映射到这四步都分别是什么呢?

 

首先因为公司比较小,CEO、CFO和COO可能都会问我问题。假如下周有一个董事会,那么CEO可能会让我用数据说明公司现在处于什么位置,发展状况如何。或者让我花半个小时讲一讲最近我们的用户情况,如用户日活和他们的使用习惯等发生了什么变化,在数据上有没有大的起伏,起伏的原因可能是什么,比如前阵子用户数据上升,可能是因为我们的平台进行了版本更新,这其实就像在用数据讲一个故事

 

 

又比如,CEO和一个重要客户的谈话需要一些数据做佐证,他可能会向我确认,他对公司的某某数据的理解是不是正确的,而我就要为他就这些数据做出解释。还有一部分,如前面所说,公司的产品经理可能不会写SQL,会找我帮忙,并且可能会问我一些简单的问题,我需要去解答。第二步所包含的这些工作大概占我工作内容的20%~30%

 

再来看第三步,产品经理一般会提前半个月或一个季度制定一个产品的Roadmap,大致包括下一步产品要添加什么新的Feature,要把产品领导到什么方向,可能Roadmap中写了10件要做的事,那应该先做什么后做什么呢?

 

作为Business Analyst,要通过分析历史数据,帮助产品经理做决策,识别出哪几件事对于用户是更重要的,因而需要优先做,由此参与到Roadmap的制定过程中。我们还要明确制定新的产品Feature的目的是什么,可能这个目的是让用户在我们的平台上待的时间更久,那么用户停留的时间就是我们衡量Feature是否成功的指标(Success Metrics)。

 

知道了目的后,我们就要写一个简要的说明,告诉工程师我们要收集哪些数据,如何收集,在用户产生什么行为时应该发回一个数据点,这个过程也叫埋点。埋完点后我们会进行A/B测试,把用户分为实验组和对照组,实验组看的是新的产品Feature,而对照组看的是旧的Feature,进行一到两周后,看两组之间的Success Metrics是否有差异,过程中我们会负责监视数据的变化,然后做数据分析,产出结果报告。

 

这其中有一点要特别注意,很多同学会把数据分析的结论,如最后产出的那个图表当成你数据分析工作的终止点,但在实际工作中不是这样的。我们分析出结果以后,要多想一步,即有了这个结论之后,产品经理可以利用这个结论做什么。只有一个结论是没有用的,很多时候我们分析出了一个结论并不代表就有好的Actionable Items,这一点是我们需要去思考的。

 

第四步的工作涉及到研究特定的用户群体。比如,有的用户喜欢在我们的平台上分享和点赞,那一个新用户是怎样变成喜欢分享和点赞的活跃用户的呢?是哪些因素导致的呢?我们就可以建立模型,收集一批用户的数据,看哪些预测变量可以预测这个结果。

 

我的日常工作中,通常用哪些工具呢?

 

 

第二步用到的工具主要是SQL,虽然SQL好像很不起眼,但它真的是一个非常重要的技能。除SQL外,不同公司还有不同的商业智能的工具,进入了公司也就能学会使用。

 

对于第一步的写Data Spec,我用的是Google doc或者像Confluence这种可以协作的平台。

 

第三步和第四步中,我不管是做分析还是建模用到的都是R,当然很多Engineer更喜欢用Python,具体用什么工具可以随自己选择,最终目的都是解决问题。

 

优秀的Business Analyst需要哪些特质

 

 

沟通能力

 

沟通能力是放在所有BA能力之上的,是最重要的能力。因为在工作中会遇到各种不同背景的人,工程师、产品经理或做市场的人,他们对于一些数据的结构,以及怎样把实际问题转化为数据问题是没有概念的。

 

比如,一个与我们公司合作的出版商问,在我们的平台上他们的用户情况如何。这个问题非常笼统。他想了解用户的什么情况?是他们用户在我们平台的活跃程度,还是用户读了他们的出版物后的订阅情况?作为一个好的BA,我们不能只是一味地分析,要充分地与对方沟通,把他们提出的笼统的问题,划分成几个中型的问题,再转化为若干个小的问题,再就这些小问题,了解到底哪个问题才是他真正关心的,他很有可能只在乎某一个方面的问题,而其他方面根本不在乎。这个时候沟通能力显得至关重要,如果你根本不沟通,辛苦地分析给出了数据,可能他看到会说他想要的数据不是这个,有时候他根本不知道自己想要什么数据。

 

还有一种情况,可能一个产品经理找你要某些数据,觉得这些数据可以解决他们的问题,但有时候他们并没有找对真正能解决他们问题的数据,这个时候,你就要去沟通,了解他们的痛点是什么,他们要解决什么问题,从而去识别真正能解决他们问题的数据,其实这也涉及到接下来要提到的能力。

 

问题转化能力

 

怎样把一个抽象问题转化为数据问题?甚至有时一个抽象问题可以转化为多个不同的数据问题,每一个问题都有它不同的难点,可能这个问题的数据不存在,那一个问题的数据很难得到,把抽象问题转化为数据问题后再一个个击破,最终形成你的结果去解决最初的那个抽象问题。这个能力是很重要的,同时也与上面提到的沟通能力密不可分。

 

统计思想与问题分析能力

 

我们解决问题的关键不是在于Fancy的模型,而更多地是在于对模型的理解。一个问题可能可以用好几种模型来做,那最应该用哪一个?哪一个模型最简单、最直接、最快?我们需要思考这些问题,然后使用那个最简单最有效率的模型。统计思想本身与逻辑思维能力比你知道多少高级的模型重要很多。

 

数据解释和呈现的能力

 

我们要学会换位思考,想一想作为一个产品经理、营销人员或工程师,他们想要从我们的数据分析结果中得到什么,他们需要的是什么,根据这些来呈现我们的数据和结论。并且正如前文提到的,我们还要在得出分析结论的基础上多想一步,他们下一步可以做什么,这样做能得到什么效果,将数据转化为实际工作中的Insights,而不要只是停留在你的高级模型和你的高级可视化上。