当前位置: 首页 > 编程日记 > 正文

Data - 数据思维 - 上篇

1 - 概念与定义

如果分析思维是一种结构化思考的体现,那么数据分析思维(简称数据思维)则是以数据为依托的结构化分析方式。
不同于“我觉得”、“以前是怎样”、“其他人如何”这些直觉化、经验化、类比化的思考方式,数据思维是以数据为导向,依据严格的分析、统计和证明来指导具体的应用与操作。

首先,要对事物本身有一个全面和客观的认识。

  • 以辩证思维来认识和看待事物,进行事物的分解和集成,全面客观地以数据说话,同时减少主观偏颇看法,
  • 结合外部环境、时间线、核心维度,全面的分析物的行为特征或动态展现
  • 关注事物的外在交互关系、内部结构和衔接,分析事物相关的内外环境因素

然后,确定事物本身的关键属性、维度和分析评估体系。
分析事物各关键指标特性间的相互制约和促进力。
任何评估指标值的得出,一定有事物本身内在数据和运作机制进行支撑的,也就是说,将对事物分析后的数据映射到具体的可用的科学评价体系之上。

1.1 - 数据分析的目的

数据分析是为了能以量化的方式来分析业务问题并得出结论。
“从历史数据中获得的洞察转化为可执行的决策或推荐的过程,将IT技术、管理科学和统计学结合以解决实际问题。”
明确数据分析本身的目的,以终为始,也就是必须明确要解决的问题

  • 问题背景
  • 问题的具体含义
  • 针对现有问题采取的行为和结果

1.2 - 数据分析的一般步骤

业务指导数据,数据驱动业务。
数据分析并不是一个结果,只是过程,在这个过程中是需要反馈和持续改进的。
819128-20190701235128163-247479403.png

1.3 - 数据分析的作用

数据分析的三大作用,主要是:现状分析、原因分析和预测分析。
什么时候开展什么样的数据分析,需要根据我们的需求和目的来确定。

  • 数据分析的目的越明确,分析越有价值。
  • 明确目的后,需要梳理思路,搭建分析框架,把分析目的分解成若干个不同的分析要点,然后针对每个分析要点确定分析方法和具体分析指标;
  • 最后,确保分析框架的体系化(体系化,即先分析什么,后分析什么,使得各个分析点之间具有逻辑联系),使分析结果具有说服力。

1.4 - 数据常识(Data Common Sense)

对数据的变化保持敏感。
这里的“变化”不仅仅来自数值本身的变动,更多的而来自“当前的数据”不同于平常的认知和判断。
而这种“平常的认知和判断”,其实不仅是长期数据观察和分析所形成的“感觉”,也是你的“经历和经验”,甚至是“当前的知识结构和能力树”。
能够认识到“变化”的来源,能有效避免掉入“主观判断”的陷阱。

想要培养出数据敏感性和具备意识数据偏离的能力,这需要保持持久的观察和分析,以及足够的耐心和好奇心。
业务数据对应着业务流程,业务流程暗含着业务需求,业务需求来自实际运营,从实际应用中去理解数据的产生和流动,有助于准确保持数据分析的“方向”不偏离“正轨”。

  • 形成查看关注数据的习惯,明确数值含义以及合理范围
  • 牢记核心数据、指标、报告和排名等,反复推算合理性
  • 抽离和规整数据,统一存放,方便查阅和分析

2 - 搭建框架

量化是为了统一认知,并且确保路径可回溯,可复制,避免“我感觉”、“我猜测”等主观判断。
路径可回溯、可复制:通过量化后的结果,许多优化的方法是可以被找到原因并且可以被复制的。
要想做到量化,需要做到三点:建立量化体系,明确量化重点和保证数据准确性。

2.1 - 建立量化体系

如果不能衡量,那么就不能有效增长和改进。
需要统一标准来定义和评价,这个标准就是指标。
具体的指标数值,可以避免“我觉得”造成的认知陷阱,“模糊虚妄”的描述会将人带入歧途。

2.2 - 明确量化重点

