如何炼就数据分析的思维?

news2024/11/13 20:10:53

目录

  • 前言
  • 结构化思维
  • 假说演绎思维
  • 指标化思维
  • 维度分析思维

前言

面对数据异常,我们经常会出现“好像是A原因引起的?”“貌似和B原因也相关?““有可能是 C操作不当“的主观臆测。 或者,拿到一个分析议题,分析”11 月销售数据下降的原因”,是先从产品层面,还是渠道层 面着手的茫然无措。 显然,这样的思维是乱的。 做数据分析,首先你得具备看待一个事物的逻辑化思维,其次用数据去证明他。 我们会经常听说两种推理模式:一种是归纳,一种是演绎,这也是麦肯锡思维当中很经典的两个方法,工作中所有的问题,都可以用归纳或者演绎的形式进行拆分,我喜欢把这个过程称为“解构”。 **这两种思维模式能够帮助数据分析师完成原始的业务逻辑积累,在此基础上快速定位业务问 题,提升分析效率。**

结构化思维

归纳其实就是把复杂问题分解成多种单一因素的过程,并且将这些因素加以归纳和整理,使之 条理化、纲领化。这个过程犹如抽丝剥茧,将一团乱麻理地条条顺顺。

在这里插入图片描述

如何练习结构化思维,这其中会运用一个很重要工具,那就是金字塔模型。
根据《金字塔原理》,“任何事情都可以归纳出中心论点,由中心论点出发,可由三至七个论据支撑,每个一级论点可以衍生出其他的分论点。“如此发散开来,就可以形成以下的金字塔结构思考方式:

在这里插入图片描述

但是在你还没有掌握这种结构化思维方式时,直接用这种思考方式是有一定难度的。这时候就
可以采用金字塔原理中的MECE法则去思考结构。具体的操作方式是:

A.尽可能列出所有思考的要点

B.找出关系,进行分类。

他的原则是论点之间相互独立,不重叠:论据穷尽划分,不遗漏。

举个例子:

现在有一个线下销售的产品。我们发现8月的销售额度下降,和去年同比下降了20%。我想先观察时间趋势下的波动,看是突然暴跌还是逐渐下降,再按照不同地区的数据看一下差异,有没有地区性的因素影响。我也准备问几个销售员,看一下现在的市场环境怎么样,听说有几家竞争对手也缩水了,是不是这个原因。

用结构化思维梳理,就是:

用这种方式思考,能确保思考的点成体系,逻辑严谨,要累相互之间不凌乱不打架,思考的点都穷尽。长期练习这种方法,不仅更容易找到逻辑结构,也更容易培养你的结构化思维。具体,可以阅读书籍:《金字塔思维》

假说演绎思维

以情况为起点的推理方法是归纳推理 以规则为起点的推理方法可以称之为演绎推理。

比如:

某自营电商网站,现在想将商品提价,让2分斤售额会有怎样的变化?
首先可以确定销量会下降,那么下降多少?这里就要假设商品流量情况,提价后转化率的变化
情况,然后根据历史数据汇总出销量下降的情况,从而得出销售额的变化情况。

假设商品提价后,销量一定会下跌,问题是销量下跌多少?
首先假设流量不会有变化,流量和渠道营销正相关,商品价格影响转化率,那么现在确定转化
率的波动。
找出平时的转化率(譬如为 20%),预估提价后的转化率变化。假设各类型用户对价格敏感
度不同,那么将用户划分忠诚XX、普通xX、羊毛XX…
不同用户层次数量不同,反应不同。忠诚用户转化率变化极低,羊毛几乎不会转化……这些数据
可以凭借经验做出假设,最后汇总。
具体的变化情况都可以根据过往的数据来拟合,统计学上也有一些科学的预测模型,后面讲数理统计知识时会有涉及。
假设先行就是以假设作为思考的起点,先提出问题,然后用MECE 原则梳理关联因素间的结构
关系。

小结

