UBA RESEARCHBEHAVIOR / SYSTEMS / DECISIONS
下载研究报告
CHAPTER 09 · CORE / ANALYTICS

核心模块(下):从漏斗到 Agent,分析如何变成行动

漏斗、留存、路径的差别不在图表,而在窗口、计数单位与重入;这些默认值决定 AI 给出的是洞察,还是更快的错误。

9,261 字 24 分钟 48 条引用

同一批事件,三家平台可以给出三个不同的注册转化率,而三家都没有算错。差别不在查询引擎,在四个默认值:计数单位(用户、会话还是事件)、时间窗口(从哪一步起算、重复进入是否重置)、属性归属(取事件发生时的值还是用户当前的值)、行动权限(能不能把人群送出去、能不能改实验分组)。

这四件事没有行业标准,只有厂商默认值。迁平台时最先变的不是图表,是漏斗的分母与留存的同期群(cohort);对账时最先对不上的不是转化率,是分子分母。2026 年,这件事变得更贵:计价单位从 MAU 转向事件量,回放从独立品类变成套件标配,实验与 flag 被并进分析平台,AI 从问答走到定时监控与执行动作(Amplitude 定价、Mixpanel 2025 年定价公告、PostHog 定价)。功能清单越来越长,默认值越来越难看见。

判断:分析模块的竞争已经从“能不能算”移到“默认值是否与业务周期一致”。漏斗窗口 7 天还是 30 天,决定了你把谁记为失败;留存 cohort 是新用户还是活跃用户,决定了曲线是升还是降。采购与迁移的第一件事不是比图表,是把这些默认值逐条写进合同附件。

本章把分析拆成五个原语和九个模块,先讲数学假设与产品陷阱,再讲行动层,最后给一张按模块而不是按厂商的选型表。厂商路线差异留给第 2、3 章;这里只关心一件事:这个数字能不能被复核。证据以公开文档完整的四家国际平台为主;中国厂商的模块默认值公开资料少,只能进 POC 与合同,本章按待核实处理。

9.1 分析原语:五个参数决定所有模块#

所有分析模块都是五个原语的组合:计数、去重、窗口、顺序、分配。 事件分析是计数加分组;漏斗是计数加窗口加顺序;留存是去重加周期;路径是顺序加剪枝;归因是分配;人群是去重加规则。看懂这五个原语,功能表上的大多数差异会从“能力有无”变成“参数取值”。

把模块拆成三层,争论会清楚很多。计算层负责扫描、聚合、连接、去重,ClickHouse、Doris、Spark 都能做,差异在性能与成本;语义层负责指标定义、身份解析、会话切分、渠道分类与 cohort 口径,它决定“同一个问题为什么答案不同”;行动层负责人群下发、实验、引导、告警与 Agent,它决定分析能不能变成动作,也决定替换成本。功能清单只覆盖计算层,采购真正要比的是语义层的默认值与行动层的权限模型。

契约 它决定什么 最容易出事的模块 改一次会发生什么
计数单位 一个人、一次会话,还是一条事件算一次 漏斗、留存、人群 同期的“转化人数”可以差出倍数,历史报表不可比
时间窗口 从哪一步起算、看多久、是否重置 漏斗、留存、归因 窗口从 7 天改到 30 天,“流失”变“转化”
属性归属 取事件发生时的值,还是用户当前的值 人群、归因、分组 用今天的标签解释去年的行为,人群不可复现
行动权限 能不能写、写给谁、谁批准 CDP、实验、引导、Agent 一次误发人群或误改 flag,比一张错报表贵得多

四个契约要落地,靠的不是文档,是指标对象。一个可用的指标至少有:ID、名称、定义、事件与过滤、窗口、计数单位、owner、版本、SQL、校验用例。图表引用指标版本,改定义产生新版本,旧报表仍可复现。没有这一层,“转化率”只是三个看板上三个同名的数。指标还要有血缘:它由哪些事件、哪些属性、哪段 SQL 生成;上游事件改名或删除,哪些看板会受影响。没有血缘,治理只能靠人记。

9.2 漏斗:分母、窗口与重入#

漏斗(funnel)的定义只有一句话:一组有序或无序的步骤,加一个转化窗口。 用户从第一步进入,在窗口内完成全部步骤即算转化。设 E 为窗口内进入第一步的人数,C_k 为完成第 k 步的人数,整体转化率是 |C_K|/|E|,相对转化率是 |C_k|/|C_{k-1}|。

