电商场景实战之漏斗模型

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文以某电商案例为例,通过案例为您介绍如何使用离线计算并制作漏斗图。

背景

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


前提条件


案例

1.业务架构图


未命名绘图.png

大屏顺示

日志服务

Macongu

X60K

欧据集成迁移感据

感据读取

日志采

应用



2.业务流程


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


3.准备工作


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


表1.  日志源表:ods_user_trans_d

屏幕快照 2021-02-08 上午10.59.57.png

数据类型

字段

说明

用户uid的md5值前8位

STRING

md5

用户uid

STRING

uid

用户操作时间戳

BIGINT

STRING

ip地址

ip

BIGINT

服务器返回状态码

status

返回给客户端的字节数

BIGINT

bytes

STRING

终端型号

device

系统版本

STRING

system

自定义事件:登录/退出/购买/注册/点击/后合/切换用户/浏览/评论

STRING

customizeevent

APP单次使用时长,当事件为退出,后合,切换用户时有该项

BIGINT

usetime

用户关注内容信息,在customize-event为浏览和评论时,包含该列

STRING

customizeevent.content


表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 购买转化率 
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.结果

屏幕快照 2021-02-08 上午11.06.26.png


6.数据可视化展示

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

屏幕快照 2021-02-08 下午12.00.51.png

漏斗图

浏览

100%

点击

12.63%

购买

7.68%

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


测试数据

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


以上是关于如何使用离线计算并制作漏斗图的介绍。

更多关于大数据计算、云数仓技术交流,可扫码加入 “MaxCompute开发者社区” 钉钉群

image.png

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
12天前
|
SQL 存储 缓存
优化电商漏斗分析从 3 分钟 + 到 10 秒
A电商公司常用漏斗转化率分析来统计用户购物行为。此过程需处理大量用户会话数据,传统SQL实现复杂低效。文中提供了一种基于SPL的专业数据计算引擎解决方案,通过预先排序数据和有序归并算法,显著提升了计算性能,使14天跨度3步漏斗分析在10秒内完成,远超预期。该方法不仅代码简洁,易于扩展,还大幅降低了内存消耗,适合处理大规模数据集。
|
1月前
|
搜索推荐 数据挖掘
ChatGPT数据分析应用——漏斗分析
ChatGPT数据分析应用——漏斗分析
|
3月前
|
存储 监控 API
1688商品评论数据接口实战指南:挖掘电商洞察
要获取1688商品评论数据,先注册1688开放平台并登录,然后用Python等工具调用API获取评论信息,如内容、评分等,并存储或分析这些数据。使用时须遵守平台规定,保障数据安全及隐私,利用接口进行舆情监控、提升品牌形象,并留意接口更新以优化业务流程。
|
6月前
|
安全 数据可视化 数据挖掘
数据分享|AARRR模型淘宝用户行为分析、电商销售分析
数据分享|AARRR模型淘宝用户行为分析、电商销售分析
|
6月前
|
关系型数据库 MySQL BI
R语言RFM模型在电商行业的应用
R语言RFM模型在电商行业的应用
|
6月前
|
供应链 UED
电商数据分析-01-电商数据分析指标
电商数据分析-01-电商数据分析指标
|
机器学习/深度学习 数据采集 人工智能
机器学习实战 | 综合项目-电商销量预估进阶方案
本篇内容是Kaggle数据科学竞赛Rossmann store sales解决方案的进阶版本,整体方案包括探索性数据分析、缺失值处理、特征工程、基准模型与评估、XGBoost建模与调优等完整板块。
4188 1
机器学习实战 | 综合项目-电商销量预估进阶方案
|
数据采集 机器学习/深度学习 算法
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
1020 0
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
|
机器学习/深度学习 数据采集 数据可视化
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
1010 0
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
|
数据采集 数据可视化 数据挖掘
数据分析案例-旅游景点票价预测
数据分析案例-旅游景点票价预测
310 0
数据分析案例-旅游景点票价预测