优惠券形式

我们经常浏览淘宝、京东等电商平台,可以领取优惠券来购买商品,像双11有很多满减优惠券,及无门槛的叠猫猫购物红包等,这些其实都是一种营销手段,本文来解析如何来实现一套优惠券方案。

优惠券方案后台

1、优惠券基本信息

优惠券基本信息主要分为两个方面:派发 和 使用

  • 派发
    派发是指优惠券可以领取的时间范围、领取方式(唯一兑换码、通用兑换码)、总的派发数量、单日派发数量、领取指定用户(会员、新用户等)、每人领取限制、派发渠道(app、小程序)等。
  • 使用
    使用就是具体的优惠券的使用时间、满足条件及优惠金额、是否叠加使用等。这些属于核销阶段,用户优惠券有的是满减券、打折券、每满减等形式,优惠券叠加的场景较复杂,有使用前叠加、使用后叠加、不叠加只能使用一个商品等情况,京东的优惠券有时候可以叠加,有京东优惠券、BU优惠券、店铺优惠券等,可以叠加使用。

这属于优惠券的基本信息,这些信息也足够满足对优惠券的需求,但更高层次的会有一些运营、品牌的考虑。

2、优惠券商品信息

基本信息可以适用于整个电商平台的所有商品,但有些商家不想参加、有些商品不想参加,所以还需要一个圈商品的动作,所以在商品信息这里可以做到:

  • 指定商品品牌
  • 指定商品BU,运营角度,因为运营是按照Bu来划分的
  • pop商家,与pop商家合作,双11的购物津贴基本是跨店铺的使用
  • 跨境方式,跨境电商可能对跨境也有要求
  • 黑名单:剔除掉某些满足上述条件,但依旧不想参与的商品,一个店铺里只允许10个商品参加,其他的商品都不允许参与,就需要把其他商品弄成一个黑名单。
  • 不适用的品牌,对BU级别来说,一个BU部门负责多个品牌,也可以剔除掉某个品牌。

3、其他

还有一些信息是关于优惠券成本的,这个优惠券是谁来承担成本、用途是那些、申请理由是那些,这些来做一些复盘,帮助了解运营的优惠操作,整体来看每个BU对优惠券的使用。

4、审核优惠券

优惠券的创建成功后,需要人工审核,一方面是二次确认,另一个方面是跨店铺和Bu的优惠券成本的问题,需要各个BU的主管来确认,防止无故将其他BU的商品做优惠卖出,影响毛利等,会有一些电商弄一个活动提报部门,每次大促让商家自主报名参与其中,这就涉及到优惠券、双十一主会场等,大促时期会有引流。

优惠券前台:面向用户

用户领取优惠券

可以领取的优惠券是带有方案信息的,所以用户点击领取优惠券,我们要校验用户能不能领取,比如他已经领取了一张优惠券,再领取的时候会被限制,所以展示给前台用户的就是一个优惠券展示界面,但内部其实是一个优惠券ID,用户领取优惠券就是将优惠券id和用户id传给后台,后台来做存储。并且可以给用户领取的这个优惠券生成一个优惠券Id,包括日期、优惠券方案id、用户id、uuid等,当然要对一些进行转换加密,一般是把方案id加密,用户id 不带上,加密可以把数字转换为16进制、32进制等,这样不返回数据库主键id给前台,而且涵盖更多非敏感信息,之后的流程都会使用这个优惠券Id。

订单预览选优惠券

用户下单的时候,我们会让用户来选择优惠券使用,这里就主要是把符合条件的优惠券返回过来,包括系统自动选择优惠额度最大的优惠券,但可能用户并不想用,这个预览就是为了让用户可以选择自己想使用的优惠券,这里选择了对应的优惠券后,在下单页面就会直接使用。

下单扣优惠券

将用户的优惠券状态置为核销状态,这里要订单加幂等,避免用户重复提交数据。

商品金额分摊

这个属于优惠券做的分摊,交易也可以做。2件商品满足满100元减20,那么这20元怎么分摊到2件商品上,特别是一件是20元,一件是80元,这样优惠的20元应该怎么分摊到单个商品上,这样在财务那边算商品毛利的时候才能更直观,一般的做法是按照商品金额比例来承担优惠比例,20:80等于1:4,20元的优惠额也是按照这个比例,那么20元商品优惠了4元,80元商品优惠了16元。其他策略就看从那个角度来思考问题。

退货 退优惠券

如果用户下单后、下单付款成功后、收到货物后 等情况下,取消订单、退款等操作,需要退优惠券,但同时也要考虑优惠券的使用时间。

技术难题

1、派发阶段问题:几千万的优惠券怎么保证不超发

派发优惠券的时候,很多人同时抢,如何做到数量不超发,因为每次用户只能抢一张优惠券,利用悲观锁来保证数据库优惠券总数数据每次减1,这样就可以避免超发,但问题是这样的并发不大,因为每次就更新派发数量,这一条记录肯定会被数据库加锁,整体来说并发量难以提升。

2、如何提高派发性能