这里有一个容易被忽略的数学条件:只有在“单次进入、步骤嵌套、无排除”时,整体转化率才等于各步相对转化率的乘积。一旦允许重入、任意顺序或中途排除,连乘就会高估或低估。多数漏斗截图没有告诉读者它属于哪种情况。

三家的默认值不同,而且都能自洽。Amplitude 按“最长且最早”的转化序列给每个用户计数:先找完成步骤最多的序列,再取其中最早的一条;勾选 hold constant by session 后,统计单位从用户变成“用户 × 会话”(Amplitude 漏斗文档)。Mixpanel 默认 7 天窗口,最长 366 天或 12 个会话;计时从第一次 Step 1 开始,后面重复的 Step 1 不会重置;重入分 default 与 optimized re-entry,计数单位分 Uniques、Totals、Sessions(Mixpanel 漏斗文档)。PostHog 提供 sequential、strict order、any order 三种顺序;排除步骤会把这些人从整个漏斗里剔除,而不只是从某一步剔除(PostHog 漏斗文档)。

维度 Amplitude Mixpanel PostHog
漏斗计入 去重用户,按最长且最早的序列 Uniques / Totals / Sessions 去重用户(文档以 unique users 示例)
窗口与起算 可配置;按会话锁定后单位为用户×会话 默认 7 天,最长 366 天或 12 会话;从首次 Step 1 起算 按洞察配置,文档未列统一默认值(待核实)
重入 取决于计数单位与 hold constant default 与 optimized re-entry 文档未强调(待核实)
排除步骤 待核实 不能放在首尾 被排除者从整个漏斗剔除

最常见的错误不是算错,是窗口选错。B2B 试用、保险投保、家装决策的周期经常超过 14 天,7 天窗口会把“后来转化”记成“未转化”。举个只用于说明逻辑的例子:某用户 1 月 1 日进入漏斗,1 月 10 日完成最后一步。7 天窗口记为未转化,30 天窗口记为转化;如果他在 1 月 5 日又触发一次第一步,Mixpanel 默认不会重置计时,optimized re-entry 会把第二次进入当成新漏斗。同一个人的结果可能相反,两张报表都没有算错。

还有三个更隐蔽的:分母漂移——日期范围内发生 Step 1、但 Step 2 落在范围外,报表会把后者算成流失;属性归因错位——前端事件有 browser、后端事件没有,按 browser 拆分时默认取 first touchpoint,会把后端步骤的人分到错误桶里;身份未合并——Mixpanel 明确提示 ID Merge 最长需要 24 小时,合并前当天的漏斗可能少算转化(Mixpanel FAQ)。日报里那些“今天转化率掉了”,有一部分只是身份还没合并。

所以顺序不能反:先用路径发现真实序列,再定义漏斗。反过来做,得到的是设计者想象中的流程,不是用户走出来的流程。

9.3 留存:cohort 定义比曲线形状重要#

留存(retention)回答的是:完成某个起始事件的人,在第 n 个周期是否回来完成返回事件。 N-day 留存 R_n = |A_n|/|C|(C 为 cohort 人数),只数第 n 个周期恰好回来的人;滚动或无界留存 U_n = |∪A_m|/|C|(m ≥ n),数第 n 个周期及以后回来过的人。前者可升可降,后者单调不增,两条线不能画在同一张图上比较。

半衰期 h = min{n : U_n ≤ 0.5},比“Day 30 留存”更适合跨产品比较,因为它不依赖某个固定周期。但它不适合回答“第 7 天发生了什么”:前者是生存分析,后者是周期行为,混用会让团队在“留存变好”和“留存变差”之间反复横跳。

cohort 定义比曲线形状重要。Amplitude 默认看新用户,以用户触发起始事件的日期作为入口,Return On or After 指第 7 天及以后回来的人,支持最多 100 个自定义 bracket(Amplitude 留存文档)。Mixpanel 的 cohort 是“在该周期内做过 A 事件的人”,同一个人可以在多个周期里各算一次,默认 On or After,另有 On、On or Before、Streak 三种(Mixpanel 留存文档)。PostHog 提供 first time、first ever occurrence、recurring 三种 cohort 口径,返回口径分 On 与 On or after,均值分 weighted 与 simple(PostHog 留存文档)。同一张留存表,三种入口,三条曲线。

