正文
海恩法则(Heinrich's Law),是德国飞机涡轮机的发明者德国人帕布斯·海恩提出的一个在航空界关于安全飞行的法则,海恩法则指出: 每一起严重事故的背后,必然有29次轻微事故和300起未遂先兆以及1000起事故隐患。
—— 摘自百度百科
类似的方法论我听过很多。归结其原理,无非就是在一连串的业务动作中追踪每个可疑的动作,当可疑的动作叠加过多时,便可能由可疑变为非法。
可是设计者们是否考虑过,在海恩法则背后,还有幸存者偏差一说。我们在每次数据采集时,如果并不完整或选择性忽略,一点遗漏就可能谬之千里。于是,海恩法则也就变成了海恩陷阱。
幸存者偏差(Survivorship bias),另译为“生存者偏差”或“存活者偏差”,是一种常见的逻辑谬误(“谬误”而不是“偏差”)。指的是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。在“沉默的数据”、“死人不会说话”等等日常表达中,涉及幸存者偏差。
—— 摘自百度百科
因此,贯彻海恩法则的前提是:业务逻辑的完整性、业务流程的完整性、原始数据、完整数据、线下能力。
-
业务逻辑的完整性,不只是业务
应该如何运转
,而是
业务实际如何运转
。有些事情不能用耳朵听,而是需要用眼睛看。
-
业务流程的完整性,相对业务逻辑来说更强调参与者,有些意想不到的参与者可能就是让海恩变身陷阱的关键。例如,客服。
-
原始数据,对于非原始数据,其加工逻辑一般多是写出来便会常年不变,在岁月的积累和代码的迭代中不断被深藏。当出现问题想要回溯时,这个环节往往就成了被遗忘的角落。所以,规则处理的不应该是已经处理过的数据,而应该是原始数据。
-
完整数据,完整数据并不是强调完整,毕竟一条业务流的数据既要原始又要完整,在实际操作中是不现实的,所以数据的完整性在于对业务逻辑和业务流程的选择性覆盖。
-
线下能力,很多能力并不一定需要在线上完成,而是可以线下完成,减轻线上压力的同时,也能更好的保证几个环节的完整性和原始性。
[4] 长逻辑规则的衰减
海恩法则的应用,多是在业务流动过程中设置多处埋点、等待多个埋点触发异常,进而形成“多个偶然等于一个必然”的效果。