优惠券设计:前端&核销篇
本文分别对优惠券核销和前端页面进行了介绍。
一、优惠券核销
优惠券核销主要在订单提交时进行,需要进行以下三个方面的判定和计算:
- 可用判定:判定订单的时间、商品、金额等维度是否符合优惠券的要求。一般在进入确定订单页面时,即进行相关校验。
- 抵扣计算:优惠券在订单中实际抵扣的金额计算,主要涉及到与其他优惠活动,或者积分等叠加计算规则。一般在选择优惠券后进行计算。
- 优惠金额分摊:将实际的抵扣金额,按比例分摊至适用范围内的每个商品。主要用于售后退款以及销售数据计算。
1. 可用判定
可用判定指优惠券对于订单是否可用,主要进行以下两个校验:
- 优惠券是否可用。即优惠券是否在未使用状态,且当前时间在优惠券有效期内;
- 订单中适用优惠券的商品是否在优惠券的范围内,适用范围内的商品是否达到满额要求。
一般在进入确定订单页面前,会对用户持有的所有优惠券进行如上两个校验。并在确定订单页面进行显示。参考下图淘宝和饿了么确定订单页面:
左图为淘宝确定订单页面,右图为饿了么确定订单页面,两者均在进入确定订单页面前校验了可用优惠券。不同之处在于,淘宝中默认选中了适用的最大金额优惠券,饿了么仅做了可用优惠券提示,并未直接选中。
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. 推送通知
推送通知主要起到提醒用户的作用,优惠券相关的提醒场景有两个:
- 新优惠券。用户获得系统发放的优惠券时,进行通知提醒;
- 过期提醒。优惠券即将过期时,进行提醒使用。
小结
核销是优惠券生命周期的重要一环,与订单关系密切,同时与其他促销活动也有着复杂的关联。下一篇将从数据角度对优惠券进行阐述,敬请期待。
优惠券设计前序三篇:
整体框架:《优惠券设计:整体框架篇》
优惠券模板:《优惠券设计:优惠券模板篇》
优惠券活动:《优惠券设计:优惠券活动篇》
本文由 @风之耳语 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于CC0协议。
可以可以 涨知识了
学习了,最近刚好用到
餐饮平台的通用优惠劵 怎么考量和商家端的核销呢 这个好难 因为不仅仅涉及到自己平台的利益 还有商家端 我卡主了
同问!!
哈哈哈兄弟有方案了吗 我们之间做的平台全补贴了 ,没有涉及商家利益了
我也遇到这个问题了,内部讨论的解决方案是 平台通用型优惠券由平台方进行记录出一个统计核算。每隔月对商家进行划账。
设x,y,m,n实在看得有点心塞。楼主数学系出身的么···
金额分摊的举例看不懂 还可以描述更详细点吗
优惠券范围内是啥意思?
太赞了,很系统,看了第一篇文章成功圈粉,把剩下的都看完了,期待更新优惠券数据篇~~
感谢分享
当订单延迟上送,到上送时优惠券已过期,这时候一般怎么处理,还支持核销么?
太赞了,看了第一篇文章成功圈粉,把剩下的都看完了,期待更新。。。。
瑞幸流程
能否介绍下核销异常流程的卡券处理?比如取消订单,看流程图会做退券处理,从系统上讲,是原券退回还是通过系统机制做补发处理呢?
写的非常号,感谢分享,有没有写 优惠券统计篇 的打算?
厉害👍
对我们服务端的设计很有帮助
同行同行,感谢分享,我也做了一个很复杂的优惠券体系。关于文中提到的四舍五入误差问题,我们的方法是最后一件商品用差值法计算,相当于把产生的误差都算在这件商品头上,供其他同学参考。
大多数场景是没有问题,但当用户购买多件优惠券范围内商品时,这种计算方式有可能会把误差放大到最后一件商品上,存在一定风险。
不错。可以参考
请问有ppt模板吗?
留邮箱发你?
赞