最常见的错误有五个:起始事件选“任意事件”,人人 100% 留存;分母用 DAU 而不是 cohort,把“活跃”混成“留存”;新老用户混算,渠道结构变化被误读成产品改进;右删失——最近的 cohort 还没走完 Day 30 就画曲线,末尾自然下垂;低频产品用日留存。前四个是定义与呈现问题,最后一个是用错周期:先用使用间隔(usage interval)看自然使用周期,再决定看周留存还是月留存。

留存常被当作 product-market fit 的证据,但高留存也可能来自强制使用、合同绑定或推送。判断 PMF 至少要看三件事:自然使用周期内的留存、主动行为的比例、付费或推荐的意愿。单看一条曲线,结论会很脆。

判断:漏斗与留存没有行业标准,只有厂商默认值。迁平台时最先变的不是图表,是这两个数;对账时不要先比转化率,先比分子分母——入口人数、各步人数、窗口内完成人数。分子分母都对上,比率才有意义。

9.4 路径:Sankey 的宽度不是转化率#

路径(path)图把会话内的事件序列聚合成有向图:节点是事件或页面,边是转移,宽度是人数。 路径数量随深度指数增长,所以任何可视化都在做剪枝:只显示 top N、设最小人数、合并通配符、清理动态 URL。PostHog 的 Paths 支持 pageview、screen、自定义事件和 SQL 表达式,也支持 wildcard group、path cleaning、排除事件与最小/最大人数(PostHog Paths);Mixpanel 的 Flows 用 Sankey,默认展示锚点事件之后的 3 步,可向前或向后扩展(Mixpanel Flows)。

读图有三个陷阱。第一,节点高度是人数,不是转化率;没有分母,宽节点只说明“到过的人多”。第二,采样会让长尾路径消失:1% 采样下,真实占比 0.05% 的路径期望只剩零头,“没人走”可能只是没被采到。第三,路径是共现,不是因果;用户先看帮助文档再付费,不等于帮助文档促成付费。

路径图最有价值的用法不是看全图,是看分叉点:在哪个节点分叉、分叉后哪条支路的人更少、少的那条是不是因为缺引导。把它与漏斗的 drop-off 对齐,比盯着一张密不透风的 Sankey 有用。最小可用是一条锚点事件、前后各 3 步、一个最小支持阈值、一套 URL 清洗规则,并在图上注明是否采样。无限下钻的全景路径和“自动发现最佳路径”都是伪需求:前者没人看得完,后者没有对照。

原语 最小定义 最常见错误 上线验收
漏斗 入口事件、2–5 步、转化窗口、计数单位 窗口短于决策周期;重入口径不一致;排除被当全局过滤 换一种计数单位,结果差异能解释
留存 起始事件、返回事件、周期、cohort 分母 起始事件选“任意事件”;右删失未标注;低频产品用日留存 最近 cohort 标了“未完成”,分母可复算
路径 锚点事件、前后步数、最小支持阈值 把节点宽度当转化率;采样吞掉长尾;把共现当因果 图上写明采样率与最小人数

9.5 人群与画像:时间语义决定名单#

人群(cohort)是按属性规则或行为规则圈出的用户集合,可用于分析过滤、下发与实验分层。 它看起来只是筛选器,实际上是分析平台里最像承诺的对象:一旦人群被送到广告平台或 CRM,它就不再是一张图,而是一份要花钱的名单。

三种时间语义决定名单。Amplitude 把窗口分为 During(选定日期范围内,滚动更新)、Since(从某天起累计)、Within(每个用户首次使用后的 X 天内)。同一个“过去 30 天活跃”,During 每天漂移,Since 只增不减,Within 对每个用户固定(Amplitude cohort 文档)。选错语义,人群规模会随报表日期变化,而运营看到的只是“人数又变了”。

属性覆盖是第二个坑。Mixpanel 明确写:用户属性只保存最新值,含用户属性的人群条件用“当前值”,即使该值在历史上已经变化。这意味着“2024 年 1 月的上海用户”这类人群,今天重建会得到不同结果;历史属性必须显式加时间与度量,否则不可复现(Mixpanel cohorts)。画像同理:用户表存的是“现在”,分析要的是“当时”;没有版本,画像只能服务当下运营,无法解释历史。

