面试分析平台
一个全面的数据分析平台,用于分析面试准备产品中的用户行为、产品参与度和订阅指标。使用Python、SQLite和现代web技术构建。
概述
该平台为一系列面试准备产品提供实时分析和见解,包括:
- 模拟招聘会
- 现场采访
- 自动应用功能
该系统处理用户数据、会话日志和参与度指标,通过交互式仪表板、REST API和会话式AI接口提供可操作的商业智能。
特性
核心分析
- 用户参与度分析:跟踪激活、保留和产品使用模式
- 订阅分析:监控四个订阅级别(无、正常、加、上帝)的转化率
- 收入指标:按计划计算MRR、ARR和收入
- 产品性能:按产品页面和功能分析参与度
- 队列分析:按注册队列跟踪用户行为
- 地域分配:分析用户人口统计和支出模式
接口
- 交互式仪表板 (流光灯)
- 实时指标可视化 - 产品参与度分析 - 用户人口统计和支出洞察 - 会话分析
- REST API (FastAPI)
- 以编程方式查询分析数据 - WebSocket支持实时更新 - 基于JSON的响应格式
- 对话式AI界面 (MCP服务器)
- 用于分析的自然语言查询 - 基于人工智能的见解和建议 - 与AI助手集成
建筑
├── Data Layer
│ ├── SQLite database (interview_data.db)
│ ├── Users table (demographics, subscriptions)
│ ├── Sessions table (user activity)
│ └── Product visits table (engagement data)
│
├── Processing Layer
│ ├── data_loader.py - ETL pipeline
│ ├── revenue_calculator.py - Business metrics
│ ├── user_updater.py - Data enrichment
│ └── analytics_module.py - Core analytics engine
│
└── Presentation Layer
├── dashboard.py - Streamlit UI
├── api.py - REST API
└── mcp_server.py - AI conversation interface安装
先决条件
- Python 3.11或更高版本
- pip包管理器
设置
- 克隆存储库:
git clone
cd finalround_interview_project- 安装依赖项:
# Core analytics and dashboard
pip install -r requirements.txt
# API server (optional)
pip install -r requirements_api.txt- 准备数据文件:
将以下文件放入 data/ 目录:
users_data.csv-用户资料数据(约20000名用户)simulated_logs.json-活动日志(约30000条记录)
用法
1.初始化数据库并运行ETL管道
处理原始数据并填充数据库:
python main.py这将:
- 创建数据库架构
- 从CSV加载用户数据
- 处理会话日志
- 生成收入指标
- 创建分析报告
输出: analysis_report.json 有详细的指标
2.启动交互式仪表板
# Using the shell script
./run_dashboard.sh
# Or directly with Streamlit
streamlit run dashboard.py访问仪表板 http://localhost:8501
特征:
- 概述指标(用户、会话、收入)
- 产品参与度可视化
- 用户人口统计分析
- 会话分析
- 质量监控
3.启动REST API服务器
python api.pyAPI可在 http://localhost:8000
终点:
GET /-API状态和文件POST /query-查询分析数据POST /metrics-获取具体指标- 双向通信
/ws-实时更新
示例查询:
# Get conversion rate
curl -X POST http://localhost:8000/query \
-H "Content-Type: application/json" \
-d '{"query": "What is the conversion rate for live interviews?"}'
# Get user metrics
curl -X POST http://localhost:8000/metrics \
-H "Content-Type: application/json" \
-d '{"metric_type": "user_engagement"}'4.启动人工智能对话接口(MCP服务器)
./start_mcp.shMCP服务器提供:
- 自然语言分析查询
- 人工智能驱动的洞察力
- 与AI助手集成
- 情境感知建议
数据模式
用户表
user_id-唯一标识符name,email,country-个人资料信息age,sex,married-人口统计current_plan-订阅级别(无/正常/加/上帝)total_spent_local-终身消费last_seen,joined_at-活动时间戳
会话表
session_id-唯一会话标识符user_id-用户外键duration_minutes-会话长度timestamp-会话开始时间
产品访问表
visit_id-唯一访问标识符session_id-会话的外键page_type-已访问的产品页面duration_minutes-页面上的时间timestamp-访问时间戳
主要绩效指标
订阅级别
- 无:免费用户
- 正常:基本付费订阅
- 加:高级订阅
- 上帝:具有所有功能的终极级别
产品页面
- mock_interview:练习面试环节
- live_互动:实时面试辅导
- auto_apply:自动化求职服务
计算指标
- 月度经常性收入(MRR)
- 年度经常性收入(ARR)
- 按产品分类的转化率
- 用户参与率
- 平均会话持续时间
- 产品使用频率
- 队列保留率
测试
API测试
python test_api.py聊天客户端测试
python test_chat.pyMCP服务器测试
python test_mcp.py仪表板验证
python verify_dashboard.py配置
环境变量
创建一个 .env 文件:
DATABASE_URL=sqlite:///interview_data.db
API_PORT=8000
DASHBOARD_PORT=8501MCP配置
编辑 mcp_config.json 要自定义AI对话界面:
{
"server_name": "interview-analytics",
"version": "1.0.0",
"capabilities": ["query", "analytics", "insights"]
}项目结构
finalround_interview_project/
├── data/ # Data files
│ ├── users_data.csv
│ └── simulated_logs.json
├── main.py # ETL pipeline orchestrator
├── database_schema.py # Database schema and management
├── data_loader.py # Data loading utilities
├── data_validation.py # Data quality checks
├── user_updater.py # User data enrichment
├── revenue_calculator.py # Revenue and business metrics
├── analytics_module.py # Core analytics engine
├── analytics_summary.py # Summary statistics
├── dashboard.py # Streamlit dashboard
├── api.py # FastAPI REST API
├── mcp_server.py # AI conversation interface
├── chat_client.py # Chat client implementation
├── requirements.txt # Python dependencies
├── requirements_api.txt # API-specific dependencies
└── run_dashboard.sh # Dashboard launcher script演出
- 数据处理:对于20000+用户,约2-5秒
- 查询性能:对于大多数分析查询,\<100ms
- 仪表板加载时间:\<2秒初始加载
- API响应时间:平均\<50ms
故障排除
数据库问题
# Remove existing database and rebuild
rm interview_data.db
python main.py端口冲突
如果使用默认端口,请指定替代方案:
# Dashboard on custom port
streamlit run dashboard.py --server.port 8502
# API on custom port
uvicorn api:app --port 8001缺少的依赖
# Reinstall all dependencies
pip install -r requirements.txt --force-reinstall许可证
MIT许可证-您可以自由地将此代码用于学习和开发目的。
