|
|
@@ -480,3 +480,22 @@
|
|
|
- 补数是调度中断的运维兜底;日调度保持连续(中断 ≤ N=2 天由 ADR-09 自愈),超期用本任务流回刷
|
|
|
- 调度中断越久,补数 `start` 越往前,覆盖区间越大
|
|
|
- 业务时间远早于补数 `start` 的极端漂移,由定期校验对账(Hive vs PG)兜底
|
|
|
+
|
|
|
+### ADR-12 dwd 订单事实表演进:支付/退款事件分离(待办)
|
|
|
+
|
|
|
+- **状态**:草案(方向记录,暂不实施)
|
|
|
+
|
|
|
+- **背景**:当前 `dwd_trd_order_pay_apd_d` 用 `status IN (101,103,104,105,106,301,302)` 取"当前有效已支付订单"快照,是从数据分析师实时业务库口径(取当前未退款)改编而来。问题:事件按 `payment_success_time` 分区落盘后,订单后续退款使 `status` 漂出集合,但 dwd 回算窗 N=2(ADR-09)外不再刷新 → 老分区状态过期,dwd 略高估"当前有效"(对账 Hive > PG 的来源)。`payment_success_time IS NOT NULL` 经实测是干净的支付成功判据(待支付/取消 0% 非空、已支付及之后 99.5%+)。
|
|
|
+
|
|
|
+- **决策方向**:支付事件 + 退款事件各 append-only,净值在下游组合。
|
|
|
+ - `dwd_trd_order_pay_apd_d`:筛 `payment_success_time IS NOT NULL`,收全部支付成功事件,`status` 仅存字段不过滤
|
|
|
+ - `dwd_trd_order_refund_apd_d`(新):退款事件,独立表,按退款时间分区
|
|
|
+ - 净 GMV / 当前有效 = 支付 LEFT JOIN 退款(支付事实落盘 status 固化,**无法靠 dwd_pay 的 status 切退款**,故退款必须独立成表)
|
|
|
+
|
|
|
+- **当前权宜**:继续 status 口径。2026 退款占比仅 4.31%(47.6万/1104万),status 口径真正高估的只是"N=2 窗外才退款"那部分(< 4.31%),对 tdm 标签 / 日常分析可接受。
|
|
|
+
|
|
|
+- **反悔触发**:需要精确历史 GMV / 退款分析 / dwd 当权威口径时实施。
|
|
|
+
|
|
|
+- **阻塞**:业务库退款字段口径混乱(`refund_time` / `refund_success_time` / `refund_fee` / `refund_status` 等多字段),退款判据需先查清才能建退款表。
|
|
|
+
|
|
|
+- **附口径确认**(2026 PG 实测):302 订单结束(未中卡) 占 2026 的 35%(390万),算消费偏好(拼团类刮刮乐,参与即反映品类偏好,中不中卡不影响信号),dwd 含 302、tdm 统计含未中卡,确认无误。
|