能力差异在计数方式与规则组合上。Amplitude 支持六种计数:次数、相对次数、属性总和、属性去重值、历史次数、区间内次数;Mixpanel 支持行为条件、AND/OR 组合与 CSV 静态导入,CSV 人群不会随时间更新;PostHog 的 cohort 可做漏斗与留存的过滤器,但一次只能用一个 cohort 做漏斗拆分,因为用户可能同时属于多个人群(PostHog 漏斗文档)。

RFM 与 LTV 是最容易被做成“伪精确”的两件事。RFM 的常见做法是把 R、F、M 各分五档,拼成 125 组;分位点必须固定,否则本月的高价值用户到下月会被重新定义。LTV 的简化式是 ARPU × 毛利率 × 平均生命周期,平均生命周期用留存曲线下的面积估计,而不是用 1/churn 拍一个数。预测人群多数是 propensity(会不会发生),不是 uplift(营销带来的增量),两者在投放决策上不能互换。

人群不是标签的容器,是带时间戳的查询结果。 人群太小,广告平台匹配率低;多个人群叠加,重复计数。最小可用是 3–5 条规则、明确时间窗、可保存、可导出、注明更新频率。

9.6 归因:模型是表层,ID 是底层#

归因(attribution)是把一次转化的功劳分配给路径上的触点。 模型决定分配规则,lookback 决定哪些触点有资格,渠道映射决定触点归到哪个桶。五个常见模型在单次转化内的学分之和都是 1,但不同模型之间不可加总——这是归因报表最常被误用的地方。

模型 分配规则 适用 主要偏差 什么时候会骗你
First-touch 首个触点 100% 品牌拉新 高估上游,低估转化页 自然转化全记在第一次曝光上
Last-touch 末个触点 100% 直接响应 高估收割渠道 品牌词与 direct 抢走全部功劳
Linear 所有触点均分 触点同等重要 稀释关键触点 长路径上每个触点都显得平庸
Position 首尾各 40%,中间均分 强调开场与收尾 中间触点被低估 内容与社群渠道长期背锅
Time-decay 越近权重越高 短决策周期 忽略早期种草 长周期业务里早期触点消失

一次转化若有四个触点,linear 每个 25%,position 首尾各 40%、中间各 10%,last-click 全给最后一个。渠道排名通常不同。这是模型差异,两张报表都没有算错。

GA4 的真实产品面比行业印象窄。归因报告只提供三种模型:data-driven、paid and organic last click、Google paid channels last click;除全 direct 路径外,direct 访问不获得归因学分;data-driven 用转化与未转化路径训练,转化后 7 天内可重新归因(GA4 归因说明)。归因设置里的 lookback 对 first_open 与 first_visit 默认 30 天(可改 7 天),其他关键事件默认 90 天(可选 30 或 60 天)(GA4 归因设置)。行业常说“六种模型随便选”,GA4 的产品里并没有这个选项。

Amplitude 的渠道分类器是另一类问题:规则在查询时逐事件执行,不落库,改规则会改历史报表。这意味着“渠道”不是一个稳定维度,而是当前规则对历史的重新解释;做同比前必须先冻结规则版本(Amplitude 营销分析文档)。

移动端的墙更高。ATT 在 iOS 14.5+ 要求授权后才能访问 IDFA,未授权时 IDFA 全零,用哈希邮箱或手机号绕过同样需要授权(Apple ATT)。SKAdNetwork 自 iOS 11.3 起提供安装验证,v4 自 iOS 16.1 起可用;对 App Store 广告,Apple 已要求改用 AdAttributionKit(iOS 17.4+):三次转化窗口、按人群匿名阈值分层、安装转化中最多 5 个非获胜网络的回传,且不含用户级标识(AdAttributionKit、SKAdNetwork)。平台归因与应用内归因因此不可能完全对上。

归因回答“谁拿到了功劳”,增量回答“如果没有这个触点,转化会不会发生”。前者可以用规则算,后者需要对照或因果模型。把归因当增量,最常见的后果是给本来就会转化的人重复发券。六个高频错误:lookback 短于决策周期、把多个广告平台报告的转化直接相加、忽略 direct 与品牌词的蚕食、用 last-click 评估品牌广告、改完渠道分类器直接做同比、把 SKAdNetwork 的转化值当收入。

