❶ Mysql新增留存率
没错,留存的问题还没有写完,之前两篇把日、周、月当期活跃用户在后续周期的留存率问题解决了。但是还有个非常重要的指标,当期新增用户的留存率,这个指标也是很有价值的,我们必须要关注不同日期拉新用户的质量如何,看看不同时期新用户的后续留存情况,对后续拉新的时间选择也是有参考价值的。
其实实现也很简单,只需要在之前的基础上,先把当期的首次登陆用户找出来就行了。实现方式是,按照用户聚合,然后取日期最小值就能取出每个用户首次登陆日期了,SQL语句如下↓
然后就以此为基础,通过左连接把用户表格再连接一次,判断与首次登陆的日期相差多少天就行了,就能判断是第N天有活跃,就能计算N日留存和留存率了,SQL语句和结果如下↓
后面就和之前思路一样了,就可以求出日留存率情况了,SQL语句如下,解释可以看前面两篇。
然后按月实现方式和上一篇一样的思路,关联一个辅助表就行了,这里不详细解释了,可以参考上一篇,完整SQL语句和结果如下↓
那么按周的留存率也是一样的,SQL语句和结果如下↓
End
◆ PowerBI开场白
◆ Python高德地图可视化
◆ Python不规则条形图
❷ 用SQL统计用户数,感谢帮忙
$queryxx22 = $db->query("select * from users where parents like '%$rstdxx2%'");
这条语句 同时也会把自己本身当作 自己的下级了
where 条件 改下 parentId = '用户ID'
这样去查 用户的下级
❸ SQL计算电商各项指标数据
本次笔记主要是记录通过SQL计算电商各项指标数据,包括AARRR部分指标、RFM模型等常用的指标数据;
平台指标:
商品指标:
用户行为指标:
RFM模型:见之前的文章《 SQL建立RFM模型指标的两种方法对比 》
用户留存率:见之前文章《 SQL 查询用户留存率(根据两种不同定义计算) 》
首先我们导入相关数据,并去重数据放进新表 temp_trade;
由于时间关系,以导入如下数据,期间利用
SET date_time = STR_TO_DATE(time,'%Y-%m-%d %H');
set dates=date(date_time);
这两个函数对原表(红框)日期进行处理;
再检查一下关键字段有无缺失值
查询后得出并无缺失。
查询结果无异常值;
检查用户行为数据有没有其他类型;
查询结果无异常值;
-- 建新表,放进 去重后的 数据
create table temp_trade like o_retailers_trade_user;
insert into temp_trade select distinct * from o_retailers_trade_user;
查询结果:
这里定义跳失率=只有浏览行为的用户数/总用户数
查询结果
这里的购买转化率定义为:某段时间产生购买行为的用户数/所有到达店铺的访客人数
查询结果:
同时可以通过这算法求得:每天总行为次数、每天点击次数、收藏次数、加购物⻋次数、购买次数
查询结果如下:
由于转化率的对象是商品,所以以商品id做分组,求对应的用户行为数求和。可得出每商品的在该段时间内的浏览、收藏、加购、购买次数,同时可求得商品购买转化率。
查询结果:
此方法与上面商品转化率大致相同,分组对象改为品类id即可。
查询结果:
首先创建hours的新字段,并提取时间;
查询结果如下:
首先求出各用户的购买次数
查询结果:
用case when函数统计出各复购买次数的用户数
查询结果如下:
最后将行为串联起来,并对其进行用户数统计;
查询结果如下:
(完结)
❹ 用一条SQL统计日 周 月注册客户数,以及总数,怎么弄
SELECT*FROM(--需要排序则要加本层B
SELECT客户分类,SUM(总数)AS总数,SUM(今日)AS今日,SUM(本周)AS本周,SUM(本月)AS本月FROM(
SELECTou.UserLevelAS客户分类,COUNT(*)AS总数,0as今日,0as本周,0as本月FROMOK_UserASou
GROUPBYou.UserLevel
UNIONALL
SELECTou.UserLevelAS客户分类,0AS总数,COUNT(*)as今日,0as本周,0as本月FROMOK_UserASou
WHEREou.UserTrueDateBETWEENDATEADD(dd,DATEDIFF(dd,0,getdate()),0)ANDGETDATE()
GROUPBYou.UserLevel
UNIONALL
SELECTou.UserLevelAS客户分类,0AS总数,0as今日,COUNT(*)as本周,0as本月FROMOK_UserASou
WHEREou.UserTrueDateBETWEENDATEADD(wk,DATEDIFF(wk,0,getdate()),0)ANDGETDATE()
GROUPBYou.UserLevel
UNIONALL
SELECTou.UserLevelAS客户分类,0AS总数,0as今日,0as本周,COUNT(*)as本月FROMOK_UserASou
WHEREou.UserTrueDateBETWEENCONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1')ANDGETDATE()
GROUPBYou.UserLevel
)A
GROUPBYA.客户分类
)B
ORDERBYB.[总数]--自行替换B.[今日]……
❺ sql计算留存率算法
select ( select count(distinct userid ) from 登录表 where 登录时间 = 今天 ) / ( select count(1) from 注册表 where 注册时间 = 昨天 ) as 户留存率
❻ sql数据库统计用户数
sql当然可以,你把数据表发给我,我可以给你写一下,我是按照oracle写的
select count(distinct *)
from t
where (case
when (受理日期 != '' and 受理日期 is not null and 受理日期 = 7) then 0
when (门店 != '' and 门店 is not null and 门店 = 东方) then 0
when (类型 != '' and 类型 is not null and 类型 = 工业) then 0
when (受理人 != '' and 受理人 is not null and 受理人 like '%营业员%') then 0
else 1 end) = 0
❼ 如何用SQL分析电商用户行为数据(案例)
本文以“淘宝用户行为数据集”的分析全过程为例,展示数据分析的全过程
——使用工具:MySQL,Excel,Navicat,PowerBI
——分析类型:描述分析,诊断分析
——分析方法:漏斗分析,用户路径分析,RFM用户价值分析,活跃/存留分析,帕累托分析,假设验证分析。
(考虑到阅读体验文章中只放了SQL截图,如需PDF版本,再公众号后台回复“用户行为分析”领取)
(目录如下)
1.分析流程和方法
当没有清晰的数据看板时我们需要先清洗杂乱的数据,基于分析模型做可视化,搭建描述性的数据看板。
然后基于描述性的数据挖掘问题,提出假设做优化,或者基于用户特征数据进行预测分析找规律,基于规律设计策略。简单来说:
——描述性分析就是:“画地图”
——诊断性分析就是:“找问题”
——预测性分析就是 :“找规律”
在数据分析中有两个典型的场景:
一种是有数据,没有问题:需要先整体分析数据,然后再根据初步的描述分析,挖掘问题做诊断性分析,提出假设,设计策略解决问题。
另一种是已经发现了问题,或者已经有了假设,这种做数据分析更偏向于验证假设。
2.淘宝用户行为分析
本次是对“淘宝用户行为数据集”进行分析,在分析之前我们并不知道有什么问题,所以需要先进行描述性分析,分析数据挖掘问题。
我们首先来看下这个数据集的元数据:
根据以上数据字段我们可以拿用户行为为主轴从纵深方向提出一些问题,然后再从数据中找答案
纵向:
——这个数据集中用户的日活跃和周活跃时间有什么规律吗?
——在当日活跃的用户次日,三日,四日……还有多少活跃?
深向:
——用户从浏览到购买的整体转化率怎么样?
——用户从浏览到购买的路径是怎么样子的?
——平台主要会给用户推送什么商品?
——用户喜欢什么类目?喜欢什么商品?
——怎么判断哪些是高价值用户 ?
下面是叮当整理的常用分析方法:
我们可以给前面的问题匹配一下分析方法,便于后面的分析:
为了便于后面的数据分析,在分析之前我们需要先对做一下清洗
看元数据(字段解释,数据来源,数据类型,数据量……)初步发现问题为之后的处理做准备。
确定缺失值范围,去除不需要字段,填充缺失内容
根据元数据格式和后续分析需要的格式对数据进行处理
去除重复值,异常值
——去除重复值:并把用户ID,商品ID,时间戳设置为主键
——异常值处理:查询并删除2017年11月25日至2017年12月3日之外的数据
查询并删除小于2017-11-25的
——验证数据:
——分析思路:
——SQL提数:
——Excel可视化:
活跃曲线整体为上升状态,同为周六日,12月2号,3号相比11月25日,26日活跃度更高。
用户在周六周日相比其他时间更活跃(周六周日为休息日,用户有更多时间)
一天内用户活跃的最高峰期为21点(用户在这个时间段空闲较多)
——分析思路:
——SQL提数:
列出每用户每天及当天后面又活跃的日期,并创建“活跃时间间隔表”用于后面求次日存留,三日存留……
对“活跃时间间隔表视图”引用进行分组统计,计算每日存留人数并创建视图
对存留人数表进行计算,统计活跃用户留存率
——Excel可视化:
——分析思路:
——SQL提数:
-把各种用户行为分离出来并创建视图方便后续查询用户行为数据
查询整体数据漏斗
——Excel可视化:
用户从浏览到购买整体转化率2.3%,具体主要在哪个环节流失还需要再细分用户路径分析
——分析思路:
——SQL提数:
——PowerBI可视化:
用户从浏览到购买的路径主要有4条,路径越长转化率越底
路径1:浏览→购买:转化率1.45%
路径2:浏览→加购物车→购买:转化率0.33
路径3:浏览→收藏→购买:转化率0.11%
路径4:浏览→收藏→加购物车→购买:转化率0.03%
——分析思路:
——SQL提数:
——Excel可视化:
——描述性分析:
浏览量top100的商品浏览量呈阶梯分布,越靠前的阶梯之间的落差相对越大在这个阶梯中的商品越少,越靠后商品浏览量阶梯之间的落差相对越小,同阶梯内的商品越多。
浏览量TOP100的商品所属类目中,4756105,3607361,4357323三个类目浏览量远超其他类目。
——分析思路:
——SQL提数:
查询计算商品转化率,升序排列,取前100个
——Excel可视化:
——描述性分析:
从商品看:有17款商品转化率超过了1。
从类目看:这些商品所属类目分布均匀,除965809,4801426,2735466,2640118,5063620,4789432,2945933这7个类目之外,其他类目都只有一个商品在转化率TOP100的商品中。
——分析思路:
用户价值分析常用的分析方式是RFM模型
本次分析中的R,F,M具体定义(仅用于演示分析方法,无实际业务参考价值):
——SQL取数与分析:
1)建立打分标准:先计算R,F的值,并排序,根据R,F值最大值和最小值得区间设计本次得打分标准
-查询并计算R,F值创建视图
-引用RF数值表,分别查询R,F的最大值和最小值
-结合人工浏览的建立打分标准
2)给R,F按价值打分
3)计算价值的平均值
4)用平均值和用户分类规则表比较得出用户分类
——Excel可视化
通过描述性分析得到可视化的数据后我们一般会先看一下是否符合业务常识
如果符合常识接下来我们会通过与行业平均数据和本产品的同比环比对比看是否正常,如果不正常就要找原因,设计解决方案,如果正常那就看是否有可以优化的地方。
我们首先来看一下这些描述性分析是否符合业务常识和指标是否正常:
1.活跃曲线整体为上升状态,同为周六日,12月2号,3号相比11月25日,26日活跃度更高。
2.用户在周六周日相比其他时间更活跃
3.一天内用户活跃的最高峰期为21点
4.从2017年11月15日致2017年12月3日,活跃用户新增38%
5.从2017年11月15日致2017年12月3日,活跃用户次日留存增长18.67%,当日的活跃用户留存也在快速增长,第七日留存比次日留存高18.56%。
6.用户从浏览到购买整体转化率2.3%
7.用户从浏览到购买的路径主要有4条,路径越长转化率越低。
8.浏览量top100的商品浏览量呈阶梯分布,越靠前的阶梯之间的落差相对越大在这个阶梯中的商品越少,越靠后商品浏览量阶梯之间的落差相对越小,同阶梯内的商品越多。
9.浏览量TOP100的商品所属类目中,4756105,3607361,4357323三个类目浏览量远超其他类目。
10.从商品看:有17款商品转化率超过了1。
11.从类目看:这些商品所属类目分布均匀,除965809,4801426,2735466,2640118,5063620,4789432,2945933这7个类目之外,其他类目都只有一个商品在转化率TOP100的商品中。
根据以上诊断分析我们梳理出了以下假设,做假设验证。
假设1:这些商品中有高转化率的爆款商品
对比浏览量TOP5的商品,发现这些商品转化率在同一类目下并不高,假设不成立
假设2:4756105,3607361,4357323三个类目属于高频刚需类目
-创建类目购买频次表
-计算类目购买频次平均值
-查询4756105,3607361,4357323三个类目的购买频次
4756105,3607361,4357323三个类目的用户购买频次明显高于平均值,假设成立
假设3:有部分用户是未点击商详直接从收藏和购物车购买的。
用户不是直接从收藏和购物车购买的,只是后续复购未点击商详,假设不成立
假设4:淘宝推荐的商品主要是“同一类目下的高转化商品”
用Excel对浏览量TOP100的商品ID和转化率TOP100的商品ID进行去重,结果无重复值,假设不成立
3.结论:
1)用户活跃:用户活跃曲线整体呈上升趋势,在一周中周六,周日活跃度比平时更高,在一天中用户活跃曲线从凌晨4点开始往上升,在中午12点和下午5~6点有两个小低谷(吃饭),到晚上9点时活跃度达到顶峰。
2)用户留存:从2017年11月15日致2017年12月3日的用户留存数据来看,淘宝的用户留存数据较好,活跃用户次日留存增长18.67%,当日的活跃用户留存也在快速增长,第七日留存比次日留存高18.56%。
3)用户转化:整体转化2.3%,用户从浏览到购买的路径主要有4条,路径越长转化率越低。
4)平台推荐与用户偏好:从数据集中的数据来看,排除用户兴趣偏好标签,淘宝给用户用户推送的商品主要是高频刚需的类目,促使用户复购,流量回流平台。
以上结论受数据量和数据类型的影响,并不一定准确,仅用来练习数据分析方法。
(考虑到阅读体验文章中只放了SQL截图,如需PDF版本,再公众号后台回复“用户行为分析”领取)
❽ sql语句如何求次日留存以及三日留存,分比较少,但是还是希望大侠们帮忙多谢!!!
select distinct(convert(char(10),date,120)) time from 表 where day(getdate())=day(date)+1
❾ sql语句查询留存问题
这个你可以根据日期查询,用getdate()获取当前时间,用dateadd(day,1,getdate())来定位到第二天日期,然后再查询,参考下面的code:
select*fromtab_1wheredate=dateadd(day,1,getdate())
select*fromtab_1wheregetdate()<date<dateadd(day,7,getdate())
❿ sql语句,通过用户表(id,regTime)计算每个月的用户总数
sqlserver为例,创建表
createtablet
(月份int,
注册用户数int)
insertintotvalues(1,111);
insertintotvalues(2,122);
insertintotvalues(3,133);
insertintotvalues(4,144);
执行:
selectt1.月份,SUM(t2.注册用户数)注册用户数fromtt1leftjointt2ont1.月份>=t2.月份
groupbyt1.月份
结果: