热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

还在懵懂状态?给处于初/中级阶段的数据分析师的两三点建议

写在前面本文主要是面向互联网行业从事数据分析工作的读者。主要讲解在日常工作中,需要具备的常用思维模式,尽量避免出错,提升工作效率。希望

写在前面

本文主要是面向互联网行业从事数据分析工作的读者。

主要讲解在日常工作中,需要具备的常用思维模式,尽量避免出错,提升工作效率。希望可以对大家有所启发,不当之处也欢迎随时批评指正。


正文

数据分析师的日常工作,简而言之,便是基于一堆数据,利用技术分析手段,通过各种维度的指标,描述某种现象或寻找特定规律。

用一个成语形容,那便是抽丝剥茧,既是技术活儿,又是个细致活儿

因此,对数据分析师的要求也就不言而喻,既要懂得各种分析数据的技术和方法,同时又要非常小心谨慎,谨防犯错。因为基于错误的数据,可能得出错误的结论,从而导致错误的决策,造成重大损失。

这样说来,想要做好这个工作,就必须要遵循一定的原则。不过,今天我们并不是要讲解如何避免犯错,而是站在一个全局的角度,聊聊如何培养比较好的思维习惯。

如果具备了良好的思维习惯,那么犯错的几率也会大大降低。

 


主题意识

数据分析的核心在于提炼信息,总结知识,形成智慧。

这是一个不断向上汇聚的过程,每一次的转换都是由大量的数据或信息凝结成少量的智慧结晶,完成这个过程需要的不是发散,而是围绕核心凝聚。

任何一个真问题,都应该有边界,因此边界之内就是你需要的主题。

 


1.由点到线,由线及面

 

数据分析师的日常,主要是围绕业务需求展开的,而这些需求,通常是由业务需求方从业务角度出发,提出的一些描述性或验证性指标,是比较零散的。

如果只是机械性地完成这些需求点,那么将是非常枯燥无聊的,并且有可能并不能帮助业务发展。

原因是这些零散的点,很难自发形成网络,构成体系。如果每个点都在说明一个问题,但是却不能产生联系,就无法解释更大的问题,那么数据的力量,也就很难发挥出来。

因此,对于数据分析师来说,看到一个需求点,就要想到或了解背后的决策模型(如何利用数据得出结论从而指导决策),并推演出这个决策实际会推动哪块业务的发展。

然后再反过来思考,是否有更好的指标或方式,可以用于指导决策,当前的决策模型是否存在漏洞。

这当然对大家有更高的要求,也会消耗更多的精力,我在这里强调的是一种思维习惯,保持这种习惯,你才能更加迅速地理解业务,发挥数据价值。

拿我们公司的一个业务场景来举个例子说明下:

业务方提出一个需求,内容是:需要一份一天内每个视频的播放失败次数的数据来作为节目下线的阈值参考。

这个需求非常简单,一条简单的SQL就可以解决,group by之后再count计数即可。

但是我们应该不止于此,我们要思考这个数据,业务方用来干嘛?怎么用?使用后会产生什么样的价值?

经过沟通后发现,业务方有个节目下线系统,希望可以实时下线播放失败次数较多的节目,因此需要一个阈值(M)。

当一天内某个视频播放失败次数超过该阈值M后,该视频就会自动下线,避免让更多用户产生不好的播放体验。所以,最终的目标或价值是优化用户播放体验。

因此,我们对需求做了改造。

不是简单的计数,而是对单个视频的播放失败次数由高到低排序并进行累加,求出大于某个失败次数(N)的所有失败次数的累加值(S)约等于总失败次数(T)的80%时N的具体值,即第80百分位数。

即将下线阈值设定为N时,可以下线掉占总播放失败次数80%的所有视频,这样的效果是非常明显的。

当然,最终这个N值的设定,我们是求了7天的一个平均值。

 


2.带入主题背景思考问题

 

数据分析师在日常工作中,最让人头疼的就是排查数据异常问题。

但是,这又是一个很难避免的问题。之所以让人头疼,是因为从数据定义到采集、清洗、处理、转换、装载、分析、计算、导出的链路很长环节很多,数据出错的原因实在是太多样、太复杂了。

遇到这种情况,有些数据分析师,就会慌乱,大脑中一团乱麻,不知从何处下手。

我给的建议是:

仔细观察现象,将和这个数据相关的主题背景知识都装入大脑中。

然后思考哪个环节出问题后会比较符合当前的现象,之后再提出假设、搜集证据、验证假设。

如果不对,立马调整方向,再提出新的假设、搜集新的证据、验证新假设。

