数据分析师的职业规划与参考资料

数据分析师如何规划

参考:超详细的数据分析职业规划
一个产品的出现可以从业务和技术两个方向分析,业务需求+技术支持=产品的出现。
如果把职业也当成一个产品,也有类似的分析,

其中业务也就是领域,即这个业务领域的特点与需求,譬如金融领域的风控模型、营销领域的生命周期、广告领域的点击率预估等,各有各的特色。一般而言,成为某一个领域的数据专家会更为有发展(不要频繁的跨越行业)。
技术对应路线,实现这个产品,路线可以分为哪些阶段,以及每个阶段的实现方法

不同业务领域的数据分析师规划

由于领域各有各的特点,本文不对领域进行扩展,后期会对各个领域的数据分析进行专题介绍。

技术维度的数据分析师规划

技术路线大致可以划分成四大方向:数据分析,数据挖掘,数据产品,数据工程。

(一)数据分析/数据运营/商业分析

这是业务方向的数据分析师。 绝大部分人,都是从这个岗位开始自己的数据之路,也是基数最大的岗位。这里更多指互联网行业,偏业务的数据分析师,一般属于运营部门。不少公司也称数据运营或者商业分析。

这类岗位的职位描述一般是:

负责和支撑各部门相关的报表;
建立和优化指标体系;
监控数据的波动和异常,找出问题;
优化和驱动业务,推动数据化运营;
找出可增长的市场或产品优化空间;
输出专题分析报告;

但不少业务端的数据分析师主要工作只做第一点,基本是跑SQL,做报表,成了业务端的表哥。为了避免成为表哥,作为数据分析师要对报表中的指标进行进一步的分析。最常见的就是5W2h分析。

数据分析师-找到问题的原因

以活跃指标的下跌举例:

活跃指标下跌了多少?是属于合理的数据波动,还是突发式?(what)
什么时候开始的下跌?(when)
是整体的活跃用户下跌,还是部分用户?(who)
为什么下跌?是产品版本,还是运营失误?(why)
怎么解决下跌的问题(how)

这是一套标准的解决思维,分别对应what、when、who、why、how,每一部分都不是三言两语可以解释清楚。

不要把现象当结论:
发现指标出现下跌,是现象,不是原因,不要把现象作为结论提交,这是不合格的数据分析。
进一步分析原因:
为什么这个地区的活跃下跌了。是该地渠道,是该地竞争对手,是该地市场环境?这些问题都是细化深入的范畴。并且,它们要能以量化解释,而不是我认为。

做好了这点,才是一个真正的业务端的数据分析师。

这样活跃下跌的问题,本质上也是指标问题。什么时候开始下跌,哪部分下跌,都能转化成对应指标,如日活跃用户数,新老用户活跃数,地区活跃数。
你不能衡量它,就无法增长它,指的就是指标体系。

数据运营-构建指标体系

指标体系是从不同维度梳理业务,把指标有系统地组织起来。简而言之,指标体系=指标+体系,所以一个指标不能叫指标体系,几个毫无关系的指标也不能叫指标体系。

实际工作中,想要准确说清楚一件事是不容易的。例如,你在金融公司工作,工作中可能会听到这样的对话:

“大概有1万多人申请贷款吧”
“有很多人都没有申请通过”
“感觉咱们的审核太严了”。

同事之间这样闲聊说话没什么问题,但是如果是数据分析师在回答业务部门问题的时候就不能这么说了,一定要用准确的数据和指标来描述清楚。例如上边的对话可以改成:

5月4日新申请贷款用户10450人,超目标达成1450人;
5月4日当日申请贷款用户10450人,当日通过2468人;
截至5月6日,5月4日申请贷款的10450名用户中有3690人通过申请,申请通过率35.31%。

上面通过一个指标“申请通过率”说清楚了申请贷款用户的情况。但是实际工作中,往往一个指标没办法解决复杂的业务问题,这就需要使用多个指标从不同维度来评估业务,也就是使用指标体系。

