算法问题排查

Published: 05 Dec 2018 Category: misc

最近调研并上线了实时CF算法,AB第一天效果极好,之后三天效果呈递减趋势,眼瞅着快被对照组追平,mentor说分析一下原因吧。

那么问题来了,如何分析?一头雾水。这是算法工作者经常遇到的问题,由于问题的不确定性,很难用统一的方法解决。但还是有大致方法论可以遵循:

确定逻辑链路(如算法任务/曝光/点击/下单/支付),检查各个中间环节是否异常,尝试定位问题;若各个环节都正常,确认是否是随机波动。

当然可能有一些其他怀疑点,也可以记录并快速验证,排除各种可能性。

经过分析,发现算法任务/曝光/点击/下单/支付,实时CF策略表现都相当稳定,并没有持续的下降效果;那么是否是波动的原因,从数据中发现,将实验组中实时CF策略去掉(曝光更少),仍然比对照组转化高较多。一定程度说明波动的存在,然后又观察两天,如预期一样,实验组效果又回来了。经过5天AB实验,终于以不错的正向收益全量。

多数情况下,事出必有因,且能最终定位到原因;如果整个逻辑链路中有随机因素,事件由随机因素引起的可能性也是有的。总之寻求因果理解是人的天性,甚至有时候会中随机现象中看出因果。

备注:

此次分析用到之前自己详细设计的指标体系,分析问题的时候绝大多数指标可以复用,从之前solid的工作中受益是挺棒的体验。