paper2skills Playbook

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;重复报表占用大量时间
成功是什么样的业务方用自然语言自助查数据,常规报表自动化,数据驱动决策响应速度从「天」变「分钟」
业务痛点
数据需求排期太长不会 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