指标体系可以是业务部门建立,但数据分析师也挺合适。一方面他们比数据挖掘这类技术岗位更贴合业务,一方面不像业务岗位对数据抓瞎。
在这里插入图片描述

数据分析师解决问题的同时,将业务数据体系化,建立一套指标框架。两者结合,这岗位也能称为数据运营。

BI工程师

指标体系如果工程化自动化,也就是BI,所以数据分析师可以算半个BI分析师,这里不包括BI报表开发。BI如果采购第三方,数据分析师负责BI没问题,如果自有开发,那么BI岗技术的色彩更浓厚。

数据分析师的发展方向

管理:

数据分析师是一个基础岗位,如果专精于业务,更适合往管理端发展,单纯的工具和技巧很难拉开差距。数据分析的管理岗,比较常见的有数据运营经理/总监,数据分析经理等,相对应的能力是能建立指标体系,并且解决日常的各类「为什么」问题。

商业/市场分析:

商业/市场分析是另外一个方向,更多见于传统行业。你要开一家超市,你得考虑哪里开,这就要考虑居民密度,居民消费能力,竞争对手的多寡,步行交通距离,开车交通距离等。这些数据是宏观的大指标,往往靠搜索和调研完成,这是和互联网数据分析师最大的差异。

数据挖掘工程师:

若往其他分支发展,比如数据挖掘工程师,则要继续掌握Python和机器学习等。从业务型发展上来的好处是接地气,具备商业洞察力(天天搞报表,怎么可能不熟),这点是直接做数据挖掘,或者程序员转岗,所不具备的。

新人,比较普适的发展路线是先成为一位数据分析师。积累相关的经验,在一两年后,决定往后的发展,是数据挖掘,还是专精数据分析成为管理岗。

(二)数据挖掘

数据挖掘技术向的数据岗,有些归类在研发部门,有些则单独成立数据部门。
数据挖掘工程师要求更高的统计学能力、数理能力以及编程技巧。

数据挖掘与机器学习的区别:

从概念上说,数据挖掘Data mining是一种方式,机器学习Machine Learning是一门方法/学科。
机器学习主要是有监督和无监督学习和关联规则,有监督又可划分成回归和分类,它们是从过去的历史数据中学习到一个模型,模型可以针对特定问题求解。
在这里插入图片描述
两者有区别,但也有很多相似的地方,如下
机器学习与数据挖掘有什么不同

最优化问题:

除此之外,还有一个领域,属于最优化问题的运筹学。现实中的问题往往有很多约束,比如护士排班,一共有三班(早、中、晚),现在要求每班满足最低护士人数,每位护士尽量不能连班,每位护士不能连续工作5天。每位护士的夜班数要均衡,每位护士每月的班数要均衡…这些问题很难用机器学习的方法完成,而在最优化领域,则有遗传算法、模拟退火算法、蚁群算法等。
实际的应用场景中,如外卖行业,如何寻找骑手效率最大化的最优路径,同样属于最优化,也是数据挖掘的工作范畴。

数据挖掘工程师,除了掌握算法,同样需要编程能力去实现,不论R、Python、Scala/Java,至少掌握一种。模型的实施,往往也要求Hadoop/Spark的工程实践经验,精通SQL/Hive是必须的。

常见数据挖掘项目的闭环如下:

定义问题
数据抽取
数据清洗
特征选取/特征工程
数据模型
数据验证
迭代优化

单看环节,数据挖掘对分析能力没有业务型那么高。这不代表业务不重要,尤其在特征选取方面,对业务的理解很大程度会影响特征怎么选取,进而影响模型质量。用户流失是一个经典的考题,如何选取合适的特征,预测用户会否流失,能够考察对业务是否深刻洞察。

数据挖掘的业务领域一样可以细分。

金融行业的信用模型和风控模型/反欺诈模型、
广告模型的点击预估模型、
电商行业的推荐系统和用户画像系统。
从需求提出到落地,数据挖掘工程师除了全程跟进也要熟悉业务。

因为要求高,所以数据挖掘的平均薪资高于数据分析师。