判断:归因的瓶颈已经从模型转向 ID 与同意。模型选择是治理问题——先冻结 lookback 与渠道分类器版本,再谈 first-touch 还是 data-driven;没有统一 ID 的“全渠道归因”,只是把三份不可加总的报表放进同一个看板。

9.7 回放与热图:默认遮罩就是合规成本#

回放的真实差异不是“能不能录”,是“默认遮住什么”;热图的差异在它依赖哪种采集。 Web 回放记录 DOM 快照与增量变更,在播放器里重建页面;移动端没有 DOM,通常直接录屏或按帧捕获。Mixpanel 明确区分这两件事:Web 采集 DOM 结构与变更,本质是重建;移动端采集实际屏幕像素,包含滚动、轮播、自动滚动(Mixpanel 回放文档)。这个差异决定体积、性能与遮罩方式都不同。

Web 回放的链路是初始化快照、DOM 变更、输入事件、鼠标与滚动、网络请求与控制台,播放器按时间戳重放。任何一个环节采样或丢失,回放就会与事件对不上。移动端按帧捕获,体积更大,通常需要更激进的采样与更长的上传间隔,因此更不适合“全量”。回放也从独立品类变成了套件标配:Amplitude Free 含每月 1 万条回放,Mixpanel Free 同样含每月 1 万条,FullStory Free 给到每月 3 万 sessions(Amplitude 定价、Mixpanel 2025 年定价公告、FullStory Free 计划)。差异化因此转到隐私默认值、移动端采集与采样控制。

厂商 默认遮什么 遮罩边界与灰区 保留与采样
Mixpanel 所有非输入文本、输入框;图片与视频阻断 客户端执行,原文不发送 全局采样,或按事件触发采集
Amplitude Medium 档:表单字段与文本输入 其他文本原样采集;alt、title、placeholder、aria-label、value、data-* 等 HTML 属性不遮 React Native 远程遮罩可能不稳,建议用 AmpMaskView 手动遮
PostHog 输入框 普通文本不遮 按 session ID 哈希采样;可按 URL、事件、flag 设触发组
Pendo 三档 Web、两档移动配置(默认档未列明,待核实) CSS 选择器仅 Web;移动端需 SDK 3.14.0+ 代码规则 默认保留 30 天(可扩 90 天),clip 保留一年

这张表最值得看的是“遮罩边界与灰区”那一列。Mixpanel 的默认最保守,所有非输入文本都遮(Mixpanel 隐私控制);Amplitude 的 Medium 是默认级别,HTML 属性不在遮罩范围(Amplitude 隐私设置);PostHog 只遮输入框(PostHog 隐私控制);Pendo 的 Web 与移动是两套规则,移动端要用 SDK 3.14.0+ 的代码级规则,默认保留 30 天(Pendo 隐私文档)。很多页面把订单号、邮箱、地址写进 data-* 或 placeholder,遮了输入框不等于遮了这些字段;Mixpanel 的代价则是回放里看不到正文,排查体验问题时要临时放开。

遮罩在客户端执行,这一点决定合规成本落在哪:服务端遮罩意味着原文已经离开浏览器,客户端遮罩意味着规则写在前端代码里,改一次要发版。采购时问“默认遮什么”比问“能不能遮”有用。

采样也要写清楚。PostHog 按 session ID 哈希确定采样,同一会话的决策稳定;触发组可以按 URL、事件、feature flag 分别设置采样率与最短时长(PostHog 采集控制)。Mixpanel 支持全局采样,也支持“1% 全局加命中 checkout_error 时 100%”这类事件触发采集。回放时间轴与事件时间轴不一致,通常来自时钟、批量上传与 ID merge,不是播放器坏了。

热图(heatmap)的可用性取决于采集前提。PostHog 的 clickmap 依赖 autocapture,scrollmap 依赖 pageleave 事件;免费版只允许采集 3 个页面;热图数据本身不计费,但没有 autocapture 就没有 clickmap(PostHog 热图)。把热图当“用户意图”的证据,是把点击密度当成了注意力。