每个阶段,都应该明确当前的业务重点;量化体系需要根据业务阶段,更改量化重点及方式。
这同时意味着:有更细节的指标及更大的监控和推广力度。
每个阶段,都需要根据不同的业务情况来判断当前重点,从而围绕该重点建立一套无死角的分析监控体系。

2.3 - 指标设计方法

孤立的指标发挥不出数据的价值,需要建立结构化的指标体系。
不同业务形态有不同的指标体系,没有放之四海而皆准的模板。
指标的细分和拆解过程,其实对应着问题的拆分过程,应该根据具体的情况选择指标,只有选择合适的指标才能充分的反映问题。

  • 以准确和易懂为准则,集合统计学和业务效果的方法论。
  • 准确是指能够准确满足衡量目的,易懂是指标算法能直观显示好与坏,并且指标的算法也能够通俗易懂。
  • 准确是必须要保证的。

一些用于指标设计的常用统计学工具

  • 业务概况: 平均数、中位数、众数
  • 业务差异性:方差、标准差
  • 业务分布:频数

一些Tips

  • 比率指标:易于关注实际效果
  • 伴生指标:防止单个“片面性指标”的副作用
  • 防止坏指标:错误指标,虚荣指标(距离核心业务目标过远),复杂指标(数据波动时,很难分析原因)

指标维度字典(Dimension Dictionary)

  • 指标维度字典,(Bus Matrix),一定程度上解决了对于指标定义不清或不统一的问题。
  • 可以对一些关键和常用的指标进行统一的维护。

明确指标的定义和解释,要求制定者必须具备深入了解业务和拥有极高的抽象能力。
寻找业界已有量化方法并在组织内推广,将是件事半功倍的事情。

2.4 - 指标区分

一个好的指标需要可量化、可测量、可以精准反馈。
只有基于对问题的了解和思考,才能发现有价值的结论。

“好指标”

  • 不是所有的指标都是有效的,核心驱动指标才是需要重点关注的“好指标”。
  • 简单来说,核心驱动指标和组织发展相关联,是整个运营团队、产品团队乃至研发团队在统一为之努力的目标,是一个时期/阶段内的重点方向。
  • 不同业务的核心驱动指标也不一样。
  • "好指标"应该是在有效基数上的比率或者比例,易于衡量和对比。

“坏指标”

  • 虚荣指标:没有任何的实际意义,能够粉饰工作绩效
  • 后验性指标:时效性差,实际上只是在描述已发生事件,很难通过措施挽回成本和弥补损失
  • 复杂性指标:数据分析掉入“一堆隐藏变量指标”的陷阱中,无从下手

2.5 - 建立正确的指标结构

根据“指标设计方法”建立起围绕业务的指标体系。
核心是根据业务特征确定核心指标,在核心指标的基础上以不同的角度进行拆解,然后再慢慢补充其他业务的指标情况。

和分析思维的金字塔结构一样,拆解的过程依照金字塔方法论的“逐层拆解,不重不漏(MECE)”,指标呈现树状结构,构建核心是以业务流程为思路,以结构为导向。
从流程的角度搭建指标框架,可以全面的囊括用户相关数据,无有遗漏。
列举指标原则:需要有核心驱动指标。移除虚荣指标,适当的进行删减,不要为添加指标而添加指标。
若拆解出来或业务补充的指标过多,可借鉴数据仓库的“域”概念来管理这些指标。

3 - 数据准确性

确保准确性的方法

  • 采取可信来源:多来源交叉确认,采用新来源时需格外小心
  • 确认加工方式:指标定义和加工算法
  • Double Check:量级,计算逻辑和业务常识

Double Check 的技巧

  • 量级 Check:边界值,每个数据有它的大概范围
  • 计算逻辑 Check:总数、中位数、平均数等
  • 业务常识 Check:根据其他常用数字推算出该业务范围

数据产品已经有成熟的数据质量管理方法;涉及了数据源,指标计算和数据呈现等各个环节的监控。

4 - 沟通与反馈

4.1 - 站在业务方的角度

