共计 2919 个字符,预计需要花费 8 分钟才能阅读完成。
今天就跟大家聊聊有关 MaxCompute 在电商场景中是如何进行漏斗模型分析,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
背景
漏斗模型其实是通过产品各项数据的转化率来判断产品运营情况的工具。转化漏斗则是通过各阶段数据的转化,来判断产品在哪一个环节出了问题,然后不断优化产品。电商漏斗模型,用户购买商品的路径,从浏览商品到支付订单的每一个环节的转化。本文将展示从用户「浏览 - 点击 - 购买」环节做漏斗分析及展示。
前提条件
开通日志服务
开通 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 作为时间分区,单位为天。);
表 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 购买转化率
(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
从上图中我们发现,浏览到点击中的业务量呈现了明显的缩减的趋势,转化率较低。分析到哪个环节是当前业务流程中的薄弱环节,可以帮助人们更加专注于薄弱环节提高整个流程的产出。进而提高整个流程的效率。
看完上述内容,你们对 MaxCompute 在电商场景中是如何进行漏斗模型分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。