周一早上,你打开产品看板,看到一条漂亮得几乎不需要解释的结论:在“明日清单”里,主动开启每日提醒的用户,七天后仍然回来使用的比例是 62%;没有开启提醒的用户,只有 28%。
负责人已经把下一步写进排期:把提醒开关移到注册页最显眼的位置,默认勾选;最好再把关闭入口藏深一点。理由听上去很顺:提醒让人想起任务,想起任务的人自然更愿意回来。你大概也会点头。62% 对 28%,差距大得不像偶然;而且这个解释有画面、有生活经验,也很符合直觉。

先停一下。假如你把所有新用户都强制打开提醒,七天后的回访率会真的从 28% 变成 62% 吗?还是说,那些本来就更在意计划、更愿意整理生活的人,既更可能自己打开提醒,也更可能回来?两种说法都能解释眼前的数字,却会导向完全不同的产品、预算和用户体验。
因果思维不是把每句话后面都补上“相关不等于因果”。那句话太容易说,也太容易被说成一句空话。它真正要求你在要行动的时刻换一个问题:不是“这两件事一起出现了吗”,而是“如果我亲手改变前一件事,后一件事会怎样变”。
产品分析师林遥把原始数据摊开。过去一个月,有一万名新用户完成注册。其中 3 600 人在第一天主动开启了提醒,里面有 2 232 人在第七天至少打开过一次应用;其余 6 400 人中,只有 1 792 人回来。看板上的 62% 和 28% 没有算错。
问题不在计算,而在那句悄悄被塞进结论里的话:“开启提醒的人回来得更多”,所以“让人开启提醒就能让更多人回来”。 前半句是观察,后半句是干预后的预测。它们之间隔着因果推断最难、也最值得花时间的一段路。
把林遥的数据想成两张照片。第一张照片拍的是已经开启提醒的人:他们大多在注册时写下了明确目标,有人在创建第一个任务时就填了截止日期,有人甚至连第二天要做什么都提前排好。第二张照片拍的是没有开启的人:有人只是临时下载看看,有人被电话打断,有人连首个任务都没建完。这两群人从第一天起就不一样。
如果你只比较这两张照片,提醒和回访确实总是同行;但你并不知道是谁在拉着它们同行。原因可能包括:
因果问题有一个近乎苛刻的理想比较方式,对同一个人,在同一周、相同的工作压力和家庭安排下,对比他在以下两种情况下的回访行为:
如果能观察到这两种情境下的不同,这才是最直接的因果证据。但现实中,这个“没有发生的版本”其实是反事实,是因果判断时真正缺失的那一半证据,而不是简单的假设想象。
可惜,你不能让同一个人同时过两次完全相同的一周。于是现实中的方法都在想办法找一个替身:找足够相似的人、找足够接近的时段,或者最可靠地,先用随机方式决定谁获得干预。你之后看到的所有因果工具,本质上都在回答同一个问题:这个替身能不能代替那条没有发生的人生分支?
看板说的是:在现有用户行为下,开启提醒与回访同时出现得更频繁。它适合做一件事——预测。如果你只能从新用户的一堆特征里挑出更可能回来的人,“是否主动开提醒”就是一个很有用的信号。
但预测有时会故意利用一个不该被干预的信号。下雨天带伞的人更常出现在湿漉漉的街上,雨伞因此很能预测路面潮湿;你不会据此得出“给每个人发一把伞就会下雨”。同样,主动打开提醒也可能是用户投入度的温度计,而不是把投入度升高的按钮。
这并不让相关性变得没用。恰恰相反,好的预测能帮助客服排序、帮助系统提前发现流失风险。危险只在于:当你要改变一个机制时,拿“谁更像会回来的人”去代替“这项改变会带来多少回访”,你很可能把资源投向了一个只是发光、却不发热的指标。

