支持多款产品的用户分析平台,基于用户邮箱后缀进行用户类型分类和使用情况分析。
- GBase - 主力产品,支持Bot和消息分析
- GBase Support - 客服支持产品,支持工单和响应时间分析
- Felo Subtitles - 字幕生成产品,支持字幕和翻译分析
- GBase GTM - Go-to-Market产品,支持营销活动和转化分析
- 个人用户: gmail.com, qq.com, 163.com等免费邮箱
- 企业用户: 公司域名邮箱
- 教育机构: .edu, .edu.cn等教育域名
- 政府机关: .gov, .gov.cn等政府域名
- 非营利组织: .org等非营利域名
- 注册时间分析
- 最后活跃时间分析
- 各时间窗口活跃用户统计(今日、7天、30天、90天等)
- 用户留存率分析
- 月度注册趋势
- Bot数量统计
- 消息数量统计
- 存储容量使用统计
- 重度用户和轻度用户识别
- 各用户类型使用情况对比
- 多产品概览 - 所有产品的整体数据展示
- 单产品分析 - 针对特定产品的深度分析
- 产品对比分析 - 多个产品间的横向对比
- 跨产品用户分析 - 识别使用多个产品的用户
- 产品健康度评分 - 基于多维指标的产品健康评估
- 三种视图模式:多产品概览、单产品分析、产品对比
- 产品选择器 - 快速切换和过滤产品数据
- 交互式图表 - 饼图、柱状图、折线图、雷达图
- 实时数据更新 - 支持产品数据的动态刷新
- 响应式设计 - 适配不同屏幕尺寸
GBase-user-analyze/
├── backend/ # 后端API服务
│ ├── models/ # 数据模型
│ │ └── productModel.js # 产品配置模型
│ ├── utils/ # 工具模块
│ │ ├── userTypeClassifier.js # 用户类型分类
│ │ ├── timeAnalyzer.js # 时间分析工具
│ │ ├── usageAnalyzer.js # 使用情况分析
│ │ └── multiProductAnalyzer.js # 多产品分析工具
│ ├── server.js # 主服务器文件
│ ├── package.json # 后端依赖
│ └── .env.example # 环境变量示例
├── frontend/ # 前端Dashboard
│ ├── src/
│ │ ├── components/ # React组件
│ │ │ ├── ProductSelector.js # 产品选择器
│ │ │ ├── MultiProductOverview.js # 多产品概览
│ │ │ └── ProductComparison.js # 产品对比
│ │ ├── App.js # 主应用组件
│ │ ├── index.js # 入口文件
│ │ └── index.css # 样式文件
│ ├── public/
│ │ └── index.html # HTML模板
│ └── package.json # 前端依赖
├── package.json # 根目录脚本
└── README.md # 项目说明
- Node.js >= 16.0.0
- npm >= 8.0.0
# 安装所有依赖(根目录、前端、后端)
npm run install-all
# 或者分别安装
npm install
cd backend && npm install
cd ../frontend && npm install# 同时启动前端和后端服务
npm run dev
# 或者分别启动
npm run server # 启动后端 (端口3001)
npm run client # 启动前端 (端口3000)- 前端Dashboard: http://localhost:3000
- 后端API: http://localhost:3001
GET /api/products- 获取所有产品列表GET /api/product-categories- 获取产品分类
GET /api/multi-product-overview- 多产品概览数据GET /api/product-comparison?products=id1,id2- 产品对比数据GET /api/user-overlap- 用户重叠分析GET /api/product-health- 产品健康度评分
GET /api/overview?product=productId- 总体概览数据GET /api/user-types?product=productId- 用户类型分布GET /api/user-activity?product=productId- 用户活跃度统计GET /api/user-retention?product=productId- 用户留存统计GET /api/user-usage?product=productId- 用户使用情况分析GET /api/usage-by-type?product=productId- 按类型的使用情况GET /api/monthly-trend?product=productId- 月度趋势
GET /api/users- 获取所有用户数据POST /api/users- 添加用户数据
{
"success": true,
"data": {
// 响应数据
}
}系统包含多产品示例用户数据用于演示:
// GBase产品用户
{
id: 1,
email: 'user1@gmail.com',
productId: 'gbase',
registeredTime: '2024-01-15',
lastActiveTime: '2024-08-09',
botCount: 3,
messageCount: 1250,
storageUsed: 150
}
// GBase Support产品用户
{
id: 4,
email: 'support1@company.com',
productId: 'gbase-support',
registeredTime: '2024-03-15',
lastActiveTime: '2024-08-09',
ticketCount: 45,
responseTime: 2.5,
satisfactionScore: 4.2
}系统支持灵活的产品配置,每个产品包含:
- 产品标识和显示名称
- 产品类别(核心、支持、媒体、营销)
- 主要指标配置
- 产品颜色主题
- Node.js + Express.js
- 数据分析工具模块
- Moment.js (时间处理)
- CORS支持
- React 18
- Recharts (图表库)
- Ant Design (UI组件)
- Axios (HTTP客户端)
项目预留了MongoDB和PostgreSQL的配置接口,可根据需要连接真实数据库。
可以集成WebSocket实现实时数据更新。
- 地理位置分析
- 设备类型分析
- 行为路径分析
- 付费用户分析
- 在
backend/models/productModel.js中添加新产品配置 - 更新用户数据模型包含新产品的特定指标
- 根据需要在前端添加产品特定的分析组件
在 backend/utils/userTypeClassifier.js 中添加新的邮箱后缀规则。
- 在相应的分析工具中添加新的分析逻辑
- 更新API端点返回新的数据字段
- 在前端添加新的图表组件展示数据
每个产品可以配置不同的主要和次要指标,系统会根据产品配置动态展示相应的分析图表。
MIT License