一、产品数据分析框架

1.1、基本分析方法

数据分析更多的是基于业务背景来解读数据、把隐藏的数据背后信息提炼和总结出来,发现有价值的内容。

1.1.1、对比分析

横向对比一跟自己比
image.png

纵向对比一跟其他比
image.png


1.1.2、象限分析

象限法指根据数据中的(质量、数量等)的两个重要属性作为分析的依据,进行分类分析。
比如对App的渠道分析,我们可以用「质量」和「数量」两个维度来进行,如下图:

image.png


1.1.3、交叉分析-时间维度与终端维度交叉

交叉分析的主要作用就是从多个维度细分数据从中发现最为相关的维度来探索数据变化的原因。

image.png


1.2、数据分析框架-AARRR

数据分析框架:更像是分析思路,在面对产品问题时善告诉我们如何去开展数据分析的工作。

数据分析框架可以帮助我们把较为抽象的问题具体化,基于业务特征和数据指标来构建相关的分析体系,保证分析结果的准确性、可靠性和钟对性。

常见的分析框
image.png
详细请看:http://www.chanpin100.com/article/103484

AARRR 分析框架
AARRR是Acquisition、Activation、Retention、Revenue、Refer,这个五个单词的缩写,分别对应这一款移动应用生命周期中的5个重要环节,具体模型如下图:
image.png

那可以利用AARRR模型来做什么了?
它提供很好的精细化数据分析思路,能够将整个是数据链打通,而不会仅限于某个具体的指标。
image.png

1.3、数据分析框架-逻辑分层拆解与漏斗分析

1.3.1、逻辑分层框架

什么原因导致数据的上升和下降
image.png

逻辑拆解
逻辑,即寻找跟核心指标有逻辑关系的相关指标
image.png
找到的指标一定是能够影响核心指标变动,他们之间对应要存在强烈的逻辑关联,选用这些相关指标之前,我们必须清楚的了解他们是如何影响核心指标的。

分层拆解
同一层里面的各个相关指标都是代表了一个寻找的方向,所以他们之间不能有相关性。
image.png

1.3.2、漏斗模型

漏斗模型,就是从起点到终点有多个环节,每个环节都会产生用户流失,依次递减,每一步都会有一个转化率。

比如很典型的商品购买流程:
常见数据分析框架与技术 - 图11

二、浅析十三种常用的数据挖掘的技术模型

2.1、数据挖掘

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程。数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多种,按功能可以分为两大类:预测性(Predictive)模式和描述性(Descriptive)模式。在应用中往往根据模式的实际作用细分为以下几种:分类,估值,预测,相关性分析,序列,时间序列,描述和可视化等。

数据挖掘涉及的学科领域和技术很多,有多种分类法。根据挖掘任务分,可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;根据挖掘对象分,有关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web;根据挖掘方法分,可粗分为:机器学习方法、统计方法、神经网络方法和数据库方法。机器学习中,可细分为:归纳学习方法(决策树、规则归纳等)、基于范例学习、遗传算法等。统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。神经网络方法中,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。数据库方法主要是多维数据分析或OLAP方法,另外还有面向属性的归纳方法等等。

2.2、数据挖掘技术模型简述

数据挖掘的技术有很多种,按照不同的分类有不同的分类法。下面着重讨论一下数据挖掘中常用的一些技术:统计技术,关联规则,基于历史的分析,遗传算法,聚集检测,连接分析,决策树,神经网络,粗糙集,模糊集,回归分析,差别分析,概念描述等十三种常用的数据挖掘的技术。

2.2.1、统计技术
数据挖掘涉及的科学领域和技术很多,如统计技术。统计技术对数据集进行挖掘的主要思想是:统计的方法对给定的数据集合假设了一个分布或者概率模型(例如一个正态分布)然后根据模型采用相应的方法来进行挖掘。

2.2.2、关联规则
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之I司存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。

2.2.3、基于历史的MBR(Memory-based Reasoning)分析
先根据经验知识寻找相似的情况,然后将这些情况的信息应用于当前的例子中。这个就是MBR(Memory Based Reasoning)的本质。MBR首先寻找和新记录相似的邻居,然后利用这些邻居对新数据进行分类和估值。使用MBR有三个主要问题,寻找确定的历史数据;决定表示历史数据的最有效的方法;决定距离函数、联合函数和邻居的数量。

2.2.4、遗传算法GA(Genetic Algorithms)
基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。主要思想是:根据适者生存的原则,形成由当前群体中最适合的规则组成新的群体,以及这些规则的后代。典型情况下,规则的适合度(Fitness)用它对训练样本集的分类准确率评估。

2.2.5、聚集检测
将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其它簇中的对象相异。相异度是根据描述对象的属眭值来计算的,距离是经常采用的度量方式。

2.2.6、连接分析
连接分析,Link analysis,它的基本理论是图论。图论的思想是寻找一个可以得出好结果但不是完美结果的算法,而不是去寻找完美的解的算法。连接分析就是运用了这样的思想:不完美的结果如果是可行的,那么这样的分析就是一个好的分析。利用连接分析,可以从一些用户的行为中分析出一些模式;同时将产生的概念应用于更广的用户群体中。

