目录

1.项目背景

1.1分析流程

2.使用“人货场”拆解方式建立指标体系

3.确认问题

4.准备工作

4.1数据读取(用户行为数据)

4.2数据预处理

5.指标体系建设

5.1用户指标体系(UV/PV/留存率)+RFM模型分析

5.1.1 基础指标

5.1.2RFM模型分析

5.2 商品指标体系

5.3平台指标体系

6.结论

6.1 用户分析

6.2⽤户精细化运营

6.3商品分析

6.4 产品功能路径分析



1.项目背景

本项目基于电商平台用户行为数据,在mysql关系型数据库,探索用户行为规律,寻找高价值用户;分析商品特征,寻找高贡献商品;分析产品功能,优化产品路径

1.1分析流程

2.使用“人货场”拆解方式建立指标体系

「人」(用户) 是整个运营的核心。所有举动都围绕着,如何让更多的人有购买行为,让他们买的 更多,买的更贵。所以对人的洞察是一切行为的基础。目前平台上的主力消费人群有哪些特征,他 们对货品有哪些需求, 他们活跃在哪些场,还有哪些有消费力的人目前不在平台上,对这些问题 的回答指向了接下来的行动。

「货」就对应供给,涉及到了货品分层,哪些是红海,哪些是蓝海,如何进行动态调整,是要做自 营还是平台,以满足消费者的需求。

「场」就是消费者在什么场景下,以什么样的方式接触到了这个商品。早期的导购做的比较简单, 目前的场就比较丰富,但也暴露了淘宝和京东在导购方面的一些问题。比如内容营销,目前最好的 可能是微信的 KOL 生态和小红书,甚至微博,而不在电商自己的场。如何做一个全域的打通,和 消费者进行多触点的接触,比如社交和电商联动,来完成销售转化,这就是腾讯和阿里一直都在讲 的「全域营销」。

3.确认问题

本次分析的目的是想通过对用户行为数据进行分析,为以下问题提供解释和改进建议:

1)基于漏斗模型的用户购买流程各环节分析指标,确定各个环节的转换率,便于找到需要改进的 环节;
2)商品分析:找出热销商品,研究热销商品特点;

3)基于RFM模型找出核心付费用户群,对这部分用户进行精准营销。

4.准备工作

4.1数据读取(用户行为数据)

表结构

USE test;
CREATE TABLE o_retailers_trade_user
(
user_id INT (9),
item_id INT (9),
behavior_type INT (1),
user_geohash VARCHAR (14),
item_category INT (5),
TIME VARCHAR (13)
);

4.2数据预处理

增加新列date_time(datetime),dates(char,年月日),便于后续时间维度分析;

-- 增加新列date_time,dates
ALTER TABLE o_retailers_trade_user ADD COLUMN date_time DATETIME NULL;
UPDATE o_retailers_trade_user
SET date_time=STR_TO_DATE(TIME,'%Y-%m-%d %H')ALTER TABLE o_retailers_trade_user ADD COLUMN DATES CHAR(10) NULL;
UPDATE o_retailers_trade_user
SET DATES=DATE(DATE_TIME)

重复值处理:创建新表temp_trade,并插入无重复数据

CREATE TABLE TEMP_TRADE LIKE o_retailers_trade_user;
INSERT INTO TEMP_TRADE  SELECT  DISTINCT * FROM o_retailers_trade_user

5.指标体系建设

5.1用户指标体系(UV/PV/留存率)+RFM模型分析

5.1.1 基础指标

uv,pv,留存率(按日)统计

