抖音日活和微信日活(抖音app日活)

一、日活用户数(DAU)与次日留存

1、DAU:根据不同的业务场景DAU的统计口径有所不同,有些会定义为打开app就算活跃,有些有浏览行为才算活跃

2、用户构成:为什么要看用户构成?

活跃用户看的是一段时间的时间序列趋势,我们能够很直观地看到dau随着时间的变化的波动情况,但是我们却不知道构成dau的不同类型的用户随着时间序列是如何变化的

尤其是在精细化运营的时代,我们需要对处于不同生命周期的用户有不同的运营策略和方法,所以除了看dau的变化情况,我们更需要知道每天dau的用户构成以及每种成分的变化情况

3、分析dau的用户构成我们通常情况下是认为由当日新增用户,次日留存用户以及老用户组成(可根据使用场景调整构成)

二、实现逻辑:

step1:我们创建两个表,一个表存放用户的所有访问日期,另一个表存放用户的最早访问日期

step2:将用户的所有访问日期与首次进入时间做对比,如果等于首次进入时间则为新用户;如果在当前时间的前一天也有访问,则为次日留存用户;其他为老用户

三、示例

1、表t和表t2:保留用户的所有浏览日期

2、t1:保留用户的最小浏览日期

3、当日新增:当t的浏览日期与t1(最小浏览日期)一致,那么定义为当日的新增用户

4、次日留存:用户同时在昨日和今日都浏览了,那么定义为次日留存,一个deveviceid出现在了昨天的分区同时也出现在了今天的分区,也就是说一个deviceid在t表中的浏览日期=t2中的浏览日期+1,则为次日留存用户

老用户:其他

四、脚本实现

1、取所有用户的首次进入时间

drop table if exists mintime;

create table mintime as

select deviceid,min(visit_date) as min_visit_date

from visit_day_table t

group by deviceid;

2、取所有用户的所有交易时间

drop table if exists visit_date_all;

create table visit_date_all as

select distinct deviceid,visit_date

from visit_day_table t;

抖音日活和微信日活(抖音app日活)

3、计算dau构成

select

t.visit_date,

case when t1.min_visit_date is not null then '新用户'

when t2.visit_date is not null then '次日留存'

else '老用户' end as category,

count(distinct t.deviceid) as deviceid_cnt

from visit_date_all t

left join mintime t1 on (t.deviceid=t1.deviceid and t.visit_date=t1.min_visit_date)

left join visit_date_all t2 on (t.deviceid=t2.deviceid and t.visit_date=date_add(t2.visit_date,1))

group by

t.visit_date,

case when t1.min_visit_date is not null then '新用户'

when t2.visit_date is not null then '次日留存'

else '老用户' end;

抖音日活和微信日活(抖音app日活)

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.yiheng8.com/44008.html