开发者俱乐部

标题: 如何用数据驱动产品和运营--数据处理的流程 [打印本页]

作者: zhibo    时间: 2016-3-15 16:21
标题: 如何用数据驱动产品和运营--数据处理的流程

大数据分析这件事用一种非技术的角度来看的话,就可以分成金字塔,自底向上的是三个部分,第一个部分是数据采集,第二个部分是数据建模,第三个部分是数据分析,我们来分别看一下。

数据采集

首先来说一下数据采集,我在百度干了有七年是数据相关的事情。我最大的心得——数据这个事情如果想要更好,最重要的就是数据源,数据源这个整好了之后,后面的事情都很轻松。

用一个好的查询引擎、一个慢的查询引擎无非是时间上可能消耗不大一样,但是数据源如果是差的话,后面用再复杂的算法可能都解决不了这个问题,可能都是很难得到正确的结论。

我觉得好的数据处理流程有两个基本的原则,一个是全,一个是细。

数据建模

有了数据之后,就要对数据进行加工,不能把原始的数据直接报告给上面的业务分析人员,它可能本身是杂乱的,没有经过很好的逻辑的。

这里就牵扯到数据建框,首先,提一个概念就是数据模型。许多人可能对数据模型这个词产生一种畏惧感,觉得模型这个东西是什么高深的东西,很复杂,但其实这个事情非常简单。

我春节期间在家干过一件事情,我自己家里面家谱在文革的时候被烧教了,后来家里的长辈说一定要把家谱这些东西给存档一下,因为我会电脑,就帮着用电脑去理了一下这些家族的数据这些关系,整个族谱这个信息。

我们现实是一个个的人,家谱里面的人,通过一个树型的结构,还有它们之间数据关系,就能把现实实体的东西用几个简单图给表示出来,这里就是一个数据模型。

数据模型就是对现实世界的一个抽象化的数据的表示。我们这些创业公司经常是这么一个情况,我们现在这种业务,一般前端做一个请求,然后对请求经过处理,再更新到数据库里面去,数据库里面建了一系列的数据表,数据表之间都是很多的依赖关系。

比如,就像我图片里面展示的这样,这些表一个业务项发展差不多一年以上它可能就牵扯到几十张甚至上百张数据表,然后把这个表直接提供给业务分析人员去使用,理解起来难度是非常大的。

这个数据模型是用于满足你正常的业务运转,为产品正常的运行而建的一个数据模型。但是,它并不是一个针对分析人员使用的模型。如果,非要把它用于数据分析那就带来了很多问题。比如:它理解起来非常麻烦。

另外,数据分析很依赖表之间的这种格子,比如:某一天我们为了提升性能,对某一表进行了拆分,或者加了字段、删了某个字短,这个调整都会影响到你分析的逻辑。

这里,最好要针对分析的需求对数据重新进行解码,它内容可能是一致的,但是我们的组织方式改变了一下。就拿用户行为这块数据来说,就可以对它进行一个抽象,然后重新把它作为一个判断表。

用户在产品上进行的一系列的操作,比如浏览一个商品,然后谁浏览的,什么时间浏览的,他用的什么操作系统,用的什么浏览器版本,还有他这个操作看了什么商品,这个商品的一些属性是什么,这个东西都给它进行了一个很好的抽象。这种抽样的很大的好处很容易理解,看过去一眼就知道这表是什么,对分析来说也更加方便。

在数据分析方,特别是针对用户行为分析方面,目前比较有效的一个模型就是多维数据模型,在线分析处理这个模型,它里面有这个关键的概念,一个是维度,一个是指标。

维度比如城市,然后北京、上海这些一个维度,维度西面一些属性,然后操作系统,还有IOS、安卓这些就是一些维度,然后维度里面的属性。

通过维度交叉,就可以看一些指标问题,比如用户量、销售额,这些就是指标。比如,通过这个模型就可以看来自北京,使用IOS的,他们的整体销售额是怎么样的。

这里只是举了两个维度,可能还有很多个维度。总之,通过维度组合就可以看一些指标的数,大家可以回忆一下,大家常用的这些业务的数据分析需求是不是许多都能通过这种简单的模式给抽样出来。








欢迎光临 开发者俱乐部 (http://xodn.com/) Powered by Discuz! X3.2