电商场景实战之漏斗模型

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

背景

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


前提条件


案例

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

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
3月前
|
数据可视化 搜索推荐 数据挖掘
数据分析案例-顾客购物数据可视化分析
数据分析案例-顾客购物数据可视化分析
117 0
|
8天前
|
安全 数据可视化 数据挖掘
数据分享|AARRR模型淘宝用户行为分析、电商销售分析
数据分享|AARRR模型淘宝用户行为分析、电商销售分析
|
8天前
|
机器学习/深度学习 数据可视化 算法
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
|
27天前
|
关系型数据库 MySQL BI
R语言RFM模型在电商行业的应用
R语言RFM模型在电商行业的应用
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)
【数据挖掘】关联模式评估方法及Apriori算法超市购物应用实战(超详细 附源码)
60 0
|
8月前
|
监控 搜索推荐 数据挖掘
AARRR漏斗模型:P7/P8怎么掌握业务领域?
AARRR漏斗模型:P7/P8怎么掌握业务领域?
|
11月前
|
数据采集 搜索推荐 API
"利用淘宝API接口实现智能化商品推荐系统技术探究"
随着电商行业的火爆发展,如何有效从海量商品中筛选出用户感兴趣的商品成为了每个电商平台必须面对的难题。而商品的精准推荐技术是解决该难题的重要手段之一。淘宝作为国内电商平台的龙头企业,其提供的API接口为开发者提供了打造智能化商品推荐系统的可能。
175 0
|
数据采集 机器学习/深度学习 算法
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
722 0
大数据分析案例-基于RFM模型对电商客户价值分析(聚类)
|
机器学习/深度学习 数据采集 数据可视化
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
727 0
数据分析案例-基于随机森林模型探究电商网站推销商品的影响因素
|
数据采集 分布式计算 监控
电商项目之建模分析(8个问题)|学习笔记
快速学习电商项目之建模分析(8个问题)
99 0
电商项目之建模分析(8个问题)|学习笔记