只有解决业务问题分析才能创造价值,包括个人价值和公司价值。
“忧其所虑,给其所欲”:精准理解对方需求。

4.2 - 主要环节

  • 沟通充分:确定业务方想要分析什么,提出更合理专业的衡量和分析方式,明确所要数据背后的含义,同时做好节点同步,切忌一条路走到黑
  • 结论简明:在阐述分析结果上,要记得结论先行,逐层讲解,再提供论据。论据上,图 > 表 > 文字
  • 提供信息量及可落地建议:从专业的角度,从已知边界向未知边界分析,提供给对方所未知的信息和可落地的建议
  • 寻求反馈:持续改进的触发点

5 - 方式与方法

5.1 - 数据分析方法论和数据分析法的区别

数据分析方法论主要是从宏观角度指导如何进行数据分析,就像是一个数据分析的前期规划,指导着后期数据分析工作的开展。

  • 利用维度分析数据
  • 使用统计学知识,例如数据分布假设检验
  • 使用机器学习

数据分析法主要从微观角度指导如何进行数据分析,是指具体的分析方法,比如对比分析、交叉分析、相关分析、回归分析等。
819128-20190702002907992-1661591572.png

5.2 - 维度分析法

维度是描述对象的参数,在具体分析中,可以把它认为是分析事物的角度。
有了维度后,就能够通过不同的维度组合,形成数据模型,一个多维的数据立方体。
数据模型将复杂的数据以结构化的形式有序的组织起来。
数据模型可以从不同的角度和层面来观察数据,这样提高了分析的灵活性,满足不同的分析需求、这个过程叫做OLAP(联机分析处理)。

5.3 - 指标和维度有什么区别?

维度是说明和观察事物的角度,指标是衡量数据的标准。
维度是一个更大的范围,不只是数据,比如时间维度和城市维度,我们就无法用指标表示,而指标(留存率、跳出率、浏览时间等)却可以成为维度。
通过业务建立和筛选出指标,将指标作为维度,利用维度进行分析,通俗理解:维度>指标。
一般来说,指标都可以作为维度使用。

转载于:https://www.cnblogs.com/anliven/p/6834083.html

相关文章:

新生选课系统使用指南

建议选用IE6或者IE7浏览器。 打开浏览器,地址栏输入202.200.112.200, 或者202.200.112.202, 或者202.200.112.210。按回车键。 输入学号和身份证号(如果修改过密码,则输入新密码)。点“登录”。 点 “学生…

【java】兴唐第二十三节课(暑期第一节TreeSet)

预警:进入暑期培训的博主即将高产似母猪,敬请博友期待。 1、给类添加构造方法 alt shift s 选择Generate Construct using Fields 2、map两种遍历方法 方法一: 获取所有的key值,根据key值获取value值 代码实现: Se…

程序设计分析(开篇)——混沌初开,顿悟设计

一直以来,不断的进行着项目的设计、开发,然而,差的设计,痛苦的维护、编码,让我不断的审视自己的设计是否有问题,在最近的一些思考、理解中,终于有了一些领悟,总结一下过去的设计&…

源代码管理工具调查

任务说明: 一、找出并了解当前较为流行的几种源代码管理工具(至少三种); 1、 Visual Source Safe( 简称 VSS )2、 SVN(Subversion) - CVS(Concurrent Version System)的替代和升级版本3、 ClearCase 二、建立表格对这些源代码管理…

从零开始学Go之接口(一):接口

接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。 接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。 声明: 接口类型是由一组方法签名定义的集合 …

【java】兴唐第二十四节课

HashMap中put函数的源码分析: (一)知识点: 1、方法resize()的作用是扩容 2、 if ((p tab[i (n - 1) & hash]) null)其中n-1代表最后一个元素的下标,经过和hash的&后获取当前存储nod…

找不到可安装的ISAM”的问题

问题描述: 在 Access 或Sql Server中收到“Could not find installable ISAM”(找不到可安装的 ISAM)错误信息或者丢失某些文件类 解决方法: 1.注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Micro…

