电商用户行为漏斗与CRO转化率优化分析
电商漏斗 CRO 分析平台:页面/事件双漏斗、渠道设备多维诊断、PIE 优先级矩阵、卡方检验与 XGBoost 购买预测,Flask+ECharts 仪表板,支持 Retailrocket 真实数据,适合电商数据分析毕业设计。
项目封面

项目概览
系统量化首页→结算各环节流失与 AOV 损失,动态计算 Potential×Importance×Ease PIE 排序,Bonferroni 校正统计检验,XGBoost 二分类含 ROC/混淆矩阵/特征重要性。内置 2 万会话合成数据生成器,亦可导入 Kaggle Retailrocket 真实行为(AUC 可达 0.99+),适合 Python 电商转化优化、漏斗分析与机器学习类毕业设计。
项目说明
电商用户行为漏斗与CRO转化率优化分析
一、项目概述
电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。
二、核心功能
1. 漏斗分析
| 功能 | 说明 |
|---|---|
| 页面漏斗 | 首页 → 列表页 → 详情页 → 购物车 → 结算页,各环节覆盖率与跨步转化率 |
| 事件漏斗 | 浏览 → 点击 → 加购 → 购买,行为级转化分析 |
| 环节损失量化 | 各环节流失会话数、流失率、预估损失金额(基于客单价 AOV) |
| 月度趋势 | 按月追踪会话量、转化率、平均停留时长 |
| 周末/工作日对比 | 周末与工作日转化率差异对比 |
| 24h 时段分布 | 各小时段转化率分布,识别高峰与低谷 |
2. 多维诊断
| 维度 | 分析内容 |
|---|---|
| 渠道 | Organic / Paid Search / Social / Email / Direct 各渠道转化率与流量占比 |
| 设备 | Desktop / Mobile / Tablet 各设备转化率与流量占比 |
| 国家 | US / UK / IN / BR / CA 各国转化率、平均时长 |
| 忠诚度 | Bronze / Silver / Gold / Platinum 各等级转化率、平均消费 |
| 新老用户 | 基于 loyalty_tier 划分新老用户,对比转化率、页面深度、客单价 |
| 时长分桶 | 按停留时长(<60s / 60-180s / 180-420s / 420s+)分桶转化率 |
| 渠道×设备交叉 | 渠道与设备的交叉转化率矩阵 |
| 流失矩阵 | 渠道 × 流失环节的流失率热力图 |
3. PIE 优先级矩阵
基于 Potential(潜力)× Importance(重要性)× Ease(容易度) 三维度对各漏斗环节打分排序:
- Potential:该环节损失金额占总损失比例
- Importance:该环节到达会话数占总会话比例
- Ease:基于真实流失率的百分位排名推导(流失率越高 = 改善空间越大 = Ease 越高)
所有指标均从真实数据动态计算,无硬编码兜底。
4. 统计检验
对渠道、设备、忠诚度、国家等维度与购买行为进行:
- 卡方独立性检验(χ² test)
- Bonferroni 校正(多重比较)
- Cramér's V 效应量分析(强 / 中 / 弱)
5. 机器学习 — XGBoost 购买预测
| 能力 | 说明 |
|---|---|
| 特征工程 | 时间特征(小时/星期/月份)、页面深度、行为深度、时长分桶、交互特征 |
| 模型 | XGBoost 二分类,scale_pos_weight 处理样本不均衡 |
| 评估 | Accuracy / AUC / F1 / Precision / Recall + 5 折交叉验证 |
| 单条预测 | 输入会话特征,输出购买概率与风险等级(高/中/低转化) |
| 批量预测 | 从数据集采样预测,输出概率与真实标签对照 |
| 可视化 | ROC 曲线、混淆矩阵、特征重要性 Top 15 |
6. Web 可视化仪表板
基于 Flask + ECharts 构建的交互式仪表板:
| 页面 | 功能 |
|---|---|
| 数据概览 | KPI 卡片(总会话/购买/转化率/收入/退款率/瓶颈环节)+ 漏斗图 + 趋势图 |
| 策略分析 | PIE 矩阵 + 损失瀑布 + 流失矩阵 + 统计检验 |
| 用户分析 | 渠道/设备/国家/忠诚度/新老用户/时段分布 |
| 转化预测 | 单条预测表单 + 批量预测结果 + ROC/混淆矩阵/特征重要性 |
7. 数据生成引擎
当无原始数据时,系统内置合成数据生成器,产出具备真实业务逻辑特征的模拟数据:
- 5,000 客户 / 200 产品 / 20 营销活动 / 20,000 会话
- 漏斗概率由
FUNNEL_DIFFICULTY相对难度 + 渠道/设备/忠诚度修饰系数动态推导 - 时长修饰:停留越久转化率越高(0.6x ~ 2.2x)
- 收入含噪声,避免目标泄露
8. 真实数据支持(Retailrocket)
系统支持基于真实电商行为数据运行,当前已适配 Retailrocket E-commerce Dataset:
| 项目 | 模拟数据 | 真实数据(Retailrocket) |
|---|---|---|
| 数据来源 | 合成数据生成器 | Kaggle 真实电商行为数据集 |
| 事件数 | ~20,000 会话 | 275 万条原始事件,采样 10 万会话 |
| 用户数 | 5,000 | 140 万原始用户,采样 10 万 |
| 转化率 | 人为设定 | 真实转化率(view→addtocart 2.6%) |
| 模型 AUC | ~0.50 | 0.9933 |
| 操作方式 | train.sh 自动 | 手动下载 + 手动转换(见下方) |
使用方式:
- 手动从 Kaggle 下载数据集 zip 并放到
code/real_data/目录 - 解压后执行
python real_data/_inspect_retailrocket.py检查数据 - 执行
python real_data/retailrocket_adapter.py转换数据 - 转换产物自动写入
code/data/和code/output/,后续正常执行train.sh
详见
code/real_data/README.md完整操作指南。所有下载、检查、转换的代码均在real_data/目录内,不污染项目业务代码。
三、API 接口一览
漏斗分析 API
| 端点 | 方法 | 说明 |
|---|---|---|
/api/funnel/overview | GET | 概览 KPI + 页面漏斗 + 事件漏斗 |
/api/funnel/channel | GET | 渠道转化率分析 |
/api/funnel/device | GET | 设备转化率分析 |
/api/funnel/country | GET | 国家转化率分析 |
/api/funnel/loyalty | GET | 忠诚度转化率分析 |
/api/funnel/new_returning | GET | 新老用户对比 |
/api/funnel/duration | GET | 时长分桶转化率 |
/api/funnel/weekend | GET | 周末/工作日对比 |
/api/funnel/hourly | GET | 24h 时段转化率 |
/api/funnel/channel_device | GET | 渠道×设备交叉 |
/api/funnel/loss | GET | 环节损失量化 |
/api/funnel/churn | GET | 流失矩阵 |
/api/funnel/trend | GET | 月度趋势 |
/api/funnel/pie | GET | PIE 优先级矩阵 |
/api/funnel/stats | GET | 统计检验 |
模型 API
| 端点 | 方法 | 说明 |
|---|---|---|
/api/model/train | POST | 触发模型训练 |
/api/model/metrics | GET | 获取模型评估指标 |
/api/model/predict | POST | 单条会话预测 |
/api/model/predict_batch | POST | 批量预测 |
/api/model/feature_importance | GET | 特征重要性 |
/api/model/roc | GET | ROC 曲线数据 |
/api/model/confusion_matrix | GET | 混淆矩阵 |
系统 API
| 端点 | 方法 | 说明 |
|---|---|---|
/api/analysis/run | POST | 运行完整分析 |
/api/analysis/status | GET | 数据/模型就绪状态 |
/api/db/init | POST | 初始化数据库 |
/api/db/status | GET | 数据库表与行数 |
四、目录结构
ecommerce_funnel-main/
│
├── code/ # 项目核心代码(自包含,可独立运行)
│ │
│ ├── app.py # 主入口:generate / init / train / serve / all
│ ├── requirements.txt # Python 3.12 依赖清单
│ ├── mac_run.sh # macOS 一键启动脚本(安装依赖 + 启动服务)
│ ├── train.sh # macOS 模型训练脚本(环境准备 + 数据生成 + 训练)
│ ├── window_run.bat # Windows 一键启动脚本
│ │
│ ├── analysis/ # 数据分析模块
│ │ ├── __init__.py # 模块初始化
│ │ ├── data_generator.py # 合成数据生成引擎
│ │ └── funnel.py # 漏斗分析 + 多维诊断 + PIE + 统计检验
│ │
│ ├── real_data/ # 真实数据集(独立模块,不污染业务代码)
│ │ ├── README.md # 真实数据操作指南(下载/解压/检查/转换全流程)
│ │ ├── _inspect_retailrocket.py # Retailrocket 数据完整性检查脚本
│ │ ├── retailrocket_adapter.py # Retailrocket → 项目格式转换脚本
│ │ ├── ecommerce-dataset.zip # Kaggle 下载的压缩包(需手动下载,已 gitignore)
│ │ ├── events.csv # 解压后的核心行为数据(90 MB,已 gitignore)
│ │ ├── category_tree.csv # 解压后的品类树(14 KB,已 gitignore)
│ │ ├── item_properties_part1.csv # 解压后的商品属性(462 MB,已 gitignore)
│ │ └── item_properties_part2.csv # 解压后的商品属性(390 MB,已 gitignore)
│ │
│ ├── model/ # 机器学习模块
│ │ ├── __init__.py # 模块初始化
│ │ └── predictor.py # XGBoost 购买预测(训练/推理/特征工程)
│ │
│ ├── db/ # 数据库模块
│ │ ├── __init__.py # 模块初始化
│ │ ├── sqlite_helper.py # SQLite 连接/建表/导入/查询
│ │ └── ecommerce.db # SQLite 数据库文件(运行后生成)
│ │
│ ├── data/ # 业务数据(CSV,由生成器或真实数据转换产出)
│ │ ├── customers.csv # 客户表
│ │ ├── products.csv # 产品表
│ │ ├── events.csv # 用户行为事件表
│ │ ├── transactions.csv # 交易表
│ │ └── campaigns.csv # 营销活动表
│ │
│ ├── output/ # 分析输出
│ │ ├── funnel_wide.csv # 漏斗宽表(核心中间数据)
│ │ ├── analysis_results.json # 全量分析结果
│ │ ├── charts/ # 可视化图表(PNG,由 funnel.py 生成)
│ │ │ ├── 00_cleaning_funnel.png # 数据清洗漏斗
│ │ │ ├── 01_page_funnel.png # 页面漏斗
│ │ │ ├── 01b_strict_page_funnel.png # 严格页面漏斗
│ │ │ ├── 02_event_funnel.png # 事件漏斗
│ │ │ ├── 03_channel_funnels.png # 渠道漏斗对比
│ │ │ ├── 04_loss_waterfall.png # 损失瀑布图
│ │ │ ├── 05_channel_device_heatmap.png # 渠道×设备热力图
│ │ │ ├── 06_dimension_comparison.png # 多维对比
│ │ │ ├── 07_monthly_trend.png # 月度趋势
│ │ │ ├── 08_duration_conversion.png # 时长-转化率
│ │ │ ├── 09_churn_by_channel.png # 渠道流失分析
│ │ │ ├── 10_pie_matrix.png # PIE 优先级矩阵
│ │ │ ├── 11_category_funnel.png # 品类漏斗
│ │ │ ├── 12_strict_vs_coverage.png # 严格 vs 覆盖率对比
│ │ │ ├── 13_deep_link_analysis.png # 深层链接分析
│ │ │ ├── 14_new_vs_returning.png # 新老用户对比
│ │ │ ├── 15_weekend_comparison.png # 周末/工作日对比
│ │ │ ├── 16_cohort_heatmap.png # 留存热力图
│ │ │ └── 16b_visit_cohort_heatmap.png # 访问留存热力图
│ │ └── model/ # 模型输出
│ │ ├── xgb_purchase.pkl # 训练好的 XGBoost 模型
│ │ ├── metrics.json # 评估指标(AUC/F1/Accuracy 等)
│ │ ├── feature_columns.json # 特征列名列表
│ │ ├── feature_importance.json # 特征重要性排名
│ │ ├── label_encoders.json # 分类特征编码器
│ │ ├── roc_data.json # ROC 曲线数据
│ │ └── confusion_matrix.json # 混淆矩阵数据
│ │
│ └── web/ # Web 应用模块
│ ├── __init__.py # 模块初始化
│ ├── app.py # Flask 应用工厂
│ ├── routes.py # API 路由 + 页面路由
│ ├── static/ # 静态资源目录
│ │ ├── css/ # 样式文件(Bootstrap 为主)
│ │ ├── img/ # 图片资源
│ │ └── js/ # JavaScript 脚本
│ └── templates/ # Jinja2 HTML 模板
│ ├── __init__.py # 模板模块初始化
│ ├── base.html # 基础布局(侧边栏 + 顶栏 + 状态指示)
│ ├── dashboard.html # 数据概览页
│ ├── strategy.html # 策略分析页
│ ├── predict.html # 转化预测页
│ └── user_analysis.html # 用户分析页
│
├── 演示材料/ # 演示相关资料
├── window.运行步骤.md # Windows 运行步骤说明
└── 项目说明.md # 本文件
五、技术栈
| 层级 | 技术 |
|---|---|
| 后端框架 | Flask 3.1 |
| 数据库 | SQLite(WAL 模式) |
| 数据处理 | Pandas 2.2 + NumPy 2.1 |
| 机器学习 | XGBoost 2.1 + scikit-learn 1.6 |
| 统计分析 | SciPy 1.14 |
| 可视化 | ECharts 5.5(前端) + Matplotlib 3.9(后端) |
| 前端 UI | Bootstrap 5.3 + Font Awesome 6.5 |
| 跨域 | Flask-CORS 5.0 |
获取完整源码
技术分类
包含内容
适合方向
适合数据科学、电子商务、计算机毕业设计中 Python 漏斗分析、CRO 策略与 XGBoost 预测方向;PIE 矩阵与统计检验适合运营决策类论文。
关于 AI源码
AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。
相关推荐
查看全部 →
虚假新闻检测系统
基于 ConceptNN 概念神经网络的虚假新闻检测 FastAPI 服务,支持文本 Sentence-Transformer 与图像 ResNet18 双模态特征及增量学习,可对接 Java 后端实时预测,适合 NLP+CV 毕业设计。