2.2.7、决策树
决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。

2.2.8、神经网络
在结构上,可以把一个神经网络划分为输入层、输出层和隐含层。输入层的每个节点对应—个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层(对神经网络使用者来说不可见),隐含层的层数和每层节点的个数决定了神经网络的复杂度。

除了输入层的节点,神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重Wxy,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为—个函数的输入而得到,我们把这个函数称为活动函数或挤压函数。

2.2.9、粗糙集
粗糙集理论基于给定训练数据内部的等价类的建立。形成等价类的所有数据样本是不加区分的,即对于描述数据的属性,这些样本是等价的。给定现实世界数据,通常有些类不能被可用的属性区分。粗糙集就是用来近似或粗略地定义这种类。

2.2.10、模糊集
模糊集理论将模糊逻辑引入数据挖掘分类系统,允许定义“模糊”域值或边界。模糊逻辑使用0.0和1.0之间的真值表示一个特定的值是一个给定成员的程度,而不是用类或集合的精确截断。模糊逻辑提供了在高抽象层处理的便利。

2.2.11、回归分析
回归分析分为线性回归、多元回归和非线性同归。在线性回归中,数据用直线建模,多元回归是线性回归的扩展,涉及多个预测变量。非线性回归是在基本线性模型上添加多项式项形成非线性同门模型。

2.2.12、差别分析
差别分析的目的是试图发现数据中的异常情况,如噪音数据,欺诈数据等异常数据,从而获得有用信息。

2.2.13、概念描述
概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别,生成一个类的特征性描述只涉及该类对象中所有对象的共性。

由于人们急切需要将存在于数据库和其他信息库中的数据转化为有用的知识,因而数据挖掘被认为是一门新兴的、非常重要的、具有广阔应用前景和富有挑战性的研究领域,并应起了众多学科(如数据库、人工智能、统计学、数据仓库、在线分析处理、专家系统、数据可视化、机器学习、信息检索、神经网络、模式识别、高性能计算机等)研究者的广泛注意。作为一门新兴的学科,数据挖掘是由上述学科相互交叉、相互融合而形成的。随着数据挖掘的进一步发展,它必然会带给用户更大的利益

三、使用数据时需要注意的事项

3.1、图形数据的斜率

image.png
这两张图其实表达的数据是一样的,但是看第一张图会感觉活跃用户增长趋势比第二张图好很多。

那怎么避免这种问题了,答案是给这套曲线增加一个公式,用公式来表现曲线的斜率。

3.2、数据抽取样本的问题

决定样本量大小的因素有:

  1. 总体大小
  2. 总体内部差异程度

所以在抽取样本的时候,尽可能的多覆盖,尽可能的找差异程度大的用户。

3.3 数据被平均

什么时候平均数可以代表整体的情况?
答案是当数据为正态分布时,就可以用平均数代表整体的情况了。 当数据的分布为长尾分布时,我们可以选取数据比较集中的部分进行分析。

正态分布和长尾分布
image.png

3.4 辛普森悖论

当人们尝试探究两种变量(比如新生录取率与性别)是否具有相关性的时候,会分别对之进行分组研究。然而,在分组比较中都占优势的一方,在总评中有时反而是失势的一方。

下面举个具体的例子来说明下:
image.png

当看到上面这组数据时,是不是就可以决定要先从电脑版开始开发了?我们接下来再看另一组数据:
image.png
从这组数据来看是不是和上面那组数据得到的结论完全相反了。

3.5 忽略沉默用户

用户迫切需要的需求 != 产品的核心需求
有时候我们所听到的需求,或许只是少部分用户迫切需求,而大部分用户并不在乎。

3.6 过分依赖数据

我们观察我们生活中的很多的伟大的产品都不是通过分析数据得出了。比如,当年汽车诞生的时候,我们通过分析马车的相关数据,只能得出用户需要一匹更快的马车。

所以说,产品经理还需要把自己的理性思维和感性思维更好的结合在一起。

3.7 错判因果关系

什么是因果关系?
就是A的发生,导致了B的发生。比如醉酒驾驶导致交通事故,那么醉酒就是交通事故的原因之一。

什么是相关关系?
就是A和B两件事情的出现,都是出自同一个原因,数据上显示火锅消费高峰期和冰淇淋消费低谷期总是同一个阶段出现,而这两件事情都有同样一个原因,即天气变冷,气温下降。

有时候我们在分析数据时常常把相关关系错判为因果关系。

这里我们举几个现实生活中的例子:

  1. 玩网游让学生成绩变差?
  2. 打篮球让人长高?

所以说,我们在面对数据的时候要时刻保持独立思考的状态,要多问几个为什么,要多好奇心 。

四、数据挖掘工具-Python

除了现有的数据分析平台,我们也可以获取数据平台的数据,通过数据挖掘,挖掘出更巨细、更有价值的东西。

