Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战
Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战
说明:Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战,优惠券是一种常见的促销方式,在规定的周期内购买对应商品类型和额度的商品时,结算时满足一定条件会减免一定金额。通过发放优惠券,引导用户购买相应的商品,在下单的时候抵扣一定的费用,达到促销、提高客单价的目标。
优惠券不论在线上还是线下,适用范围都比较广泛。例如滴滴发的专车券、外卖平台发的外卖券、京东淘宝的优惠券等。

1.优惠券的类型和应用场景
优惠券有多种分类方式,按照使用门槛、使用范围、发放主体等有不同的分类。
1.1 按照使用门槛分为现金券、满减券、折扣券。
现金券:不限制订单金额,可以直接使用。
满减券:订单金额需要满足一定的最低额度才可使用,例如:满100减10元优惠券。
1.2 按照适用范围分为:单品券、品类券、品牌券。
单品券:购买优惠券指定商品时可使用,这种优惠券一般只针对少量特殊商品可以使用。
品类券:购买优惠券指定类别的商品即可使用,除个别特殊商品。
品牌券:购买优惠券指定品牌的商品时可使用,除个别特殊商品。
一般按照品牌或者品类设置优惠券范围是比较常见的方式。
1.3 按照发放的主体分为平台优惠券和店铺优惠券
平台优惠券:优惠由平台承担,比如平台活动优惠券、平台注册的新人优惠券、平台积分兑换的优惠券。
店铺优惠券:在平台上的店铺自己发放的优惠券,比如淘宝上的店铺优惠券、京东的店铺优惠券。
平台优惠券的金额由平台承担,在店铺使用时优惠金额由平台返给店铺;店铺优惠券的成本由店铺自己承担。
2.优惠券的设计规则
从优惠券的生命周期,来设计优惠券是最恰当的。

2.1 生成优惠券
在生成优惠券时,主要是从优惠券信息和推广信息两方面来考虑优惠券的设计。
2.1.1 优惠券信息
优惠券名称
类型:现金券、满减券、折扣券
面值:例如10元。
使用条件:满XX元可用
使用平台:客户端、H5商城、主站、各分销渠道
有效期时间:绝对时间(时间段)、相对时间(领取之日后多少天有效)
发行量:优惠券张数(设置限额)
使用范围:平台券(全平台通用)、店铺券(仅在某店铺可用)
商品范围:全品类、限制品类、限制商品
2.1.2 推广信息
发放方式:可发放可领取、仅可发放(只能由平台发放给用户)、仅可领取(只能用户自己领取或兑换)
推广范围:免费领取、积分兑换
优惠券是否公开:设置公开后,在领券专区、商品详情页、购物车都默认展示
限领:每人仅限一张、每人每天限领一张
券领取时间:设置领取时间段(过期)
在优惠券生成之后,将优惠券显示在优惠券列表中。
2.2 发送优惠券
优惠券有主动领取和被动领取两种方式。
主动领取:
用户在店铺首页或者平台上看到优惠券,主动进行领取;用户在线下看到宣传推广;朋友圈优惠券分享链接等等。
这种发放方式需要一定的运营成本,需要打动用户,产生兴趣进行主动领取,这种方式需要做好防作弊机制,真正获取到的用户价值较高。
被动领取:
系统主动给用户发送相应的优惠券,但是这种大面积分发的方式,用户精准度低,转化率较低,只能很少促进客单量。
系统发放优惠券场景有很多种:1.用户注册;2.大促活动;3.还有客服发券,主要是售后补偿(平台责任导致售后,发券补偿客户),或者好评返现。
除了以上的方式,还有许多平台电商的一项业务:大客户团购,主要是给一些单位提供的福利卡,例如京东卡。可以通过优惠券(平台币)的形式实现,生成相应的卡密(或兑换码),制作实物卡售卖给一些公司发福利、送礼。用户输入卡密兑换之后,兑换成平台的交易币(相当于给购物卡充值),可以用来抵扣订单金额。
发送优惠券虽然在前端页面只是简单的一个交互,但是后端有大量的逻辑需要处理。
校验用户登录状态 → 优惠券信息读取(是否在有效期、是否可发放、剩余数量) → 优惠券绑定用户
2.3 优惠券核销
在用户下单时,肯定是需要系统从其账户中的优惠券选择合适的优惠券推荐给其使用的。我思考的推荐算法应该分三步:
a.从用户优惠券列表中选择出当前订单可用的优惠券(包括通用券和相应产品优惠券),主要是从有效期、商品范围等条件判断
b.若有多种可用优惠券,但是金额不同,默认选择可抵扣最高的优惠券。
c.如果金额相同,先匹配同类优惠券的优惠券,但当优惠券的额度(现金券)大于支付额度弹出提醒框,确认是否使用。
注:在用户的优惠券列表中,优惠券是否失效也是实时拉取的(失效过长应清除此优惠券),下单时优惠券选择应仅显示用户可用优惠券。
2.4 优惠券统计
主要统计优惠券的发送张数、使用张数。深度数据挖掘可以统计优惠券对应的客单价、复购率等等。
3.优惠券的前端展示
优惠券的前端露出窗口主要有五处:用户优惠券列表、订单提交页、购物车、商品详情页、领券中心(或优惠券分享链接)。
前端展示的难点在于商品详情页和购物车中展示可用优惠券。需要高效率的算法来计算匹配商品对应的优惠券,主要有两点好处:1.优惠券来促进用户消费;2.在用户消费时帮助用户省钱。告知用户有优惠可以享受,避免用户下单之后看到相关优惠没有享受到产生不平衡心理。

