Install
openclaw skills install @renshengruozhiruchujian-sudo/data-analysis-skills分析表格、CSV、Excel等结构化数据的对象、属性和关联关系,输出结构化报告。适用于看表找关联、两表对比、盘数据、串表、对数据等场景,支持自定义视角分析。只要用户提交表格/CSV/Excel/数据块,或提到"分析数据""找关系""盘数据""串表""对数据",都应调用此技能。
openclaw skills install @renshengruozhiruchujian-sudo/data-analysis-skills像一个聪明的实习生面对数据——聪明但缺少上下文。任务是把四件事串起来:摸清对象和属性(Data)→ 用规则和计算找关系(Logic)→ 指向可执行的操作(Action)→ 标出不能随便看的字段(Security)。每一步的推理都要展示出来(CoT)。
认真读完数据后,果断判断场景——能推断就推断,推断不出就直接问用户,别硬猜。把用户当你师父。
先搞清楚这是什么数据,再想从哪些角度分析。角色不是你背出来的,是根据数据内容和上下文动态派生出来的。
用户扔数据过来
↓
① 扫数据:几行几列?什么字段?数值/分类/时间?
↓
② 推断数据情境(销售/财务/采购/人事/教育/医疗/家庭…)
↓
③ 派生 2-3 个相关视角(谁最关心这些数据?他们在意什么?)
↓
④ 按当前上下文分路径:
│
├─ 交互式场景(用户能回应) → 问用户:
│ "数据我扫了,是{x领域}。可以从{视角A}、{视角B}的角度看——这些角度对吗?
│ 或者你想从别的视角看?你定,我来按你的意思分析。"
│ 用户说"对" → 按选中视角执行后续分析
│ 用户自定义 → 接受,按他的视角走
│
└─ 自动化/子任务场景(用户不会回应) → 走通用分析:
按派生出的 2-3 个视角做通用分析,
每个发现在"上锁→决策"里标注谁会关心。
宁可分析了再选视角,比卡住不分析强。
| 原则 | 什么意思 |
|---|---|
| 不预设角色 | 不背表,根据数据字段和语境动态推断 |
| 用户的视角就是对的 | 他说"从销售主管的视角",你就从销售主管的视角分析 |
| 视角决定了滤镜 | 同一个数字,不同视角看到的东西完全不同 |
扫完数据后:
"数据我扫了,{行}行{列}列,字段有{字段名},数值范围{min~max},看起来像{x方向}的数据。
这类数据通常可以从这几个角度分析: • {视角A} — 关心{关注点} • {视角B} — 关心{关注点}
这些角度对你有用吗?或者你想从别的视角看?你定,我来按你的意思分析。"
用户说自定义视角时:
"明白了。从**{用户说的视角}**的角度来看这张表,我会重点关注{根据该视角推断的关注点}。我先从这几个方面分析……"
这不是预设表,是举例说明"怎么看字段推视角"的思路。遇到新数据时不要回来查这张表,根据实际字段名和值域自行推理。这张表只帮你理解"派生"是什么意思。
| 你看到的字段 | 可能的数据情境 | 可能派生的视角 |
|---|---|---|
| 奶粉品牌、段数、价格、促销、购买日期 | 母婴/零售采购 | 妈妈(品质/性价比)、采购(供应链)、财务(预算) |
| 学号、姓名、语文、数学、英语、总分、排名 | 教育/成绩 | 班主任(班级整体)、家长(孩子短板)、教务(教学质量) |
| 设备ID、温度、振动、运行时长、维护日期 | 工业/运维 | 工程师(故障预警)、生产主管(停机风险)、采购(备件计划) |
| 菜品名、份数、单价、桌号、下单时间、评价 | 餐饮/门店 | 店长(翻台率)、厨师(出品效率)、财务(毛利) |
| 订单ID、金额、状态、客户、物流单号 | 电商/零售 | 运营(转化率)、客服(售后)、仓储(发货时效) |
| 未知/不常见 | — | 扫完直接问"这是什么数据?你主要关心什么?" |
先摸清数据结构,找出分析的主题对象。主题不是列名,是"用户在真实世界里关心的东西"。
分析前先判断数据属于哪种输入格式。不同格式的分析路径不同——跳过这一步直接钻进字段细节,在多子表/嵌套表场景里会把结构搞混。
| 格式 | 特征 | 处理要点 |
|---|---|---|
| 单表 | 一张扁平表格 | 直接进入"选对象" |
| 多子表 | Excel 多 sheet,或同一文件内多个独立数据区 | 先搞清每个子表代表什么、子表之间怎么关联 |
| 多级表头 | 表头嵌套层级(合并单元格构成树状表头,如"收入→产品A/产品B") | 拆出表头层级树,理清父子归属 |
| 含跨格合并 | 数据区单元格跨行/跨列合并(spanning cells) | 还原合并前的逻辑单元格,标清跨格归属 |
| 多张表 | 多个独立表格(用户分段贴入、多个文件) | 发现表间关联(外键/语义/值域重叠) |
流程:
拿到数据
↓
① 判断格式类型(单表?多子表?多级表头?含跨格合并?多张表?)
↓
② 如果不是单表:
├─ 每个数据块/sheet 代表什么?(对象粒度)
├─ 数据块之间什么关系?(外键/语义/值域重叠)
└─ 合并成统一视图还是分别分析?
↓
③ 对每个数据块执行后续"选对象 → 提取属性 → 发现链接"
多子表/多级表头/跨格合并的关键: 不能把每个 sheet/子表当成独立主题——它们往往是同一个主题的不同侧面(如员工主数据 vs 培训记录 vs 考勤),合在一起才构成完整画像。多级表头要先拆出层级树再分析;跨格合并要先还原逻辑单元格再分析。先发现子表间的关联键,再决定是合并分析还是分别分析。
每张表的每一行代表什么"东西"(客户/订单/设备/交易/学生/奶粉品牌)?有没有主键标识行?
主键适宜性: 时间戳、高空值率的列不适合当主键——用错主键会让后续所有关联建立在错误基础上。发现主键可疑(如时间戳有重复、ID列空值率>5%)时主动提醒用户。
对每列搞清楚:类型(数值/分类/时间/ID/布尔/文本/地理)、业务含义(不是列名直译,是真实世界含义)、取值范围和空值率、数值列单位、分类列各值的含义。
用大白话解释属性,别照搬列名——不写"PaidOnTimeRate 是 0-1",而是写"近 12 个月准时付款率,0.95 意味着 100 笔里 95 笔按时付了"。
这列的值另一张表也有吗(外键)?同一概念字段名一致吗?哪些字段组合能唯一确定一行?
基数分析: 表间关系是 1:1(一个客户一个地址)、1:N / N:1(一个客户多个订单)、还是 M:N(学生选课)?基数决定后续是聚合分析还是拆表分析。操作方法:看外键列值是否重复——不重复是1:1,重复是1:N或M:N。
自反链接: 同表内某列是否引用本表另一行?如员工表的"上级ID"指回本表员工ID、地区表的"父地区ID"指回本表地区。单表分析最容易漏这种关联。操作方法:扫列名找"父/上级/源/原"等关键词。
派生属性: 有没有字段是另几个字段算出来的(如利润=收入-成本)?识别出来后从相关性分析中排除——否则会把算术依赖误判成业务关联("发现"利润和营收高度相关,废话,利润就是算出来的)。
语义补结构: 当列名匹配和值域重叠都找不到关联时,用业务语义推断(如"下单客户"和"会员"在业务上指同一概念),再用值域重叠验证。结构+语义双通道,单通道容易漏。
3 表以上输出关系图骨架: 多表关联时,用结构化表格汇总所有发现的关系,比文字描述更清晰,也是 Phase 3 决策血缘表的底子:
关系图骨架:
| 关系类型 | 从表.外键 → 到表.主键 | 基数 | 关联强度(强/弱/待验证) |
链接不完整或字段含义不明就主动问。
列出:总行数、总列数、数值列范围(min~max)、分类列取值、时间跨度、缺失值情况。
二维关系(别让 AI 从平铺文本里猜):
结构异常扫描(影响"一行一记录"假设的情况):
文档说的"四维集成"——不是先做完 Data 再做 Logic 再做 Action 再做 Security,而是每个主题都同时打出 Data + Logic + Action + Security,上下锁住。这就是 OAG(本体增强生成)在数据分析里的落地:调用确定性逻辑工具 + 行动闭环 + 展示推理过程 + 追溯到原表具体行/字段。
对 Phase 1 扫出来的每个主题/发现:
↓
上锁:这个主题支撑什么决策?
↓
rubric — 先定规则(什么算正常/异常、阈值)
Data — 数据支撑
Logic — 逻辑验证 + 交叉验证
Action — 行动闭环(下锁)
Security — 安全标注
↓
一个主题的四维组合拳打完 → 打下一个主题
每个主题问:这是谁关心的问题?它支撑什么决策?
"上锁"的意思是说——这个发现不是孤立的数字,它挂在哪个决策上。
开始推理前,先明确评判标准——什么算正常、什么算异常、阈值在哪。 这一步在"教实习生"方法论中是第④步,在推理之前。
原文例子:订单金额远超信用限额(阈值:>信用额度120%)且准时付款率低(阈值:<0.3)→ 维持信用冻结。 没有这个 rubric,AI 就会在不知道"多高算高""多低算低"的情况下下结论。
在数据分析中:
| 要判断的事 | 先定什么规则 |
|---|---|
| 金额是否异常 | 超过均值±2σ的算异常?还是超过中位数的3倍算异常? |
| 客户是否高价值 | 累计消费超过多少算高价值?10万?50万? |
| 物料是否滞销 | 连续多少天无出库算滞销?30天?90天? |
| 外键匹配是否正常 | 匹配率低于多少要预警?95%?80%? |
| 趋势是否显著 | 连续多少期上升才算趋势?3期?5期? |
规则前置让分析可复现,也方便用户检查和纠偏。如果用户没给阈值,先根据数据分布(均值±σ、分位数、IQR)自动推断并标注为"自动阈值"。
验证不通过:不一致但差距小→中置信度,说明原因;差距大→低置信度,建议核查;完全矛盾→不硬推结论。
列出与主题直接相关的字段和数值:
- 相关字段:{字段名}({数值范围})
- 关键数值:{具体数字}
- 数据来源:{表/文件}
先跑确定性计算:推导核验、聚合指标(极值/均值/中位数/标准差)、分布统计、缺失率、时间范围。
再做关联推理:
| 层面 | 找什么 |
|---|---|
| 单表 | 数值间函数关系(A×B=C 不成立就有异常)、分类条件分布、时间趋势/周期性、分组差异、离群值 |
| 跨表 | 外键匹配率、一对多关系、时间对齐、口径差异 |
然后交叉验证——每个结论至少用两种独立方法验证:
| 验证类型 | 怎么做 |
|---|---|
| 方法交叉 | 用不同计算方法独立验证(聚合 vs 逐条、统计 vs 排序) |
| 维度交叉 | 按时间/客户/品类/地域切分,看模式是否稳定 |
| 血缘交叉 | 从结论回溯到原始数据,核对口径 |
| 逻辑交叉 | 归纳(从数据到结论)vs 演绎(从假设到数据) |
| 上下文交叉 | 对照业务常识验证合理性 |
思维链格式:
主题:XXX
上锁→决策:{谁在什么情况下需要决定什么}
① rubric(先立规则):{什么算正常/异常、阈值在哪、评判公式}
② 数据:{具体数字 + 字段 + 来自原表哪一行/哪些行} ← 每个数字都要能追到行,追不到的标"来源未明"不下硬结论
③ 逻辑:{计算方法 + 规则}
④ 交叉验证:
- 方法交叉:{方法A得X,方法B得Y} → 一致
- 维度交叉:{按某维拆分} → 模式仍成立
- 血缘交叉:{从结论回溯到原始数据行} → 口径一致
- 逻辑交叉:{归纳(数据→结论) vs 演绎(假设→数据)} → 方向一致
- 上下文交叉:{符合/不符合业务常识}
⑤ 结论:{发现}(置信度:高/中/低)+ 来源锚点:{原表行号/字段,如"奶粉表 飞鹤行 / A002 出库表 1-3行"}
逻辑工具优先——能算相关系数就不说"看起来有关",能算 IQR 就不说"有点高"。
复杂分析动态拆解: 别一口气规划所有分析步骤。每步执行后看中间结果,再决定下一步做什么。比如"先按维度 A 分组聚合 → 发现子组 X 异常 → 针对 X 进一步下钻"——每步依赖上一步的产出,比预先排好所有步骤更精准。
每个主题问:这个发现能触发什么行动?
| 发现 → 行动 | 怎么做 |
|---|---|
| 异常 → 纠正 | 停线、重审、回滚、处置 |
| 趋势 → 利用 | 备货、调价、排班、加大投入 |
| 关联 → 优化 | 交叉销售、预警、合并、调整策略 |
| 风险 → 规避 | 分散、对冲、设阈值、备选方案 |
区分行动模式:
| 模式 | 含义 | 适用场景 | 例句 |
|---|---|---|---|
| ⚡ 直接可做 | AI 能自主执行或用户自己能操作 | 数据清理、标记、提醒、报表修正 | "标记 E005 为孤立记录" |
| 📋 提案待审批 | 需要用户审批后才能执行 | 资金处置、合同变更、供应商替换 | "建议启动 A002 滞销品处置,审批后执行" |
| 🚫 不主动执行 | 不做定性/决策,但可生成事实清单交人工核实 | 涉合规定性、人事定性、法律判断 | "生成待核实清单交合规,不直接定性" |
原文(9.3):AI 代理创建提案(proposal),同步或异步提交给运营商进行细化、反馈和决策。而不是直接做更改。🚫 比 📋 更克制——📋 是正式提案等审批,🚫 是连提案都不做,只提供事实清单交人工,不做定性判断,避免锚定偏差。
"下锁"的意思——从发现到行动是一个闭环,不是分析完就完了。
建议行动:{做什么}
行动模式:⚡ 直接可做 / 📋 提案待审批 / 🚫 不主动执行
闭环验证:{做了之后怎么看效果}
风险提示:{做错了会怎样}
字段标敏感等级,结论标注谁适合看、谁不适合看。另外多卡一道:拿到这些数据能拿去干嘛、不能拿去干嘛。
字段敏感等级标注:
| 等级 | 场景 |
|---|---|
| 🔴 高风险 | 姓名、身份证、手机号、银行卡、病历、薪资 |
| 🟡 中风险 | 成本、客户内部价、利润率、合同条款 |
| 🟢 公开 | 产品名、日期、品类、公开评分 |
然后想四层:
| 维度 | 问什么 |
|---|---|
| 角色(Role) | 这个结论给谁看合适?不给谁看? |
| 标记(Marking) | 上游字段有敏感标记的,下游推导结论是否继承了敏感等级?(例:手机号是🔴,用手机号比对得出的"手机号一致"结论也继承🔴) |
| 用途(Purpose) | 这批数据/结论适合拿去干嘛用?标出适用场景(如坏账核销审计、销售盘点、库存调度),让用户知道分析结果能用在哪些地方 |
| 组合风险(k-Anonymity) | 多个非🔴字段组合起来能否定位到具体个人?(如邮编+生日+性别可识别 87% 人口)有≥2 个🔴/🟡字段在同一主题时必查 |
Security:
- 字段等级:🔴 / 🟡 / 🟢 {涉及字段}
- 标记传播:{结论是否继承敏感字段等级}
- 角色适配:给 {岗位} 看合适,不适合给 {岗位} 看
- 用途:这份数据/结论适合用于 {适用场景A、场景B}
- 组合风险:{多字段组合能否反推到个人,无风险时写"无组合重标识风险"}
每个主题的四维组合拳打完后,花 2 秒过一遍这三个问题再打下一个主题:
不通过 → 当场补,不留到 Phase 4 总检。这比交付前才发现要返工便宜得多。
所有主题打完后,先做一轮安全审核,再做三件事:
汇总前先扫一遍所有主题的 Security 段,确认五件事:
发现问题 → 回 Phase 2 对应主题补好,再进入汇总。汇总里引用的 Security 标注如果本身就有缺漏,汇总只会把缺漏放大。
各主题之间有没有互相印证或矛盾?把独立发现的线拧成一股绳:
交叉关联:
- 主题A和主题B指向同一个结论:XXX
- 主题C独立验证了主题A的发现
- 主题D和主题A有矛盾,原因是{口径差异}
## 📎 决策血缘
| 主题 | 数据来源(到行/字段) | 逻辑方法 | 交叉验证 | 结论 → 行动 |
|------|-------------------|---------|---------|------------|
| 主题A | {表名 · 行号/字段名,如"奶粉表 飞鹤行·价格/评分列"} | {计算方法} | {N种验证} | {发现} → {行动} |
"数据来源"必须细到行和字段,不要只写"奶粉表"——OAG 的 surface sources 要求每个结论能追到原表具体位置。追不到的结论标"来源未明",宁可不下。
把3.1和3.2涉及的所有安全字段汇总成一张总表。
分析是一整套循环,不是一次性交付。关键三步:结构化自检 → 用户反馈 → 迭代深化。
交付前逐项过一遍。任何一项不过关 → 回去补,补完再交付。 不要跳过,不要"差不多就行"。
| # | 检查项 | 过关标准 | 不过关怎么办 |
|---|---|---|---|
| A1 | 数学复算 | 每个数值结论的算术独立重算一遍,结果一致 | 修正计算,更新结论 |
| A2 | 交叉验证完整性 | 每个主题至少跑了 2 种交叉验证,方法名写出来了(方法交叉/维度交叉/血缘交叉/逻辑交叉/上下文交叉) | 补做缺失的验证方法 |
| A3 | CoT 完整 | 思维链 ①rubric→②数据→③逻辑→④交叉验证→⑤结论 五步齐备,没有跳步 | 补写缺失步骤 |
| A4 | 来源可追到行 | 决策血缘表的"数据来源"列都到了行号和字段名(不是只写"奶粉表"),"来源未明"的结论没有被标高置信度 | 追溯来源或降低置信度 |
| A5 | 结论反查 | 回到来源行核对:那个行号/字段的数据真的能推出这个结论吗?不是只写了行号就算过——要验证数值和逻辑是否对得上 | 修正结论或补充推理链 |
| # | 检查项 | 过关标准 | 不过关怎么办 |
|---|---|---|---|
| B1 | Security 标注齐 | 每个主题涉及的敏感字段都标了🔴🟡🟢等级,有≥2 个🔴/🟡字段的主题检查了组合重标识风险,无遗漏 | 补标缺失字段或组合风险 |
| B2 | 标记传播对 | 上游敏感字段(如🔴手机号)推导出的结论也继承了敏感等级,没有在下游脱敏断裂 | 检查并修复传播链 |
| B3 | 角色适配对 | Security 段写了"角色适配"——标注了结论给谁看合适、不给谁看,敏感结论没有标成全员可见 | 补写角色适配说明 |
| B4 | 用途标注到位 | Security 段写了"用途"——这份数据/结论适合用于哪些场景,用户能据此判断能不能挪作他用 | 补写用途说明 |
| B5 | Action 模式合规 | 每个行动建议都区分了⚡直接可做 / 📋提案待审批 / 🚫不主动执行,涉及资金的标📋、涉合规/人事定性的标🚫,高风险行动没有被标成⚡ | 修正模式标注 |
不需要在输出中逐项打勾展示——那是给用户看的分析报告,不是审计日志。但交付前在脑子里过一遍这 10 项,就像程序员提交代码前跑一遍测试。发现某项没过,先修好再输出,不要交付后再打补丁。
"用调试器测试函数是否按预期工作"——你的分析就是"函数",这 10 项就是你的测试用例。
交付分析后,主动问用户:
| 场景 | 怎么问 |
|---|---|
| 常规交付后 | "报告好了。你看看这些发现有没有不对的?或者哪个方向要我深入挖?" |
| 有不确定的结论 | "XX 这个结论我只有中等置信度,主要因为{原因}。如果你有更多数据我能再跑一遍。" |
| 用户纠正你 | "明白了,从{纠正后的}角度重新看这个问题。我再出一版。" |
"当用户给出负面反馈时,可以捕获、标记并转换为新的测试用例,使同样的失败变为可衡量和可复现的。"
用户纠错不是坏事——把它记下来(当前会话内),后面的分析避开同样的坑。
会话内经验沉淀: 如果自检(4.1)发现了实际错误(不是"检查通过"),或用户纠正了分析方向,在当前会话内用一句话记下教训(如"教训:分组前先看全局,避免辛普森悖论"),后续分析主题引用这条经验。只在有实际错误时记,没问题就别写——这是当前会话的笔记,不跨会话。
不要一次把所有分析做完——先交浅层结论,确认方向对再深入:
第一轮:基础扫描 + 对象识别 + 明显关联 → 问"方向对吗?"
第二轮:深入分析被选中的方向 → 交叉验证 → 问"要再细吗?"
第三轮:专项深挖(归因分析、趋势预测、异常根因)
不同平台的会话间通常没有可靠的自动记忆。不要假装记得用户上次的分析——除非用户当场提供或你能在文件里翻到,否则就当从零开始。
| 记忆类型 | 实际怎么做 |
|---|---|
| Working Memory | 当前会话的上下文,自然在脑子里 |
| Episodic Memory | 之前分析过的类似数据、用户纠正过的错误——以用户当场提供的为准("上次你帮我分析过…"→问用户要结论或翻文件),不凭印象回想 |
| Semantic Memory | 领域知识(指标含义、行业标准)——来自训练数据,用前确认和当前业务口径一致 |
| Procedural Memory | 这个用户偏好的分析风格——本次会话里观察到的可用,跨会话不自动延续 |
确实有历史可参考时:
"你提到上次分析销售数据发现张三占了72%营收——如果那个结论还能用,我沿用你上次确认的分析深度;不然我从头扫。你定。"
用户没法当场提供旧结论时:
"我这没有上次分析的记录。我先从头扫,你之后要是能翻到旧的结论发我,我再补着对照。"
别编——说"我记得你之前…"但实际没存过,等于让用户纠正你的幻觉,比从零开始更坑。
| 场景 | 怎么问 |
|---|---|
| 分类值含义不明(A/B/C 无字典) | "Status 的 A/B/C 代表什么?后面判断才准" |
| 数值单位不明 | "Amount 是元还是千元?差千倍结论完全不同" |
| 外键匹配率低 | "只对上了 60%,剩下是历史数据还是脏数据?" |
| 多表方向不清 | "你想以哪张表为主线来看?" |
| 时间格式不统一 | "有日期有时间戳,统一成哪种?" |
| 用户指令太模糊 | "这批数据什么场景?扫描一遍还是有特定方向要看?" |
| 分析方向太多 | "数据我粗看完了,像是{x领域}的数据。可以从{视角A}、{视角B}的角度看——这些方向对吗?还是你想从别的角度看?" |
| 数据域推断不明 | "大概{行}行{列}列,字段是{举例}。这是什么场景的数据?你主要关心什么?" |
有角色时按角色模版,无角色时加"谁关心"列。
# 数据关联报告({视角})
## Phase 1:找主题
{对象 — 属性 — 链接 — 扫描摘要}
## Phase 2:组合拳分析
### 主题1:XXX
**上锁→决策:** {谁在什么情况下需要决定什么}
**rubric(先立规则):**
{什么算正常/异常、阈值、评判公式}
**Data:**
{相关字段 + 关键数值 + 分布}
**Logic:**
{计算方法} | {交叉验证结果} | 置信度:{高/中/低}
**Action/下锁:**
{行动建议} | 模式:⚡直接可做/📋提案待审批/🚫不主动执行 | 闭环验证:{效果} | 风险:{提示}
**Security:**
- 字段等级:🔴/🟡/🟢 {涉及字段}
- 标记传播:{结论是否继承敏感字段等级}
- 角色适配:{给谁看/不给谁看}
- 用途:{这份结论适合用于哪些场景}
- 组合风险:{多字段组合能否反推到个人}
---
### 主题2:YYY
{同上结构}
---
## Phase 3:汇总
#### 3.0 安全审核前置
- 标注完整:每个主题涉及的字段都标了🔴🟡🟢?有≥2 个🔴/🟡字段检查了组合风险?
- 传播链完整:🔴字段推导出的结论是否继承了🔴等级?
- 角色适配对:敏感结论有没有标成全员可见?
- 用途标注到位:每个主题的 Security 段写了"用途"吗?
- Action 模式正确:涉及资金处置的标了📋提案待审批?涉及合规/人事定性的标了🚫不主动执行?
**主题互关联:** {各主题之间的关系和一致性}
**决策血缘:**
| 主题 | 来源 | 方法 | 验证 | 结论 → 行动 |
**全量安全汇总:**
🔴 {所有高风险字段汇总}
🟡 {所有中风险字段汇总}
🟢 {公开字段}
无指定角色时,在每个主题的"上锁→决策"里标注谁会关心。例如:
### 主题:张三占营收72%
**上锁→决策:** 客户集中度风险 → 谁关心:CEO(增长依赖) / CMO(大客户维护) / CFO(收入质量)
完整方法论原文见 REFERENCE.md。角色视角详细定义见 ROLES.md。完整案例见 EXAMPLES.md。