分析前先让 AI 帮你把指标口径写清楚
同一个「复购率」,你跑 30%、同事跑 38%,不是 SQL 错,是没人写过口径。分析前让 AI 把指标定义、时间窗口、去重和排除规则列成文档,先确认再写代码。
适合人群
刚接触 AI、做主数据分析和报表、常被「你的数怎么跟我不一样」问住的数据分析新人
先解决什么
分析结果总跟别人对不上,因为开始跑数前没把指标口径写清楚,定义、时间窗口、去重和排除规则全是模糊的。
学完结果
一份带版本号的《指标口径定义文档》,包含名称、公式、对象、窗口、来源、去重、排除和版本,先确认再写 SQL。
你会学到什么
先写口径再写 SQL,能省下至少一次返工
让 AI 只整理你给的信息,缺字段标【待确认】,不许它编表名
时间窗口要写「以哪个时间为准」,只写 30 天没人能复算
去重和排除规则列成清单,报告里才不会出现两个数
开场困境
三个「复购率」,没一个说得清
老板让你把「复购率」跑出来。你打开 CRM,那边有个「回购客户数」;打开订单表,能自己拼一个「第二次下单」;再翻数据仓库,同事已经算好一个 38%。你选了个看着顺眼的版本,跑完发现和同事上周的报告差了 8 个点。问题不在 SQL,在没人定义过复购率到底是什么。
分析前花 20 分钟把口径写清楚,比分析后花两天解释数字差在哪划算得多。
错误做法
丢一句公式就让它写 SQL,AI 只会顺着你编
新人最喜欢把「复购率=复购人数/总用户数」丢给 AI 让它直接写 SQL。AI 会立刻回一段能跑的代码,但你没问它把「复购」算成了什么:是第一次购买后 30 天内再买,还是今年买过两次就算?退款算不算?同一个人一天买两次算一次还是两次?口径没定,SQL 跑得越顺,越像在给自己编答案。
反例:只输入「复购率=复购人数/总用户数」就让 AI 写 SQL,它默认用「历史所有订单」,和你要的 30 天窗口对不上。
反例:统计单位写「用户数」,没说同一天多次购买是否去重,算出来比业务口径高。
反例:没说退款订单怎么算,退完又重买的客户被算两次,数字虚高。
反例:口径没存版本号,两周后你改了算法,别人还拿旧报告对比,处处对不上。
实操流程
5 步把口径从模糊变成可确认的文档
输入样例:把你拿得到的字段说明原样贴给 AI,例如「user_id(用户ID)、order_id(订单号)、order_time(下单时间)、pay_amount(实付金额)、order_status(订单状态:pending/paid/cancelled/refunded)、first_order_time(首单时间)」,再加一句业务期望「复购率要看 30 天内第二次购买」。
- 先写一句话定义:谁、算什么、什么时间内。示例:「过去 30 天里,首次购买后再次下单的客户数 ÷ 首次购买客户数」。
- 把字段说明和业务期望贴给 AI,让它按八个字段出草稿:名称、计算公式、统计对象、时间窗口、数据来源、去重规则、排除规则、版本。
- 要求 AI 只使用你给的信息,字段里没有的一律写【待确认】,不许编表名、字段名或阈值。
- 让 AI 单列【歧义清单】,标出同一句话会算出不同结果的地方,例如退款、当日多单、跨渠道。
- 拿草稿找业务逐条确认,确认后把版本号改成 v1.0,再开始写 SQL。
案例
AI 把字段缺口标了出来,没替你编
输入:上面那段字段说明,加上业务期望「复购率要看 30 天内第二次购买」。
AI 输出:计算公式=首购后 30 天内再次下单的客户数 ÷ 期内首购客户数;统计对象=有 paid 订单的客户;时间窗口=首购后 30 个自然日,以 order_time 计;来源=订单表(order_status='paid');去重=同一客户一天内多次再购按 1 次计;排除=pending 和 cancelled 不计;【待确认】=refunded 是否剔除、跨渠道是否合并。
你检查发现字段说明里根本没有 first_order_time,AI 没编,而是标了【待确认】。你回去找业务补了这个字段,口径才成立。这一条就是 AI 帮你拦住的最大的坑。
可复制提示词
直接复制这条提示词
把字段说明和业务期望粘贴进去,AI 会输出八个字段的口径草稿、歧义清单和待确认信息,不会替你编数据。
你是我的数据分析口径记录员。我要在下周做一份指标分析,先把指标口径写清楚。请根据我提供的字段说明和业务期望,输出一份《指标口径定义文档》,包含八个字段:1.指标名称;2.计算公式(写清分子分母);3.统计对象(哪个用户/订单群体);4.时间窗口(以哪个时间字段为准);5.数据来源(具体到表名和字段);6.去重规则(同一对象多次出现怎么算);7.排除规则(哪些订单/用户不算);8.口径版本(先写 v0.1 草稿)。规则:1.只能使用我提供的字段和文字,没有的信息一律写【待确认】,不要编造表名、字段名或阈值;2.把可能被不同人理解成不同算法的点单独列成【歧义清单】,例如退款、当日多单、跨渠道;3.输出结束后用一句话告诉我:还有哪些信息没问到。
字段说明:[粘贴字段清单]
业务期望:[粘贴一句业务期望]人工检查
写 SQL 前,过一遍这六项
AI 帮你把口径组织成文档,真正拍板的是业务和你。每确认一项就改一项,这张表才会成为大家认的数。
八个字段都有内容吗?缺的必须标【待确认】,不能留空。
公式能复算吗?拿最近 3 天的真实订单按公式手工加一遍。
时间窗口写清「以哪个时间为准」了吗?只写「30 天」不合格。
去重规则写清同一客户多次购买算几次了吗?
排除规则可判断吗?「退款不算」可以,「异常订单」不行。
版本号更新到 v1.0 了吗?SQL 注释里也要带上版本号。
可直接套用的流程
1. 先写清楚任务目标:这次要让 AI 帮你完成什么工作,而不是泛泛地问一个问题。
2. 再给资料边界:哪些背景、数据、约束、口径必须被使用,哪些内容不能编。
3. 最后规定输出格式:用清单、表格、方案、话术还是复盘报告,并保留人工检查。
本篇所在栏目「数据分析」
本专题第 1 篇 / 共 7 篇