核心内容摘要
W.17.C:探索未知的边界,重塑未来的想象
我们在进行数据分析的时候大部分时间都在使用趋势分析、比较分析、细分分析这三类方法但其实还有一个方法我们也会经常使用——交叉分析尤其是在排查数据异常的问题时交叉分析就能展现其强大的威力。
什么是交叉分析交叉分析是指对数据在不同维度进行交叉展现进行多角度结合分析的方法弥补了独立维度进行分析没法发现的一些问题。
交叉分析以多维模型和数据立方为基础也可以认为是一种特殊的细分方式但跟细分的概念有点差异如果有兴趣可以先阅读下之前的文章——数据立方体与OLAP。
细分的方法更多的是基于同一维度的纵深展开也就是OLAP中的钻取Drill-down比如从月汇总的数据细分来看每天的数据就是在时间维度上的细分或者从省份的数据细分查看省份中各城市的数据是基于地域维的下钻。
交叉分析不再局限于一个维度就像数据立方体与OLAP文章中的立方体是基于不同维度的交叉时间维、地域维和产品维交叉在一起分析每个小立方的数据表现可以通过OLAP的切片Slice和切块Dice操作查看例如上海市在3月份的电子产品的销售情况这会帮助我们发现很多在单个维度中无法发现的问题。
所以交叉分析是基于不同维度横向地组合交叉而不是细分在同一维度的纵向展开。
交叉分析的展现形式交叉分析涉及多维度的组合虽然图表和表格都可以进行展现但因为图表所能表达的数据有限且比较不容易把多个维度的交叉关系展现出来在交叉分析中不太常用通常以表格为主。
我们平常在看的表格通常被叫做二维表一般第一列放置一个维度如日期表头罗列各类指标其实所有指标也可以被认为是一种特殊的维度——指标维这样行列的两个维就组成了最常见的二维表。
二维表可以进行扩展进而展现更加丰富的维度如上图就是典型的基于表格的多维度交叉分析的布局在行列中分层次放置多个维度如果我们只显示一个指标那么这里的指标维就没有显示的必要了。
其实Excel的数据透视表Pivot Table就是交叉分析的利器我在数据的报表和报告这篇文章中提到过数据透视表这里还是基于那篇文章截图的原始数据如果我们将各维度按照上面的布局形式进行展现的话会是怎么样的效果看起来还不错显示的信息非常丰富左边包含了以天为单位时间维和产品维可以使用展开按钮进行汇总和展开就像是细分的操作上面的表头部分分两层罗列了地域维和指标维Excel的透视表提供了丰富的设置默认展现基于各个维度的汇总数据让我们可以从“总-分”的角度观察数据这对数据分析非常有用。
假如我们使用上面的透视表进行交叉分析发现数据是否存在异常使用从总体到细节的分析方法首先可以从查看每天销售额和转化率的汇总数据开始折叠产品维之后观察最右侧的指标汇总列就可以看到每日汇总数据如果某一天的销售额或转化率出现了大幅的下滑我们就可以结合各种维度寻找问题的原因就是基于各种维度的细节数据展开产品维观察当天的哪类产品销售出现了问题然后结合地域维的交叉数据可以定位哪类商品在哪个省份的销售出现了问题这样就有效地将问题定位到了细节的层面能够更好地发现问题进而解决问题。
所以交叉分析其实正是体现了分析“分而析之”的本意。
上面的方法一般是比较常用的基于问题的分析方法但我们很少可以一次就定位到问题往往我们会根据推测多次查询数据库或查看Dashboard上的各类报表来定位问题。
而结合透视表的交叉分析我们使用一张报表就快速地定位了问题所在从总体到细节逻辑非常清晰问题的定位也非常准确和到位所以合理地利用交叉分析可以帮助我们更加高效地排查问题。
交叉分析的基础这里不得不再说一下交叉分析基于的底层基础数据模型因为如果没有设计好底层的数据模型上层的交叉分析是很难实现的或者多维的交叉受到限制而使分析存在局限性。
从技术层面来看交叉分析基于多维模型数据的维度越丰富所能实现的交叉也越丰富和灵活通过各种交叉分析能够更加有效地发现问题但相应的如果要尽可能地丰富各维度的交叉分析对基层模型的要求也就越高。
所以如何设计好数据的底层模型非常关键还是引用数据立方体与OLAP文中的那个数据立方看个简单的例子如果一张网站分析的报表只包含以月度为单位的日期维和相应的指标那么数据的存储就是每个月一条记录但显然这种高度聚合的数据不利于分析我们需要构建如上图的数据立方体来获取更加细节的数据。
用数据立方来拓展数据细节有两种方向一类是纵深拓展也就是基于一个维度的细分比如将一个月细分到每一天那么一条记录将会被拓展成30条还有一种是横向的拓展就是多个维度的交叉就像上面立方中添加了产品维和地域维。
这样存储的数据就从原本单一的时间维度扩展成了时间、产品和地域三个维度也就是三维立方体所能展现的形式当然维度可以继续扩展四个五个直到N个理论上都是可行的这里只要以三个维度进行举例就可以。
对于数据存储而言横向的拓展与纵深拓展的影响是一样的记录数都是以倍乘的方式增长假设这里产品维是产品大类有20个产品大类再加上32个省份或直辖市那么经过纵深和横向拓展之后原先每月的1条记录就变成了1 × 30 × 20 × 32 19200而我们在构建多维模型的时候很多维度中包含的数据量绝对不像上面例举的那么小想象一下网站的商品或者页面的数量可能是成百上千甚至成千上万的那么一旦以倍乘的形式扩展之后数据量就会一下子剧增。
虽然丰富的多维立方能够给分析带来便利但也同时给数据的存储和查询带来的压力。
所以更加丰富和灵活的分析需求的实现基于更加复杂的多维模型或者数据立方同时会带来更大的系统开销。
Google Analytics很好地权衡了灵活的数据分析与复杂数据模型之间的关系这也是Google Analytics强大功能的基本保障GA的高级细分Advanced Segments和自定义Dashboard是其他同类免费网站分析工具所无法比拟的这也正是为什么我们将GA划分到网站数据分析工具而其他的大部分只能算作网站数据统计工具的原因。
而GA正是基于其构建的强大的底层数据模型和高效的数据计算和响应能力使很多分析功能可以得到扩展其中很多就涉及交叉分析这里截图了其中的两个功能Secondary Dimension和PivotGoogle Analytics新版本增加了很多令人心动的功能Secondary dimension的功能从老版本得到了延续上图在Content模块的Page报表中选择了流量来源作为第二维度这样我们就可以查看每个页面的流量是从何而来每个流量来源在该页面的数据表现同时可能还可以发现一些有趣的现象比如某些页面的流量基本都是一个来源带来的比如我的博客的某些文章基本都是通过搜索引擎进来的而另外一些文章基本通过直接流量带来。
在GA的各类报表中可以在右上角选择展现的形式最后的一种就是PivotPivot的形式对表格的表头进行了扩展可以分层次放置另外的维度如上图还是使用了页面与流量来源的交叉将Source维度放到了指标的上方。
同时GA支持在两个维度的基础上最多选择两个度量Metric我这里选择了Pageviews和Bounce Rate来衡量每个页面中各类流量来源所带来的“量”和“质”同样对于分析非常有价值。
多维的交叉分析我们在日常中潜移默化地经常会用到交叉分析对于问题的排查和定位额外有效所以我们需要想办法用更好的形式去展现数据以便于更有利于进行交叉分析其实这里介绍的透视表的方式是最常用的也是比较好用的但这类方式太少不知道大家有没有其他更加有效的交叉分析展现方式。
转自https://blog.csdn.net/jiangbb8686/article/details/89647087