这种方式,相对来讲是比较高效的,据说急诊室和ICU病房的急救医生,便是在紧急情况下,采用这种思维模式,快速寻找病因的。

 


3.以主题总结知识

 

数据分析师的工作内容,相对来讲会更零碎一些。

因此,涉及到的知识和积累到的经验都比较零碎,那么为了能够更好消化吸收自己的知识经验,最好的做法就是按照主题,将这些零碎的知识串连起来,形成体系,只有形成了体系,才能够更好的传承下来。

这不仅是对自己能力的一种提升,同时也为团队建设发展作出巨大贡献。

 

 


交付意识

 

数据分析师的主要产物就是各种数据结果和报表,而这些产出往往蕴含的价值很大,与此同时如果出现错误,后果也会比较严重。

因此我们应该有交付意识,把需求方当做是甲方,我们要对自己的交付物负责。

 


1.对结果负责

相信不用多说,大家都知道,数据正确与否的重要性。

错误的数据,可能会导致失败的决策,小的失败可能导致业务发展走弯路,大的失败可能让公司蒙受重大损失。

因此,对于数据分析师而言,给出的每一份数据,都要抱着对其负责到底的态度,这样大家才能建立相互信任。

比较好的做法是,每份给出的数据都要经过数据验证环节,通过值分布和量级比对、与其他维度数据的对比或者观察较长时间的趋势变化等手段,确保数据的合理性和正确性。

 


2.按时交付

 

数据通常都是具备一定的时效性的,有些数据随着时间的推移,价值会越来越小。

从需求方的角度来看,有些决策是不能长时间等待的,必须果断作出判断,如果用于支撑业务的数据,长时间不到位,那么决策的质量也会下降。

因此,按时交付数据结果,尽早提供决策支持,是对数据分析师的基本要求。如果因为特殊情况不能按时交付,应尽量提前和业务方协商,及时调整相应计划。

 


3.清单思维

 

由于数据分析的工作内容有些琐碎,很容易漏掉或遗忘东西。这很正常,据说人的大脑一般很难同时记住7件事。

那我们该怎么办呢?

我们可以向外科医生借鉴下经验,那就是使用清单。

你在做任何一个任务或解决某个问题时,首先使用上文提到的主题思维模式,将这个任务或者问题的各个方面都罗列出来,经过思考,形成你下一步要做的action list。

之后,你就根据这份清单做事,当把清单上的事情全部做完,这个任务或问题也就解决了。同时还可以确保重要的细节不会遗漏,交付的结果不容易出错。

 

 


学习意识

 

数据分析师的日常工作既需要用到大量的技术,同时也需要和业务紧密结合。

因此,不仅要不断充电学习新的技术或者深入钻研现有技术,也要不断去深入理解业务,这样才能提高工作效率,把事情做的更好。

 


1.学习新技术,关注行业发展

 

大数据相关的技术层出不穷,有些前几年很棘手,不好解决的问题,因为有了新的框架或技术,可能变得非常容易解决。

所以,我们要不断更新迭代自己的知识结构,时刻关注新的技术的发展。

另一方面,对于现在正在使用的技术也要深入研究,这样才能灵活应对日常问题,排除bug,减少出错次数,将自己的精力放在价值产出上。

 


2.相互学习

 

孔子曰:“三人行,必有我师焉”。每个人都有自己的擅长点,大家关注的事情不同,踩过的坑不同,获得的经验也是不一样的。

因此,同事肯定有大量的闪光点,值得我们去学习。而且这种方式往往是非常高效的。

原因是,一方面大家都在一个团队,使用的技术是相同的,因此,在这方面的积累都是学会就立马可以用的;另一方面,大家做的业务也是相同的,因此互相学习交流,可以促进对业务的理解,这些都是具体的,而不是抽象的。

 


3.以输出倒逼输入

 

掌握一门知识最好的方法,就是把自己的所学分享给别人。

我们学习别人的知识时,通常是比较零散地接收,但是如果要讲给别人听,你一定会进行梳理,然后加上自己的理解,将这些零散的知识串连成一体。在这个过程中,你就会变得更加熟练。

另外,分享通常也需要你可以解答别人可能存在的疑惑,因此也会要求你去了解更多的相关知识,以输出倒逼你去输入更多的知识,让你对这门知识了解的更加透彻。

 

上面是博主基于自己多年数据分析的经验,给刚入行的数据分析师们的几点建议,希望对大家有所启发,也希望可以帮助到某些小伙伴们快速成长。


推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
author-avatar
_Terr1鄭x宜_F
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有