林遥没有立刻反驳负责人,她先把那句模糊的提案改写成一句可以被检验的话:
对首次完成首个任务、并且尚未自行设置提醒的新用户,在次日早晨推送一条可关闭的提醒,会不会提高接下来七天至少完成一次任务的比例?
这句话比“提醒有用吗”长,却终于有了骨架。因果问题里最容易被忽略的部分,往往不是分析方法,而是你究竟想改变什么。
干预要具体。是默认打开一个开关,还是次日发送一条提醒?是每天都推,还是只在用户设定的时间推?不同动作会触发不同反应,也有不同的打扰成本。把所有动作都叫作“提醒”,等于把钥匙、敲门和连续按门铃都算成同一件事。
结果也要具体。回访是打开应用,还是完成任务?七天后回来一次,和两个月后形成稳定习惯,不是同一层结果。若只盯着推送后的点击率,系统很容易学会用更耸动的标题把人拉回来,却没有帮他完成任何重要的事。
对象和时钟同样重要。林遥只讨论完成首个任务的新用户,是因为从注册还没开始的人身上无法判断提醒是否帮助了执行;她把观察起点定在首个任务完成后的当晚,是因为你必须先确定谁有资格进入比较,再决定谁接受干预。若一组用户已经使用了三周,另一组刚注册一天,把他们放到一起,所谓“提醒效果”里就混进了用户年龄、熟悉程度和自然流失。
一个可用的因果问题,通常至少说清四件事:
这四项看似文书工作,实际上决定了你在问一个真问题还是一个漂亮的口号。比如负责人最初说“让用户打开提醒”,听起来像一个动作,实际上混在一起的至少有两件事:你能不能让他看见设置页,以及他愿不愿意把通知权限交给你。前者是界面设计,后者还包含信任、习惯和隐私偏好。若不拆开,实验做完也不知道究竟是什么起了作用。
因果语言还有一个很有用的语法区别。你可以把观察写成“在已经开启提醒的人中,回访的比例是多少”;也可以把行动写成“把提醒设为开启后,回访的比例会是多少”。前一句是在筛选一个已发生的群体,后一句是在想象一次人为拨动。前者常能从看板直接读到,后者需要设计来支撑。
这就是为什么一个成熟的分析结论不该只写“提醒显著相关”。它应该能被一个负责行动的人读懂:你要改哪一个按钮、影响哪一类人、准备承担什么成本、以多长时间的结果来判断值不值得。

此刻最诱人的做法是多收集一些变量,然后全部塞进模型。林遥先做了相反的事:她不急着算,先在白板上画箭头。
她把最关键的几条关系写成这样:
目标感 → 主动开提醒
目标感 → 七天回访
首个任务完成得顺利 → 主动开提醒
首个任务完成得顺利 → 七天回访
这里的“目标感”和“首个任务是否顺利”,都可能是共同原因:它们一边影响用户会不会开提醒,一边影响用户会不会回来。这样的变量叫作混杂因素。它让提醒和回访看上去像有一条很粗的直接箭头,实际上其中一部分关联来自旁边的岔路。
注意,箭头不是数据自动吐出来的答案。看板能告诉你哪些变量同时变化,却不能告诉你箭头该往哪边画。箭头来自你对业务过程的理解:用户是在什么时候决定开提醒的?任务完成后收到成就反馈会不会影响开关?客服有没有只去联系已经表现出流失迹象的人?这些问题需要产品日志、访谈、流程规则和常识共同回答。
一张因果图的价值,不在于它看上去像一张技术图纸,而在于它强迫你公开自己的假设。没有画出来的共同原因,可能是你没想到的风险;画出来却没有证据支撑的箭头,则提醒你别把故事说得太满。
画图后,林遥发现有一条更容易踩的路:
“制定次日计划”是提醒可能发挥作用的中间环节,叫作中介变量。如果林遥想估计“发送提醒总体上能带来多少回访”,她不能在分析时把“有没有制定计划”强行保持相同。因为那等于先把提醒最有可能产生的作用通道堵住,再说提醒没有效果。
这和混杂因素恰好相反:混杂因素通常是干预发生之前的共同原因,你希望设法让两组在它上面可比;中介变量发生在干预之后,它承载的正是你可能想保留的效果。一个变量该不该调整,不能靠“它和结果相关不相关”决定,只能靠它在故事里处于什么位置决定。
如果你的目标换了,答案也会换。假如你想知道“提醒除了推动用户制定计划以外,还有没有额外作用”,那才会专门研究这条中间路径。但这已经不是最初那个“总效果”问题了。因果思维的严谨,不是找到唯一正确的控制清单,而是让分析方式和你真正要做的决策对齐。
白板上的第一张图已经解释了为什么 62% 对 28% 不能直接拿去写需求。但真正的麻烦还不止混杂。因果判断最常见的失真,往往躲在一个听起来很合理的筛选条件里。
先看最直观的岔路。目标感强的人更可能主动开提醒,也更可能在第七天回来。这时你看到的高回访率,可能既包含提醒效果,也包含这些人本来就更可能坚持的差异,现有比较尚不能分开。
你可以试着记录一些干预前的线索,这些信息能够让两组的比较更接近,特别是在无法进行实验时非常有帮助。例如:
但要注意,别把“记录得多”误以为“混杂已经消失”。那些没有被记录的信息——比如用户当周是否正面临重要考试、是否刚换了工作、是否讨厌手机通知等——依然可能同时影响选择和结果。
成熟的结论会把这层不确定性说出来:在已调整到的用户特征上,两组变得更接近;至于没有观测到的差异,还可能留下多少偏差,需要由设计强度和额外证据来判断。这样的克制不是示弱,反而能让你避免把一次观察包装成保证。
第二条岔路更隐蔽:也许不是提醒让人回来,而是已经准备回来的人,第二天顺手把提醒打开。用户的回访意愿可以先出现,再表现为设置开关、创建多个任务或授权通知。若你用第七天才快照到的“是否开启提醒”解释第七天是否回访,就可能把结果过程中发生的行为当成了原因。
解决它的第一步朴素得很:在干预之前记录分组,在结果之后才计算结果。林遥把开关状态固定在首个任务完成的当晚,并拒绝用第六天的设置状态来解释第七天回访。时间先后并不能单独证明因果,但时间顺序颠倒时,因果解释几乎肯定站不住。
负责人提出另一个建议:“只看真正看过提醒的人吧,没看的人算进来太不公平。”这听上去很讲道理,却可能把分析带进一个叫作碰撞点的陷阱。
假设“是否打开提醒”受到以下两个因素共同影响:
具体来说:
如果你只保留“打开过提醒”的人,其实是在筛选这样一群人:他们是由上述两个因素共同决定的。在这群人里:
本来互不相关的“是否收到提醒”和“投入度”,因为你的筛选条件,被人为地关联了起来。
这不是文字游戏。你可能因此看见一个荒唐结论:在“打开过提醒”的用户中,多发提醒的人反而回访更差,于是误以为提醒有害。问题不一定出在提醒,而出在你只看了一个由提醒和投入度共同造成的中间结果。
同一条原则还会挡住很多日常误判:不要因为一个人“被录取了”就比较他的学校和家庭支持,不要因为一家公司“活下来了”就倒推它的融资方式优劣,也不要因为一个用户“已经点击过”就轻易比较两种触达策略。先问这个筛选条件是原因、结果,还是两种力量碰在一起的地方。

