zoukankan      html  css  js  c++  java
  • 感动到流泪!数据分析师的福音:跨视图粒度计算

    此文已由作者王文开授权网易云社区发布。

    欢迎访问网易云社区,了解更多网易技术产品运营经验。

    在网易有数中,我们的目标是使数据分析成为一种愉快的行为。

    个人认为一款优秀的数据分析工具应该是能够做到:当用户在使用它做数据分析的时候,已经忘记了工具的存在,而是能够集中关注于发现数据背后揭示的故事。这个可以叫做experience flow,是一种沉浸在数据分析中的喜悦状态。

    同时,你一定遇到过的情况。有时,你遇到了一个问题,其实是很容易描述清楚的,但当你试图在网易有数中展示并回答,会发现它竟是很难的。此时,刚才提到的experience flow,就没有了感觉,你需要开始思考如何重新处理数据,此时你的分析思路会打断,而不是集中在问题和答案。对于业务分析师来说,这是郁闷的,他们遇到了困境缺不知道如何着手。

    如上这些问题的核心是:

    数据,需要可以自由汇总到不同的粒度,并且不同粒度的数据能够在一张表里进行展现。

    这么说比较抽象,我们来举一个具体的电商场景的例子

    某家电商成立于2013年,有一天数据分析师在利用网易有数做数据分析,首先她想看一下每年销售额的增长情况,于是在有数中,很容易做出了如下的柱状图。她很满意,销售额一直在增长。

    销售额趋势

    此时,她的脑海中出现了新的想法,她想看一下"每年的销售额究竟都是由哪一年的客户贡献的?"

    首先我们来分析一下她的问题,什么叫“由哪一年的客户贡献的”?

    于是她先在有数中做一个简单的表格,把“客户名称","订单ID","订单日期"放入Y轴,得到如下图表。可以看到,丁君这个客户一共买过4个订单,最早的购买日期是"2013-03-01",那我们就可以认为丁君这个客户是2013年的客户。所以我们就其实就是要在有数中计算出每个客户首次购买时间,这样我们就能知道该客户是哪一年的客户了

    试探表格

    现在,我们的目标就是计算出“每个客户的首次购买时间”。

    怎么做,是不是脑海中浮现出的第一个想法是 min([订单日期]),恭喜你,已经成功了一半了

    首先我们创建一个计算度量,如下图

    最早购买日期

    然后把这个字段加到图上,却发现,并不是我们期待的效果。“订单日期”和“最早购买日期”这两列的数据完全一样。为什么会这样?这就涉及到了图表聚合粒度的问题,这块内容我会在后续其他文章中详细阐述。

    这里我想说的是,当前图表中有“客户名称”,“订单ID”,“订单日期”,这些维度字段都会确定图表的聚合粒度,所以min([订单日期]),这个聚合方式是会收到当前图表粒度影响的。所以才会一模一样。

    最早购买日期

    所以,我们现在需要有一种方式,能够指定这个日期的聚合粒度(维度),且不受图表上的粒度所影响。

    网易有数在这个版本中加入了重磅功能:跨视图粒度计算表达式(Cross Level Calculation),下文简称CLC。

    CLC,一共有三种形式,INCLUDE,EXCLUDE,FIXED,后边我们一点点来揭开他们。

    在当前的例子中,我们会需要用到FIXED表达式,他们的格式看起来像这样:

    FIXED表达式

    注意,蓝色部分看着熟悉吧,就是刚才那个基本的数据聚合公式----最小值。红色的部分是一个新的容器,它告诉网易有数在执行蓝色部分求最小日期的时候,在哪个数据粒度进行计算,如在FIXED公式中,就是告诉网易有数,仅仅在“客户名称”这个粒度,对订单日期求最小,不考虑任何其他的粒度,也就是不考虑当前图表上的粒度。

    于是我们创建了一个计算维度,如下写了FIXED表达式

    每个客户的首次购买时间

    此时,再把“每个客户首次购买时间”,拖入图表,这下就对了,这个字段不会受到图表上的粒度影响。

    每个客户首次购买时间

    ok,现在万事俱备了,现在只需要将“每个客户首次购买时间”放到颜色栏,就能区分出每一年的销售额里面,有多少是2013年的客户,有多少是2014年的客户,...贡献的

    比如,可以从下图可以看到:

    1、2013年是这个电商的第一年,那所有的销售额肯定是当年客户贡献的

    2、2014年的销售额中,有224.3万是2013年客户贡献的,有116.8万是2014年客户贡献的

    新客销售额贡献情况

    如果不想看绝对值,可以将图表改成堆叠百分比柱状图。这样就能看到每年销售额里面,各个年份的客户的贡献百分比。

    这样就能看出问题了:

    这家电商虽然销售额逐年上升,但是新客的贡献率越来越低

    2014年的销售额里面,新客的贡献率只有34.24%

    2015年的销售额里面,新客的贡献率降到了9.31%

    2016年的销售额里面,新客贡献率更低了

    新客销售额占比

    这就是网易有数中 跨视图粒度计算 的一个小案例,真是冰山一角,敬请期待后续更多案例!

    网易有数:企业级大数据可视化分析平台,具有全面的安全保障、强大的大数据计算性能、先进的智能分析、便捷的协作分享等特性。点击可免费试用

    相关文章:
    【推荐】 盘点大数据在游戏行业中的应用
    【推荐】 年轻设计师如何做好商业设计

  • 相关阅读:
    13张PPT带你了解主动式消息队列处理集群
    TomatoLog-1.1.0实现ILoggerFactory
    番茄日志发布1.0.3版本-增加Kafka支持
    博客园升级有感一点建议
    上车时机已到--.NETCore是适应时代发展的雄鹰利剑
    花5分钟时间来了解一下高性能网关Kong会有意外收获
    Asp.NETCore让FromServices回来
    高速输出-我们戏说缓存
    Consul-template+nginx实现自动负载均衡
    Consul初探-集成ocelot
  • 原文地址:https://www.cnblogs.com/163yun/p/9921519.html
Copyright © 2011-2022 走看看