一个分工明确的团队,数据分析师负责将业务需求抽象成一个具体的数据假设或者模型。
比如,运营希望减少用户流失,那么设立一个流失指标,现在需要预测用户流失率的模型。
模型可以是数据分析师完成,也能是数据挖掘工程师。
最终由数据挖掘团队部署到线上。

数据挖掘分工:

在一些公司,高级数据分析师会等价于数据挖掘工程师(其实行业内,对Title并没有严格的标准),只是工程能力可以稍弱,模型部署由专门的工程团队完成。
数据挖掘工程师,往后发展,称为算法专家。后者对理论要求更严苛,几乎都要阅读国外的前沿论文。方向不局限于简单的分类或者回归,还包括图像识别、自然语言处理、智能量化投顾这种复合领域。这里开始会对从业者的学校和学历提出要求,名校+硕士无疑是一个大优势,也有很多人直接做数据挖掘。
深度学习则更前沿,它由神经网络发展而来,是机器学习的一个子集。因为各类框架开枝散叶,诸多模型百花齐放,也可以算一个全新的分支。除了要求熟悉TensorFlow, Caffe, MXNet等深度学习框架,对模型的应用和调参也是必备的,后者往往是划分普通人和大牛的天堑。
算法专家和深度学习专家,薪资level会更高一级,一般对应于业务型的数据运营/分析总监。
数据科学家是上述岗位的最终形态之一,要么理论能力非常强,往往担任研究院的一把手。要么工程能力突出,上述的系统都能完成平台化的部署。

(三)数据产品

这个岗位比较新兴,它有两种理解,

一种是具备强数据分析能力的PM,
一种是公司数据产品的规划者。

具备强数据分析能力的PM

以数据导向优化和改进产品。在产品强势的公司,数据分析也会划归到产品部门,甚至运营也属于产品部。这类产品经理有更多的机会接触业务,属于顺便把分析师的活也干了,一专多能的典型。
他们会运用不同的数据源,对用户的行为特征分析和挖掘,达到改进产品。最典型的场景就是AB测试。大到页面布局、路径规划、小到按钮的颜色和样式,均可以通过数据指标评估。
俗话说,再优秀的产品经理也跑不过一半AB测试。此类数据产品经理,更多是注重数据分析能力,擅长用分析进行决策。数据是能力的一部分。

公司数据产品的规划者

后者,是真正意义上的数据产品经理。在公司迈大迈强后,数据量与日俱增,此时会有不少数据相关的产品项目:包括大数据平台、埋点采集系统、BI、推荐系统、广告平台等。这些当然也是产品,自然需要提炼需求、设计、规划、项目排期,乃至落地。

我们不妨看几个数据产品经理要求:

负责大数据产品的设计,输出需求文档、产品原型;
负责推荐算法的产品策略,完成相关推荐及个性化推荐产品的需求分析;
负责分析和挖掘用户消费内容的行为数据,为改进算法策略提供依据;
负责客户端数据需求的对接,制定相关埋点规范及口径,相关业务指标验证;
报表展示工具的落地和应用;

和C端注重用户体验不同,数据产品,更注重整体的分析能力和逻辑。除了产品经理最基础的Axure、Visio、MindManager等工具。往往还需要很多技术型的能力。比如了解BI/DW原理和实施、了解常用的推荐算法、了解机器学习模型等。这也很容易理解,C端要求你了解用户需求,而在数据端,主要用户就是数据。
这当然不是说,用户体验不重要,拿推荐算法来说,除了满足用户最基本的感兴趣,也要考虑时效性,考虑新兴趣的挖掘,考虑无数据时的冷启动问题…这些一样是用户体验,只是解决方案也得从数据出发。再多思考一步,模型是离线还是实时,实时怎么实现它?技术细则不用多考虑,但你要知道会有这些坑。后端的数据产品,如报表,用户往往是你隔壁工位的小秦或小路,设计得丑一点不要紧,要是数据指标口径不统一,那才会分分钟骂街。
虽然数据PM需要熟悉各类数据模型、指标、数据挖掘和数据工程的实现,但是聚焦点是把它作为一个项目去实现,故而不用精通。

