拒绝猜测的看门人
计数器可能悄无声息地坏掉。站点改版,嵌入代码没能熬过搬家,而没有任何东西会宣告这件事——统计就是停了,站长几个月后才发现,如果发现得了的话。
一个显而易见的功能自己冒了出来:注意到沉默,然后发个通知。而搭建它的显而易见的办法,是从本来就有的数字里推断出故障。那个版本被搭出来、被测量、然后被扔掉了。
杀死它的那次测量
规则是:曾经规律地计数,然后十四天什么也没有。要诚实地检验它就不能往前看,于是它被倒着跑了一遍——对着 30、45、60 天前这三个截止日——然后核对它当初会报出来的那些计数器,究竟有多少其实还在运行。
| 阈值 | 报出 | 报错 | 报对 |
| 42 天里活跃 10 天 | 79 | 56 | 29 % |
| 42 天里活跃 20 天 | 39 | 29 | 26 % |
| 42 天里活跃 30 天 | 10 | 7 | 30 % |
| 42 天里活跃 35 天 | 5 | 3 | 40 % |
没有一个阈值越过 40 %。把它收紧并没有帮助;那只是减少了猜测的数量,而其中大多数依然是错的。
为什么,而且这不是缺陷
原因就在这批用户本身。在 2 282 个有流量的计数器里,有 60 % 在四十二天里最多只有六天记录到东西。这些是小站。断档是它们的正常状态。「十四天什么都没有」在那里几乎总是意味着假期、一个安静的月份、一个碰巧没人打开的页面——而不是坏掉的嵌入代码。
一个三次里错两次的看门人,不只是帮不上忙。它教会人们把它点掉,而这会让他们错过它说对的那唯一一次。
所以它去看,而不是去猜
沉默仍然在用,但只作为前置筛选。它不花钱,跑在本来就收集好的数据上,而且允许它不精确,因为它什么也不决定。做决定的是把页面取回来,看计数器是否还在里面。一个 30 % 的猜测变成了一次观察。
由此得出三件事,每一件都让这个功能变得更窄:
- 没有页面地址就没有信。活跃计数器里只有 41 % 有地址;其余的页面是未知的,因为嵌入方式传不出来。宁可正确地提醒四个人,也不要带着噪声去提醒十三个。
- 不确定不等于坏了。如果页面无法判断——一层缓存插件、一个 JavaScript 外壳、一个服务器错误——结果就是「不确定」。我们没看见它,这和它不在那里是两句不同的话。
- 一个怀疑必须熬过两个晚上。一个站点有一晚没应答,不构成寄信的理由。
而信件本身只寄给确认过想要它的人。旧的计数器表里躺着 4 145 个从上一代服务继承来的地址。它们可以回复一次询问;它们从来没有请求过收信,而这两件事之间的区别就是全部关键。
广告