归纳和演绎的思维是数据分析初期必备的,面试考察逻辑思维也无非是这两点。实际情况中可针对不同的项目要求进行组合应用。在经过一定阶段的训练后,可以帮助提升业务熟恶程度,完成业务的初始积累后,后续的分析过程中就可以逐步减少拓展推理的层级及组合,逐步提升问题原因定位的效率。

指标化思维

上述的分析思维,帮助我们去定性问题,接下来我们要介入数据的方式,去定量分析。首要掌握指标化的思维。

假设有一家电商公司,我们想要了解网站运营的情况如何?运营人员向我们描述,我们的网站的流量很高啊,比淘宝差一点,比京东好一点,每天都有大量的新用户,老用户下单也很活跃啊。

我就疑惑了,流量高是多少?大量的新用户怎么衡量?一个手机注册了算新用户还是新下单的
用户?下单活跃又是怎么个活跃法?
这样的问题相信只能凭运营人员的经验来判断,而经验带来的“后果”往往是拍脑袋式的决策。如果用指标化的思维,应该用PV和UV去衡量流量,新用户下单数和占比去评价网站的拉新,新老买家占比等指标去衡量用户活跃。
很明显,指标就是用来定义、评价和衡量业务的一个标准。比如网站相关用户访问量、停留时长、跳出率等。销售相关销售量、销售额、客单价等。应该很好理解。
指标的设定有两个经验:

A."有总比没有强”。对于要监控的事物,能有指标的尽量要有指标。
B.“一个好的指标应该是用来衡量具体且可量化的事物”。比如,用户访问量、停留时长,跳出 率等.

指标体系
有指标是否就够了呢?指标按照结构化思维可以形成一个体系,如销售分析指标体系,生产指
标体系,电商行业指标体系。
一家企业建立的数据分析体系通常细分到了具体可执行的部分,可以根据设定的某个指标异常
变化,相应立即执行相应的方案,来保证运营的正常进行。
附上一张电商行业的指标体系,各运营模块的指标体系网上一搜一大把,可以参考着建立,后
面我也会在我的文章里阐述。
建立指标体系的思路:
向上

可以按业务职能结构划分,映射出更多维度,比如渠道,运营映射到主要模块,通过简单快速的沟通,快速定位问题原因。

向下
可以按因果结构划分,也就是指标分解,利用公式的方法。比如营收=日活付费率arpu等指标因果关系进行划分,通过定位指标波动 ,定位最细指标,辅助维度下转,能够清意的问题原就像枝丫一样,从主干不断延伸,将业务用指标评价量化,逐渐形成一个健全的数据分析体系。

维度分析思维

最后,站在分析的角度讲一下维度思维。
当你有了指标,可以着手进行分析,数据分析大体可以分三类,第一类是利用维度分析数据,第二类是使用统计学知识如数据分布假设检验,最后一类是使用机器学习。这里我们主要了解维度分析法。
维度是观察数据的角度,例如“时间”、“地区”、“产品”。在具体分析中,我们可以把它认为是
分析事物的角度。时间是一种角度、地区是一种角度,产品也是一种角度,所以它们都能算维
当我们有了维度后,就能够通过不同的维度组合,形成数据模型。数据模型不是一个高深的概
念,它就是一个多维立方体。

这个概念最早来源于商业智能OLAP技术。数据按照事实表(Fact Table)和维表(Dimension
Table)的形式存在。事实表用来记录具体事件,比如销量、销售额、售价、折扣等具体的数值信息。维度表是对事实表中事件的要素的描述信息,比如时间、城市、品牌、机型等。
这是一个最简单的星形模型的实例。
事实表里面主要包含两方面的信息:维和度量。维的具体描述信息记录在维表,事实表中的维属性只是一个关联到维表的键,并不记录具体信息;度量一般都会记录事件的相应数值,比如这里的产品的销售数量、销售额等。维表中的信息一般是可以分层的,比如时间维的年月日、地域维的省市县等,这类分层的信息就是为了满足事实表中的度量可以在不同的粒度上完成聚合,比如2016年商品的销售额,来自上海市的销售额等。