数据产品经理是一个比较新兴的岗位,所以有丰富经验的从业者并不多,我个人认为,还是存在比较大的职业缺口。当然也有其他问题,一是因为新兴,部门负责人本身也没有想好他们能干什么,不少数据PM还从事表哥的工作。二是数据产品本身可借鉴的经验不多,像APP产品,可以下载体验,总归有一个学习的过程。然而用户画像、BI、算法策略,都是其他公司的内部机密,无从参考,我就遇到不少对用户画像实现非常感兴趣的数据PM。

从职业发展上看,数据分析师做数据产品经理更合适。普通的产品经理,对前端、后端的技术栈尚未熟悉,何况日新月异的数据栈。这个岗位,适合对数据特别感兴趣,但是数理天赋不高的职场人,那么以沟通、项目管理和需求规划为能力,也不错。

(四)数据工程

数据工程师其实更偏技术,从职业道路上看,程序员走这条路更开阔。

在很多中小型的公司,一方面数据是无序的、缺失的、原始的,另外一方面各种业务报表又嗷嗷待哺。没办法,分析师只能自己撸起袖子,一个人当三个人用。兼做数据清洗+ETL+BI。

经历过的大概都懂,数据分析踏上数据工程的不归路如下:

每天都要从五六张表上join,那么不妨加工成一张中间表;
ETL的依赖关系越来越复杂,尝试用kettle/airflow等框架搞定,弄个DAG美滋滋;
运营部门的周报次次都要这几个指标,看看能否做一个自动化BI;
数据量逐日增多,最近T+1的日报需要几个小时完成,研究下查询语句的优化;
查询语句的优化空间也不大了,开始迁移到Hadoop/Spark分布式平台,新技术栈的学习;
新平台,原有的工具也不管用了,某大牛说apache上有工具能解决这个问题,于是阅读文档;
公司部署了私有化的埋点采集,数据缺失比较厉害,业务部门天天骂娘,继续埋Flume/Kafka的坑;
等等…

如果分析师在技术方面的灵性不错,那么技能点会往技术栈方向迁移。从最初的SQL,到了解Hadoop集群、了解presto/impala/spark、了解ELK、了解分布式存储和NoSQL……

这也是一个不错的发展方向,因为数据挖掘需要了解算法/模型,理论知识要求过高,不少硕士和博士还过来抢饭碗,自己不擅长容易遇到天花板。选择更底层的工程实现和架构,也是出路,薪资也不会低于数据挖掘/算法专家。

部分归属到技术部的数据分析师,虽然Title叫数据分析(其实应该叫数据分析开发工程师),很多工作也是围绕ETL/DW/BI进行,那么这就是标准的数据工程路线。

部分公司会将机器学习模型的部署和实现交给数据工程团队,这要求数据工程师熟悉sparkMLlib、Mahout此类框架。

数据工程师,可以从数据分析师的SQL技能,往数据的底层收集、存储、计算、运维拓展。往后发展则是数据总监、或者数据架构师。因为数据分析出身,与纯技术栈的程序员比,思考会更贴合业务,比如指标背后的数据模型,但是技术底子的薄弱需要弥补。

另外,DBA、BI这些传统的数据库从业者,也是能按这条路线进阶,或者选择数据产品经理方向。

职位总结

以上四个岗位就是数据分析的发展方向,它们互有关联,如果从整个架构来看,

我们可以将其划分为

数据收集—数据加工—数据运营—数据触达。

数据收集负责收集各种各样的原始数据,比如用户何时何地做了什么事情。它依赖于埋点采集系统,而埋点采集,需要收集什么类型数据,往往由数据产品经理确定规范(还是看公司,数据运营和数据分析师也能负责)。

收集上来的数据需要存储,往往因为高吞吐量,需要保证数据和日志的稳定性,会采用Flume+Kafka,如果有实时统计要求,也得考虑流数据。这块则是数据工程的范畴,包括原始数据的再加工,数据清洗,都是专门的数据团队完成。