修改mysql的时间/时区

# 背景 往db中insert数据发现时间不对,因为是新DB,所以猜测是mysql设置不对 # 解决方法 方法一:通过mysql命令行模式下动态修改 show variables like "%time_zone%"; 查看时区 --------------------------| Variable_name | Value…

【java】兴唐第二十五节课(异常和log4j的使用)

异常 1、try catch finally语法(附带多重catch) 代码实现: public static void main(String[] args) {try {int i 1/0;}catch(ArithmeticException e){System.out.println("出现数学运算异常:" e);}catch(ArrayIndex…

CentOS 命令提示符颜色及样式详解

命令提示符:prompt CentOS下查看当前命令提示符格式: 1 [rootlocalhost ~]# echo $PS1 #显示当前使用的PS1样式 2 [\u\h \W]\$ 命令提示符参数如下: \d :#代表日期,格式为weekday month date,例如&#…

Max_user_connections 与Max_connections 与max_connect_errors

对于连接数的设置,show variables里有三个参数可以对它进行控制,max_connections与max_user_connections以及max_connect_errors。下面对这三个参数相关描述。 max_connections:针对所有的账号所有的客户端并行连接到MYSQL服务的最大并行连接…

压力变动力,存储追求高效率

企业的数据存储量每年都要大幅增长,但是IT预算呈现紧缩趋势。这就是企业面临的最大存储难题,即如何平衡数据增长与提高存储利用率和降低成本之间的关系。 非结构化数据带来的难题 存储最直接的压力来自于不断增长的数据量。今天,我们面对的是…

Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译

下载Hadoop源码 1、登录官网 2、确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 阅读编译文档 1、准备一…

static String valueOf(XXX xxx)

1 package day01;2 /**3 * static String valueOf(XXX xxx)4 * 字符串提供了一组静态的重载的valueOf方法,作用5 * 是将其他类型转换为字符串6 * author ta7 *8 */9 public class Demo10 { 10 public static void main(String[] args) { 11 int a 123; 12 …

【java】兴唐第二十五节课小程序学生卡转账小系统(自己写的异常)

1、StuCard.java public class StuCard {public static void TransMoney(int source, int money, int target) {money - target;if(money < 0) {throw new NotEnoughMoneyException("余额不足");}System.out.println("商家的余额为&#xff1a;" sour…

【JQUBAR1.1】jQuery 插件发布

【JQUBAR1.1】jQuery 插件发布 JQUBAR1.1 简介 2010-11-22在博客园发布了柱状图JQUBar1.0 jQuery 插件。现将该插件升级为1.1版本。 1.1版本修复了部分bug&#xff0c;同时新增以下功能&#xff1a; 1.可自定义坐标颜色 2.可自定义X,Y轴坐标名称 3.Y轴动态坐标自动建立 4.Y…

ssh远程操作服务器

登录方式 ssh account192.168.xxx.xxx 输入密码 远程上传下载文件 上传&#xff1a; scp filepath acount192.168.xxx.xxx:path filepath为要上传的文件路径path为上传到服务器的储存路径 下载&#xff1a; scp acount192.168.xxx.xxx:filepath path filepath为要下载的文件路径…

【java】兴唐第二十三节课作业

已知如下&#xff1a; 下表为某班级四次考试成绩单&#xff0c; 要求使用HashMap<String, Integer>存储每次考试的成绩&#xff08;key键为姓名&#xff0c;value为成绩&#xff09;。要求使用LinkedList存储考试次数&#xff0c;有几次考试就有几个HashMap注意&#xf…

Data - 数据思维 - 中篇

6 - 模型与框架 利用现有的成熟的理论、模型与框架&#xff0c;结合实际业务情况&#xff0c;搭建分析框架&#xff0c;尽量确保数据分析维度的完整性&#xff0c;结果的有效性及正确性。 营销理论模型&#xff1a;4P、用户使用行为、STP理论、SWOT等。管理理论模型&#xff1a…

快速设置戴尔latitude笔记本的触摸板和指点杆

// TouchPadSettings.cpp : Defines the entry point for the console application.// by windviki 2010/08/31// 转载请注明出处。//// 办公用的戴尔笔记本除了触摸板&#xff0c;还在键盘中间有一个指点杆&#xff08;point stick&#xff09;// 打字很不习惯&#xff0c;经常…

Ubuntu 10.10系统安装手记

原来一直在公司用Ubuntu&#xff0c;感觉做开发是相当不错的&#xff0c;特别那种各种利用命令的方式真是太高效了。所以现在想把笔记本也装上&#xff0c;弄了半天&#xff0c;也遇到不少问题&#xff0c;记下来备忘一下。 虚拟机还是双系统 磁盘里面好多东西&#xff0c;基本…

php值传参,引用传参以及对象传参

传值&#xff1a;是把实参的值赋值给行参 &#xff0c;那么对行参的修改&#xff0c;不会影响实参的值传引用 &#xff1a;真正的以地址的方式传递参数传递以后&#xff0c;行参和实参都是同一个对象&#xff0c;只是他们名字不同而已对行参的修改将影响实参的值说明&#xff1…

用一行代码高效的求一个列表的平方和

最近看到一个笔试题&#xff0c;考察的都是 Python 中的高阶函数 题目如下&#xff1a;用一行代码高效的求一个列表的平方和(不能用 sum 函数) 分析 1.先将列表中每个值作平方&#xff1a; 立即想到 map 函数&#xff0c;假设列表是 range(10)&#xff0c;那么这个列表中平方是…

【java】第二十二节课(HashSet)

1、使用HashSet建立对象、添加元素并使用两种方法遍历 代码实现 public class SetDemo {public static void main(String[] args) {Set<String> set new HashSet();set.add("猴子");set.add("八戒");set.add("唐僧");set.add("沙僧…

转:在 .NET 中实现异步回调访问数据库

在 .NET 中实现异步回调访问数据库 时间:2009-11-17 19:52来源:网络收集 作者:佚名 点击: 334 次 技术论坛某些场合下&#xff0c;在对数据库进行访问时&#xff0c;为了避免同步访问数据时所带来的延迟&#xff0c;我们需要改进设计&#xff0c;以提高程序执行效率。一方面&am…

《资安人》:迈向成功SOC之路

近日&#xff0c;台湾的《资安人》上发表了一篇文章——《迈向成功的SOC之路》&#xff0c;现转载至此&#xff0c;以飨读者。【作者&#xff1a;王榮信 -11/08/2010】在現代虛擬世界中&#xff0c;造成資訊安全事件的來源為病毒、蠕蟲或木馬&#xff0c;不變的安全事件來源就是…

Laravel 上使用 phpexcel的两种方式

原创 2017年06月24日 20:24:311229文章采集与网上 方式1。使用原生的phpexcel &#xff0c; http://blog.csdn.net/CSwfe/article/details/52748046?locationNum1 1、在app目录下创建一个新的文件夹&#xff0c;命名libs&#xff08;可自定义&#xff09; app/libs/phpExcel2…

剑指offer-----Python-----栈

用两个栈实现队列 题目&#xff1a;用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作。队列中元素为int类型. 首先&#xff0c;栈都是先进后出&#xff0c;但是队列呢&#xff0c;一般是先进先出。也就是创建两个栈stack1和stack2&#xff0c;使用两个“先进后出”的…

【工具软件】markdown编译器待办事项无法打勾

使用时可以直接点击上方工具栏的 List item 注意&#xff1a;此时已经自动在里面加了一个空格&#xff0c;如果直接加x的话&#xff0c;不会打勾&#xff0c;如下&#xff1a;[ x] List item 所以先删除空格在加x 问题解决

【转】创建不可见的Activity

在android开发中有时候会用到一些后台的Activity&#xff0c;但又不适合使用service&#xff0c;比如直接点击程序图标时只是执行一段代码&#xff0c;不需要弹出程序界面。此时可以在项目的AndroidManifest.xml文件中相应的Activity标签中添加这样一行&#xff1a;android:the…