你想知道的优惠券业务,SkrShop告诉你
SkrShop《营销体系》第5篇 ???~
经过两年的更新「SkrShop」已经构成了下面的架构:
图中紫色的内容就是本编文章的主要内容:营销体系的基础服务「优惠券服务」。但是呢,首先要说的是关于不断被催更的事。
关于催更?
我给出了如下解释:人逢假日懒?♀️(我没错?)、工作紧、需要保证质量,就酱。但是我一定能保证的是一直会更新下去,希望得到大家理解。
关于下期内容?
之前在Github上的Issues大家一致想看关于订单相关的内容,所以更新完本期「优惠券」之后就开始了订单之旅。
Issues如下:
1. https://github.com/skr-shop/manuals/issues/25
2. https://github.com/skr-shop/manuals/issues/18
进入正题,营销体系的基础服务「优惠券服务」。通过如下问题来介绍优惠券:
- 优惠券有哪些类型?
- 优惠券有哪些适用范围?
- 优惠券有哪些常见的场景?
- 优惠券服务要有哪些服务能力?
- 优惠券服务的风控怎么做?
优惠券有哪些类型?
优惠能力维度:
对于获取优惠券的用户而言:关注的是优惠券的优惠能力,所以按优惠能力维度优惠券主要分为下面三类:
优惠能力维度 |
描述 |
---|---|
满减券 |
满多少金额(不含邮费)可以减多少金额 |
现金券 |
抵扣多少现金(无门槛) |
抵扣券 |
抵扣某Sku全部金额(一个数量) |
折扣券 |
打折 |
有效期维度:
对于发放优惠券的运营人员而言:
一种是「固定有效期」,优惠券的生效时间戳和过期时间戳,在创建优惠券的时候已经确定。用户在任意时间领取该券,该券的有效时间都是之前设置的有效时间的开始结束时间。
另一种是「动态有效期」,创建优惠券设置的是有效时间段,比如7天有效时间、12小时有效时间等。这类优惠券以用户领取优惠券的时间为优惠券的有效时间的开始时间,以以用户领取优惠券的时间+有效时间为有效时间的结束时间。
有效期维度 |
优惠券类型 |
优惠券生效时间 |
优惠券失效时间 |
描述 |
---|---|---|---|---|
固定 |
固定有效期 |
优惠券类型被创建时已确定 |
优惠券类型被创建时已确定 |
无论用户什么时间领取该优惠券,优惠券生效的时间都是设置好的统一时间 |
动态 |
动态有效期 |
用户领取优惠券时,当前时间戳 |
用户领取优惠券时,当前时间戳 + N*24*60*60 |
优惠券类型被创建时,只确定了该优惠券的有效,例如6小时、7天、一个月 |
小结如下:
优惠券有哪些适用范围?
运营策略 |
描述 |
---|---|
(非)指定Sku |
Sku券 |
(非)指定Spu |
Spu券 |
(非)指定类别 |
类别券 |
指定店铺 |
店铺券 |
全场通用 |
平台券 |
适用终端 |
描述 |
---|---|
Android |
安卓端 |
iOS |
iOS端 |
PC |
网页电脑端 |
Mobile |
网页手机端 |
微信端 |
|
微信小程序 |
微信小程序 |
All |
以上所有 |
适用人群 |
描述 |
---|---|
白名单 |
测试用户 |
会员 |
会员专属 |
小结如下:
优惠券有哪些常见的场景?
领取优惠券场景 |
描述 |
---|---|
活动页面 |
大促、节假日活动页面展示获取优惠券的按钮 |
游戏页面 |
通过游戏获取优惠券 |
店铺首页 |
店铺首页展示领券入口 |
商品详情 |
商品详情页面展示领券入口 |
积分中心 |
积分兑换优惠券 |
展示优惠券场景 |
描述 |
---|---|
活动页面 |
大促、节假日活动页面展示可以领取的优惠券 |
商品详情 |
商品详情页面展示可以领取、可以使用的优惠券列表 |
个人中心-我的优惠券 |
我的优惠券列表 |
订单结算页面 |
结算页面,适用该订单的优惠券列表以及推荐 |
积分中心 |
展示可以兑换的优惠券详情 |
选择优惠券场景 |
描述 |
---|---|
商品详情 |
商品详情页面展示该用户已有的,且适用于该商品的优惠券 |
订单结算页面-优惠券列表 |
选择可用优惠券结算 |
订单结算页面-输入优惠码 |
输入优惠码结算 |
返还优惠券场景 |
描述 |
---|---|
未支付订单取消 |
未支付的订单,用户主动取消返还优惠券,或超时关单返还优惠券 |
已支付订单全款取消 |
已支付的订单,订单部分退款不返还,当整个订单全部退款返还优惠券 |
场景示例 |
描述 |
---|---|
活动页领券 |
大促、节假日活动页面展示获取优惠券的按钮 |
游戏发券 |
游戏奖励 |
商品页领券 |
- |
店铺页领券 |
- |
购物返券 |
购买某个Sku,订单妥投后发放优惠券 |
新用户发券 |
新用户注册发放优惠券 |
积分兑券 |
积分换取优惠券 |
小结如下:
优惠券服务要有哪些服务能力?
服务能力1: 发放优惠券
发放方式 |
描述 |
---|---|
同步发放 |
适用于用户点击领券等实时性要求较高的获取券场景 |
异步发放 |
适用于实时性要求不高的发放券场景,比如新用户注册发券等场景 |
发放能力 |
描述 |
---|---|
单张发放 |
指定一个优惠券类型ID,且指定一个UID只发一张该券 |
批量发放 |
指定一个优惠券类型ID,且指定一批UID,每个UID只发一张该券 |
通过该优惠券类型的身份标识发放,比如创建一个优惠券类型时会生成一个16位标识码,用户通过
16位标识码
领取优惠券;这里不使用自增ID(避免对外泄露历史创建了的优惠券数量)
服务能力2: 撤销优惠券
撤销能力 |
描述 |
---|---|
单张撤销 |
指定一个优惠券类型ID,且指定一个UID只撤销一张该券 |
批量撤销 |
指定一个优惠券类型ID,且指定一批UID,每个UID撤销一张该券 |
服务能力3: 查询优惠券
用户优惠券列表 |
子类 |
描述 |
---|---|---|
全部 |
- |
查询该用户所有的优惠券 |
可以使用 |
全部 |
查询该用户所有可以使用的优惠券 |
- |
适用于某个spu或sku |
查询该用户适用于某个spu或sku可以使用的优惠券 |
- |
适用于某个类别 |
查询该用户适用于某个类别可以使用的优惠券 |
- |
适用于某个店铺 |
查询该用户适用于某个店铺可以使用的优惠券 |
无效 |
全部 |
查询该用户所有无效的优惠券 |
- |
过期 |
查询该用户所有过期的优惠券 |
- |
失效 |
查询该用户所有失效的优惠券 |
服务能力4: 结算页优惠券推荐
订单结算页面推荐一张最适合该订单的优惠券
小结如下:
优惠券服务的风控怎么做?
一旦有发生风险的可能则触发风控:
- 对用户,提示稍后再试或联系客服
- 对内部,报警提示,核查校验报警是否存在问题
频率限制
领取 |
描述 |
---|---|
设备ID |
每天领取某优惠券的个数限制 |
UID |
每天领取某优惠券的个数限制 |
IP |
每天领取某优惠券的个数限制 |
使用 |
描述 |
---|---|
设备ID |
每天使用某优惠券的个数限制 |
UID |
每天使用某优惠券的个数限制 |
IP |
每天使用某优惠券的个数限制 |
手机号 |
每天使用某优惠券的个数限制 |
邮编 |
比如注重邮编的海外地区,每天使用某优惠券的个数限制 |
用户风险等级
依托用户历史订单数据,得到用户成功完成交易(比如成功妥投15天+)的比率,根据此比率对用户进行等级划分,高等级进入通行Unblock名单,低等级进入Block名单,根据不同用户级别设置限制策略。等其他大数据分析手段。
阈值
- 发券预算
- 实际使用券预算
根据预算值设置发券总数阈值,当触发阈值时阻断并报警。
优惠券不要支持虚拟商品
优惠券尽量不要支持虚拟商品以防止可能被利用的不法活动。
小结如下:
[Skr Shop] 项目地址
长按进入:https://github.com/skr-shop/manuals
Skr Shop系列更多文章
- [Skr-Shop]什么,秒杀系统也有这么多种!
- [Skr-Shop]通用抽奖系统之系统设计
- [Skr-Shop]通用抽奖系统之需求分析
- [Skr-Shop]营销体系开篇
- [Skr-Shop]购物车设计之架构设计
- [Skr-Shop]购物车设计之需求分析
- [Skr-Shop]coder,你会设计交易系统吗(实干篇)?
- [Skr-Shop]coder,你会设计交易系统吗(概念篇)?
- [Skr-Shop]电商设计手册之基础商品信息
- [Skr-Shop]支付开发,不得不了解的国内、国际第三方支付流程
- [Skr-Shop]电商设计手册之用户体系
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 可支持快速搜索筛选的Android自定义选择控件
- Android编程实现的短信编辑器功能示例
- SELinux 入门详解
- Android EditText限制输入字符的方法总结
- Android使用API实现图像扭曲效果示例
- linux网络配置工具的使用
- Android基于BaseExpandableListAdapter实现的二级列表仿通话记录功能详解
- Android中使用AsyncTask实现下载文件动态更新进度条功能
- 在CentOS VPS上通过SSH安装 MySQL的方法图解
- 使用vs2019进行Linux远程开发的方法步骤
- Android WebView的使用方法总结
- Android继承ViewGroup实现Scroll滑动效果的方法示例
- Linux内核设备驱动之字符设备驱动笔记整理
- Android 中在有序广播中添加自定义权限的实例
- 在 CentOS 8 上安装Jenkins的方法