2.3 KiB
2.3 KiB
运营监控SQL调整计划
需求概述
根据用户提供的新指标定义,调整现有运营监控SQL的计算逻辑,删除未提及的指标,实现正确的指标统计。
实施步骤
步骤1:明确需要保留的指标清单
用户明确要求保留的指标:
- 日期
- 当天新增换单数:到仓时间是当天的交接单中有标签的总订单数
- 累计要换的总单数:历史上所有有标签但是没有扫描完成记录的订单(不含当天新增)
- 当天应该换单数:标签率≥80%且到仓时间是当天的订单总数
- 当日换单完成数:扫描完成时间是当日的订单总数
- 当日STOP数:扫描结果成功且描述包含"成功返回STOP标签"的订单数
- 当日标签推送数:标签推送时间是当天的订单数
- 当天换单完成率:当日换单完成数 / 当天应该换单数
- 24小时换单率:标签率≥80%的订单中在考核时间内扫描成功的订单 / 标签率≥80%的订单
- 数据拉取时间(UTC_5):查询数据的时间
步骤2:核心逻辑设计
2.1 交接单标签率计算逻辑
- 对每个交接单,先查找首次扫描记录时间(所有关联订单的最早扫描时间)
- 标签率计算:
- 如果有首次扫描时间:扫描时间 > 标签推送时间的有标签订单数 / 交接单关联的总订单数(有标签+无标签)
- 如果没有首次扫描时间:当前有标签订单数 / 交接单关联的总订单数
2.2 考核时间计算逻辑
仅针对标签率≥80%且有标签的订单:
- 收货时间(UTC-5)是当天16:00之前:考核时间为次日16:00(UTC-5)
- 收货时间(UTC-5)是当天16:00之后:考核时间为次日23:59:59(UTC-5)
- 标签率<80%的订单不参与24小时换单率考核
2.3 时间处理规则
- 到货时间ReceiptTime本身是UTC-5,不需要转换
- 其他时间(LabelRetrievedAt、扫描时间CreatedAt)是UTC-0,需要转换为UTC-5
步骤3:SQL结构重构
- 保留必要的CTE,删除不需要的逻辑
- 新增交接单标签率计算CTE
- 新增考核时间计算CTE
- 按日期维度汇总所有指标
- 验证指标计算正确性
步骤4:验证和优化
- 检查所有指标计算是否符合用户定义
- 删除所有用户未提及的指标字段
- 优化SQL性能,避免不必要的关联和计算