ProRCA — 因果图路径溯源根因分析
Skill-ProRCA-Business-Analysis · 09-DataAgent-LLM
causalexperimentforecastingmulti_agentfraud_detectionpricingvisual_generation广告与投放供应链与补货客服与VOCMAS与智能体工程定价与利润风控与合规视觉内容生成WF-A 智能补货WF-B 广告优化WF-C 客服分诊WF-E Review监控WF-F 动态定价
年化 ROI100 万
实现难度⭐⭐☆☆☆
业务视角
适用角色数据分析师 / 运营负责人 · CEO · 供应链负责人
适用平台Amazon SP API · Shopify · TikTok Ads API · 多平台数据整合
什么情况下用数据需求太多,数据团队排期 2 周;非技术人员(采购/客服/运营)有数据问题但不会 SQL;重复报表占用大量时间
成功是什么样的业务方用自然语言自助查数据,常规报表自动化,数据驱动决策响应速度从「天」变「分钟」
业务痛点
1. 解决的问题
当 GMV 暴跌时,传统监控会同时弹出几百个警报——流量跌、加购跌、结账跌、支付跌……却不告诉你哪个是起因,哪个是被牵连的。
2. 核心算法逻辑
核心问题:当 GMV 暴跌时,传统监控会同时弹出几百个警报——流量跌、加购跌、结账跌、支付跌……却不告诉你哪个是起因,哪个是被牵连的。
3. 业务应用场景
业务问题:黑五顶峰期每分钟 GMV 损失几十万美金,从告警触发到找出根因人工需要 1-2 小时。
数据要求: - 各业务指标的 5 分钟滚动 z-score(流量、加购、转化、各支付通道成功率、GMV) - 指标间因果拓扑(可从系统架构图自动提取或人工维护)
实施步骤: 1. GMV 跌破阈值触发告警 2. ProRCAEngine 加载实时指标 z-score 和因果图 3. `engine.analyze(trigger_node="GMV")` 秒级输出根因路径 4. LLM Agent 读取路径后生成自然语言报告推送到企业微信/钉钉
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
100 万
7. 代码模板
代码块数量:4 · 路径:未检测到
from model import ProRCAEngine
# 1. 定义业务指标节点(z_score = 当前相对基线的标准化偏差)
nodes = [
{"name": "广告流量", "z_score": 0.2, "raw_value": 28000, "raw_baseline": 27500},
{"name": "加购量", "z_score": -0.3, "raw_value": 5100, "raw_baseline": 5200},
{"name": "结账到达量", "z_score": -2.1, "raw_value": 1850, "raw_baseline": 2100},
{"name": "PayPal支付成功率","z_score": -4.5, "raw_value": 0.32, "raw_baseline": 0.97},
{"name": "信用卡支付成功率","z_score": 0.1, "raw_value": 0.96, "raw_baseline": 0.97},
{"name": "GMV", "z_score": -3.8, "raw_value": 45000, "raw_baseline": 75000},
]
# 2. 定义因果边(parent → child 表示 parent 是 child 的原因)
edges = [
("广告流量", "加购量"),
("加购量", "结账到达量"),
("结账到达量", "PayPal支付成功率"),
("结账到达量", "信用卡支付成功率"),
("PayPal支付成功率", "GMV"),
("信用卡支付成功率", "GMV"),
]
# 3. 初始化引擎并分析
engine = ProRCAEngine(propagation_beta=0.7, score_threshold=0.5)
engine.load_graph(nodes, edges)
result = engine.analyze(trigger_node="GMV")
# 4. 输出人类可读报告
print(engine.summary(result))
# 输出:
# 根因节点 : PayPal支付成功率
# 追踪路径 : GMV → PayPal支付成功率
# 根因分数 : 3.030
# 因果链解释: 【根因】PayPal支付成功率(z=-4.50) → 【影响终点】GMV(z=-3.80)
# 5. 接入 LLM Agent(将 result 序列化传给大模型)
agent_prompt = f"""
根因分析完成。
根因节点: {result.root_cause}
因果路径: {' → '.join(result.path)}
解释: {result.explanation}
请用一句话向运营团队说明问题,并给出立即行动建议。
"""
8. 论文来源
- 2503.01475