- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
数据分析这个岗位涉及很多知识点,各个网站也都能搜到,但很少有一种系统化的流程来参考,也有读者后台留言问到数据分析的流程,所以我认认真真的整理出一套方法论,将数据分析从0-1的流程都串联了起来。
对于分析人员来说,过程很重要,是一个发现业务价值并探索业务价值的过程;但对于领导来说,结果才最重要,只有可落地实施可带来实际效益的结果才是数据分析价值的体现。
所以,流程中的每一步铺垫与探索都是为了最终的业务价值的实现。
01
数据分析sop流程
数据分析共包括四大阶段:
根据数据分析的sop流程,将其中的数据分析与展现阶段整理了一份思维导图,方便大家快速理解,可以先看一下。
其实数据分析一句话总结就是:将一堆无序的海量数据经过一系列清洗、处理、规整、加工展现,提炼出痛点及机会,从而驱动业务增长、辅助业务决策。
02
展开讲讲数据分析各阶段
一、发现问题
问题千千万,需从中找出有效问题。有效问题就是有价值的问题:这个问题涉及了什么业务?与什么指标相关?有多大的影响?能解决什么难题?受宏观影响还是微观影响?无法避免还是本可避免?等
发现问题,可以从以下几个方面着手:
二、需求处****理阶段
需求分两块:他人驱动与自我驱动。
➢他人驱动
通常由业务方、上级领导等需求方发现问题,提出需求。可能会存在需求不明确的问题,既增加沟通成本,又耗费时间成本,分析师将需求完成之后,需求方才发现自己需要的并不是这样的,成了无意义的工作、低成本的分析。
所以需要清晰get到需求方的点,了解清楚需求背景、需求目的、指标口径、数据需求范围、数据需求维度、需求的期望排期等。
另外还需明确一点,数据展示聚合还是明细。如果展示聚合,需要按照什么维度聚合,按照什么方式聚合;如果需要展示明细,搞清楚为什么需要的是明细数据,因为明细数据量会比较大,既涉及数据安全,也给调取数据带来压力。
有时候需求方要求明细数据,他们拿到明细数据之后还要再用excel去聚合去做数据处理,其实这一步骤分析师完全可以直接用sql或者BI产品解决。也就是说这个明细数据并不能一步到位让需求方看到他想看到的数据,所以需要引导需求方了解下他们需求的真正目的。
做到拆解需求,将抽象的需求具体化,复杂的需求简单化。
➢自我驱动
即分析师本人发现问题,探索解决问题的方案。比如某个指标波动异常,先于业务方发现并解决问题;再比如专门负责某一个项目,主动通过数据探索项目优化方案。
三、数据采集
数据采集的目的是为了在分析中使用,多数情况下用到的是聚合数据。数据采集分为内部数据、外部数据两大块。
➢内部数据
1)需要梳理清楚这个需求需要什么数据
2)需要判别需要的数据是否能从现有数据库中获取。如果可以,应该从哪个库中的哪个表获取?这个表中字段的口径和需求所需的字段口径是否一致?
3)如果现有数据库中没有现成的数据可以满足需求,就需要梳理好口径请数仓同学重新落表。
4)如果现有数据库中有表可以满足,但是需要通过SQL层层关联才能从数据库中获取聚合数据,最好的方式请数仓同学将你所需的聚合数据落成数据库表,这样一方面你使用起来较为简单,另一方面也减少了数据展现层的BI端连接数据的压力。
➢外部数据
行业报告数据:比如艾瑞网、极光大数据、阿里研究所、199IT互联网数据中心等都会时不时的发一些行业分析报告。整个行业的数据公司内部是无法获取的,所以可以从一些行业分析报告入手。
问卷采集:比如我们需要获取用户的一些①主观想法:喜欢我们产品的原因是?我们产品最吸引您的点是?您觉得我们产品最应该改进的点是?②对竞品的行为:您在xx场景下更愿意使用A产品、B产品还是C产品③用户习惯的场景:您在什么场景下更愿意使用xx产品?通过问卷数据获取一些产品中无法获得的数据,辅助分析。
宏观数据:比如我们分析的某个指标有时候也会受到宏观政策的影响。比如在xx日出具了xx政策,本公司产品在该政策之前与之后变化多大。
确保能获取核心的关键性数据,为下一步做准备。
四、数据处理
对分析师而言,这步需要分析师将数据根据脑中的分析框架处理成所需要的数据。会涉及数据异常值处理、缺失值处理、数据转换、数据聚合、数据分组归类以及数据准确性的校验,为下一步的数据分析奠定好基础。井井有条的数据更有利于分析。
五、数据分析
硬实力:
①数据调取:MySQL、SparkSQL、Hive、impala、Oracle、PostgreSQL等
②数据清洗或建模:Python、SPSS等
③数据可视化:Tableau、Fine BI、Quick BI、PowerBI等
④数据分析报告:ppt、excel、word
以上硬实力并不是说全部都需要,针对不同的岗位性质需要不同的技能。比如有的分析只需要会sql、可视化工具、写分析报告就可以了,有的分析额外还需要会python建模等。
软实力:
①统计知识:描述性统计、逻辑回归、假设检验等
②排查问题的能力
③沟通能力:与业务方、数仓、上级领导沟通
④归纳总结能力:从一系列分析中归纳出最重要的点
⑤数据敏感度
软实力更重要,工具大家认真学都能学会,软实力却是自己实打实的个人特色与魅力。
六、数据展现
以上准备都做好之后,就到了数据应用层:数据展现。数据展现普遍来说,有两种形式:数据分析报告&可视化报表。
1)数据分析报告
数据分析报告要素:数据调取时间、报告出具时间、报告负责人、数据维度、分析背景、分析目的、结论要点、附表等。
注意:
一份有价值的分析报告才是成果的展现。
2)BI报表
不管是采取外购的BI产品还是自研,都需要有一种敏捷BI来为数据应用提供一种入口。
数据可视化旨在将复杂数据图片化,帮助人更好地分析数据。可视化并不是单纯的展示下数据,而是使分析结果可视化,注意“分析结果”这4个字。借助于图形,清晰有效的传达与沟通问题。举个例子,可视化相较于数据,好比照片相较于文字。一张好的照片可以让人瞬间发现其中的亮点,而无需在大量文字中去提取;一份优秀的可视化可以让人瞬间发现数据要传达的含义。重在直观的展示,而非简单的好看。
数据是思想,可视化是表达方式。想象一下,倘若公司没有可视化,员工基本会在数据处理上耗费大量的时间,于员工而言,耗时耗力;于企业而言,员工因数据处理而导致的加班增加了开支成本,且管理层无法第一时间迅速获得有效信息。
7、持续跟踪
一份分析报告的完成以及一份BI报表的上线,并不是分析的终点。分析,需要可持续化的复盘跟踪。
比如:
①跟踪分析方案有没有为公司带来实质性的价值。该方案执行一段时间后,需要进行执行后VS执行前的对比分析,跟踪分析方案有没有为公司带来实质性的价值。
②跟踪分析数据指标异动的原因。上线了新的报表之后,需要跟踪下报表上指标的变化,及时感知数据是否出现异动以及探索异动的原因。
③跟踪分析数据实际表现与目标的差距。通过对历史数据的归纳总结,聚焦实际表现与目标的主要差距,量化分析优势与不足。
持续化的复盘跟踪,有助于我们查漏补缺,完善方案。更有助于探索数据深层次的含义以及及时感知数据的异常波动,提升自我价值与业务价值。
03
结语
分析其实就是要摸清楚需求对象是谁?关注点是什么?需要解决什么问题?过程服务于业务。分析师不是一线,但与一线人员息息相关。
对比Excel系列图书累积销量达15w册,让你轻松掌握数据分析技能,目前年货节活动,三本书仅需92元,活动仅有1天,感兴趣的同学可以点击下方链接了解,:
我在 .sops.yaml 中找不到如何将 Azure Keyvault 与 Mozilla SOPS 结合使用的示例。我在网上看到并在此处提供的所有示例 https://github.com/moz
我在阅读时有两个问题 DICOM标准: 在 DICOM 文件中,(0002 0003)“媒体存储 SOP 实例 UID”和 (0008 0018) “SOP Instance UID”,它们是一样的吗
import java.util.HashSet; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; impor
过去 5 个月我一直在开发 gwt 应用程序,现在是第三方人员开始使用它的时候了。为了准备这个,他们中的一个在反向代理后面设置了我的应用程序,这立即导致浏览器的同源策略出现问题。我猜响应 header
SOP(同源策略)的真正含义是什么? 我知道这意味着来自一个来源的 Javascript 代码无法访问来自另一个来源的资源。但是“资源”这个词到底是什么意思呢?例如: Javascript 代码可以从
我在维基百科上读到了同源政策的含义,但不明白它是如何运作的。我确实知道它会阻止我网站上的 javascript 与单独网站上的脚本进行交互,但这到底是什么意思? 最佳答案 如果您的脚本 (JS) 尝试
我写了一个html游戏,我将html文件打包在ios应用程序中。 ios 应用程序只会从磁盘加载页面并将其呈现在 UIWebView 中。 此设置是否适用同源策略限制(假设是)? 例如,我希望游戏能够
我目前正在开发一个 Web 应用程序(在 golang 中),它将用作其他内部应用程序(在 docker 容器中运行)的主要门户。这个 web 应用程序应该简单地提供一个 HTML 页面,其中导航栏位
我将如何推导函数 getField :: (Generic a, HasDatatypeInfo a) => Proxy (name :: Symbol) -> a -> b 使用类型级字符串( Sy
当我尝试将 Paho MQTT javacrript 与 Mosquito MQTT websockets 一起使用时,只要我用来服务页面的 Web 服务器和 Mosquito 位于同一服务器(同一来
所以我尝试使用我必须为学校编写的代码: public class QuizScore { private int qs[]; EasyReader d = new EasyReader(); publ
同源策略阻止我从另一个网站(经许可)获取我需要的 JSON 数据。我看到一个人正在使用 JsonpRequestBuilder 解决这个问题,但我不确定这是否是适合我的最佳解决方案。我想到的唯一其他选
在 Chrome 扩展中,我试图让 gmail 撰写正文内容。 偶尔会跳出一个错误,但不会妨碍它的工作。 这是作为内容脚本运行的。我相信权限在这里不是问题,因为当缺少权限时,错误会有所不同并且操作会被
我想在我的 Windows 机器上开发 JavaScript。您知道我可以关闭同源策略以便在本地开发的浏览器吗? Firefox 将是最佳选择。 或者,如果您知道我可以用于 SOAP/WSDL 站点的
是否有模仿 SYB 的 generics-sop/everywhere 行为的 mkT 示例? 我正在尝试做的,但没有看到如何成功地做到这一点,是将 everywhere (mkT fixupSymb
我目前通过 Helm chart 在我的集群中安装了 Flux 和 Helm 操作符。通量部署正在监控一个 git 存储库,其中我有一个 .flux.yaml,我通过通量部署 git-path 传递文
我对同源策略 (SOP) 感到困惑。 例如,http://bad.com/bad.html与 bad.js ,和http://good.com/good.html与 good.js 。我在 Chrom
This is supposed to have a Processor, Expression, Sum, Number and Product class. Processor execute E
我看过一些关于这个主题的帖子。 由于某种原因,从 JavaScript 到 Picasa(即 XHR 基础、jQuery/AJAx 等)的 POST 调用由于 SOP(同源策略)而失败。 我确实进行了
我正在做 XSHM(跨站点历史记录操作)项目。 我试图展示使用 XSS(跨站脚本)如何违反 SOP。我已经在沙箱 XP 机器内设置了一个本地主机(WAMP)服务器(必须符合道德规范),并使用一个简单的
我是一名优秀的程序员,十分优秀!