【Hadoop离线基础总结】关键路径转化率分析(漏斗模型)
关键路径转化
- 需求
在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比

- 模型设计
定义好业务流程中的页面标识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离线基础总结】关键路径转化率分析(漏斗模型)的更多相关文章
- 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...
- 【Hadoop离线基础总结】网站流量日志数据分析系统
目录 点击流数据模型 概述 点击流模型 网站流量分析 网站流量模型分析 网站流量来源 网站流量多维度细分 网站内容及导航分析 网站转化及漏斗分析 流量常见分析角度和指标分类 指标概述 指标分类 分析角 ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
- 【Hadoop离线基础总结】oozie的安装部署与使用
目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...
- 【Hadoop离线基础总结】Hue的简单介绍和安装部署
目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...
- 【Hadoop离线基础总结】Sqoop常用命令及参数
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...
- 【Hadoop离线基础总结】Hive调优手段
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...
- 【Hadoop离线基础总结】MapReduce增强(下)
MapReduce增强(下) MapTask运行机制详解以及MapTask的并行度 MapTask运行流程 第一步:读取数据组件InputFormat(默认TextInputFormat)会通过get ...
- 【Hadoop离线基础总结】MapReduce增强(上)
MapReduce增强 MapReduce的分区与reduceTask的数量 概述 MapReduce当中的分区:物以类聚,人以群分.相同key的数据,去往同一个reduce. ReduceTask的 ...
随机推荐
- 提升效率必备!8个超好用的Python内置函数
文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 吃着不想停 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...
- stand up meeting 1-6
今日更新: 1.修复初始最佳战绩显示bug: 初始为击败全国0% 用户 2.挑战结果界面显示“哎,今天的饭又白吃了,回去多吃两碗###”, 去除API返回string中的“###”. 3.分享模块初 ...
- D. Ehab the Xorcist
题意: 略: 感觉被演了一波,这是CFdiv2吗? 算是这个构造题吧. 1 首先我们可以将u进行二进制拆分来考虑.加入u>v那么小与v的那些数在怎么拼接也无法使异或值为u. 比如二进制U=1 0 ...
- 一个好的olap框架
一.何为一个好的olap框架? 框架大概分为两种: (1)底层技术框架,专注于抽象底层技术,如网络通信netty.中间件kafka等 (2)开发人员框架,专注于提高开发效率,如spring的面向切面和 ...
- 详解 Lambda表达式
Lambda表达式 概述: Lambda 是一个匿名函数, 我们可以把 Lambda表达式理解为是一段可以传递的代码 (将代码像数据一样进行传递) 可以写出更简洁.更灵活的代码. 作为一种更紧凑的代码 ...
- cmd 文件/文件夹的一切操作
dir // 列出目录下所有文件夹 rd dirname // 删除dirname文件夹(空文件夹) rd /s/q dirname // 删除dirname文件夹(非空)
- python web的进化历程
对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 阶段1 socket服务端和客户端都自己编写 实现访问8080端口,返回一个'hello wo ...
- Mysql中的一些类型
列类型--整数类型Tinyint:迷你整形 一个字节=8位 最大能表示的数值是0-255 实际区间 -128~127Smallint:小整形 两个字节 能表示0-65535Mediumint:中整型 ...
- 开发者福利!百问I.MX6ULL裸机文档发布
终于等到你,百问科技近600页的100ask_imx6ull裸机文档发布,已经合并到“嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集.pdf(1222页)”,所有人免费下载学习. 本 ...
- AJAX教程——检视阅读
AJAX教程--检视阅读 参考 AJAX 教程--菜鸟 AJAX 教程--w3cschool AJAX 教程--w3school.cn AJAX 教程--易百 AJAX = Asynchronous ...