简介: 本文以某电商案例为例,通过案例为您介绍如何使用离线计算并制作漏斗图。

背景

漏斗模型其实是通过产品各项数据的转化率来判断产品运营情况的工具。转化漏斗则是通过各阶段数据的转化,来判断产品在哪一个环节出了问题,然后不断优化产品。电商漏斗模型,用户购买商品的路径,从浏览商品到支付订单的每一个环节的转化。本文将展示从用户「浏览-点击-购买」环节做漏斗分析及展示。

前提条件

  • 开通日志服务
  • 开通MaxCompute
  • 开通Dataworks
  • 开通Quick BI

案例

1.业务架构图

2.业务流程

  • 通过阿里云日志服务采集日志数据。
  • 日志服务的数据同步至大数据计算服务MaxCompute。
  • MaxCompute做离线计算。
  • 通过阿里云Quick BI进行数据可视化展示。

3.准备工作

将日志服务采集的数据增量同步到MaxCompute分区表中(本文案例以时间天为单位,展示每个环节的转化率)。具体步骤请参见:日志服务迁移至MaxCompute。并通过Dataworks设置定时调度执行,每天凌晨定时取前一天的数据,计算以天为单位的转化率漏斗图。详情见参见:调度参数

表1. 日志源表:ods_user_trans_d

表2. 创建ODS层表:ods_user_trace_data,相关数仓模型定义请参见:数据引入层(ODS)

CREATE TABLE IF NOT EXISTS ods_user_trace_data
(
md5 STRING COMMENT '用户uid的md5值前8位',
uid STRING COMMENT '用户uid',
ts BIGINT COMMENT '用户操作时间戳',
ip STRING COMMENT 'ip地址',
status BIGINT COMMENT '服务器返回状态码',
bytes BIGINT COMMENT '返回给客户端的字节数',
device_brand STRING COMMENT '设备品牌',
device STRING COMMENT '终端型号',
system_type STRING COMMENT '系统类型,Android、IOS、ipad、Windows_phone',
customize_event STRING COMMENT '自定义事件:登录/退出/购买/注册/点击/后台/切换用户/浏览/评论',
use_time BIGINT COMMENT 'APP单次使用时长,当事件为退出、后台、切换用户时有该项',
customize_event_content STRING COMMENT '用户关注内容信息,在customize_event为浏览和评论时,包含该列'
)
PARTITIONED BY
(
dt STRING --以dt作为时间分区,单位为天。
);
CREATE TABLE IF NOT EXISTS ods_user_trace_data
(
    md5                     STRING COMMENT '用户uid的md5值前8位',
    uid                     STRING COMMENT '用户uid',
    ts                      BIGINT COMMENT '用户操作时间戳',
    ip                      STRING COMMENT 'ip地址',
    status                  BIGINT COMMENT '服务器返回状态码',
    bytes                   BIGINT COMMENT '返回给客户端的字节数',
    device_brand            STRING COMMENT '设备品牌',
    device                  STRING COMMENT '终端型号',
    system_type             STRING COMMENT '系统类型,Android、IOS、ipad、Windows_phone',
    customize_event         STRING COMMENT '自定义事件:登录/退出/购买/注册/点击/后台/切换用户/浏览/评论',
    use_time                BIGINT COMMENT 'APP单次使用时长,当事件为退出、后台、切换用户时有该项',
    customize_event_content STRING COMMENT '用户关注内容信息,在customize_event为浏览和评论时,包含该列'
)
PARTITIONED BY
(
    dt STRING  --以dt作为时间分区,单位为天。
);

表3. 创建dw层表:dw_user_trace_data,相关数仓模型定义请参见:明细粒度事实层(DWD)

CREATE TABLE IF NOT EXISTS dw_user_trace_data
(
    uid                     STRING COMMENT '用户uid',
    device_brand            STRING COMMENT '设备品牌',
    device                  STRING COMMENT '终端型号',
    system_type             STRING COMMENT '系统类型,Android、IOS、ipad、Windows_phone',
    customize_event         STRING COMMENT '自定义事件:登录/退出/购买/注册/点击/后台/切换用户/浏览/评论',
    use_time                BIGINT COMMENT 'APP单次使用时长,当事件为退出、后台、切换用户时有该项',
    customize_event_content STRING COMMENT '用户关注内容信息,在customize_event为浏览和评论时,包含该列'
)
PARTITIONED BY
(
    dt STRING  --以dt作为时间分区,单位为天。
);

表4. 创建ADS层结果表:rpt_user_trace_data,相关数仓模型定义请参见:数仓分层

CREATE TABLE IF NOT EXISTS rpt_user_trace_data
(
    browse      STRING COMMENT '浏览量',
    click       STRING COMMENT '点击量',
    purchase    STRING COMMENT '购买量',
    browse_rate STRING COMMENT '浏览转化率',
    click_rate  STRING COMMENT '点击转化量'
)
PARTITIONED BY
(
    dt STRING  --以dt作为时间分区,单位为天。
);

4.编写业务逻辑

用户路径:浏览->点击->购买,各个环节的转化率(转化率 = 从当一个页面进入下一页面的人数比率)。

insert OVERWRITE table rpt_user_trace_data PARTITION (dt=${bdp.system.bizdate})
SELECT browse as 浏览量
      ,click as 点击量
      ,purchase as 购买量
      ,concat(round((click/browse)*100,2),'%') as 点击转化率
      ,concat(round((purchase/click)*100,2),'%') as 购买转化率
from
(SELECT dt,count(1) browse from dw_user_trace_data where customize_event='browse'
 and dt = ${bdp.system.bizdate} group by dt) a
left JOIN
(select dt,count(1) click from dw_user_trace_data where customize_event='click'
 and dt = ${bdp.system.bizdate} group by dt) b
