这是一个基于马尔可夫链蒙特卡洛(MCMC)方法的实时分析工具,用于分析客户对话流程中的稳态路径。该工具通过可视化方式展示客户对话流程中各阶段之间的转移概率,并使用MCMC方法进行实时模拟分析。
- 文件选择器: 支持从预定义数据文件中选择或拖拽上传自定义JSON文件
- 数据格式验证: 自动验证上传的JSON文件格式是否符合要求
- 默认数据加载: 自动加载默认的客户对话转移矩阵数据
- 迭代次数设置: 可配置MCMC分析的总迭代次数(默认10000次)
- 预热步数设置: 可配置预热步数以排除初始不稳定状态(默认1000步)
- 固定步数模式: 可选择固定步数模式,而非以"结束语"为终止条件
- 开始分析: 启动MCMC实时分析过程
- 停止分析: 中断当前分析过程
- 重置功能: 清空当前分析结果并重置所有参数
- 进度条显示: 实时显示已完成的迭代次数
- 当前状态显示: 显示当前MCMC链所处的状态
- 统计摘要: 显示有效样本数、总迭代数、预热步数等关键指标
- 状态频率分布: 以条形图形式显示各状态的访问频率
- 最频繁状态: 突出显示访问频率最高的状态
- 最常见行动路径: 显示出现频率最高的客户对话路径
- 阶段组合统计: 分析不考虑顺序的阶段组合出现频率
- MCMC采样: 使用Metropolis-Hastings算法进行马尔可夫链采样
- 概率转移: 基于转移概率矩阵进行状态转移
- 批量处理: 采用批量处理提高UI响应性能
- 烧入期处理: 自动排除预热期的数据以确保统计准确性
- 响应式布局: 适配不同屏幕尺寸的设备
- 渐变色彩: 使用现代化的渐变色彩方案
- 动画效果: 包含平滑的过渡动画效果
- 中文界面: 完全中文化的用户界面
- 状态约束: 自动应用状态约束("开场白"为起始状态,"结束语"为终止状态)
- 概率归一化: 自动归一化转移概率确保行和为1
- 路径追踪: 记录完整的状态转移路径
- 频率统计: 实时统计各状态的访问频率
- 在浏览器中打开
mcmc_analysis_realtime.html - 系统将自动加载默认的客户对话数据
- 根据需要调整MCMC参数(迭代次数、预热步数等)
- 点击"开始MCMC分析"按钮启动分析过程
- 观察实时更新的分析结果和进度信息
- 迭代次数: MCMC分析的总迭代次数,影响结果的准确性
- 预热步数: 分析开始前的预热步数,用于达到稳态
- 固定步数: 可选参数,指定每次路径的固定步数(留空则以"结束语"为终止条件)
支持以下JSON格式的数据文件:
{
"states": ["开场白", "介绍产品", "扩大需求", "探寻需求", "答疑解惑", "结束语", "获取信任", "试成交"],
"transitions": [
{
"from": "开场白",
"to": "介绍产品",
"probability": 0.6
},
{
"from": "开场白",
"to": "探寻需求",
"probability": 0.4
}
// ... 其他转移概率
]
}MarkovAnalysis/
├── mcmc_analysis_realtime.html # 主HTML文件,包含所有前端代码
├── README.md # 项目说明文档
├── CLAUDE.md # Claude Code项目文档
├── .csv/ # 原始CSV数据文件目录
│ ├── transition_matrix_li.csv # 李姓客户数据
│ └── transition_matrix_zhao.csv # 赵姓客户数据
├── data/ # 处理后的JSON数据目录
├── scripts/ # 数据处理脚本目录
│ └── process_data.py # CSV到JSON转换脚本
├── .venv/ # Python虚拟环境目录
└── backups/ # 备份文件目录
MCMC是一种用于从复杂概率分布中采样的统计方法。在本应用中,我们使用MCMC来模拟客户对话流程,通过以下步骤:
- 初始化: 从"开场白"状态开始
- 转移概率: 根据转移矩阵中的概率进行状态转移
- 采样: 记录访问的每个状态
- 收敛: 经过预热期后,链达到稳态分布
- 统计: 基于采样结果计算稳态概率
- 从当前状态获取所有可能的转移
- 根据转移概率构建累积分布函数
- 生成随机数以确定下一个状态
- 重复此过程直到达到指定迭代次数
- 路径追踪: 记录从"开场白"到"结束语"的完整路径
- 频率统计: 统计每条路径的出现频率
- 组合分析: 分析不考虑顺序的阶段组合
- 开场白: #ff6b6b (红色)
- 介绍产品: #4ecdc4 (青色)
- 扩大需求: #45b7d1 (蓝色)
- 探寻需求: #96ceb4 (绿色)
- 答疑解惑: #feca57 (黄色)
- 结束语: #ff9ff3 (粉色)
- 获取信任: #54a0ff (天蓝色)
- 试成交: #5f27cd (紫色)
- 侧边栏: 包含数据选择、参数设置和控制面板
- 主面板: 显示实时分析结果和统计信息
- 响应式设计: 适配桌面和移动设备
scripts/process_data.py 负责将CSV格式的原始数据转换为JSON格式,便于前端使用。
- 稳态概率计算: 通过求解线性方程组计算理论稳态概率
- 路径优化: 分析最优客户对话路径
- A/B测试: 比较不同策略下的客户流程效果
- 批量处理: 每帧处理多个MCMC步骤以提高性能
- UI更新优化: 定期更新UI而非每步更新
- 内存管理: 有效管理路径历史记录
- 访问频率: 每个状态在MCMC链中的访问次数
- 稳态概率: 每个状态的长期访问概率
- 最频繁状态: 访问次数最多的状态
- 最常见路径: 出现频率最高的客户对话路径
- 路径长度: 每条路径的步骤数
- 阶段组合: 不考虑顺序的阶段集合出现频率
- 收敛速度: MCMC链达到稳态的速度
- 混合质量: 链的探索效率
- 统计有效性: 有效样本数与总迭代数的比率
- 优化客户对话流程
- 识别关键转换节点
- 提高客户转化率
- 分析销售漏斗
- 识别瓶颈阶段
- 优化销售策略
- 理解用户行为模式
- 优化用户体验
- 改进产品功能
- 马尔可夫链: 用于建模状态转移的数学系统
- 蒙特卡洛方法: 使用随机采样解决数值问题的算法
- 转移矩阵: 描述系统从一个状态转移到另一个状态的概率
- 稳态分布: 马尔可夫链在长期运行后的状态分布
欢迎提交Issue和Pull Request来改进此项目。主要贡献方向包括:
- 算法优化
- 界面改进
- 功能扩展
- 文档完善
本项目为开源项目,欢迎用于学习和研究目的。