数据结论质量审查

标识: validate-data最新版本: 1.0.0安装 5 次更新于 2026-11-06
办公效率数据分析

交付前检查SQL结果、分析报告的分母、聚合、重复计数、样本偏差和结论依据。

在超级AI助理对话中安装/skill install validate-data

技能介绍

技能简介

在分析结果对外分享前检查数据、SQL、图表和文字结论,关注指标口径、重复计数、比较范围及证据是否充分,帮助找出会影响解读的问题。

适用场景

分析报告审阅;经营指标复核;SQL 结果交付前检查;图表与结论一致性核对。

使用方法
  1. 提供报告、SQL、图表及尽可能完整的底层数据,说明分析目的和读者。
  2. 补充指标定义、分母、时间范围和已知限制;指出希望重点复查的结论。
  3. 查看按影响程度整理的问题与证据,修正后可再次检查;缺少数据时会注明无法验证的部分。
参数与输入说明

可直接用自然语言说明这些选项;带代码样式的参数按实际工具定义处理。

参数或输入项 填写说明
审核材料 分析文档、表格、Notebook、SQL 或图表,最好包含对应数据。
口径与假设 分子分母、去重、时间窗口、排除条件和比较基准。
审核重点 例如关联膨胀、同比环比、样本偏差、结论措辞或图表表达。
输出深度 快速复核或详细审查,可要求列出计算抽查与修正建议。
示例需求

复核这份月度增长分析及对应 SQL,重点检查付费转化率分母、跨表关联是否重复计数、环比基期和图表中的结论是否一致。

交付内容

审核结论、按影响程度排列的问题、证据、待验证事项和修正建议。

使用前提与注意事项
  • 只有截图或摘要时,不能完全验证底层计算;缺少数据会限制结论强度。
  • 审查会指出问题及可验证方式,不会把无法核实的分析直接标为正确。

使用说明

以下为技能最新版本的 SKILL.md 正文,智能体按其中的步骤完成任务。

平台使用说明

使用当前 Agent 已提供的文件、搜索、代码或业务工具完成任务,按实际可用能力选择路径。默认以中文回应,并遵循用户指定的语言和交付格式。

  • 接受用户在会话中提供的资料,或通过宿主已授权的文件工具读取其指定文件。需要检索、联网、数据库或业务账号时,先确认对应工具真实可用;没有连接器时,使用用户提供的文本或导出文件。
  • 文中的斜杠命令是任务示例,直接根据用户的自然语言请求启动同一流程即可;不要依赖 Claude 专属的插件命令或不存在的工具名称。
  • 不把示例中的实体、数字或工具结果当作用户事实,不虚构已读取、已执行、已发送或已发布。数据不足时说明缺项并完成现有资料支持的部分。
  • 如果任务需要计算或运行脚本,先确认代码运行环境及所需库。工具缺失时给出具体缺项;解释方法、生成草稿不等于已经运行计算。业务写入只使用真实存在且已经授权的工具。
  • 当前技能的资源路径均相对于本技能目录。运行脚本时从宿主提供的技能根目录解析绝对路径,用户资料与输出保存在工作目录,不写入技能资源目录。

优先接受分析文稿、SQL、计算结果和原始数据。只有文稿时审查逻辑与证据;没有原始数据或执行工具时,不声称已独立复算、已排除偏差或已验证准确。

/validate-data - Validate Analysis Before Sharing

If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.

Review an analysis for accuracy, methodology, and potential biases before sharing with stakeholders. Generates a confidence assessment and improvement suggestions.

Usage

/validate-data <analysis to review>

The analysis can be:

  • A document or report in the conversation
  • A file (markdown, notebook, spreadsheet)
  • SQL queries and their results
  • Charts and their underlying data
  • A description of methodology and findings

Workflow

1. Review Methodology and Assumptions

Examine:

  • Question framing: Is the analysis answering the right question? Could the question be interpreted differently?
  • Data selection: Are the right tables/datasets being used? Is the time range appropriate?
  • Population definition: Is the analysis population correctly defined? Are there unintended exclusions?
  • Metric definitions: Are metrics defined clearly and consistently? Do they match how stakeholders understand them?
  • Baseline and comparison: Is the comparison fair? Are time periods, cohort sizes, and contexts comparable?