判断:回放的默认遮罩就是合规成本,采样率就是存储成本。100% 采集与“全量回放”在演示里最好看,在生产里最先撞上隐私审查与账单。回放能指出用户在哪一步停顿,不能解释停顿的原因,更不能证明改版有效。

9.8 告警与异常:先处理季节性,再谈 AI#

告警(alert)是对一个已保存指标的定期检查:静态阈值、相对变化,或异常检测(anomaly detection)。 它看起来是运维功能,实际是分析平台里最容易制造“狼来了”的地方。

检测器要匹配数据形态。计数型指标适合 Poisson 或负二项;连续型且近似正态的适合 Z-score;有离群点的适合 MAD 或 IQR;多维且分布未知的才轮到 Isolation Forest。PostHog 把这几种都摆出来:统计类(Z-score、MAD、IQR、阈值)、机器学习类(Isolation Forest、KNN、LOF、ECOD、COPOD)与集成(AND/OR)。它的 Z-score 与 MAD 默认做一阶差分,目的是把周期性的日、周波动转成变化量,避免把正常高峰当异常;官方建议噪声大的指标把 sensitivity 从 0.9 调到 0.95,并在保存前用模拟器回测(PostHog 告警文档)。

用错检测器,灵敏度调得再细也只是在拟合噪声。低流量指标用 z-score,方差估计不稳,应该用 Poisson、负二项或设最小量;不做季节性差分,周一涨就会被判异常。

根因分析(root cause analysis, RCA)是另一层。Mixpanel 的 RCA 先验证异常:用与时间粒度匹配的基线(小时约 24 小时、天约 14 天、周约 9 周、月约 6 个月)算 z-score,2 以上才认为不是噪声;再做同 weekday、同 hour 的季节性对照;然后由 LLM 选维度、跑拆分、算贡献度。贡献度的定义是“该段变化除以整体变化”,不是因果效应;置信度是 High、Medium、Low 的标签,不是统计区间。RCA 还有配额:Enterprise 300 次/天、Growth 70 次/天、Free 10 次/天(Mixpanel RCA)。

多重比较是最被低估的问题:100 个 5% 阈值的告警,期望有 5 个误报。告警没有 owner 与 runbook,误报就会被静音,静音之后真异常也没人看。最小可用是 3–5 个核心指标、一个静态阈值加一个同比、明确 owner、静默窗口。全指标异常检测与“AI 自动解释”是伪需求:前者制造噪声,后者制造没有复核的结论。

9.9 CDP、实验与应用内引导:最后一公里#

最后一公里由三个模块组成:把人群送出去(CDP)、把改动做成对照(实验)、把提示放到用户面前(引导)。 三者共用一套身份,任何一环对不上,前面的分析就停在看板上。

CDP 做三件事:采集与转发、身份解析、人群与下发。mParticle 的公开结构是 Collect、Validate、Connect,身份用 IDSync,质量用 Data Master,人群用 Audiences,出口用 Firehose(mParticle 文档)。它不提供事件语义治理,也不提供探索式分析;把它当分析平台,会得到一堆没有定义的宽表。分析厂商的“轻 CDP”则有硬限额:Mixpanel 的 Cohort Sync 支持一次性、每小时、每天、实时四种节奏,但每个项目最多 60 个动态同步、每个人群最多 1,000 万用户、只导出 6 个匹配字段(distinct_id、名、姓、partner_user_id、email、phone),且只有付费计划能保存 cohort(Cohort Sync)。这够做“把高价值人群推给 Braze”,不够做企业级 CDP。PostHog 把 CDP 做成 Data pipelines:sources 进、transformations 改、destinations 出(PostHog CDP)。

实验由三段组成:分配(flag 或随机化)、曝光(exposure 事件)、度量(事件、漏斗、仓库表)。2026 年 5 月 5 日,Amplitude 宣布接手 Statsig 的品牌与客户,并继续维护其云版与 warehouse-native 平台;Statsig 团队则在 2025 年 9 月 2 日加入 OpenAI(Amplitude 与 Statsig、Statsig 公告)。实验因此更像分析套件的一层,而不是独立品类。PostHog 的 Experiments 直接复用 flag 与事件,支持 Bayesian 与 frequentist,变体可关联回放(PostHog Experiments)。Amplitude Experiment 用 mSPRT 做序贯检验,允许随时查看结果;但它对 uniques 至少要有 25 个转化、每组 100 个曝光才计算 p 值与置信区间,对 average 与 sum 指标要求每组 100 个曝光(Amplitude 序贯检验文档)。这些是计算门槛,不是功效保证。

