本能是止血
付费搜索有一条阈值,而阈值的全部意义就在于你有了工具。获取成本越过你划的那条线,就说明有东西不对,钱还在流,而正确的反应显然是动手。
我们的阈值在一个由两个安装构成的聚合上开火了。那一天的获取成本是我们上限的好几倍。我们自己的手册写着:找出责任词,停掉。
我们找到了。三个词,分别五次、两次、一次点击,其间零安装。我们把三个都停了,并把免责声明写进了回执:在这个样本量下,误杀一个好词的概率在四分之一到二分之一之间。
然后我们照砍不误。
三个里有两个是好的
第二天,数据落定、归因回填之后,图像以一种值得精确说明的方式变了:
- 有一个词是整个 campaign 里表现最好的。 它有一次点击。它被我们停了。
- 有一个词是健康的。 它有五次点击,而在停词生效前的残余投放里可以看到它转化得不错。它被我们停了。
- 只有一个词确实没有信号,停掉它是正确的。
- 而那条阈值破线自己在一夜之间就解除了,与我们的干预无关。它是归因迟到造成的,而不是那几个词造成的。
于是这个动作错了两次:它砍掉了两个健康的词,而且它本来就没有必要。事后所有人讨论的那个决定——「当时应该再持有一天」——恰恰是我们真正做出过、然后又说服自己放弃的那个。
这是一个糟糕自动化的故事形状,值得精确地命名。没有任何东西故障了。阈值开火了,分析是对的,算术是对的,建议动作在写就的规则下站得住脚,而一个掌握全部信息的人选择了推翻它。
真正错在哪
三件事,而只有第三件有意思。
规则在错误的方向上过于宽松。 我们的契约写的是获取成本持续高于上限。一天不构成持续——而且我们注意到了:在报告里,一边写下停掉它的建议一边注意到。知道契约、又在同一份文件里无视它,是一件一直在发生的事。
切分让样本变差,而不是变好。 那个聚合是由两个安装搭起来的。然后我们把它拆开,在五次、两次、一次点击上各做一次判决。那不是对同一份证据更仔细的分析。那是三次基于更少证据的决定,比我们最初的那一个还少,而且全都指向同一个方向——这让聚合看起来像「一致意见」,而它实质上只是同一个小数字被数了三遍。
而免责声明放错了地方。 这才是可外推的那部分。我们算出了四分之一到二分之一的误杀可能,然后把它记进了那份唯一用途就是为破坏性动作辩护的文档里。挂在建议旁边的概率约束不了任何人。它只是通往你本来就要做的决定路上的又一行字。
知道风险,和被它挡住,是两件事。
让仪器报不出没有证据的结论
修法不是一条更好的规则。我们已经有规则了,它合理,而它照样被推翻了。
修法是改变测量工具能够说出什么。
测量脚本打印的每一个获取成本,现在都随身带着它的样本:
{"metric": "cpa", "value": 12.00, "sample": {"installs": 2, "active_days": 1}}
不是一条注释,不是下面的一段散文,而是同一个对象里,于是它无法被引用而不被看见。原因不是风格:分析者会忘记提样本量,因为提了它会让结论变得不那么令人满意。而 print 语句不会忘。
阈值检查现在在把破线报成一个动作之前,先读样本:
- 不到约 5 个安装,或最多 2 个投放日 —— 这是噪声,不是判决。告警那时已经把人叫来了,那本来就是正确且充分的反应。指示是持有并继续观察,并且尤其不许据此做逐词去留。
- 词级:不到约 10 次点击 —— 分不出「坏词」和「倒霉」。在四分之一的转化率下,5 次点击零转化并不稀奇,大约四分之一的情况下会发生。
第一条规则之所以正确,还有第二层理由,来自归因本身的行为。安装数只会随着网络回报而追溯性地增加。一个花费已被封顶的 campaign 因此会倾向于自己变好。今早测到的破线,因而不成比例地更可能是测量假象;而等一天的成本是一天预算,错杀的成本是永久失去一个健康词——并且你永远不会知道自己错了,因为停掉的词就不再产出那个本该告诉你的数据。
同一轮里另外两条纪律
花费率的母。 工具会报告一个 campaign 烧预算有多快。那个数字除以的是真正花过钱的天数,不是报表窗口的天数——因为窗口查询会给没投放的日子补零行,除以窗口会把「第一天就打满了一整天预算」算成接近零的花费率。分母错了不只是让数字错;它会反转这个数字被用来得出的结论,因为一个健康且已封顶的 campaign 会被读成「没拿到量」,于是被建议提价扩词。
告警阈值不等于盈亏平衡阈值。 我们用来告警的失控上限,被刻意设在远高于「campaign 回本」的数字上。把告警设成回本点是直觉上的选择,而它是错的:正常运营中回本点会被 routine 地越过,于是告警大多数轮次都会响,而一个大多数轮次都会响的信号不携带任何信息。失控止损和盈利阈值之所以是两个数字,是有道理的;把它们写成同一个数字,就把一个能用的告警变成了背景噪音。
小结
当一条阈值在薄样本上开火时,破线是一个问题,不是一个诊断。区分这两者的直觉是对的,也值得照做;而它的失效方式永远相同:把「数据还不够」当成「已确诊,而且等下去很贵」。
留意那个让样本变小的分析。把聚合拆成逐项判决不是更严谨。那是同一份薄证据被切成若干份,每一份都小到支撑不了任何结论,合在一起却像是一致意见。
把样本量放进测量里,而不是放在旁边。挂在破坏性动作的辩护词里的概率是一张便条;一个不附带证据就打不出来的数字才是一道闸门。如果动手的人可以忘掉那个限定,那个限定就不是管控。
并且显式地给两种错误标价。等一天的成本是一天预算;错杀的成本是一个词永远失去——而且因为停掉的词会停止上报,你永远不会发现自己错了。任何忽略了这种不对称的阈值,迟早会被一个 overnight 就自行化解的数跨过。