2. Run the Pre-Delivery QA Checklist

Work through the checklist below — data quality, calculation, reasonableness, and presentation checks.

3. Check for Common Analytical Pitfalls

Systematically review against the detailed pitfall catalog below (join explosion, survivorship bias, incomplete period comparison, denominator shifting, average of averages, timezone mismatches, selection bias).

4. Verify Calculations and Aggregations

Where possible, spot-check:

  • Recalculate a few key numbers independently
  • Verify that subtotals sum to totals
  • Check that percentages sum to 100% (or close to it) where expected
  • Confirm that YoY/MoM comparisons use the correct base periods
  • Validate that filters are applied consistently across all metrics

Apply the result sanity-checking techniques below (magnitude checks, cross-validation, red-flag detection).

5. Assess Visualizations

If the analysis includes charts:

  • Do axes start at appropriate values (zero for bar charts)?
  • Are scales consistent across comparison charts?
  • Do chart titles accurately describe what's shown?
  • Could the visualization mislead a quick reader?
  • Are there truncated axes, inconsistent intervals, or 3D effects that distort perception?
6. Evaluate Narrative and Conclusions

Review whether:

  • Conclusions are supported by the data shown
  • Alternative explanations are acknowledged
  • Uncertainty is communicated appropriately
  • Recommendations follow logically from findings
  • The level of confidence matches the strength of evidence
7. Suggest Improvements

Provide specific, actionable suggestions:

  • Additional analyses that would strengthen the conclusions
  • Caveats or limitations that should be noted
  • Better visualizations or framings for key points
  • Missing context that stakeholders would want
8. Generate Confidence Assessment

Rate the analysis on a 3-level scale:

Ready to share -- Analysis is methodologically sound, calculations verified, caveats noted. Minor suggestions for improvement but nothing blocking.

Share with noted caveats -- Analysis is largely correct but has specific limitations or assumptions that must be communicated to stakeholders. List the required caveats.

Needs revision -- Found specific errors, methodological issues, or missing analyses that should be addressed before sharing. List the required changes with priority order.

Output Format

## Validation Report

### Overall Assessment: [Ready to share | Share with caveats | Needs revision]

### Methodology Review
[Findings about approach, data selection, definitions]

### Issues Found
1. [Severity: High/Medium/Low] [Issue description and impact]
2. ...

### Calculation Spot-Checks
- [Metric]: [Verified / Discrepancy found]
- ...

### Visualization Review
[Any issues with charts or visual presentation]

### Suggested Improvements
1. [Improvement and why it matters]
2. ...

### Required Caveats for Stakeholders
- [Caveat that must be communicated]
- ...

Pre-Delivery QA Checklist

Run through this checklist before sharing any analysis with stakeholders.

Data Quality Checks
  • Source verification: Confirmed which tables/data sources were used. Are they the right ones for this question?
  • Freshness: Data is current enough for the analysis. Noted the "as of" date.
  • Completeness: No unexpected gaps in time series or missing segments.
  • Null handling: Checked null rates in key columns. Nulls are handled appropriately (excluded, imputed, or flagged).
  • Deduplication: Confirmed no double-counting from bad joins or duplicate source records.
  • Filter verification: All WHERE clauses and filters are correct. No unintended exclusions.
Calculation Checks
  • Aggregation logic: GROUP BY includes all non-aggregated columns. Aggregation level matches the analysis grain.
  • Denominator correctness: Rate and percentage calculations use the right denominator. Denominators are non-zero.
  • Date alignment: Comparisons use the same time period length. Partial periods are excluded or noted.
  • Join correctness: JOIN types are appropriate (INNER vs LEFT). Many-to-many joins haven't inflated counts.
  • Metric definitions: Metrics match how stakeholders define them. Any deviations are noted.
  • Subtotals sum: Parts add up to the whole where expected. If they don't, explain why (e.g., overlap).
Reasonableness Checks
  • Magnitude: Numbers are in a plausible range. Revenue isn't negative. Percentages are between 0-100%.
  • Trend continuity: No unexplained jumps or drops in time series.
  • Cross-reference: Key numbers match other known sources (dashboards, previous reports, finance data).
  • Order of magnitude: Total revenue is in the right ballpark. User counts match known figures.
  • Edge cases: What happens at the boundaries? Empty segments, zero-activity periods, new entities.
