标签:20 05 用户 留存 add 2021 date login
计算用户留存率首先要知道什么是留存用户。所谓留存用户,就是当日新增用户在之后的时间继续活跃的用户;
次日留存率:
1月1日,新增100人,1月2日,这些人中有30人活跃--留存率30%;
两日留存率:
1月1日,新增100人,1月3日,这些人中有20人活跃--留存率20%;
依此类推!
案例:hive建表并插入数据
drop table if exists ads_user_retention_day_rate; create external table ads_user_retention_day_rate ( `stat_date` string comment '统计日期', `create_date` string comment '设备新增日期', `retention_day` int comment '截止当前日期留存天数', `retention_count` bigint comment '留存数量', `new_mid_count` bigint comment '设备新增数量', `retention_ratio` decimal(16,2) comment '留存率' )comment '留存率' row format delimited fields terminated by '\t' location '/datawarehouse/app/ads_user_retention_day_rate';
计算一日、两日、三日留存率:
insert into table ads_user_retention_day_rate select '2021-05-20', date_add('2021-05-20',-1), 1, sum(if (login_date_first=date_add('2021-05-20',-1) and login_date_last= '2021-05-20',1,0)), sum(if (login_date_first=date_add('2021-05-20',-1),1,0)), sum(if (login_date_first=date_add('2021-05-20',-1) and login_date_last= '2021-05-20',1,0))/ sum(if (login_date_first=date_add('2021-05-20',-1),1,0))*100 from dwt_uv_topic
union all
select
'2021-05-20',
date_add('2021-05-20',-2),
2,
sum(if (login_date_first=data_add('2021-05-20',-2) and login_date_last='2021-03-21',1,0)),
sum(if (login_date_first=data_add('2021-05-20',-2),1,0) ),
sum(if (login_date_first=data_add('2021-05-20',-2) and login_date_last='2021-03-21',1,0))/sum(if (login_date_first=data_add('2021-05-20',-2),1,0))*100
from dwt_uv_topic
union all
select
'2021-05-20',
date_add('2021-05-20',-3),
3,
sum(if (login_date_first=data_add('2021-05-20',-3) and login_date_last='2021-03-21',1,0)),
sum(if (login_date_first=data_add('2021-05-20',-3),1,0) ),
sum(if (login_date_first=data_add('2021-05-20',-3) and login_date_last='2021-03-21',1,0))/sum(if (login_date_first=data_add('2021-05-20',-3),1,0))*100
from dwt_uv_topic
标签:20,05,用户,留存,add,2021,date,login 来源: https://www.cnblogs.com/zhipeng-wang/p/15855509.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。