实验要先看样本比例失衡(sample ratio mismatch, SRM),再看指标。SRM 的常见原因是分配日志丢失、曝光事件重复、某个变体加载失败。guardrail 指标要提前定,不能等主指标显著后再找补。序贯检验解决的是“可以随时看”,不解决“同时看很多指标”带来的多重比较。

应用内引导的测量偏差更明显。Pendo 把引导分为 overlay 与 embedded:overlay 支持激活条件、排序与节流,embedded 只能随页面展示、不受排序影响;overlay 报告首次与重复查看,embedded 只报告首次查看(Pendo 指南文档)。被引导的人往往是已经活跃的人,没有 holdout 就无法区分“引导有效”与“本来就活跃”。常见错误也集中在这里:把 cohort sync 当实时;实验曝光与转化事件的时区、身份不一致;只看引导点击率不看留存;CDP 人群与仓库人群更新频率不同导致对不上。

9.10 AI 与 Agent:能力阶梯与可验证性#

AI 在产品分析里已经走完“能问答”的阶段,正在进入“能监控、能执行”。 2025 年 6 月 10 日 Amplitude 发布 AI Agents,到 2026 年 Q2 已形成 Global Agent 加四类专用 Agent 的结构(Amplitude 发布、Q2 财报);Mixpanel Agent、Pendo Agent Mode、PostHog AI 也先后落地(Mixpanel Agent、Pendo Agent Mode、PostHog AI)。问题是可验证性没有同步提升。

级别 能力边界 公开代表 必要控制 采购时问什么
辅助查询 自然语言转查询、生成图表;不解释指标口径 Amplitude Fast(2–10 秒、2–4 次工具调用)、Mixpanel Agent 只读;展示查询与口径 能不能看到生成的 SQL 与引用的指标版本
自动洞察 多步调查、根因、定时监控与主动推送;结论仍是假设 Amplitude Investigate(4–5 分钟、10 次以上调用)、专用 Agent 定时跑;Mixpanel RCA 基线、季节性、贡献度、置信标签;去重与静默 异常怎么验证、贡献度是不是因果
自动行动 建人群、发实验、改 flag、提 PR、触发引导 PostHog AI 建 flag 与 PR;Mixpanel Agent 建人群与报表;Amplitude 专用 Agent 人工审批、审计日志、回滚路径 做错时谁负责、多久能回滚
自动优化 无人值守地调整策略 未见公开生产证据 目标函数、停止条件、人工兜底 有没有可审计的目标函数与停止条件

同一个“AI”标签下,四家的写权限差了一个量级。Amplitude 的 Global Agent 提供三种模式:Fast 2–10 秒、2–4 次工具调用;Default 30–60 秒、4–6 次;Investigate 4–5 分钟、10 次以上(Agent Modes)。四类专用 Agent(Dashboard、Session Replay、Website Conversion、Customer Feedback)按计划运行,把结果推到 Agent Inbox、邮件或 Slack;涉及终端用户影响的动作需要人工批准(专用 Agent)。Mixpanel Agent 能建报表、建人群、分析回放、解释实验结果、跑 RCA,并有每日 RCA 配额。Pendo Agent Mode 明确只读、不写环境、不训练模型、不访问原始事件流。PostHog AI 能读项目数据、建看板、告警、flag,连仓库提 PR。神策把 Agent 定义为“L4 级”,但同样需要人设定目标与边界(发布会报道)。

评估至少要六个维度:语义正确、来源可查、可复现、权限一致、成本与延迟、升级路径。一个可执行的评估集是 20 个真实问题,每个问题有标准答案与参考 SQL;记录首次正确率、需要人工修正的比例、平均工具调用次数、平均延迟、权限越界次数;每两周重跑,模型或提示词变更后必须重跑。没有这张表,“AI 很好用”只是演示现场的印象。

PostHog 复盘一年 agent 经验时给了三条反直觉结论:eval 不足以覆盖真实多步任务,需要看生产 trace;把推理过程藏起来会让用户更不信任;顺序任务拆给子 agent 往往更差,因为每层抽象都丢上下文(PostHog 复盘)。这三条对买家同样成立:演示看的是能力上限,生产看的是失败率与可解释性。五个常见错误:用 NLQ 替代指标治理;不展示查询与口径;Agent 有写权限但没有审批与审计;用 LLM 做统计推断;只看 demo,不看真实 trace。