林遥最后说服团队做一次小范围实验。不是因为实验有魔法,而是因为随机分配能在分配发生的那一刻,切断“用户自己选择干预”的那条路径。
符合条件的新用户进入试验时,系统像抛硬币一样把他们分成两组:
分组过程遵循以下原则:
因此,两组的差别更接近那条“没有发生的反事实”。
林遥没有把所有注册用户都丢进试验。她先排除已自行开启提醒的人,也排除没有完成首个任务、还谈不上“提醒明天任务”的人。这不是为了挑出好看的结果,而是为了让干预对每个入组者含义一致。
她还把提醒文案、发送时间、退出方式和通知权限处理写死。若实验组同时换了文案、加了积分、改了首页入口,最后即便回访提高,你也不知道到底是提醒、奖励还是界面起了作用。对照实验不是“改一个版本看看”,而是尽量让两组只有你要研究的那一处不同。
两周后,实验组 5 000 人中有 1 805 人在七天内完成过任务,对照组 5 000 人中有 1 685 人完成。差别是 2.4 个百分点,也就是每一百个符合条件的新用户,多出大约两到三个人完成任务。
这个数字不需要被夸张成“回访提升 2.4 个点,需求立刻全量”。你还需要看它的范围有多不确定、在不同来源的新用户中是否一致、这种额外完成是否伴随着关闭通知或投诉增加。它却已经比 62% 对 28% 更接近团队真正需要的答案:在这个明确的人群和这项明确的做法下,发出提醒可能多带来多少完成行为。
同样要警惕另一种“更公平”的冲动。常见的说法是:只比较真正收到并点开通知的人,才能看见提醒本身的威力。
但这种做法的风险在于:一旦你按点击来分组,前面讨论过的“碰撞点”岔路又会被引入,比较结果会受到干扰。
因此,对产品决策来说,更稳妥的比较应该是:
总之,“只按实际点击或接受干预者筛选”可能看似更可比,但主比较应以初始分配为准,这正是意向治疗(ITT)原则,这样才能反映实际推行策略时的全部影响。
如果你另外想估计“真的读到这条通知后会怎样”,那是更窄、更难的问题,需要额外设计和更强假设,不能把点击者和未点击者直接一减了之。
实验把混杂压低,并不自动替你选对目标。团队若只看推送后十分钟的打开率,很容易得到一个高得惊人的结果;但这可能来自焦虑、打断或误触,未必是用户想完成的计划。林遥因此同时查看七天任务完成、通知关闭、卸载、负面反馈和后续留存。
因果效应也不是一句“有效”就结束。对早已养成计划习惯的人,提醒可能只是噪声;对任务刚刚堆积、又不知道从哪开始的人,一条具体提示可能正好把行动拉回来。差异并不必然意味着你该把人群切得越细越好,它先提醒你:平均值是决策的起点,不是每个人身上的承诺。
最后还有一道不是统计的问题。若提醒确实能让人更常打开应用,却靠制造紧张和内疚做到,你仍要问这是不是值得追求的结果。因果思维帮你辨认后果,不替你决定该不该把这种后果当作目标。
很多场景不能、也不该随意随机。比如你不能为了实验医疗效果让一部分紧急患者得不到救治,也难以“倒回”已上线多年的功能重新分组。这时候,比“只能看相关性”更好的做法,是尽力用观察数据还原你理想中的试验。
比如林遥要评估已经全量上线的“周回顾”功能。她先写下理想试验会怎么分组、何时跟踪、结果看多久、哪些信息可能影响结果。这样才能清楚地看到,真实数据和实验数据之间的缺口。
在观察性分析中,常见的一个错误是给不同的人设定了不同的“起跑线”。比如:
实际上,前者往往已经更活跃,而且因为被功能“多送”了时间,他们天然有了数据上的优势。这种设定往往会让后来的分析产生偏差。
为了让比较更加公平、结论更可靠,林遥采取了以下做法:
这样的方法虽然无法消除所有潜在偏差,比如其它尚未发现的行为差异,而且还须核对处理分配时间、宽限期与随访规则,单有统一起点不能保证消除时间偏差,让统计结果更接近真实影响。
系统规则有时提供阈值比较机会,但“过去七天完成两项”与“三项”的离散计数相邻,并不自动近似随机。若要用断点思路,需有足够支持点、阈值附近潜在结果平滑且无法精准操控;离散数据还需额外可辩护的局部随机化等假设。
另一个常见机会是地域或时间分批上线。可以比较上线前后各地的变化(而非只看上线后的水平)。前提是两地在未上线时走势相近,且上线时别发生专属于某地的其他大变化。自然实验不会自动消除混杂,只是换一种方式考验你的假设。
你可以用注册渠道、任务数等特征去配对或调节,让两组更像,这对已知且提前发生的因素有用。但没法修复未被记录的动机、测量错误、或一开始就选错了比较对象。
所以,观察数据下,结论往往要附边界条件:适用于哪些用户、什么时间窗口、控制了哪些因素、还有哪些可能的解释没能排除。比“数据证明有效”要繁琐些,却能让后来的人明白结论的分量。
一次好设计也不会把世界变成单因单果。你要考虑因果关系的复杂性,避免匆忙下结论。比如,下面这些因果路径就可能同时存在:
所以,因果分析不是寻找唯一原因,而要判断在其他条件基本不变时,拨动某个环节会让结果往哪里、发生多大改变。
另一个常见但容易误导的陷阱,是辛普森悖论。以林遥分析东区和西区为例:
乍一看东区表现更好,但实际这是用户新老比例不同造成的。拆开看,无论新用户还是老用户,东区表现都略低于西区。分组比较并不一定“更真实”,是否分组要看变量在因果结构中的角色——比如用户阶段既影响方案采用,也影响回访,就应该在分析前考虑进去。
对于因果问题,还需区分“机制解释”和“归因证明”:
高质量决策通常不只靠一份数据或图表支撑,你应结合:
多管齐下,才能排除巧合、偏差或表面规律,让结论更稳固可靠。

回到最初的看板。62% 对 28% 没有失去价值,它依然告诉林遥:提醒开关值得研究,主动设置提醒的人身上可能藏着值得学习的行为。只是它不再被允许直接指挥全量改版。
在下一次会议前,你可以用一页很短的因果备忘把讨论从“谁讲得更像真的”拉回“哪种比较更接近答案”。它不需要复杂术语,但每一格都要写得能执行。
这份备忘不是为了让你在每件小事上都开一项研究,而是为了在成本高、影响广或后果难以逆转的行动前,先把那句最重要的话问清:如果我真的改了它,而不是只观察到它,这个结果还会改变吗?
直觉会立刻给你一个因果故事,这是它的长处。它让你能从杂乱现象里迅速找到可行动的线索。理性要做的不是嘲笑这种直觉,而是在你准备按下发布按钮时,多留出一段距离给反事实、对照和可能被忽略的岔路。那段距离不总能带来完美答案,却常常足以让你少做一次看起来很有道理、实际上方向相反的决定。