/*
需求:uv,pv,浏览深度(按日)统计
pv:统计behavior——type=1的记录数
uv:统计distinct user_id的数量
浏览深度:pv/uv
*/
WITH t AS(
SELECT a.dates,COUNT(DISTINCT a.user_id) AS remain,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=1,b.user_id,NULL)) AS remain1,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=2,b.user_id,NULL)) AS remain2,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=3,b.user_id,NULL)) AS remain3,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=4,b.user_id,NULL)) AS remain4,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=5,b.user_id,NULL)) AS remain5,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=6,b.user_id,NULL)) AS remain6,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=7,b.user_id,NULL)) AS remain7,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=15,b.user_id,NULL)) AS remain15,
COUNT( DISTINCT IF(DATEDIFF(b.dates,a.dates)=30,b.user_id,NULL)) AS remain30FROM
(SELECT  USER_ID,DATES FROM TEMP_TRADE GROUP BY user_id,dates) aLEFT JOIN (SELECT  USER_ID,DATES FROM TEMP_TRADE GROUP BY user_id,dates ) bON a.user_id=b.user_idWHERE b.user_id>=a.user_idGROUP BY a.dates)SELECT dates,remain,CONCAT(CAST((remain1/remain)*100 AS DECIMAL(10,2)),'%') AS day1,CONCAT(CAST((remain2/remain)*100 AS DECIMAL(10,2)),'%') AS day2,CONCAT(CAST((remain3/remain)*100 AS DECIMAL(10,2)),'%') AS day3,CONCAT(CAST((remain4/remain)*100 AS DECIMAL(10,2)),'%') AS day4,CONCAT(CAST((remain5/remain)*100 AS DECIMAL(10,2)),'%') AS day5,CONCAT(CAST((remain6/remain)*100 AS DECIMAL(10,2)),'%') AS day6,CONCAT(CAST((remain7/remain)*100 AS DECIMAL(10,2)),'%') AS day7,CONCAT(CAST((remain15/remain)*100 AS DECIMAL(10,2)),'%') AS day15,CONCAT(CAST((remain30/remain)*100 AS DECIMAL(10,2)),'%') AS day30FROM t

5.1.2RFM模型分析

1.RFM模型:R部分(最近一次消费)

--R视图DROP VIEW IF EXISTS user_recency;CREATE VIEW user_recency ASSELECT user_id,MAX(dates) AS rec_buy_timeFROM TEMP_TRADEWHERE behavior_type='2'GROUP BY user_idORDER BY rec_buy_time DESC--R等级划分DROP VIEW IF EXISTS r_level;
CREATE VIEW r_level AS
SELECT user_id,rec_buy_time,DATEDIFF('2019-12-18',rec_buy_time) AS recen_num,(
CASE WHEN DATEDIFF('2019-12-18',rec_buy_time)<=2 THEN 5
WHEN DATEDIFF('2019-12-18',rec_buy_time)<=2 THEN 5
WHEN DATEDIFF('2019-12-18',rec_buy_time)<=4 THEN 4
WHEN DATEDIFF('2019-12-18',rec_buy_time)<=6 THEN 3
WHEN DATEDIFF('2019-12-18',rec_buy_time)<=2 THEN 2
ELSE 1 END) AS r_value
FROM user_rencency;
SELECT * FROM r_level ORDER BY recen_num DESC

2.RFM模型:F部分(一段时间内的消费频率)

--F视图
CREATE VIEW fren_value AS
SELECT user_id,COUNT(user_id) AS buy_frenq
FROM TEMP_TRADE
WHERE behavior_type='2'
GROUP BY user_id;
--F等级划分
CREATE VIEW f_level AS
SELECT user_id,buy_frenq,(
CASE WHEN buy_frenq<=4 THEN 2
WHEN buy_frenq<=6 THEN 3
WHEN buy_frenq<=8 THEN 4
ELSE 5 END) AS 'f_value'
FROM fren_value

3.整合结果

本次数据中通过最近消费(R)和消费频率(F)建立RFM模型

  • 重要高价值客户:最近一次消费较近而且消费频率较高的客户
  • 重要唤回客户:最近一次消费较远且消费频率较高的客户
  • 重要深耕客户:最近一次消费较近且消费频率较低的客户
  • 重要挽留客户:最近一次消费较远且消费频率较低的客户