判断:AI 的能力上限由语义层决定。没有指标对象、没有查询溯源、没有权限继承的 Agent,只是把“猜口径”自动化了;它让错误更快抵达决策,而不是让决策更准。

9.11 模块选型:按验收方式,不按功能数量#

模块的成熟度不等于可用性。 到 2026 年,事件分析、漏斗、留存、路径、回放、告警在主流平台上都已商品化,真正的差异在默认值与退出成本;人群、CDP、实验、引导决定分析能不能变成动作;AI 决定这些动作能跑多快、由谁负责。

按验收方式,大部分模块可以归入三类:账本型(事件分析、漏斗、留存)要求可复算,同一查询今天与下周跑出的历史区间一致;证据型(路径、回放、归因、告警与 RCA)要求可追溯,图上写明采样率、遮罩范围与分类器版本;动作型(人群、CDP、实验、引导、AI)要求可回滚,做错时有人负责、有审计、能撤回。这张表给的是动作,不是评分;评分卡与 TCO 在第 11 章。

模块 要冻结的默认值 建议动作 失败长什么样
事件分析 计数单位、属性来源、时区与日界 先做指标对象,再买工具 两个看板两个数,会上先吵口径
漏斗 窗口起点、重入、排除范围 签约前用同一份事件跑三家 转化率不可比,迁移后历史作废
留存 cohort 定义、返回口径、右删失 先测使用间隔再定周期 最近 cohort 永远下垂
路径 采样率、最小人数、URL 清洗 只看分叉点,不买“全景路径” 长尾消失被当成“没人走”
人群 时间语义、历史属性、更新频率 每周复算,先确认下发目的地 名单漂移,投放重复
归因 lookback、分类器版本、direct 处理 冻结版本再做同比 渠道排名随规则变化
回放与热图 默认遮罩、采样率、保留期 先定遮罩再开录,专用工具即可 合规事故,或账单随留存翻倍
告警与 RCA 检测器、季节性、owner 3–5 个指标,先手工后自动 告警疲劳,真异常没人看
CDP 下发 同步频率、字段、失败重试 已有 CDP 就别买轻 CDP 把小时级同步当实时
实验 SRM、guardrail、多重比较 套件内够用,统计要求高再单买 先看主指标,后找 guardrail
引导 曝光口径、holdout、排序 归入产品运营工具 点击率高,留存没变
AI 只读/可写、审批、审计 只读先行,写权限最后给 更快地产生可信的错误

自建的顺序由依赖关系决定,不由难度决定:事件模型、事件分析、漏斗、留存、人群、回放、实验、AI。没有事件语义,漏斗与留存只是两段 SQL;没有稳定的人群,实验与引导无法复用;没有回放与事件对齐,AI 看到的“用户行为”只有半张图。AI 放最后,因为它放大的是语义层的能力,也放大语义层的错误。

选型会上最值得问的六个问题:漏斗窗口从哪一步起算、重复进入会不会重置;留存默认 cohort 是新用户还是活跃用户、右删失怎么标;人群用当前属性还是历史属性、窗口是 During、Since 还是 Within;渠道分类器是查询时算还是落库、改规则会不会改历史;回放默认遮哪些字段、HTML 属性与 URL 参数遮不遮;AI 能不能看到查询与口径、动作要不要审批、审计在哪里。六个问题里有两个答不上来,就先别签。

还有一条来自产品边界的经验:Pendo 的 Track Event 上限 5,000 条,看似短板,反而降低了它的语义锁定——上限越低,能沉淀在平台里的自定义事件越少,替换越容易(Pendo Track Events)。反过来,功能最全的平台往往在第三年最难换掉。模块选型的终点不是“功能最多”,是“每个模块都能被单独替换,而语义不必重来”。

判断:分析模块的价值不在“能算”,在“能被复核”。账本型模块要可复算,证据型模块要可追溯,动作型模块要可回滚;三者都过,才轮到 AI 提效。做不到这三件事的平台,功能越多,第三年的迁移成本越高。

UBA RESEARCH / 09查看全部引用 ↗