4.1、数据挖掘的过程主要有:

  1. 1)、定义目标
  2. 2)、获取数据(常用的手段有通过爬虫采集或者下载-些统计网站发布的数据)
  3. 3)、数据探索
  4. 4)、数据预处理(数据清洗【去掉脏数据】、数据集成【集中】、数据变换【规范化】、数据规约【精简】)
  5. 5)、挖掘建模(分类、聚类、关联、预测)
  6. 6)、模型评价与发布

http://www.cnblogs.com/jin-liang/p/9884411.html


4.2、Python数据分析

4.2.1、Python数据分析与挖掘的相关模块

1)、numpy 可以高效处理数据、提供数组支持、很多模块都依赖他,比如 pandas、scipy、matplotlib 都依赖他,所以这个模块是基础。
2)、pandas 主要用于进行数据探索和数据分析。

https://www.cnblogs.com/0n-the-way/p/9480268.html
https://www.jianshu.com/p/883c8d9268a8 | | 3)、matplotlib | 作图模块,解决可视化问题。 | | 4)、scipy | 主要进行数值计算,同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分、傅里叶变换、微分方程求解等。 | | 5)、statsmodels | 这个模块主要用于统计分析 | | 6)、Gensim | 这个模块主要用于文本挖掘 | | 7)、Sklearn、keras | 前者机器学习,后者深度学习 | | 8)、Orange | 数据挖掘
常见的数据挖掘算法:https://www.yuque.com/jingwhale/data/lm9g2k#b89cf635

Orange:https://orange.biolab.si/ |

4.2.2、环境的搭建

Anaconda和Jupyter Notebook
https://cloud.tencent.com/developer/news/132226

4.2.3、数据导入

  1. -导入Csv文件格式
  2. -导入Excel文件
  3. -导入mysql的数据(可以操作比较流行的三大主流数据库)
  4. -导入HTML数据

4.3、大数据,数据挖掘,机器学习

三者是相辅相成的关系, 有了大数据才能去数据挖掘,数据分析的结果促进了机器学习的发展。机器学习是指一种自动学习的机器,是一种自动化数据分析方法。计算机能够分析数据并自动从该数据构建模型的科学。该机器可以提供数据并适应自身,以进行更精确的预测并相应地进行操作。所谓的数据挖掘,就是利用各种技术与统计方法,将大量的历史数据进行分析、归纳与整合等工作,找出有意义的,有价值的数据,加以运用。

数据挖掘的前提就是有充足的数据为前提,这里的数据是“大量的、不完全的、有噪声的、模糊的、随机的实际应用数据”,信息指的是“隐含的、规律性的、人们事先未知的、但又是潜在有用的。大部分的核心功能的实现,都以计量和统计分析方法作为支撑。主要包括,聚类、估计、预测、关联分组以及分类。

4.4、大数据挖掘

spark 与 hadoop
http://www.suchso.com/projecteactual/spark-hadoop.html

五、利用数据

5.1 数据应用的场景

5.1.1 需求层面

需求一般有两个来源,一个是用户层面,一个是公司层面,数据在面对这两个方面的需求所起到的作用是不一样的,下面我们分别看下这两个层的需求来源。

用户层面。 一般来说用户层面的需求一般来自普通用户或者产品经理自身。这个时候数据主要是用来「去伪存真」。

有时候用户会基于自身层面提出很多需求,但是这些需求都非常的主观,我们这时候就可能需要利用数据来验证这些需求了。

比如说,有时候一个用户说,你们这个网页打不开啊!产品经理就是个垃圾。

这个时候我们可以自己使用下,看下问题是否能复现,如果不能的话。再看下这个页面的退出率是否存在异常,如果没有,这个问题也可能是网络、设备等原因引起的。

公司层面 面对高层需求,从数据入手,验证观点,并提供合理化建议。

高层的需求通常是基于公司战略目标提出来的,这个目标可能会与用户体验有一些冲突,这个时候产品经理就可以利用数据来验证并提供合理化建立。

5.1.2 产品设计阶段

设计前 通过数据分析发现问题,确定行之有效的量化标准。

  1. 比如:网站首页的改版,可以看到各个模块的点击率,转化率等。看下是否需要调整模块的位置。

设计中 辅助决策,判断思路

  1. 比如:我们在购物网站中,优惠券的有效时间设置多长比较合适了?1小时?12小时?1天?3天?
  2. 这个时候其实就可以利用数据来分析下用户之前使用优惠券的时间分布图,最后确定时间的长度。另外还可以使用A/B Test来测试。

设计后 这个阶段主要是数据来验证方案是否符合预期。

5.2 数据驱动产品的方法

数据驱动产品最重要的保持数据驱动产品的思维方式(具体见下图),可以看出,利用数据,产品可以不断的进行优化。
image.png

5.3 如何培养数据分析的能力

首先我们有一个好奇的心,保持自己的求知欲望。这些是引领我们前进的内在动力。

5.4 建立合理规范的数据驱动设计

《高效数据驱动设计》

image.png