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

一、优惠券核销

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

  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. 过期提醒。优惠券即将过期时,进行提醒使用。

小结

核销是优惠券生命周期的重要一环,与订单关系密切,同时与其他促销活动也有着复杂的关联。

原文地址:https://www.cnblogs.com/chuangye95/p/10170416.html

时间: 2024-11-29 05:30:49

优惠券设计:前端&核销篇的相关文章

复杂产品的响应式设计【流程篇】

转载:http://ued.taobao.org/blog/2013/05/复杂产品的响应式设计[流程篇]/ 响应式网页不像传统网页只需考虑一种状态,不是交付一套设计稿就完事儿了,它给设计.前端和开发团队之间的协作模式带来新的挑战.在一个复杂产品全面响应式的项目里,交互每个阶段该产出什么?交互与视觉如何协作?前端何时介入?哪些事情让后端开发来做更合理?经历“玩客”第一版后,我们得到了一些答案. 响应式设计之所以叫响应式“设计”而不叫响应式“技术”,是因为它是一项设计先行的工作.需要设计先明确好响

移动客户端设计开发经验-流程篇

和PC端网站的设计和开发相比,移动客户端的开发工作,对绝大多数人来说,绝对是一个崭新的行当. 那么,当我们每天在iphone上,在各种安卓在各种pad上习以为常的刷着微博看着网文切着西瓜找着你妹的时候,当一大波人信心满怀的开始步入这个看似熟悉,或者说"简单"的工作中后,突然发现,悲催,完全不是那么回事嘛! 相信很大一部分产品或者设计或者开发人员是从之前的传统互联网"出家"过来的,当然,这包括我,还有身边很多很多人.总之,这是一个坑,因为,APP,这个"看上

移动前端工作的那些事---前端制作篇之meta标签篇

移动端前端制作有些地方不同于互联网,这篇主要讨论的是meta标签.meta标签位于head标签之间.是主要辅助HTML结构层的.meta标签不管在互联网前端还是在移动端都起了很重要的作用.这里只讨论移动端. 附上代码进行说明: <!DOCTYPE html><!--HTML5 doctype--> <html> <head> <title>xxx</title> <meta http-equiv="Content-ty

SQL Server索引设计 &lt;第五篇&gt;

SQL Server索引的设计主要考虑因素如下: 检查WHERE条件和连接条件列: 使用窄索引: 检查列的选择性: 检查列的数据类型: 考虑列顺序: 考虑索引类型(聚集索引OR非聚集索引): 一.检查WHERE条件列和链接条件列 当一个查询提交到SQL Server时,查询优化器尝试为查询中引用的所有表查找最佳的数据访问机制.下面列出查询优化器针对WHERE和连接的工作方式: 优化器识别WHERE子句和连接条件中包含的列. 接着优化器检查这些列上的索引. 优化器通过从索引上维护的统计确定子句的选

高性能网站架构设计之缓存篇(3)- Redis的配置

我们说Redis是一个强大的Key-Value存储系统,在前面我们已遇到了两个问题: 1.redis server 启动后,独占进程,能不能修改为后台服务呢? 2.redis server 服务是单线程的,而我的机器是多核的,能不能在同一台机器上开启多个实例更充分的利用 cpu 资源呢?但6379端口已经被前一个实例绑定,肯定会有冲突,那能不能修改默认端口呢? 答案是肯定的,redis 提供了灵活的配置方式,一种可以通过配置文件来配置,另一种你可以在运行时通过 config set 命令来修改配

移动端界面设计之尺寸篇

移动端界面设计之尺寸篇 作者其它设计文章:PS图层样式之高级混合(1)PS图层样式之高级混合(2)手机音乐界面设计分析AE动画设计基础篇移动端界面设计之尺寸篇 作者在写这篇文章时候还没有出iphone6,所以把这一部分的给补上,相关的尺寸请点下面2篇文章查看. 移动端界面设计之尺寸篇(淘宝版) iPhone6 & 6 Plus 视觉设计适配说明 h5移动端页面设计学习文档

APP开发过程的优惠券设计及流程

在整个APP开发产品发展的整个周期中,运营活动必不可少,而发放优惠券已成为运营活动的一种基本形式,而关于优惠券设计的整体流程尤为重要.接下来,常州开发APP公司专家分享一下自己的经验,希望对大家有帮助,感谢支持! 整体架构分析: 一.确认优惠券的类型 首先我们要区分优惠券和代金券: 优惠券 给持券人的某种特殊权利的优待券,可以折抵商品价值,给消费者带来了优惠. 比如原价100元的商品,如果消费者有一张9折的折扣券,那么该商品的价格就是90元. 代金券 可以代替钱币来购买或者消费的一种消费形式,相

【HELLO MAKA】MAKA iOS客户端 之二 架构设计与实现篇

上一篇主要做了MAKA APP的需求分析,功能结构分解,架构分析,API分析,API数据结构分析. 这篇主要讲如何从零做iOS应用架构. [HELLO MAKA]MAKA iOS客户端 之一 APP分析篇 [HELLO MAKA]MAKA iOS客户端 之二 架构设计与实现篇 [HELLO MAKA]MAKA iOS客户端 之三 创作模块分析与实现篇 1.  iOS客户端架构 按照功能模块划分.这里可以使用二层设计也可以使用三层设计.MVC, MVCS, MVVM, MVP, VIPER, DD

IC设计前端到后端的流程和eda工具。

IC前端设计(逻辑设计)和后端设计(物理设计)的区分:以设计是否与工艺有关来区分二者:从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路. 前端设计的流程及使用的EDA工具如下: 1.架构的设计与验证:按照要求,对整体的设计划分模块. 架构模型的仿真可以使用Synopsys公司的CoCentric软件,它是基于System C的仿真工具. 2.HDL设计输入:设计输入方法有:HDL语言(Verilog或VHDL)输入.电路图输入.状态转移图输入. 使用的工具有:Active-HDL,而