首页/数据/数仓建模速查/优惠券核销事实
维度与事实设计149 条

优惠券核销事实

券的生命周期(发放-领取-核销-过期)用状态时间戳表达:一行一券码,用「当月核销额」等口径时注意区分发券批次与核销时间。

数仓建模速查数据更新于 2026-10-13

优惠券核销事实

券的生命周期用状态时间戳表达:一行一个券码,记录发放、领取、核销、过期四个时间点,以及面额、使用门槛与实际核销金额。使用「当月核销额」这类口径时要区分两种时间:按发券批次统计衡量投放效果,按核销时间统计确认已发生的优惠成本,两者结论完全不同。

基本信息

表粒度一行一个券码
时间戳发放 / 领取 / 核销 / 过期四个时点
度量面额、使用门槛、实际核销金额
状态已发放 / 已领取 / 已核销 / 已过期
关联关系券与订单可能是一单多券或多单用一券
勾稽要求核销金额与订单优惠金额可核对

典型使用场景

  • 投放效果:按发券批次的领取率与核销率评估活动质量
  • 成本核算:按核销时间统计当月优惠成本,与财务口径对齐
  • 券种对比:比较满减券与折扣券在不同人群的核销差异
  • 过期分析:统计临期未核销券,评估提醒触达的效果
  • 客单提升:对比用券与未用券订单的客单价与复购

核销统计与批次对比

核销统计与批次对比
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过期时间临期提醒、沉淀资产统计
券与订单是多对多关系时(一单多券或一券多单),核销分摊要单独建模:用券-订单桥接表记录每张券在该订单中的实际抵扣金额,不要用面额直接相乘。
核销金额应按实际抵扣记账,而面额只是上限:满减券未达门槛时按面额算会虚增优惠成本,折扣券更不能用面额替代实际减免金额。

易错点

  • 核销金额按券面额算而非实际抵扣额,优惠成本被虚增
  • 过期券未落过期时间戳,临期与时效分析无法开展
  • 发券批次与核销时间混用一个口径,投放效果与成本口径互相污染
  • 一单多券时按面额平均分摊核销金额,与订单实际优惠金额对不上

数据来源与参考

  • 营销数仓实践:优惠券建模
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