Presentation Checks
  • Chart accuracy: Bar charts start at zero. Axes are labeled. Scales are consistent across panels.
  • Number formatting: Appropriate precision. Consistent currency/percentage formatting. Thousands separators where needed.
  • Title clarity: Titles state the insight, not just the metric. Date ranges are specified.
  • Caveat transparency: Known limitations and assumptions are stated explicitly.
  • Reproducibility: Someone else could recreate this analysis from the documentation provided.

Common Data Analysis Pitfalls

Join Explosion

The problem: A many-to-many join silently multiplies rows, inflating counts and sums.

How to detect:

-- Check row count before and after 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 (uh oh)

How to prevent:

  • Always check row counts after joins
  • If counts increase, investigate the join relationship (is it really 1:1 or 1:many?)
  • Use COUNT(DISTINCT a.id) instead of COUNT(*) when counting entities through joins
Survivorship Bias

The problem: Analyzing only entities that exist today, ignoring those that were deleted, churned, or failed.

Examples:

  • Analyzing user behavior of "current users" misses churned users
  • Looking at "companies using our product" ignores those who evaluated and left
  • Studying properties of "successful" outcomes without "unsuccessful" ones

How to prevent: Ask "who is NOT in this dataset?" before drawing conclusions.

Incomplete Period Comparison

The problem: Comparing a partial period to a full period.

Examples:

  • "January revenue is $500K vs. December's $800K" -- but January isn't over yet
  • "This week's signups are down" -- checked on Wednesday, comparing to a full prior week

How to prevent: Always filter to complete periods, or compare same-day-of-month / same-number-of-days.

Denominator Shifting

The problem: The denominator changes between periods, making rates incomparable.

Examples:

  • Conversion rate improves because you changed how you count "eligible" users
  • Churn rate changes because the definition of "active" was updated

How to prevent: Use consistent definitions across all compared periods. Note any definition changes.

Average of Averages

The problem: Averaging pre-computed averages gives wrong results when group sizes differ.

Example:

  • Group A: 100 users, average revenue $50
  • Group B: 10 users, average revenue $200
  • Wrong: Average of averages = ($50 + $200) / 2 = $125
  • Right: Weighted average = (100*$50 + 10*$200) / 110 = $63.64

How to prevent: Always aggregate from raw data. Never average pre-aggregated averages.

Timezone Mismatches

The problem: Different data sources use different timezones, causing misalignment.

Examples:

  • Event timestamps in UTC vs. user-facing dates in local time
  • Daily rollups that use different cutoff times

How to prevent: Standardize all timestamps to a single timezone (UTC recommended) before analysis. Document the timezone used.

Selection Bias in Segmentation

The problem: Segments are defined by the outcome you're measuring, creating circular logic.

Examples:

  • "Users who completed onboarding have higher retention" -- obviously, they self-selected
  • "Power users generate more revenue" -- they became power users BY generating revenue

How to prevent: Define segments based on pre-treatment characteristics, not outcomes.

Other Statistical Traps
  • Simpson's paradox: Trend reverses when data is aggregated vs. segmented
  • Correlation presented as causation without supporting evidence
  • Small sample sizes leading to unreliable conclusions
  • Outliers disproportionately affecting averages (should medians be used instead?)
  • Multiple testing / cherry-picking significant results
  • Look-ahead bias: Using future information to explain past events
  • Cherry-picked time ranges that favor a particular narrative

Result Sanity Checking

Magnitude Checks

For any key number in your analysis, verify it passes the "smell test":

Metric Type Sanity Check
User counts Does this match known MAU/DAU figures?
Revenue Is this in the right order of magnitude vs. known ARR?
Conversion rates Is this between 0% and 100%? Does it match dashboard figures?
Growth rates Is 50%+ MoM growth realistic, or is there a data issue?
Averages Is the average reasonable given what you know about the distribution?
Percentages Do segment percentages sum to ~100%?
Cross-Validation Techniques
  1. Calculate the same metric two different ways and verify they match
  2. Spot-check individual records -- pick a few specific entities and trace their data manually
  3. Compare to known benchmarks -- match against published dashboards, finance reports, or prior analyses
  4. Reverse engineer -- if total revenue is X, does per-user revenue times user count approximately equal X?
  5. Boundary checks -- what happens when you filter to a single day, a single user, or a single category? Are those micro-results sensible?
