计算app用户的留存率

         现在各种app盛行,与此同时,运营app也变得非常重要,关注app用户的留存情况是运营中的重要的一项,那么如何计算app的用户留存率呢?在该功能实现过程中,我使用了mysql的存储过程,每天定时任务执行调用存储过程,以计算每天用户的留存情况:

1、要计算用户的留存率,首先要准备好基础数据表

             基础数据表,就是记录每一天用户的使用app的情况,只要用户在某一天使用了app,那么该用户就是这一天的留存用户,eg:2016-02-13 用户A注册使用app,2016-02-14用户又登录使用了app,那么用户A就是2-14的留存用户,基础数据表就是记录用户A在2-14使用了app,就记录一条数据,这里需要注意的是,用户A在2-14多次登录使用app,在基础表中,我们只记录一次,便于计算和查询。

我设计的基础表结构

CREATE TABLE `stat_remain_log_login` (
  `userId` varchar(32) DEFAULT NULL COMMENT '用户ID',
  `last_login_time` datetime DEFAULT NULL COMMENT '最后一次登录时间',
  `register_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '用户注册时间',
  `fromOsType` varchar(100) DEFAULT NULL COMMENT '手机操作系统'
) ENGINE=InnoDB DEFAULT CHARSET=utf8


实际上这张基础表,是通过查询app的操作日志表所得,最后一次登录时间可以理解为用户在一天中最早一次登录的时间,这样便于计算,因为一个用户一天的登录数据我们只记录一次,这样我们得到了基础数据表;

2、设计记录留存率的数据库表

CREATE TABLE `stat_remain` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `dru` int(11) NOT NULL COMMENT '每日新增注册用户',
  `fristDayRate` double(5,2) DEFAULT NULL COMMENT '1天后留存率',
  `secondDayRate` double(5,2) DEFAULT NULL COMMENT '2天后留存率',
  `thirdDayRate` double(5,2) DEFAULT NULL COMMENT '3天后留存率',
  `forthDayRate` double(5,2) DEFAULT NULL COMMENT '4天后留存率',
  `fifthDayRate` double(5,2) DEFAULT NULL COMMENT '5天后留存率',
  `sixthDayRate` double(5,2) DEFAULT NULL COMMENT '6天后留存率',
  `seventhDayRate` double(5,2) DEFAULT NULL COMMENT '7天后留存率',
  `fourteenthDayRate` double(5,2) DEFAULT NULL COMMENT '14天后留存率',
  `thirtiethDayRate` double(5,2) DEFAULT NULL COMMENT '30天后留存率',
  `stat_time` timestamp NOT NULL DEFAULT '2014-01-01 00:00:00',
  `add_time` timestamp NOT NULL DEFAULT '2014-01-01 00:00:00',
  `fromOsType` varchar(100) DEFAULT NULL COMMENT '手机操作系统',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8



3、处理计算的留存率的存储过程

DELIMITER $$

USE `entplus`$$

DROP PROCEDURE IF EXISTS `stat_remain_user`$$

CREATE DEFINER=`root`@`%` PROCEDURE `stat_remain_user`(IN startDate DATE)
BEGIN
DECLARE i INT;  
SET i
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值