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优惠券的设计与源码实战的更多相关文章

  1. Java生鲜电商平台-小程序或者APP拼团功能设计与架构实战

    Java生鲜电商平台-小程序或者APP拼团功能设计与架构实战 说明:Java生鲜电商平台拼团是拉新引流的利器,将拼团运用到极致的就是拼多多,前期通过选取性价比高.实用性强的商品进行拼团,在社交圈(主要 ...

  2. Java生鲜电商平台-订单配送模块的架构与设计

    Java生鲜电商平台-订单配送模块的架构与设计 生鲜电商系统最终的目的还是用户下单支付购买, 所以订单管理系统是电商系统中最为复杂的系统,其作为中枢决定着整个商城的运转, 本文将对于生鲜类电商平台的订 ...

  3. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

  4. Java生鲜电商平台-统一格式返回的API架构设计与实战

    Java生鲜电商平台-统一格式返回的API架构设计与实战 说明:随着互联网各岗位精细化分工的普及,出现了很多的系统架构设计,比如常见的前后端分离架构,后端提供接口给前端,前端根据接口的数据进行渲染,大 ...

  5. Java生鲜电商平台-redis缓存在商品中的设计与架构

    Java生鲜电商平台-redis缓存在商品中的设计与架构 说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而 ...

  6. Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载)

    Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构,我采用以下三种维度来讲解 1.  代码层面. 2.  数 ...

  7. Java生鲜电商平台-订单中心服务架构与异常订单逻辑

    Java生鲜电商平台-订单中心服务架构与异常订单逻辑 订单架构实战中阐述了订单系统的重要性,并从订单系统的信息架构和流程上对订单系统有了总体认知,同时还穿插着一些常见的订单业务规则和逻辑.上文写到订单 ...

  8. Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP)

    Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP) “微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”. 画外音:做 ...

  9. Java生鲜电商平台-优惠券功能设计与开发(小程序/APP)

    Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 说明:Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 目录 1.项目背景与需求分析 2.需求目的与功能点列表 3.业务逻辑 ...

随机推荐

  1. c#中convert.toInt32和int.parse()和强制类型转换的区别

    string a="123"; int i=(int)a; 这是会出现错误因为:强制类型转换只能转换值类型不能转换引用类型 string属于引用类型    强制类型转换时如果值类型 ...

  2. 微信环境中如何实现跳转到手机默认外部浏览器下载apk文件

    由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载.其实原来很简单,就是判断当前是在微信内置浏览器中 ...

  3. 最大/最小de K个数/第K个数

    题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 思路 堆排序 收获 用优先队列实现最大最小堆 注意下列代码中优先队列 ...

  4. 每天进步一点点------Allegro 动态显示走线长度

    手工布线时还可以动态显示当前走线的长度,设置方法为执行菜单命令Setup->User preferences,打开User preferences Editor对话框.在Etch对应的环境变量中 ...

  5. Elasticsearch系列---shard内部原理

    概要 本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的. 倒排索引 倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段 ...

  6. maven基础学习篇

    一.Maven的两大核心功能:依赖管理(主要是jar包的管理)  和   一键构建 1.依赖管理:maven项目所需要的jar包全部放在仓库中,项目只放置jar包的坐标,所要用到的jar包都从仓库中获 ...

  7. 吴裕雄 python 机器学习——集成学习AdaBoost算法分类模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  8. 题解【洛谷P2279】[HNOI2003]消防局的设立

    题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有\(n\)个基地.起初为了节约材料,人类只修建了\(n-1\)条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成 ...

  9. 2019冬季PAT甲级第四题

    #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; typedef struct node{ ...

  10. bit Buffer

    在音频流解析过程中,常常会涉及到顺序读取某些bit的操作. #include<stdio.h> typedef struct _BIT_BUF { unsigned char buffer ...