关键路径转化


  • 需求

    在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比

  • 模型设计

    定义好业务流程中的页面标识
    Step1、  /item
    Step2、 /category
    Step3、 /index
    Step4、 /order
    CREATE TABLE dw_oute_numbs AS
    SELECT 'step1' AS step,COUNT(DISTINCT remote_addr) AS numbs FROM ods_click_pageviews
    WHERE datestr = '20130920'
    AND request LIKE '/item%'
    UNION ALL
    SELECT 'step2' AS step,COUNT(DISTINCT remote_addr) AS numbs FROM ods_click_pageviews
    WHERE datestr = '20130920'
    AND request LIKE '/category%'
    UNION ALL
    SELECT 'step3' AS step,COUNT(DISTINCT remote_addr) AS numbs FROM ods_click_pageviews
    WHERE datestr = '20130920'
    AND request LIKE '/order%'
    UNION ALL
    SELECT 'step4' AS step,COUNT(DISTINCT remote_addr) AS numbs FROM ods_click_pageviews
    WHERE datestr = '20130920'
    AND request LIKE '/index%';
    +---------------------+----------------------+--+
    | dw_oute_numbs.step | dw_oute_numbs.numbs |
    +---------------------+----------------------+--+
    | step1 | 1029 |
    | step2 | 1029 |
    | step3 | 1028 |
    | step4 | 1018 |
    +---------------------+----------------------+--+

  • 求取每一步相对于上一步的转化率

    SELECT t.rnnumbs/t.rrnumbs AS rate
    FROM (
    SELECT
    rn.step AS rnstep,
    rn.numbs AS rnnumbs,
    rr.step AS rrstep,
    rr.numbs AS rrnumbs
    FROM dw_oute_numbs rn
    INNER JOIN dw_oute_numbs rr
    WHERE rr.step = 'step1' ) t;
  • 求取每一步相对于第一步的转化率

    SELECT t.rrnumbs/t.rnnumbs AS rate
    FROM (
    SELECT
    rn.step AS rnstep,
    rn.numbs AS rnnumbs,
    rr.step AS rrstep,
    rr.numbs AS rrnumbs
    FROM dw_oute_numbs rn
    INNER JOIN dw_oute_numbs rr
    WHERE CAST(substr(rn.step,5,1) AS INT) = CAST(SUBSTR(rr.step,5,1) AS INT) - 1 ) t;
  • 也可以将两个合并到一起

    SELECT abs.step,abs.numbs,abs.rate AS abs_ratio,
    rel.rate AS leakage_rate
    FROM (
    SELECT tmp.rnstep AS step,tmp.rnnumbs AS numbs, tmp.rnnumbs/tmp.rrnumbs AS rate
    FROM (
    SELECT
    rn.step AS rnstep,
    rn.numbs AS rnnumbs,
    rr.step AS rrstep,
    rr.numbs AS rrnumbs
    FROM dw_oute_numbs rn
    INNER JOIN dw_oute_numbs rr ) tmp
    WHERE tmp.rrstep = 'step1' ) abs
    LEFT OUTER JOIN (
    SELECT tmp.rrstep AS step,tmp.rrnumbs/tmp.rnnumbs AS rate
    FROM (
    SELECT
    rn.step AS rnstep,
    rn.numbs AS rnnumbs,
    rr.step AS rrstep,
    rr.numbs AS rrnumbs
    FROM dw_oute_numbs rn
    INNER JOIN dw_oute_numbs rr ) tmp
    WHERE CAST(substr(tmp.rnstep,5,1) AS INT) = CAST(SUBSTR(tmp.rrstep,5,1) AS INT) - 1 ) rel
    ON abs.step=rel.step;

【Hadoop离线基础总结】关键路径转化率分析(漏斗模型)的更多相关文章

  1. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发

    目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...

  2. 【Hadoop离线基础总结】网站流量日志数据分析系统

    目录 点击流数据模型 概述 点击流模型 网站流量分析 网站流量模型分析 网站流量来源 网站流量多维度细分 网站内容及导航分析 网站转化及漏斗分析 流量常见分析角度和指标分类 指标概述 指标分类 分析角 ...

  3. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

  4. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  5. 【Hadoop离线基础总结】Hue的简单介绍和安装部署

    目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...

  6. 【Hadoop离线基础总结】Sqoop常用命令及参数

    目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...

  7. 【Hadoop离线基础总结】Hive调优手段

    Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...

  8. 【Hadoop离线基础总结】MapReduce增强(下)

    MapReduce增强(下) MapTask运行机制详解以及MapTask的并行度 MapTask运行流程 第一步:读取数据组件InputFormat(默认TextInputFormat)会通过get ...

  9. 【Hadoop离线基础总结】MapReduce增强(上)

    MapReduce增强 MapReduce的分区与reduceTask的数量 概述 MapReduce当中的分区:物以类聚,人以群分.相同key的数据,去往同一个reduce. ReduceTask的 ...

随机推荐

  1. Python中有许多HTTP客户端,但使用最广泛且最容易的是requests

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:北京尚脑软件测试 PS:如有需要Python学习资料的小伙伴可以加点击 ...

  2. Grafana-监控-报警-运维文档

    Grafana运维文档 2019/09/23 Chenxin Wuweiwei 参考资料 https://grafana.com/grafana https://blog.52itstyle.vip/ ...

  3. api_DZFPKJ & api_DZFPCX

    AES加密算法的网站:http://www.ssleye.com/aes_cipher.html """ AES加密(加解密算法/工作模式/填充方式:AES/ECB/PK ...

  4. vue2.x学习笔记(八)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12577433.html. 列表渲染 vue提供了一个[v-for]指令用于列表渲染(循环). 用[v-for]指令 ...

  5. AI vs PS 矢量 VS 位图

    矢量图 AI最大可以放大64000%.不会失真,依然很清晰.原理是不同的点以及点与点之间的路径构成的,不论放大的多大,点在路径在,就可以精确的计算出它的区域.AI中无法直接编辑位图. 位图 代表PS, ...

  6. python之excel表操作

    python对excel表操作主要用到三个库,xlrd,xlwt,xlutils,分别用于excel表读,写,修改操作,以下将一个简单介绍 一.生成excel表:xlwt类 新建excel表,并写入数 ...

  7. 移植madplay到ARM板

    一.环境和软件介绍 1.主机环境:Ubuntu16.04 2.交叉编译器: gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 3.ARM板:kernel: ...

  8. 进制之间转换——day_01

    一.计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1B = 8b #一个字节等于8位 简写 1Byte = 8 bit 1KB = 1024B 1MB = 1024KB 1G ...

  9. 记一次virtualbox和夜神模拟器冲突的问题

    今天装了夜神模拟器之后发现vbox打不开了,百度了一堆都说要什么重装系统啥的,我这边提示的是 “创建失败(被召者 RC: REGDB_E_CLASSNOTREG (0x80040154))” 先是用管 ...

  10. dhcp协议抓包分析

    dhcp协议 DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client). wires ...