由于现在的用户埋点还是依赖于神策服务,因此神策服务会体现在上图中。对于梳理出来的一些无效埋点,可以直接在最前端拒绝掉,或是反馈给业务,让业务做处理。而对于 B 类事件,例如只有一些业务产品感到有用,而数仓或者后端下游则认为并不重要。当梳理好这些事件以后,就可以在神策上面去做查看和分析,不需要沉淀到数仓,或者做一些抽样沉淀至数仓。因此对于 B 类事件可以直接从 Flink 任务上去做过滤,把这些任务直接过滤掉,不需要再接收 A 类和 B 类事件了。C 类和 D 类事件被认为是非常重要的事件,会直接写到数仓 ODS 中。
Q1:如何评估埋点准确性目标的合理性,例如新增埋点的准确率大于百分之多少?执行层面是否有合理的统计办法,上线前完全识别出埋点的时机和参数上报的异常?
A1:目前我们有一个埋点测试平台,有测试环境以及上线前的 PRE 环境。我们在 PRE 环境会做一轮埋点的回归,测试同时会在 PRE 环境做埋点的一些参数的校验。在测试平台上会对参数进行校验,如果有问题会反馈到开发这边重新修改,直到测试通过以后,才允许上线。此外后端还有一个质量检测功能,因此对于整个质量是有保障的。如果在 PRE 环境通过校验,准确率是非常高的。只有一些存量埋点目前无法控制。