stat-table

2.2.3 • Public • Published

stat-table

服务器端用户留存统计的简易框架

模块暂时只支持日留存统计,后续可能会加入周留存率的计算。如果用户数庞大,建议将留存数据放在单独的redis服务器上,减少生成统计数据过程中可能对业务服务器造成的冲击。

依赖环境

node   v4.x
redis  v3.2.x

示例

使用模块

导出对象供使用,写在一个公用文件中,比如common/stat.js

const StatTable = require('stat-table');
const stat = new StatTable({host, port, db});//es6的写法,连接redis的配置信息
module.exports = stat;

注入代码

在注册和登录的地方分别调用相关的记录函数

stat.recordRegister(userId);//注册
stat.recordLogin(userId);//登录

每日统计

设置一个定时任务,在每天23点55分左右执行以下函数,date为可选的日期字符串,格式为YYYYMMDD,不提供该参数时默认取当天

stat.genMultiDayRetention(date, (err) => {});

导出结果

导出文件为csv格式,dirPath为文件路径;days是希望导出的最长多少天的留存率。例如,days为10,则会导出注册日之后10天的登录留存情况。

stat.exportRetention(dirPath, days, (err) => {});

结果格式

导出结果

其它功能

//baseDate均表示指定日期,格式为YYYYMMDD

//获取在指定日期注册,并在指定天数之后依然留存的用户id,afterNum为指定的天数
stat.getRetentionUserIds(baseDate, afterNum, (err, userIds) => {});

//获取在指定日期注册的用户id
stat.getRegisterUserIds(baseDate, (err, userIds) => {});

//获取在指定日期登录的用户id
stat.getLoginUserIds(baseDate, (err, userIds) => {});

Readme

Keywords

none

Package Sidebar

Install

npm i stat-table

Weekly Downloads

0

Version

2.2.3

License

MIT

Last publish

Collaborators

  • lutaoact