根据最近一次消费的均值和消费频率的均值定高低界限

--R-平均值
SELECT AVG(r_value) AS 'r_avg' FROM r_level;  -2.7091
--F平均值
SELECT AVG(f_value) AS 'f_avg' FROM f_level;  -2.7455
--用户八大类等级划分,由于该数据没有M值,只建立了4个分类
DROP VIEW IF EXISTS RFM_inall;
CREATE VIEW RFM_inall AS
SELECT a.*,b.f_value,
(CASE WHEN a.r_value>2.7091 AND b.f_value>2.7455 THEN '重要高价值客户'
WHEN a.r_value>2.7091 AND b.f_value<2.7455 THEN '重要深耕客户'
WHEN a.r_value<2.7091 AND b.f_value>2.7455 THEN '重要唤回客户'
WHEN a.r_value<2.7091 AND b.f_value<2.7455 THEN '重要挽留客户'
END) AS user_class
FROM r_level a,f_level b
WHERE a.user_id=b.user_id;
SELECT COUNT(user_id) AS user_v,user_class FROM  RFM_inall GROUP BY user_class

5.2 商品指标体系

商品的点击量 收藏量 加购量 购买次数 购买转化(该商品的所有用户中有购买转化的用户比)

按照商品进行分组统计


SELECT item_id,
SUM(CASE WHEN behavior_type=1 THEN 1 ELSE 0 END) AS 'pv',--点击量
SUM(CASE WHEN behavior_type=4 THEN 1 ELSE 0 END) AS 'fav', --收藏量
SUM(CASE WHEN behavior_type=3 THEN 1 ELSE 0 END) AS  'cart', --加购量
SUM(CASE WHEN behavior_type=2 THEN 1 ELSE 0 END) AS 'buy',  --购买次数
COUNT( DISTINCT CASE WHEN behavior_type=2 THEN user_id ELSE NULL END)/COUNT(DISTINCT user_id) AS buy_rate
FROM TEMP_TRADE
GROUP BY item_id
ORDER BY buy DESC

对应品类的点击量  收藏量 加购量 购买次数   购买转化(该商品品类的所有用户中有购买转化的用户比)

SELECT item_category,
SUM(CASE WHEN behavior_type=1 THEN 1 ELSE 0 END) AS 'pv',
SUM(CASE WHEN behavior_type=4 THEN 1 ELSE 0 END) AS 'fav',
SUM(CASE WHEN behavior_type=3 THEN 1 ELSE 0 END) AS  'cart',
SUM(CASE WHEN behavior_type=2 THEN 1 ELSE 0 END) AS 'buy',
COUNT( DISTINCT CASE WHEN behavior_type=2 THEN user_id ELSE NULL END)/COUNT(DISTINCT user_id) AS buy_rate
FROM TEMP_TRADE
GROUP BY item_category
ORDER BY buy DESC

5.3平台指标体系

1.行为指标:

点击次数  收藏次数 加购物车次数 购买次数 购买转化

SELECT dates,COUNT(1) AS '每日的总数',
SUM(CASE WHEN behavior_type=1 THEN 1 ELSE 0 END) AS 'pv',
SUM(CASE WHEN behavior_type=4 THEN 1 ELSE 0 END) AS 'fav',
SUM(CASE WHEN behavior_type=3 THEN 1 ELSE 0 END) AS  'cart',
SUM(CASE WHEN behavior_type=2 THEN 1 ELSE 0 END) AS 'buy',
COUNT( DISTINCT CASE WHEN behavior_type=2 THEN user_id ELSE NULL END)/COUNT(DISTINCT user_id) AS buy_rate
FROM TEMP_TRADE
GROUP BY dates

行为路径分析