on a.dt=b.dt
left JOIN
(select dt,count(1) purchase from dw_user_trace_data where customize_event='purchase'
and dt = ${bdp.system.bizdate} group by dt)c
on  a.dt=c.dt
;

5.结果

6.数据可视化展示

通过Quick BI创建网站用户分析画像的仪表板,实现该数据表的可视化。详情请参见:Quick BI

从上图中我们发现,浏览到点击中的业务量呈现了明显的缩减的趋势,转化率较低。分析到哪个环节是当前业务流程中的薄弱环节,可以帮助人们更加专注于薄弱环节提高整个流程的产出。进而提高整个流程的效率。

测试数据

根据上文介绍的漏斗模型的案例,阿里云为您提供了部分DEMO数据,您可以下载数据并根据上文示例完成整个案例的操作,从而得到您的漏斗模型图。数据如下:测试数据

以上是关于如何使用MaxCompute并制作漏斗图的介绍。

作者:张雅静

本文为阿里云原创内容,未经允许不得转载

MaxCompute在电商场景中如何进行漏斗模型分析的更多相关文章

  1. 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)

    电商平台中无论是前端还是后端会存在大量的业务应用,在整个交易的过程中请求是在各个业务应用中流转的,对于用户来讲只需要登录一次就可以访问所有的业务,这就是单点登录SSO. 单点登录开源有很多的解决方案, ...

  2. 电商系统中的商品模型的分析与设计—续

    前言     在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...

  3. solr在电商平台中的使用示例简析

    来源:http://blog.csdn.net/yangbutao/article/details/9450463 在电商平台中搜索是非常重要的功能,主要包括有搜索词类目导航.自动提示和搜索排序功能 ...

  4. Reminders在电商推荐中的价值

    原论文在UMAP'16.文章并没有太高深的模型,比较接地气:但其观点与结论很独到,并且在工业界具有很强的实际操作价值. 针对推荐系统的研究大多关注在挖掘用户并不知道但是却与其兴趣相关的物品.不过每个推 ...

  5. 电商系统中SPU、SKU的区别

    SPU = Standard Product Unit(标准产品单位) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.SPU多见于后台商品的管理. ...

  6. 电商项目中使用Redis实现秒杀功能

    参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了. 实现原理:list双向链表 使用redis队列,因为pop操作是原子的,即使有很多用户 ...

  7. (5) 电商场景下的常见业务SQL处理

    1. 如何对评论进行分页展示 一般情况下都是这样写 SELECT customer_id,title,content FROM product_comment WHERE audit_status = ...

  8. 电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))

    使用BigDecimal的String的构造器.商业计算中,使用bigdecimal的String构造器,一定要用. 重要的事情说三遍: 商业计算中,使用bigdecimal的String构造器! 商 ...

  9. 电商技术中企业数据总线ESB和注册服务管理的区别

    一.概述 1.什么是ESB 就是企业数据总线的意思,他的核心功能就是兼容各种协议接口,可以将数据在各种协议之间进行流转,并且可以针对数据格式进行编排转换. 异构系统,功能繁多,复杂 代表性的项目有:J ...

  10. 开发者如何快速搭建自己的电商App?

    面向电商购物场景,HMS Core提供了创新的电商解决方案,帮助应用快速获客.提升转化率,实现业务增长.为了帮助开发者了解如何在电商购物类应用中集成HMS Core的各项能力,HMS Core开发了电 ...

随机推荐

  1. terminate called after throwing an instance of 'std::regex_error'(C++11)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  2. 百度 Linux 运维工程师面试真题

    百度 Linux 运维工程师面试真题 百度面了好久了,两个月了,估计都快成馊面了,一跟面条在走边边一不小心掉进了大海,于是 就有了汤面_经历非技术总结就两句话,幸运的是在朋友的帮助下顺利通过笔试,还认 ...

  3. 云VR给当今的教育行业带来哪些契机

    教育一直是国之根本大策,培养下一代高科技新型人才是新时代规划的重要建设目标.教育的授课方式也别出心裁,不断地涌现出教育的新模式.3DCAT 云VR别出心裁,为教育行业带来新的教学方式和简化管理的全新系 ...

  4. 记录--你的网站如何接入QQ,微信登录

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 主要实现步骤 对接第三方平台,获取第三方平台的用户信息. 利用该用户信息,完成本应用的注册. qq登录接入 接入前的配置 qq互联 登录后 ...

  5. hdfs disk balancer 磁盘均衡器

    目录 1.背景 2.hdfs balancer和 hdfs disk balancer有何不同? 3.操作 3.1 生成计划 3.2 执行计划 3.3 查询计划 3.4 取消计划 4.和disk ba ...

  6. 文件与Base64的互转

    /** * 本地文件转换成Base64字符串 */ public String convertFileToBase64(String Path) { byte[] data = null; // 读取 ...

  7. MySQL连接数超出最大值报错及修改

    报错: create connection SQLException, url: jdbc:mysql://xx.xxx.x.xx:6306/hksk-cloud-mes?characterEncod ...

  8. FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020

    本文是对FCOS的小修小改,最终性能达到了50.4AP,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法   来源:晓飞的算法工程笔记 公众号 论文: FCOS: A Simple and ...

  9. KingbaseES 复制冲突之锁类型冲突

    背景 昨天遇到客户现场的一个有关复制冲突的问题 备库报错:ERROR: canceling statement due to conflict with recovery,user was holdi ...

  10. #数学期望,高斯消元#洛谷 3232 [HNOI2013]游走

    题目 分析 如果计算出边的期望经过次数那就可以算出来答案 首先转换成点的期望经过次数,设\(dp[x]\)表示点\(x\)的期望经过次数 那么\(dp[x]=\sum_{y\in son}\frac{ ...