下图举例一个简化的分析模型,分别由产品、城市、时间这三个维度组成,实际数据分析中,
维度远不止三个。

在这里插入图片描述

在这里插入图片描述

我们可以将品牌作为维度,分析手机的销量情况,也可以将时间作为维度,分析每一年手机市
场的份额情况。
多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)
以及旋转(Pivot)。
钻取(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2018年华为的总销售数据进行钻取来查看各个手机型号的销售数据。
上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合。如将江苏省、上海市和浙
江省的销售数据进行汇总来查看江浙沪地区的销售数据。
切片(Slice):选择维中特定的值进行分析,比如只选择苹果手机的销售数据,或2017年的
手机销售数据。
切块(Dice):选择维中特定区间的数据进行分析,比如选择2016年2017年的销售数据。
旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维
和地域维的互换。
为什么这边花那么多笔墨去讲维度和度量呢,一者是我们在梳理分析思路时,常常会按照几个大的维度类去划分层级,多面分析,如时间维、地域维、产品维,帮助我们成为“多面分析手”。另一方面,BI商业智能在操作也基于维度一说,熟悉维度和数据模型的原理,能更好的理解这个工具。(没错,这玩意儿后面要学)

好了,花了一天的时间整理了数据分析的思维,大家慢慢消化。为了更好的巩固,推荐大家去读《金字塔原理》,可以用思维导图的方式做好知识点整理,工具推荐xmind和幕布。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

@ConfigurationProperties注解使用方法(内含源代码)

ConfigurationProperties注解使用方法(内含源代码) 源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87400774 目录ConfigurationProperties注解使用方法(内含源代码)源代码下载链接地址&…

怎么识别截图中的文字?这三个方法让你轻松学会

在日常工作或学习中,我们会经常在网上查阅一些资料,当遇到一些优美的句子或者段落时,都会手动摘抄下来,这种记录方式不仅很耗时,还耗费精力,并且现在很多网站都已经不支持文本复制了,遇到这种情…

6.验证面试高频问题整理(附答案)

目录 Q126.top-down phase、bottom-up phase有哪些 Q127.为什么build_phase是top-down phase,connect_phase是bottom-up phase Q128.$size用于packed array和unpacked array分别得到的什么 Q129.class和struct的异同 Q130.class和module的异同 Q131.对象创建的…

MAC系统 LightGBM模型转为pmml格式

一、配置JAVA环境和Maven环境 参考以下两个博客即可 MAC 系统安装 JDK 及环境变量配置_蜗牛的博客-CSDN博客_mac jdk环境变量配置 MAC 系统安装 Maven 及环境变量配置_蜗牛的博客-CSDN博客_mac安装mpv 二、下载JPMML-LightGBM 先在Git上下载 直接下载或使用git clone http…

Aop切面编程原理和Spring实现

Aop切面编程概念 AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等 AOP实现的原理就是动态代理,在有接口的情况下,使用JDK动态代理,在没有接口的情况下使用cglib动态代理 为Dao层所有的add方法…

字体反爬,一种来自字体设计师的跨行反爬案例 | 案例 28

本篇博客涉及的内容非常有价值,尤其是在反爬领域。 核心内容为自定义字体文件反爬。 文章目录准备工作在 Web 页面中使用字体文件整理文字编码Flask 中随机一串数字,渲染到前台总结准备工作 在正式编写代码前,需要先安装 FontCreator &#…

GeoServer学习笔记-01GeoSever运行编译

一、运行1. 下载GeoServerGitHub仓库地址:https://github.com/geoserver/geoserver2.本地代码工具打开项目在idea里,文件->新建->来自现有的源代码项目,选择项目的pom文件加载项目。3.idea编译环境设置(1)设置jd…

图论(5)最小生成树简单应用

活动 - AcWing 参考:《算法竞赛进阶指南》-lyd 目录 一、基础算法 二、 1.最短网络(prim板子) 2.局域网(kruskal板子) 3.繁忙的都市 4.1143. 联络员 5.连接格点(预处理) 一、基础算法…

影响电商发展的重要因素及电商未来的发展可能

易观分析:自从互联网传入中国以后,特别是2000年以后,一直保持着非常快的演变速度,而以互联网为基础的电商则更是发展成了中国互联网的代表性行业。中国电商的发展不仅在初期有着非常高的增速,有着多样化的演进路线&…

Numpy(3)—切片和索引、高级索引、Broadcast、迭代数组、广播迭代

1.切片和索引 eg1:我们首先通过 arange() 函数创建 ndarray对象。 然后,分别设置起始,终止和步长的参数为 2,7 和 2。 import numpy as npa np.arange(10) s slice(2, 7, 2) # 从索引 2 开始到索引 7 停止,间隔为…

【笔记】行人属性识别

【论文】https://arxiv.org/pdf/1901.07474.pdf (以下序号与论文序列不对应) 属性可以看作是高层语义信息,对视点变化和观察条件多样性具有更强的鲁棒性 本文试图解决以下几个重要问题: (1)传统和基于深度学习的行人属性识别算法之间的联系…

Java_Git:4. 分支管理

目录 1 创建合并分支 2 使用TortoiseGit实现分支管理 2.1 创建分支 2.2 合并分支 3 解决冲突 1 创建合并分支 Git会把每次的提交,串成一条时间线,即一个分支。 初始状态,Git只有一条时间线(分支),这个分…

高级Spring之BeanFactory 后处理器

老样子,直接上代码演示,准备一个干净的容器: // ⬇️GenericApplicationContext 是一个【干净】的容器GenericApplicationContext context new GenericApplicationContext();//注册configBeancontext.registerBean("config", Conf…

【C语言学习笔记】39. 错误处理、递归

前言 C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。 错误处理 C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生…

振弦采集模块配置工具VMTool的MODBUS 工具模块

振弦采集模块配置工具VMTool的MODBUS 工具模块 ( 1) 寄存器查看 此功能模块提供标准的 MODBUS 协议寄存器显示及单个寄存器修改功能,通过点击扩展功能区的【 MODBUS】 标签切换到此模块,如下图所示。 此模块将 VMXXX 所有寄存器以…

Codeforces Round #847 (Div. 3) A~E

比赛链接:Dashboard - Codeforces Round #847 (Div. 3) - Codeforces 目录 A. Polycarp and the Day of Pi B. Taisia and Dice C. Premutation D. Matryoshkas E. Vlad and a Pair of Numbers A. Polycarp and the Day of Pi 题意:求出一个数字…

一步创建 AI 图像网站,即刻生成 AI 图像解决方案 #Graydient

过去一年当中,AI 画图工具非常火爆,一条简单的指令,就能快速得出超高品质的图形,这对于游戏开发者来说无疑是令人振奋的消息,尤其是没有预算和人手打造美术资源的中小团队。从网络上看到的结果来看,AI 的绘…

JDBC(powernode 文档)(内含源代码)

源代码下载地址链接:https://download.csdn.net/download/weixin_46411355/87400304 目录 JDBC概述 1.1 前言 1.2 什么是JDBC 1.3 JDBC的原理 1.4 程序员,JDBC,JDBC驱动的关系及说明 1.4.1 JDBC API 1.4.2 JDBC 驱动 1.4.3 Java程序员…

并发编程-多线程并发设计原理

并发编程-多线程&并发设计原理并发编程简介多线程&并发设计原理1 多线程回顾1.1 Thread和Runnable1.1.1 Java中的线程1.1.2 Java中的线程:特征和状态1.1.3 Thread和Runnable接口1.1.4 Callable1.2 synchronized关键字1.2.1 锁的对象1.2.2 锁的本质1.2.3 实现…

k8s实现controller如何远程调式?

背景: 使用kubebuilder和code-generate生成自定义资源代码后,实现管理自定义资源的controller逻辑。此时,需要调试controller代码逻辑,有2种思路。方法1:对该代码打包成镜像文件,直接部署进入k8s集群中&…