Analysis qa validator
Skill findscripter/everything-skills/03-data/analysis-qa-validator
当把分析/报表/SQL 结果交给干系人或上会前需要质检时使用;做方法论、计算、可视化与结论的交付前 QA,产出含「可发布/带注意事项发布/需返工」三级置信评级的校验报告;不适用于从零跑数据集画像(用 dataset-quality-auditor)、搭管道质量校验(用 data-quality-validator)或纯写 SQL(用 sql-query-builder)。触发词:分析复核、交付前质检、结论是否站得住、口径检查、上会前 reviewFrom its SKILL.md
npx -y skills add findscripter/everything-skills --skill analysis-qa-validatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.0 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it
何时使用
适用于:在把一份分析交给干系人、上管理层会、或据此做决策之前,对它做一轮交付前 QA——查方法论、抽验计算、审可视化、验结论,最后给一个可对外的置信评级。被复核的对象可以是会话里的文档/报表、文件(Markdown、Notebook、表格)、SQL 查询及其结果、图表及其底层数据,或一段「方法+发现」的口头描述。典型请求:
- "这份季度营收分析发给高管前帮我复核一下"
- "我拿 Q4 的流失率比 Q3,但 Q4 测量窗口更短,帮我看有没有问题"
- "这段漏斗 SQL 和结果,逻辑对吗?"
不该用(负边界):
- 要对一份陌生数据集从零跑画像/审计(缺失值、异常值、DQS)→ 用
dataset-quality-auditor。 - 要给数据管道/数仓搭自动化质量校验(Great Expectations、dbt test、数据契约)→ 用
data-quality-validator。 - 只是要写/调一条 SQL 查询本身,而非复核既成分析 → 用
sql-query-builder。
本技能是「人工复核既成分析」的判断框架,不产出可调度的校验代码。
步骤
按顺序走七步,每步都把发现记下来,最后汇成报告。
- 审方法论与假设:问题框定对不对(会不会被换种解读)?选数对不对(表/数据集/时间范围)?口径定义清不清、和干系人理解是否一致?对比是否公平(时间窗、cohort 规模、上下文可比)?人群定义有没有意外排除?
- 跑交付前 QA 清单:逐项过下方四类检查(数据质量 / 计算 / 合理性 / 呈现)。
- 比对常见分析陷阱:对照下方陷阱目录系统排查(join 膨胀、幸存者偏差、不完整周期对比、分母漂移、均值的均值、时区错配、分段选择偏差)。
- 抽验计算与聚合:独立重算几个关键数;验小计加总等于总计;该求和到 100% 的百分比是否接近 100%;同比/环比用的基期对不对;筛选条件在各指标间是否一致。
- 审可视化(若有图表):柱状图轴是否从零起;对比图量纲是否一致;标题是否如实描述所示内容;是否存在截断轴、不等距、3D 失真等误导。
- 验叙事与结论:结论是否被所示数据支撑;是否承认替代解释;不确定性是否如实沟通;建议是否由发现合乎逻辑推出;置信措辞是否匹配证据强度。
- 给改进建议 + 三级置信评级:建议要具体可执行(补哪个分析、加哪条 caveat、换哪种图、缺哪块上下文)。评级三选一并说明:可发布(方法论稳、计算已验、caveat 已注,仅有不阻断的小建议)/ 带注意事项发布(大体正确但有须告知干系人的限制或假设,列出必须传达的 caveat)/ 需返工(发现具体错误或方法论问题,列出修改项并按优先级排序)。
指令
交付前 QA 清单(分享任何分析前逐项过)
- 数据质量:来源核实(用对表了吗)|新鲜度(标注 as-of 日期)|完整性(时间序列无意外缺口)|空值处理(查关键列空值率,已排除/填补/标记)|去重(无坏 join 或重复源记录导致的重复计数)|筛选核实(所有 WHERE 正确、无意外排除)。
- 计算:聚合逻辑(GROUP BY 含所有非聚合列、聚合粒度对得上分析口径)|分母正确(比率用对分母且非零)|日期对齐(对比用等长周期,部分周期已排除或注明)|join 正确(INNER vs LEFT 选对,多对多没把计数撑大)|口径一致(指标与干系人定义一致,偏差已注)|小计加总(部分之和等于整体,不等则解释如重叠)。
- 合理性:量级(数在可信区间,营收非负,百分比 0–100%)|趋势连续(无无法解释的跳变)|交叉印证(关键数对得上 dashboard / 既往报告 / 财务)|数量级(总营收/用户数与已知大致吻合)|边界情形(空分段、零活跃周期、新实体怎么表现)。
- 呈现:图表准确(柱状图从零起、轴有标签、多面板量纲一致)|数字格式(精度、货币/百分号一致、千分位)|标题清晰(说洞察而非只报指标、注明日期范围)|caveat 透明(已知限制与假设显式写出)|可复现(他人能据文档重建此分析)。
结果 sanity check
- 量级 smell test:用户数对得上已知 MAU/DAU?营收数量级对得上已知 ARR?转化率在 0–100% 且对得上 dashboard?50%+ 的 MoM 增长是真实还是数据问题?均值是否符合对分布的认知?各分段百分比是否求和约 100%?
- 交叉验证:① 同一指标用两种算法各算一遍看是否一致;② 抽个别记录手工追溯;③ 对标已发布 dashboard / 财务 / 既往分析;④ 反推(人均×人数 ≈ 总额?);⑤ 边界检查(筛到单日/单用户/单类别,微观结果合理吗)。
- 需警惕的红旗:单期变动 >50% 且无明显原因;计数/求和恰好是整数(疑似筛选或默认值问题);比率恰好 0% 或 100%(疑似数据不完整);结果完美印证假设(现实通常更糙);跨期或跨分段值完全相同(疑似查询漏了某维度)。
示例
陷阱速查(保留源关键约束)
- Join 膨胀:多对多 join 悄悄把行数翻倍。检测:
防:join 后必查行数;通过 join 计数实体时用SELECT COUNT(*) FROM table_a; -- 1,000 SELECT COUNT(*) FROM table_a a JOIN table_b b ON a.id = b.a_id; -- 3,500(出事了)COUNT(DISTINCT a.id)而非COUNT(*)。 - 幸存者偏差:只分析「今天还在」的实体,漏掉已流失/已删除的。下结论前先问"谁不在这个数据集里?"
- 不完整周期对比:拿部分周期比完整周期("1 月营收 $500K vs 12 月 $800K"——但 1 月还没过完)。防:只比完整周期,或对齐到同月同日/同天数。
- 分母漂移:跨期改了"合格/活跃"的定义,使比率不可比。防:跨期用一致定义,定义变更须注明。
- 均值的均值:A 组 100 人均值 $50,B 组 10 人均值 $200。错:(50+200)/2=$125;对:加权 (100×50+10×200)/110=$63.64。永远从原始数据聚合。
- 时区错配:UTC 事件时间戳 vs 本地展示日期 / 不同截断时间的日汇总。防:分析前统一到单一时区(建议 UTC)并记录。
- 分段选择偏差:用结果本身定义分段造成循环逻辑("完成 onboarding 的留存更高"——他们自选择了)。防:按处理前特征而非结果定义分段。
- 其他统计陷阱:辛普森悖论、相关当因果、小样本、离群点拖累均值(考虑中位数)、多重检验/挑樱桃、前视偏差、挑对叙事有利的时间段。
报告输出格式
## 校验报告
### 总体评级:[可发布 | 带注意事项发布 | 需返工]
### 方法论审查
[关于方法、选数、口径定义的发现]
### 发现的问题
1. [严重度 高/中/低] [问题描述与影响]
### 计算抽验
- [指标]:[已核实 / 发现差异]
### 可视化审查
[图表或视觉呈现的问题]
### 改进建议
1. [建议及其重要性]
### 须告知干系人的注意事项
- [必须传达的 caveat]
注意事项
- 任何高风险汇报或决策前都先跑这套质检;即便快分析也值得做一次 sanity check,花一分钟可保住可信度。
- 发现问题就先修再复核;把校验输出和分析一起交付,能增强干系人信心。
- 给每条发现配置信措辞,让置信措辞匹配证据强度——不要把"很可能"写成"必然"。
- 复现性是底线:标注数据快照日期、把查询/代码纳入版本控制(git 或共享文档),重跑时记录改了什么、为什么。每份非平凡分析应附:问题、数据源(含 as-of)、口径定义、方法步骤、假设与限制、关键发现、SQL 查询、caveat。
互见
- related:
dataset-quality-auditor—— 复核中怀疑底层数据脏时,转去做完整数据集画像与 DQS 评分。 - related:
data-quality-validator—— 同类问题反复出现时,沉淀成管道级自动校验(GE/dbt test/数据契约)。 - related:
sql-query-builder—— 抽验或重算时需要重写/调优查询。 - combines_with:
financial-analysis-toolkit—— 当被复核的是财务/会计数字,叠加财务口径校验。 - combines_with:
kpi-dashboard-design、matplotlib-visualization、plotly-interactive-viz—— 可视化审查发现图表误导时,据建议重做图表。
采编自 anthropics/knowledge-work-plugins(Apache-2.0 许可证)。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.