1 背景介绍
随着前几年爆火的“社交电商”、“直播电商”等一次次电商的转型升级,电商平台不仅为企业提供了全新的商业模式,也为消费者带来了更便捷、多样化的购物体验。然而,随着电商市场竞争的日益激烈,如何更好地进行用户运营,满足用户需求,提升用户忠诚度,成为了电商企业亟需解决的关键问题之一。
数据分析作为一种强有力的工具,为电商用户运营提供了深入洞察消费者行为、趋势和偏好的途径。通过对用户数据进行全面分析,电商企业可以更准确地了解用户的购物习惯、兴趣爱好,甚至是情感态度。这些数据不仅有助于企业优化产品和服务,更为重要的是,能够制定精准的用户运营策略,从而更好地吸引、留存和发展用户群体。本文将带领大家使用 DataEase 进行电商的用户运营分析。
2 数据来源
数据来源:https://tianchi.aliyun.com/dataset/649 (淘宝用户行为数据集)
2.1 字段定义
列名称 | 说明 |
用户ID | 字符串类型,用户ID |
商品ID | 字符串类型,商品ID |
商品类目ID | 字符串类型,商品所属类目ID |
行为类型 | 字符串,枚举类型,包括('pv', 'buy', 'cart', 'fav') |
时间戳 | 整型,行为发生的时间戳 |
2.2 用户行为类型定义
行为类型 | 说明 |
pv | 商品详情页pv,等价于点击 |
buy | 商品购买 |
cart | 将商品加入购物车 |
fav | 收藏商品 |
3 数据清洗
3.1 列重命名
将数据导入至数据库中时,原数据集中不包含表头。因此需要到列名进行重命名。
ALTER TABLE userbehavior CHANGE COLUMN `1` user_id VARCHAR(255);
ALTER TABLE userbehavior CHANGE COLUMN `2268318` item_id VARCHAR(255);
ALTER TABLE userbehavior CHANGE COLUMN `2520377` cat_id VARCHAR(255);
ALTER TABLE userbehavior CHANGE COLUMN pv behavior_type VARCHAR(255);
ALTER TABLE userbehavior CHANGE COLUMN `1511544070` time_stamp VARCHAR(255);
3.2 重复值与缺失值检验
拿到数据后需要先检查数据集中是否包含重复值或是否有缺失值
# 重复值检验
SELECT *
FROM userbehavior
GROUP BY user_id,item_id,cat_id,time_stamp
HAVING COUNT(*)>1;
# 缺失值检查
SELECT COUNT(user_id) 用户数量
,COUNT(item_id) 商品数量
,COUNT(cat_id) 商品类目数量
,COUNT(behavior_type) 用户行为数量
,COUNT(time_stamp) 时间戳数量
FROM userbehavior;
根据查询结果,数据集中并不包含重复值,也不存在缺失值。
3.3 时间戳格式化
需要将原数据集中的时间戳格式转换为日期的时间格式,以便后续分析处理:
# 新增日期列
ALTER TABLE userbehavior ADD COLUMN `date` VARCHAR(255);
UPDATE userbehavior SET `date`=FROM_UNIXTIME(time_stamp,'%Y-%m-%d');
# 新增时间列
ALTER TABLE userbehavior ADD COLUMN `time` VARCHAR(255);
UPDATE userbehavior SET `time`=FROM_UNIXTIME(time_stamp,'%H:%i:%s');
# 新增小时列
ALTER TABLE userbehavior ADD COLUMN `hour` VARCHAR(255);
UPDATE userbehavior SET `hour`=hour(time);
4 数据分析
4.1 用户访问分析
4.1.1 数据预处理
通过新建SQL数据集将数据集导入进DataEase后,在数据集的字段管理界面可以看到各字段均为【文本】类型,需要先将字段改为合适的字段类型,如图所示将【date】和【time】转换为对应的时间格式,【user_id】和【item_id】转换为维度:
4.1.2 视图设计
新建仪表板,选择刚创建的数据集【userbehavior】新建组合图:用户访问分析。如下图所示在右侧编辑栏中将对应字段拖入并做修改。
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客
PV(page view):即页面浏览量,或点击量;用户每1次对网站中的每个网页访问均被记录1次。
1、将字段【data】拖入【类别轴/维度】中,并将排序改为升序。
2、将字段【user_id】拖入【主轴值/指标】中,选择汇总方式为计数,并将显示名改为【PV】。
3、将字段【user_id】拖入【副轴值/指标】中,选择汇总方式为去重计数,并将显示名改为【UV】。
4、将字段【date】和字段【hour】按顺序拖入【钻取/维度】中。
4.1.3 分析结果
配置视图下钻后,点击数据点将下钻到该日期的具体时段查看【UV】和【PV】的趋势变化。从折线图中可以看出:11月25日-12月1日的PV和UV相对稳定,12月2日-12月3日的PV、UV则有明显增幅。其中11月25-26日和12月2-3日均为周末,11月25-26日和工作日(11月27日-12月1日)的PV、UV数据相近,而12月2-3日却有明显增幅。推测进入12月后平台及店铺为双十二促销活动进行预热,因此对用户活跃度产生了影响。
4.2 用户留存分析
4.2.1 数据预处理
1.计算自11月25日起新登录的用户为新增用户,查询每位用户第一次登录的日期。
# 创建视图,查询用户第一次登录的日期
CREATE VIEW first_log
AS
SELECT user_id,MIN(date) first_logday
FROM userbehavior
GROUP BY user_id;
数据预览:
2.查询每日新增用户数:
SELECT first_logday,COUNT(user_id) 日新增用户
FROM first_log
GROUP BY first_logday
ORDER BY first_logday;
数据预览:
3.创建视图,查询用户登录当天与第一次登录间隔天数:
# 创建视图,查询用户登录当天与第一次登录间隔天数
CREATE VIEW day_diffAS
SELECT a.user_id,b.first_logday,
DATEDIFF(a.date,first_logday) day_diff
FROM userbehavior a
INNER JOIN first_log b
ON a.user_id=b.user_id
GROUP BY a.user_id,a.date;
数据预览:
4.在DataEase中新建SQL数据集查询不同登录日期的用户每日留存统计:
SELECT first_logday,
SUM(CASE day_diff WHEN 0 THEN 1 ELSE 0 END) day_0,
SUM(CASE day_diff WHEN 1 THEN 1 ELSE 0 END) day_1,
SUM(CASE day_diff WHEN 2 THEN 1 ELSE 0 END) day_2,
SUM(CASE day_diff WHEN 3 THEN 1 ELSE 0 END) day_3,
SUM(CASE day_diff WHEN 4 THEN 1 ELSE 0 END) day_4,
SUM(CASE day_diff WHEN 5 THEN 1 ELSE 0 END) day_5,
SUM(CASE day_diff WHEN 6 THEN 1 ELSE 0 END) day_6,
SUM(CASE day_diff WHEN 7 THEN 1 ELSE 0 END) day_7,
SUM(CASE day_diff WHEN 8 THEN 1 ELSE 0 END) day_8
FROM day_diff
GROUP BY first_logday
ORDER BY first_logday;
4.2.2 视图设计
在仪表板中新建【明细表】视图,选择刚创建的数据集。并按下图所示将各字段拖入【数据列/维度或指标】中。
4.2.3 分析结果
在11月25-30日之间首日登录的用户在12月2日之前每日的留存率在50%-80%之间浮动;而在12月2-3日不同批次的用户留存率均有大幅提升(超过90%),可能是由于平台或店铺推出了促销活动或者每日打卡积分活动等提升用户活跃度。
4.3 用户复购分析
4.3.1 数据预处理
1.在DataEase中新建SQL数据集,查询用户的购买次数
# 查询用户的购买次数
SELECT user_id,COUNT(user_id) AS 购买次数
FROM userbehavior
WHERE behavior_type='buy'
GROUP BY user_id
ORDER BY 购买次数 DESC;
2.通过字段管理-新建计算字段对购买频次做数据映射,如下图所示:
【字段名称】:用户分层
【字段表达式】:
CASE WHEN [购买次数] >=1 AND [购买次数] <= 4 THEN '1-4'
WHEN [购买次数] >=5 AND [购买次数] <= 9 THEN '5-9'
WHEN [购买次数] >=10 AND [购买次数] <= 14 THEN '10-14'
WHEN [购买次数] >=15 AND [购买次数] <= 19 THEN '15-19'
WHEN [购买次数] >=20 AND [购买次数] <= 24 THEN '20-24'
WHEN [购买次数] >=25 AND [购买次数] <= 29 THEN '25-29'
ELSE '>30'
END
数据预览:
4.3.2 视图设计
在仪表板中新建【基础柱状图】视图,选择刚创建的数据集,如下图所示在右侧编辑栏中将对应字段拖入并做修改。
1、将新建的字段【用户分层】拖入【类别轴/维度】中
2、将字段【购买次数】拖入【值轴/指标】中,选择汇总方式为【求和】。
将字段【记录数】拖入【值轴/指标】中,选择汇总方式为【计数】,并将显示名修改为【购买人数】。
4.3.3 分析结果
大部分购买用户都产生过复购行为,复购率达到65.9%;但绝大多数用户的复购次数不超过5次,用户购买体验仍有提升空间。
4.4 用户转化分析
4.4.1 视图设计
新建【漏斗图】视图,选择userbehavior数据集,如下图所示将字段添加至右侧编辑栏中:
1、将字段【behavior_type】拖入【漏斗分层/维度】中,并将显示名修改为【行为类型】。
2、将字段【user_id】拖入【漏斗层宽/指标】中,选择【汇总方式】为【计数】,并将显示名修改为【用户数】。
4.4.2 分析结果
从点击到收藏的路径中用户流失较多,而加购物车到购买的路径中用户流失极少。