偷闲,整理自己作为分析师工作下常用的一些业务指标的计算口径,不足之处,往多多指正;
这里,将指标分成3类-事件类、漏斗类、留存类
1 事件类
个人定义:可以直接通过计数计算&加减得到的指标
1.1 uv(日活&dau)
- 定义:用户使用&曝光人数
- 统计口径:
select count(distinct user_id) as pv
from xx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制
1.2 pv(曝光数)
- 定义:曝光&点击数(不去重)
- 统计口径:
select count(user_id) as pv
from xx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制
1.3 停留时长
- 定义:页面&功能的使用时长
目前的统计方案主要有两种
- 直接取用开发提供的时间;
- 离开时间点-进入时间点的时间间隔(对数据基础要求高)
- 统计口径:
--放在某个日志文件里;
--直接取用开发提供的时间;
select ziduan['time'] as time
from xx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制
--离开时间点-进入时间点的时间间隔(对数据基础要求高)
select max(time) - min(time) as time
from xx表
where p_date = 'xxx' --时间限制
and user_id = 'xxx' --选定用户
2、漏斗类
顾名思义,指标计算出来加减外 还有乘除
2.1 点击&点赞率(UV)
select (count(distinct p2.user_id)*1.00/count(distinct p1.user_id))*100 as uv_click_rate
from (
select user_id
from xxx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制(曝光)
)p1
left join
(
select user_id
from xxx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.click' --用户行为埋点限制(点击)
)p2
on p1.p_date = p2.p_date
2.1 点击&点赞率(PV)
select (count(p2.user_id)*1.00/count(p1.user_id))*100 as pv_click_rate
from (
select user_id
from xxx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制(曝光)
)p1
left join
(
select user_id
from xxx --表
where p_date = '' --时间限制
and stat_id rlike 'xxx.click' --用户行为埋点限制(点击)
)p2
on p1.p_date = p2.p_date
3、留存类
3.1 次日&三日&五日&七日留存
-----------------------------------------------------------------------------
--单天
select (count(p2.user_id)*1.00/count(p1.user_id))*100 as return_rate
from (
select user_id
from xxx --表
where p_date = ['last_1_day'] --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制(曝光)
)p1
left join
(
select user_id
from xxx --表
where p_date = ['now'] --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制(点击)
)p2
on p1.user_id = p2.user_id
---------------------------------------------------------
-- 一段时间
select (count(p2.user_id)*1.00/count(p1.user_id))*100 as return_rate
,p1.date
from (
select user_id
from xxx --表
where p_date >= xxx --时间限制
and p_date <= xxx
and stat_id rlike 'xxx.show' --用户行为埋点限制(曝光)
)p1
left join
(
select user_id
from xxx --表
where p_date >= xxx --时间限制
and p_date <= xxx --时间限制
and stat_id rlike 'xxx.show' --用户行为埋点限制(点击)
)p2
on p1.user_id = p2.user_id
and date_add (p1.date,1) = p2.p_date
group by p1.date