4.优惠券在订单中的处理
下单时优惠券的匹配在前面已经叙述过,主要是分为三步,详见2.3优惠券的核销。本节重点讲解优惠券的逆向流程。
在订单完成售后(退款或退货)时,优惠券应有一定的返还机制。
统一设置成不可返还,用了之后就不退。
订单中全部退款时,优惠券全部退还。
订单中部分退款时,普通优惠券不返还,现金券按金额比例退还。
优惠券有着一套很成熟的产品设计方案,介绍之后,再提一个目前绝大部门产品难以解决的问题:基于日常优惠券的使用情况,运营人员如何平衡发放优惠券所带来的成本增长,商品销量增长和单品毛利下降之间的矛盾?在申请促销活动经费时,怎样的数据更具说服力?
实际运营截图:





联系QQ:137071249
QQ群:793305035
Java生鲜电商平台-小程序或者APP优惠券的设计与源码实战的更多相关文章
- Java生鲜电商平台-小程序或者APP拼团功能设计与架构实战
Java生鲜电商平台-小程序或者APP拼团功能设计与架构实战 说明:Java生鲜电商平台拼团是拉新引流的利器,将拼团运用到极致的就是拼多多,前期通过选取性价比高.实用性强的商品进行拼团,在社交圈(主要 ...
- Java生鲜电商平台-订单配送模块的架构与设计
Java生鲜电商平台-订单配送模块的架构与设计 生鲜电商系统最终的目的还是用户下单支付购买, 所以订单管理系统是电商系统中最为复杂的系统,其作为中枢决定着整个商城的运转, 本文将对于生鲜类电商平台的订 ...
- Java生鲜电商平台-高可用微服务系统如何设计?
Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...
- Java生鲜电商平台-统一格式返回的API架构设计与实战
Java生鲜电商平台-统一格式返回的API架构设计与实战 说明:随着互联网各岗位精细化分工的普及,出现了很多的系统架构设计,比如常见的前后端分离架构,后端提供接口给前端,前端根据接口的数据进行渲染,大 ...
- Java生鲜电商平台-redis缓存在商品中的设计与架构
Java生鲜电商平台-redis缓存在商品中的设计与架构 说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而 ...
- Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载)
Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构,我采用以下三种维度来讲解 1. 代码层面. 2. 数 ...
- Java生鲜电商平台-订单中心服务架构与异常订单逻辑
Java生鲜电商平台-订单中心服务架构与异常订单逻辑 订单架构实战中阐述了订单系统的重要性,并从订单系统的信息架构和流程上对订单系统有了总体认知,同时还穿插着一些常见的订单业务规则和逻辑.上文写到订单 ...
- Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP)
Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP) “微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”. 画外音:做 ...
- Java生鲜电商平台-优惠券功能设计与开发(小程序/APP)
Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 说明:Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 目录 1.项目背景与需求分析 2.需求目的与功能点列表 3.业务逻辑 ...
随机推荐
- 关于layui的日期和时间组件laydate闪屏的坑
https://blog.csdn.net/liangwenli_/article/details/82786713 jsp页面: <input type="text" cl ...
- find & grep 总 结
前言 关于本文 总 结 了 find.grep常 规 用 法,正 则 表 达 式,find与 grep合 用 以 及 自 定 义 搜 索 函 数 等 什么是find和grep find 和 grep ...
- golang中的net/rpc包
本文先介绍RPC,然后go原生对RPC的使用,之后是介绍go语言中有哪些RPC框架以及一些其他常见的框架,最后是探究go语言中rpc的源码. (1)首先介绍下什么RPC? (2)RPC可以做什么? ( ...
- JavaWeb项目中的Servlet
1.创建Servlet 2.在jsp中用ajax调用 $.post("<%=request.getContextPath()%>/AjaxValidationServlet&qu ...
- arcgis中的Join(合并连接)和Relate(关联连接)
arcgis中的Join(合并连接)和Relate(关联连接) 一.区别 1.连接关系不一样. Relate(关联连接)方式连接的两个表之间的记录可以是“一对一”.“多对一”.“一对多”的关系 Joi ...
- 【网易官方】极客战记(codecombat)攻略-地牢-攻破突袭
关卡连接: https://codecombat.163.com/play/level/hack-and-dash 通过加速药来逃离地牢精灵 简介: 空气中弥漫着危险的气息.你应该从地牢里逃出来. 但 ...
- Gevent和猴子补丁
定义 在2018年看Flutent python时了解到猴子补丁,知道咋回事,但是现在通过代码更深刻认识猴子补丁. 猴子补丁:在运行时修改类或模块,而不改动源码. 例子1 没有用猴子补丁 import ...
- C# 委托实例实现的多种类型
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 503,display:none;与visibility:hidden;的区别
联系:他们都能让元素不可见 区别: display:none:会让元素从渲染树中消失,渲染的时候不占据任何空间: visibility:hidden:不会让元素从渲染树中消失,渲染时袁旭继续占据空间, ...
- C语言程序的错误和警告
一段C语言代码,在编译.链接和运行的各个阶段都可能会出现问题.编译器只能检查编译和链接阶段出现的问题,而可执行程序已经脱离了编译器,运行阶段出现问题编译器是无能为力的. 如果我们编写的代码正确,运行时 ...