优惠券核销事实
券的生命周期用状态时间戳表达:一行一个券码,记录发放、领取、核销、过期四个时间点,以及面额、使用门槛与实际核销金额。使用「当月核销额」这类口径时要区分两种时间:按发券批次统计衡量投放效果,按核销时间统计确认已发生的优惠成本,两者结论完全不同。
基本信息
| 表粒度 | 一行一个券码 |
|---|---|
| 时间戳 | 发放 / 领取 / 核销 / 过期四个时点 |
| 度量 | 面额、使用门槛、实际核销金额 |
| 状态 | 已发放 / 已领取 / 已核销 / 已过期 |
| 关联关系 | 券与订单可能是一单多券或多单用一券 |
| 勾稽要求 | 核销金额与订单优惠金额可核对 |
典型使用场景
- 投放效果:按发券批次的领取率与核销率评估活动质量
- 成本核算:按核销时间统计当月优惠成本,与财务口径对齐
- 券种对比:比较满减券与折扣券在不同人群的核销差异
- 过期分析:统计临期未核销券,评估提醒触达的效果
- 客单提升:对比用券与未用券订单的客单价与复购
核销统计与批次对比
核销统计与批次对比
SELECT substr(redeem_ts, 1, 10) AS redeem_dt,
count(1) AS redeem_cnt,
sum(face_amt) AS redeem_amt
FROM fact_coupon
WHERE redeem_ts IS NOT NULL
GROUP BY substr(redeem_ts, 1, 10); -- 按核销时间统计当月优惠成本
SELECT issue_batch,
count(1) AS issued,
sum(CASE WHEN redeem_ts IS NOT NULL THEN 1 ELSE 0 END) AS redeemed
FROM fact_coupon
GROUP BY issue_batch; -- 按发券批次统计核销率,衡量投放效果四种时间戳的用途
| 时间戳 | 含义 | 常见用途 |
|---|---|---|
| issue_ts | 发放时间 | 按批次评估投放规模 |
| claim_ts | 领取时间 | 领取率、触达效果 |
| redeem_ts | 核销时间 | 优惠成本确认口径 |
| expire_ts | 过期时间 | 临期提醒、沉淀资产统计 |
券与订单是多对多关系时(一单多券或一券多单),核销分摊要单独建模:用券-订单桥接表记录每张券在该订单中的实际抵扣金额,不要用面额直接相乘。
核销金额应按实际抵扣记账,而面额只是上限:满减券未达门槛时按面额算会虚增优惠成本,折扣券更不能用面额替代实际减免金额。