当获得数据后,首先第一点是讲各种明细数据加工业务指标,没有指标不成方圆,这里由数据分析师定义的。有了指标,配合各种数据产品输出,如用户画像用户标签、BI报表,这些数据产品都由数据PM统筹排期…另外一方面,数据挖掘工程师和算法专家则凭各种数据建立模型,进行实时或离线运算。

模型可能会预测用户会不会购买某个商品,可能是做出一系列的推荐,可能是判断用户属于哪个类型,不一而足。

更上面一层是业务相关,数据分析师会监控和分析BI上指标的波动、数据挖掘工程是通过用户反馈数据,衡量算法的优劣、数据PM按AB测试的结果改进产品。数据工程师保证系统的稳定。

所有层次一环扣一环,每个岗位在其中都发挥特有的作用。

数据工程偏底层技术,
数据分析偏上层业务,
数据挖掘和数据产品处于中间形态。

不同公司虽然业务形态不一致,架构会有差异,但是职责不会偏差太大。这也是数据分析为什么会有四个方向。

参考:

博客

我所理解的互联网BI数据分析师
增长黑客,看这篇就够了。
数据分析师职业规划——数据分析师这个岗位,可能近几年会消亡
超详细的数据分析职业规划

埋点相关:

数据埋点采集的那些事儿:https://zhuanlan.zhihu.com/p/141693997
字节跳动大规模埋点数据治理最佳实践:https://zhuanlan.zhihu.com/p/396582298
友盟:https://www.umeng.com/page/z/maidian

Google Analysis:Google Analytics(埋点) 使用指南
百度统计:https://tongji.baidu.com/web5/welcome/products?flag=0
talking data:https://www.talkingdata.com/
growing io:https://www.growingio.com/。

书籍推荐:

《谁说菜鸟不会数据分析》
《深入浅出数据分析》
《赤裸裸的统计学》
《增长黑客》
《精益数据分析》
《运营之光》

常用网站:

数据分析网:https://www.afenxi.com/
艾媒网-全球新经济行业数据分析报告发布平台:https://www.iimedia.cn/
人人都是产品经理:http://www.woshipm.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/222048.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac电脑m1 arm架构安装虚拟机教程

1、准备一台虚拟机,安装CentOS7 常用的虚拟化软件有两种: VirtualBoxVMware 这里我们使用VirtualBox来安装虚拟机,下载地址:Downloads – Oracle VM VirtualBox 001 点击安装 002 报错:he installer has detected an…

【Python】基于ORM的SqlAlchemy操纵数据库代码实现

说明 ORM,全称Object-Relational Mapping,即对象-关系映射,是一种程序设计技术,用于在面向对象编程语言和关系数据库之间建立对应关系。它的主要目的是让开发者能够使用面向对象的方式操作数据库,而不必过多地关注数据…

【 USRP安装教程】MATLAB 2023B

步骤 matlabdocusrp驱动包 doc 安装包内容列表 双击“R2023b_Doc_Windows.iso” 打开cmd 查看盘符 切换盘符 因为是F盘,所以cmd输入:“F:” F:进入可安装界面 cd F:\bin\win64安装离线文档库 .\mpm install-doc --matlabroot"C:\MATLAB\R202…

idea 如何使用 JaCoCo 跑覆盖率