微博热点数据分析与可视化系统
Flask 微博热搜分析平台:自动爬取热搜与评论、jieba 分词清洗、SnowNLP 情感分类,ECharts 热度排行/情感饼图/词云可视化,SQLite 存储与角色权限,适合 Python 数据分析毕业设计。

基于 Python 的短视频用户行为分析系统
基于 KuaiRec/KuaiRand 数据集的短视频分析平台:行为漏斗、推荐偏差、KMeans 聚类、TF-IDF/t-SNE、LightGCN 图推荐与 A/B 实验,Flask 仪表盘一键重训,适合推荐系统大数据毕业设计。

城市交通流量预测与拥堵成因分析系统
城市交通拥堵 monorepo:data-pipeline 多源时空特征、STGNN Proxy 流量预测、归因分析与 Leaflet 地图可视化,FastAPI 加载离线产物,适合交通大数据与计算机设计毕业设计。

基于 Python 的汽车市场数据分析与可视化平台
Flask 汽车市场分析平台:整合 Cars24/UCI Automobile 等多源真实数据集(统一 CNY),含多维分析、随机森林二手车价格预测、品牌对比与销量统计,适合 Python 数据分析毕业设计。

中学生学业水平多维度分析与预警系统
Flask 中学生学业预警系统:UCI Student Performance 真实数据,规则引擎 40%+随机森林/GBDT 60% 融合考前评分,六维雷达与皮尔逊相关分析,教师/管理员双角色,适合教育数据挖掘毕业设计。