缓存,提高并发的一大利器,就是利用内存来做事情,利用redis这种远程缓存来做数据的更新会比直接操作数据库提高更多性能。但派发的时候也需要将用户和优惠券绑定起来,这样用户也可以看到自己领取的优惠券,所以需要需要将用户领取的优惠券信息落到数据库中,那么派发的时候也需要插入数据库数据,优惠券计数可以在缓存里加减,但数据库插入记录可能会失败,失败后,缓存里可能已经扣减成功,这样数据就不一致了,所以如何保证缓存里扣减和插入数据库一致?有一个解决方案就是利用lua脚本来实现单线程处理,缓存里存派发总数,然后每个用户领取的做流水表。利用一个兜底的定时任务来比较缓存和数据库的一致性。当然网上还有另一个版本:

  • 缓存计数+MQ
    优惠券总数是在缓存里实现,然后把用户id和领取的优惠券方案id 利用消息队列发送处理,异步来实现用户和优惠券的绑定关系和插入数据库,后台处理,但这处理时效性如何,还是不太能保证超发。

3、后续

聊聊一个电商优惠券产品形态相关推荐

  1. 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文

    本系列所有文章 如何一步一步用DDD设计一个电商网站(一)-- 先理解核心概念 如何一步一步用DDD设计一个电商网站(二)-- 项目架构 如何一步一步用DDD设计一个电商网站(三)-- 初涉核心域 如 ...

  2. 电商优惠券测试用例分析(管理后台)

    作为一个电商项目,势必会包含优惠券这一模块,今天就来分析一下它,这篇的测试分析主要是针对后台,移动端的稍后我会再单独整理一篇 分析优惠券的测试点我主要从三方面入手:发布前.发布中.发布后: 发布前: ...

  3. ios一个app调起另一个app_电商app开发价格:制作一个电商app需要多少钱?

    智能手机的发展,带动了各式各样手机app的市场,现在大家网购大多数都是通过电商app实现,再加上分销.配送等模式发展,自建电商app成为很多企业的选择,电商app开发成本大概多少?制作一个电商app需 ...

  4. 如何一步一步用DDD设计一个电商网站(十三)—— 领域事件扩展

    本系列所有文章 如何一步一步用DDD设计一个电商网站(一)-- 先理解核心概念 如何一步一步用DDD设计一个电商网站(二)-- 项目架构 如何一步一步用DDD设计一个电商网站(三)-- 初涉核心域 如 ...

  5. 一个程序如何连接到外网_如何开发制作小程序?做一个电商带直播小程序

    开发制作小程序可以让商家更方便地引流获客.增加线上订单.尤其是今年小程序直播大火,商家有了新的运营私域流量的利器,因此做一个电商带直播功能的小程序是很有用的. 如何开发一个这样的小程序呢?流程如下: ...

  6. 系统设计题:如何设计一个电商平台积分兑换系统!

    本文来自公众号:狸猫技术窝 作者:原子弹大侠,阿里高级技术专家 1.拉开差距的一类面试题 现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难 ...

  7. 做一个电商网站需要多少钱

    做一个电商网站需要多少钱 做一个电商网站详细成本 一.域名费用:有些的顶级域名非常贵,但如果需要搭建一个好的商城,那么域名也要最好的,因此,域名的成本非常高. 二.服务器费用:电商每天处理大量的数据, ...

  8. 开发一个电商网站大概多少钱

    开发一个电商网站会因为系统功能.开发商.硬件等因素影响电商网站开发报价.每一个影响电商网站开发费用的介绍,如下: 与功能需求有关 电商平台开发费用需要知道所有的网站在建设出来之后都应该掌握好其功能才能 ...

  9. 电商html轮播动效,制作一个电商网站的轮播图效果

    各位亲爱的伙伴们 大家周末愉快 上次给大家写了 给猫猫制作简单的轮播图 收到了,小伙伴们一致吐槽,娜娜制作出来的这个轮播图不能动呀~.好吧说实话,那个本来就动不了.但是伙伴们的建议,我都收到了,那么今 ...

最新文章

  1. 网站的安全证书存在安全问题,无继续浏览按钮
  2. [python调试笔记] 编译运行h5py
  3. 问题小结(一)——servlet生命周期、get和post请求、内置对象、单例模式等
  4. 【-】WebKit Layout (布局)
  5. POJ3666序列最小差值
  6. ubuntu没有声音-只有类比立体声输入
  7. AzCopy – 上传/下载 Windows Azure Blob 文件
  8. php生成游客id_PHP生成唯一ID 公认较为安全的写法 上传随机文件名
  9. Spring 静态代理和动态代理
  10. 设置div绝对定位+居中
  11. Sublime下MarkDown插件实现编辑和实时预览并转换成HTML格式
  12. android nexus 刷机工具包,Android Nexus 6p刷机及root
  13. Java 导入导出Excel
  14. 局域网ip扫描工具_IP Scanner Pro for mac(局域网IP扫描软件)
  15. 昆明二级计算机考试报名时间2015,2015年国家司法考试昆明考区公告
  16. java打开客户端程序_Java客户端服务器应用程序 - 已在使用的地址:connect
  17. 超级经典的人生格言(搞笑)
  18. k3cloud二次开例子
  19. Photoshop修图的常用方法与技巧一
  20. 分布积分详解(lnx积分)

热门文章

  1. 这几款免费的解说配音软件,非常适合制作解说视频
  2. 28项全能版动态寄生虫程序-烟雨开发动态寄生虫安装控制面板-2022动态寄生虫程序-全网独家
  3. 读 Edward Craig 之 Philosophy: A Very Short Introduction
  4. .VC++关于的VFW视频采集方案【转 360doc】
  5. 联想电脑重装win10系统步骤图解
  6. vc编译器 msvcr.dll、msvcp.dll的含义和相关错误的处理
  7. 论文查重:浅谈SCI论文评估的三阶段
  8. 重置电脑解决“win10无法正常开机”的问题
  9. Linux——》Out of memory:kill process
  10. Verilog HDL的简单应用之74ls160功能的实现