WITH t AS(
SELECT a.* FROM
(
SELECT user_id,item_id,
lag(behavior_type,4) over(PARTITION BY user_id,item_id ORDER BY dates) lag4,
lag(behavior_type,3) over(PARTITION BY user_id,item_id ORDER BY dates) lag3,
lag(behavior_type,2) over(PARTITION BY user_id,item_id ORDER BY dates) lag2,
lag(behavior_type,1) over(PARTITION BY user_id,item_id ORDER BY dates) lag1,
behavior_type,
rank() over(PARTITION BY user_id,item_id ORDER BY dates DESC) 'rank_dn'
FROM TEMP_TRADE) a
WHERE behavior_type=2 AND rank_dn=1)
--查询该路径下有多少购买用户数SELECT CONCAT(IFNULL(
lag4,'空'),'-',IFNULL(lag3,'空'),'-',IFNULL(lag2,'空'),'-',IFNULL(lag1,'空'),'-',behavior_type) AS user_way,
COUNT(DISTINCT user_id)
FROM t
GROUP BY CONCAT(IFNULL(
lag4,'空'),'-',IFNULL(lag3,'空'),'-',IFNULL(lag2,'空'),'-',IFNULL(lag1,'空'),'-',behavior_type)

6.结论

6.1 用户分析

uv异常分析:每⽇UV数据中,明显异常点为双⼗⼆活动造成,该影响为已知影响。

对于UV周环⽐的分析:⽇常周环⽐数据⼤多⼤于0,说明⽤户程⼀定上升趋势,其中如11⽉26⽇、12⽉ 2⽇、12⽉7⽇等的数据为下降数据,需要结合其他数据做进⼀步的下降原因分析。双⼗⼆活动后⽤户周 环⽐会相应下降,为正常原因。

猜测可能的问题有:

内部问题:产品BUG(⽹站bug)、策略问题(周年庆活动结束了)、营销问题(代⾔⼈换了)等;

外部问题:竞品活动问题(其他平台⼤酬宾),政治环境问题(进⼝商品限制),舆情⼝碑问题(平台 商品爆出质量问题)等;

6.2⽤户精细化运营

通过RFM模型中的⽤户最近⼀次购买时间、⽤户消费频次分析,分拆得到以下重要⽤户。

可以在后续精细化运营场景中直接使⽤细分⽤户,做差异化运营:

  • 对⾼价值客户做VIP服务设计,增加⽤户粘性同时通过设计优惠券提升客户消费;
  • 对深耕客户做⼴告、推送刺激,提升消费频次;
  • 对挽留客户做优惠券、签到送礼策略,增加挽留⽤户粘性;
  • 对唤回客户做定向⼴告、短信召回策略,尝试召回⽤户。

6.3商品分析

热销商品品类如下所示。 其中’5027‘、’5399‘品类购买转化率较其余商品品类偏低,需要结合更多数据做进⼀步解读。(可能的原 因: 品类⾃有特性导致⽤户购买较低,⽐如⾮必需品、奢侈品等等。)

6.4 产品功能路径分析

以下为主要购买路径。可以发现⽤户多以直接购买为主;添加购物⻋的购买在主要购买路径中数量较 少。后续的产品加购功能和产品收藏功能还需要结合更多数据做改进⽅案。