背景介绍 什么代码覆盖? 代码覆盖(Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。简单来理解,就是单元测试中代码执行量与代码总量之间的比率。 Java常用的单元测试覆盖率…

kafka offset sasl加密连接

kafka-tool(offset) 进行SCRAM连接,直接上图 填写jaas的认证(账密 引用包)

Python tkinter控件全集之组合选择框 ttk.ComboBox

Tkinter标准库 Tkinter是Python的标准GUI库,也是最常用的Python GUI库之一,提供了丰富的组件和功能,包括窗口、按钮、标签、文本框、列表框、滚动条、画布、菜单等,方便开发者进行图形界面的开发。Tkinter库基于Tk for Unix/Wind…

使用Gitee中的CI/CD来完成代码的自动部署与发布(使用内网穿透把本地电脑当作服务器使用)

📚目录 📚简介:⚙️ 所需工具:💨内网穿透配置💭工具介绍✨命令安装🎊配置Cpolar🕳️关闭防火墙🥛防火墙端口放行规则(关闭防火墙可以忽略)🍬小章总…

Windows系统下的可用RADIUS软件-[资源]

RADIUS协议相关原理介绍,可参考博客RADIUS协议原理介绍报文分析配置指导-RFC2865/RFC2866。 本文用于提供和介绍Window系统下几种可用的RADIUS软件。主要涉及软件有radius_ping(绿色免安装版)和WinRadius(绿色免安装版&#xff09…

使用极狐gitlab初始化导入本地项目

本地有项目的情况需要同步到极狐gitlab上 第一步: 在gitlab上新创建一个空项目 ⚠️⚠️⚠️这里需要注意红色圈住的地方一定不要选择,因为选择了这个后续会有不必要的麻烦 第二步 在本地项目中删除原来的.git文件(这一步如果是新项目可以忽略&#…

mysql部署 --(docker)

先查找MySQL 镜像 Docker search mysql ; 拉取mysql镜像,默认拉取最新的; 创建mysql容器,-p 代表端口映射,格式为 宿主机端口:容器运行端口 -e 代表添加环境变量,MYSQL_ROOT_PASSWORD是root用户…

通用的java中部分方式实现List<自定义对象>转为List<Map>

自定义类 /*** date 2023/12/19 11:20*/ public class Person {private String name;private String sex;public Person() {}public Person(String name, String sex) {this.name name;this.sex sex;}public String getName() {return name;}public String getSex() {return…

java读取含有合并单元格的Excel

java读取含有合并单元格的Excel Excel如下: import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.*;import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.…

卡尔曼(kalman)滤波学习测试例

下面两套代码一套是python,一套是matlab,效果是一样的。 PYTHON import numpy as np import matplotlib.pyplot as pltt np.arange(1, 1001) nsig 5 * np.sin(0.01 * t) np.random.rand(len(t)) np.random.randn(len(t)) 5 * np.cos(0.05 * t np.…

【设计模式--结构型--代理模式】

设计模式--结构型--代理模式 代理模式概述结构静态代理案例:卖车票jdk动态代理cglib代理三种代理对比优缺点使用场景 代理模式 概述 由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时,访问对象不适合或者不能直接引用目标对象&#xff0…

控制理论simulink+matlab

控制理论下的simulink和matlab使用 根轨迹LQR控制器简单使用状态观测器设计 根轨迹 z [-1]; %开环传递函数的零点 p [0 -2 -3 -4]; %开环传递函数的系统极点 k 1; %开环传递函数的系数,反映在比例上 g zpk(z,p,k); %生成开环传递函数%生成的传递函数如…

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器,用于解决在开发过程中管理和构建包依赖项的需求。 Package结构 一个 Package(包)由 Swift 源码…

Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印

package com.atguigu.structure; public class Demo02_arrayList {public static void main(String[] args) {MyGenericArrayListV1 arrayListV1 new MyGenericArrayListV1();//arr.add(element:100,index:1);下标越界,无法插入//初始化(第一次添加&…

运维知识点-Kubernetes_K8s

Kubernetes RBAC配置不当攻击场景攻击过程 RBAC配置不当 Service Account本质是服务账号,是Pod连接K8s集群的凭证。 在默认情况下,系统会为创建的Pod提供一个默认的Service Account, 用户也可以自定义Service Account,与Service…

警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。

引言: 在当今数字时代,勒索病毒已经成为网络安全领域的一大威胁,而其中之一的.mallox勒索病毒更是具有高度破坏性。本文将深入介绍.mallox勒索病毒,包括其攻击方式、数据加密特征,以及如何有效恢复被加密的数据文件&a…

SparkSQL的编程模型(DataFrame和DataSet)

1.2 SparkSQL的编程模型(DataFrame和DataSet) 1.2.1 编程模型简介 主要通过两种方式操作SparkSQL,一种就是SQL,另一种为DataFrame和Dataset。 SQL SQL不用多说,就和Hive操作一样,但是需要清楚一点的时候,SQL操作的是…