Red Flags That Warrant Investigation
  • Any metric that changed by more than 50% period-over-period without an obvious cause
  • Counts or sums that are exact round numbers (suggests a filter or default value issue)
  • Rates exactly at 0% or 100% (may indicate incomplete data)
  • Results that perfectly confirm the hypothesis (reality is usually messier)
  • Identical values across time periods or segments (suggests the query is ignoring a dimension)

Documentation Standards for Reproducibility

Analysis Documentation Template

Every non-trivial analysis should include:

## Analysis: [Title]

### Question
[The specific question being answered]

### Data Sources
- Table: [schema.table_name] (as of [date])
- Table: [schema.other_table] (as of [date])
- File: [filename] (source: [where it came from])

### Definitions
- [Metric A]: [Exactly how it's calculated]
- [Segment X]: [Exactly how membership is determined]
- [Time period]: [Start date] to [end date], [timezone]

### Methodology
1. [Step 1 of the analysis approach]
2. [Step 2]
3. [Step 3]

### Assumptions and Limitations
- [Assumption 1 and why it's reasonable]
- [Limitation 1 and its potential impact on conclusions]

### Key Findings
1. [Finding 1 with supporting evidence]
2. [Finding 2 with supporting evidence]

### SQL Queries
[All queries used, with comments]

### Caveats
- [Things the reader should know before acting on this]
Code Documentation

For any code (SQL, Python) that may be reused:

"""
Analysis: Monthly Cohort Retention
Author: [Name]
Date: [Date]
Data Source: events table, users table
Last Validated: [Date] -- results matched dashboard within 2%

Purpose:
    Calculate monthly user retention cohorts based on first activity date.

Assumptions:
    - "Active" means at least one event in the month
    - Excludes test/internal accounts (user_type != 'internal')
    - Uses UTC dates throughout

Output:
    Cohort retention matrix with cohort_month rows and months_since_signup columns.
    Values are retention rates (0-100%).
"""
Version Control for Analyses
  • Save queries and code in version control (git) or a shared docs system
  • Note the date of the data snapshot used
  • If an analysis is re-run with updated data, document what changed and why
  • Link to prior versions of recurring analyses for trend comparison

Examples

/validate-data Review this quarterly revenue analysis before I send it to the exec team: [analysis]
/validate-data Check my churn analysis -- I'm comparing Q4 churn rates to Q3 but Q4 has a shorter measurement window
/validate-data Here's a SQL query and its results for our conversion funnel. Does the logic look right? [query + results]

Tips

  • Run /validate-data before any high-stakes presentation or decision
  • Even quick analyses benefit from a sanity check -- it takes a minute and can save your credibility
  • If the validation finds issues, fix them and re-validate
  • Share the validation output alongside your analysis to build stakeholder confidence

版本记录

版本发布日期更新说明
1.0.02026-10-20-

相关技能

全部技能 →
Excel 表格处理 图标

Excel 表格处理

办公效率、数据分析

打开、读取、编辑和修复表格文件,支持 .xlsx、.xlsm、.csv 和 .tsv 格式。

数据探索分析报告 图标

数据探索分析报告

办公效率、数据分析

读取表格文件,进行数据画像、相关性分析和异常值检测,生成交互式图表报告与分析摘要。

会议沟通复盘 图标

会议沟通复盘

办公效率、数据分析

分析会议转写中的发言比例、提问、打断和行动项清晰度,给出带原文证据的沟通建议。

财务账目对账 图标

财务账目对账

办公效率、数据分析

比较总账、明细账、银行及第三方账单,分类差异、识别时间性项目并整理账龄。

预算与经营差异分析 图标

预算与经营差异分析

办公效率、数据分析

比较预算、实际与同期,把收入或成本变化分解为价格、数量、组合等因素。

财务月结管理 图标

财务月结管理

办公效率、数据分析

按月结前、关账日及后续日程整理任务、负责人、依赖、阻塞与进度。

把团队的做事方法沉淀为技能

在技能中心导入技能包、从平台资源生成或在线编写,发布后安装到超级AI助理使用。

前往技能中心
©2025 极简未来
粤ICP备2023060400号
网信算备440307657151501250017号
购买咨询