基于mysql的电商用户分析相关推荐

  1. 基于 flink 的电商用户行为数据分析【9】| 电商常见指标汇总 + 项目总结

    本文已收录github:https://github.com/BigDataScholar/TheKingOfBigData,里面有大数据高频考点,Java一线大厂面试题资源,上百本免费电子书籍,作者 ...

  2. 基于 flink 的电商用户行为数据分析【8】| 订单支付实时监控

    本文已收录github:https://github.com/BigDataScholar/TheKingOfBigData,里面有大数据高频考点,Java一线大厂面试题资源,上百本免费电子书籍,作者 ...

  3. 【Flink】基于 Flink 的电商用户行为分析(二)

    1.市场营销商业指标统计分析 模块创建和数据准备 继续在 UserBehaviorAnalysis 下新建一个 maven module 作为子项目,命名为 MarketAnalysis. 这个模块中 ...

  4. mysql统计今日首充用户_电商用户行为MySQL分析

    一:分析背景 近年来电商行业发展迅猛,发展的模式也从最开始粗糙的供给结构开始向精细化电商发展.我国政策也指出: 促进电子商务发展是推进供给侧结构性改革重要的途径.因此分析用户的行为,可打造爆款商品,爆 ...

  5. 电商用户行为数据分析实战(MySQL +PowerBI)

    目录 一.项目概况 二.数据源 三.数据清洗 3.1 选择子集导入,匹配适合的数据类型 3.2 列重命名 3.3重复值处理 3.4 缺失值处理 3.5 异常值处理 从timestamps字段中提取日期 ...

  6. Flink_大数据技术之电商用户行为分析

    大数据技术之电商用户行为分析 第1章 项目整体介绍 1.1 电商的用户行为 电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据,进而利用大数据技术进行深入挖掘和分析 ...

  7. 电商用户价值分析——基于RFM模型、KMeans聚类

    电商用户价值分析--基于RFM模型.KMeans聚类 一.背景 二.RFM模型.KMeans聚类 三.分析框架 四.具体分析 1. 导入所需的库 2. 导入数据 3. 数据清洗 4. 数据分析 4.1 ...

  8. 基于大数据的线上线下电商用户数据挖掘研究

    From:http://www.thebigdata.cn/JieJueFangAn/11932p2.html Online-to-Offline( 简称 O2O)电子商务模式,是一个连接线上用户和线 ...

  9. 某电商用户行为分析-提升GMV

    目录 1. 明确项目背景和需求 项目目的: 分析思路: 2 数据探索(EDA) 2.1 数据集信息 2.2数据预览 2.2.1 new_user 2.2.2 age 2.2.3 sex 2.2.4 m ...

  10. 数据分析实战(六):英国电商用户行为分析

    案例:英国电商用户行为数据分析 Part 1. 数据获取 1.1 数据集简介 https://archive.ics.uci.edu/ml/datasets/online+retail# 该数据集为英 ...

最新文章

  1. Delphi应用程序的调试(四)The Debug Inspector
  2. gdi在固定范围内绘图_寿光计算机绘图CAD学费诚信经营
  3. Redis-stat的安装与使用
  4. ansible(3)——主机列表,ssh,公钥私钥
  5. Hadoop学习资料
  6. Linux文本撤销修改,5个'chattr'命令使重要文件在Linux中不可更改(不可更改)
  7. asp.net的几种页面间的传值方法
  8. Java基础之equals方法和= =的区别
  9. linux 查看磁盘空间大小命令
  10. 绕口令 - 专项练习
  11. JavaSE(9)-细节狂魔:OOP之继承多态?20K字长篇看完,有手就行
  12. 提示502的解决办法
  13. 性能测试时那些「难以启齿」的问题-CPU相关
  14. 20种梦幻摄影调色luts预设
  15. cropper截图插件(自定义像素的图片并保存本地)
  16. 数字藏品的交易平台有哪些 nft数字藏品
  17. python3入门指南_Python 3.4入门指南
  18. CSS3之其他常用属性
  19. BGP联邦和团体的配置
  20. 光纤传感器与传统传感器怎样可以区分出来

热门文章

  1. 【Java后端】技术文档模板
  2. python 有道翻译,python 简单的调用有道翻译
  3. vue项目PC端字体大小自适应
  4. Matlab 图像平移、旋转、缩放、镜像
  5. C# wpf确认取消MessageBox选择按钮
  6. 【华人学者风采】李进 广州大学
  7. 通过阿里云容器镜像服务下载谷歌gcr.io镜像
  8. 中国人在发表英文论文时汉字姓名究竟应该如何写?
  9. python正弦波叠加方波_电赛初探(一)——正弦波、方波、锯齿波转换
  10. 计算机图形系统根据硬件配置,计算机图形系统硬件基础.ppt