优惠券设计:前端&核销篇

24 评论 56200 浏览 426 收藏 8 分钟

本文分别对优惠券核销和前端页面进行了介绍。

一、优惠券核销

优惠券核销主要在订单提交时进行,需要进行以下三个方面的判定和计算:

  1. 可用判定:判定订单的时间、商品、金额等维度是否符合优惠券的要求。一般在进入确定订单页面时,即进行相关校验。
  2. 抵扣计算:优惠券在订单中实际抵扣的金额计算,主要涉及到与其他优惠活动,或者积分等叠加计算规则。一般在选择优惠券后进行计算。
  3. 优惠金额分摊:将实际的抵扣金额,按比例分摊至适用范围内的每个商品。主要用于售后退款以及销售数据计算。

1. 可用判定

可用判定指优惠券对于订单是否可用,主要进行以下两个校验:

  1. 优惠券是否可用。即优惠券是否在未使用状态,且当前时间在优惠券有效期内;
  2. 订单中适用优惠券的商品是否在优惠券的范围内,适用范围内的商品是否达到满额要求。

一般在进入确定订单页面前,会对用户持有的所有优惠券进行如上两个校验。并在确定订单页面进行显示。参考下图淘宝和饿了么确定订单页面:

      

左图为淘宝确定订单页面,右图为饿了么确定订单页面,两者均在进入确定订单页面前校验了可用优惠券。不同之处在于,淘宝中默认选中了适用的最大金额优惠券,饿了么仅做了可用优惠券提示,并未直接选中。

2. 抵扣计算

大多数情况下,优惠券的抵扣计算都是比较简单的。以满减券为例,大多数场景,适用商品总金额减去抵扣金额,不可小于0即可。

在优惠券可用的基础上,假设m=订单中优惠券范围内商品总价,n=优惠券的抵扣额度。

则:实际抵扣金额=min(m,n);

举例:用户持有全场无门槛100元优惠券,商品A每件40元,用户使用优惠券购买两件A,则优惠券实际抵扣金额为80元。

更为复杂的场景为和其他促销活动叠加生效时,对于订单金额和优惠券抵扣金额的计算。

举例:

A商品销售价40,B商品销售价100,C商品销售价80;

用户持有双11优惠券适用于A,B的优惠券,无门槛300元优惠券;

B商品每件最高可使用积分以10:1的比例抵扣60元,C商品最高可抵扣50元;

商城营销活动:双11前30分钟A,C商品首件半价;

用户在双11前30分钟购买3件A,1件B,2件C时,最高可使用多少积分?优惠券实际抵扣金额为多少?订单最终需要支付多少金额?

要解决以上问题,需要对促销活动进行分层,可按如下方式进行分层:

优惠券和其他促销活动按照层级依次进行计算。以后有机会针对促销活动进行详述,此处不再展开。

3. 优惠券金额分摊

优惠券金额分摊指将订单层面的优惠券抵扣金额,按照商品价格比例分摊到各个商品。主要用于计算商品的实付金额,用于售后退款和数据统计。

优惠券金额分摊的原则是:在适用范围内,按照折后价格进行按比例分摊。

优惠券金额分摊是比抵扣计算更加复杂的过程。仅从优惠券层面分摊,假设商品1单价为m,订单中优惠券范围内商品总价为n,优惠券实际抵扣金额为x,则:

一件商品1的分摊优惠券抵扣金额y=(m/n)*x。

值得注意的是:对于分摊时小数点取整时,需要在保持总值不变的情况下进行大入小舍,单纯进行四舍五入会产生误差。

举例:

商品A和B,均为10元,优惠券为满20减11.11,则按照分摊计算方式,

A和B的抵扣金额均y=(10/20)*11.11=5.555

如果单纯进行分位的四舍五入到5.56,会导致分摊后的优惠券之和大于订单优惠券抵扣额度。此种情况一般的处理方式为,随机A和B其中一个进1,一个舍掉,保证能够总账能够对应。

二、优惠券前端设计

前端设计仅做简述参考,主要涉及到券包和抵扣页面和消息通知。

1. 我的优惠券

上图为一种较为简洁的设计方式,适用于优惠券数量相对较少的情况,比较清晰明了。

2. 抵扣过程

确定订单页面自动选中最大可抵扣优惠券,用户也可以重新选择其他优惠券,或不使用优惠券。

3. 推送通知

推送通知主要起到提醒用户的作用,优惠券相关的提醒场景有两个:

  1. 新优惠券。用户获得系统发放的优惠券时,进行通知提醒;
  2. 过期提醒。优惠券即将过期时,进行提醒使用。

小结

核销是优惠券生命周期的重要一环,与订单关系密切,同时与其他促销活动也有着复杂的关联。下一篇将从数据角度对优惠券进行阐述,敬请期待。

优惠券设计前序三篇:

整体框架:《优惠券设计:整体框架篇

优惠券模板:《优惠券设计:优惠券模板篇

优惠券活动:《优惠券设计:优惠券活动篇

 

本文由 @风之耳语 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 可以可以 涨知识了

    来自广东 回复
  2. 学习了,最近刚好用到

    来自北京 回复
  3. 餐饮平台的通用优惠劵 怎么考量和商家端的核销呢 这个好难 因为不仅仅涉及到自己平台的利益 还有商家端 我卡主了

    来自广东 回复
    1. 同问!!

      来自内蒙古 回复
    2. 哈哈哈兄弟有方案了吗 我们之间做的平台全补贴了 ,没有涉及商家利益了

      来自广东 回复
    3. 我也遇到这个问题了,内部讨论的解决方案是 平台通用型优惠券由平台方进行记录出一个统计核算。每隔月对商家进行划账。

      来自河南 回复
  4. 设x,y,m,n实在看得有点心塞。楼主数学系出身的么···

    来自广东 回复
  5. 金额分摊的举例看不懂 还可以描述更详细点吗

    回复
  6. 优惠券范围内是啥意思?

    回复
  7. 太赞了,很系统,看了第一篇文章成功圈粉,把剩下的都看完了,期待更新优惠券数据篇~~

    来自上海 回复
  8. 感谢分享

    来自北京 回复
  9. 当订单延迟上送,到上送时优惠券已过期,这时候一般怎么处理,还支持核销么?

    来自福建 回复
  10. 太赞了,看了第一篇文章成功圈粉,把剩下的都看完了,期待更新。。。。

    来自江苏 回复
  11. 瑞幸流程

    回复
  12. 能否介绍下核销异常流程的卡券处理?比如取消订单,看流程图会做退券处理,从系统上讲,是原券退回还是通过系统机制做补发处理呢?

    来自北京 回复
  13. 写的非常号,感谢分享,有没有写 优惠券统计篇 的打算?

    来自北京 回复
  14. 厉害👍

    回复
  15. 对我们服务端的设计很有帮助

    回复
  16. 同行同行,感谢分享,我也做了一个很复杂的优惠券体系。关于文中提到的四舍五入误差问题,我们的方法是最后一件商品用差值法计算,相当于把产生的误差都算在这件商品头上,供其他同学参考。

    回复
    1. 大多数场景是没有问题,但当用户购买多件优惠券范围内商品时,这种计算方式有可能会把误差放大到最后一件商品上,存在一定风险。

      来自浙江 回复
  17. 不错。可以参考

    回复
  18. 请问有ppt模板吗?

    来自广东 回复
    1. 留邮箱发你?

      来自浙江 回复
  19. 回复