一、前言

在电子商务网站中存在着纷繁复杂的促销规则,这些促销规则可以是作用在产品上、购物车内若干产品或整个购物车,

也可以是减免运费,额外赠送礼品、积分等。而且获得这些促销规则存在获取资格,比如某个会员级别、甚至是指定的用户等,

那么如何在电子商务系统中通过一种统一的设计来实现各种各样的促销规则,并提供友好的扩展性方便以后挖掘的更多的未知促销手段呢?

二、常见促销规则和例子

首先,让我们整理一下常见的促销规则和对应的例子。

  • 整张订单消费满 x 节省百分比 或 数值 y
    适合全站促销。
  • 从指定的目录或者产品集合里 面选购满 x 减百分比 或 数值
    比如图书分类,满100减10,满200减25等
  • 购买某个或指定范围的产品节省百分比 或 数值
  • 符合某个条件赠送某个产品
  • 符合某个条件赠送指定产品集合里面某个产品(任选一)
    比如满98元任选一赠品。
  • 买 x 则 y 免费(同上)
  • 买 x 后,若买y 则节省y% 或某数值
    这种和前面的不同,更加复杂,类似产品包优惠。
  • 某个产品特价(指定价格)
  • 减、免运费(无条件)
  • 减、免运费(有条件)
    比如订单满多少金额,或某个会员级别。
  • 满足某个条件则最便宜的免费
    在指定的产品范围内,超过3件产品,则最便宜的免费(即最高折扣为33% off)
  • 额外的积分赠送
  • 免费的礼品包装
  • 满 x 送 y 优惠券
  • 使用优惠券(Coupon)获得指定的优惠
  • .... 更多的或由上面的类型衍生出的促销类型

三、促销规则规律和设计分析

这些促销类型让人眼花缭乱,接下来我们要进一步分析,整理出隐藏在这些类型后面的规律。

在这之前,我要定义一个说明:促销规则是在购物车和结帐页面才会生效的。

在结帐页面比购物车多出的是对运费的处理(比如某些省份才免运费),其它的和在购物车内一致。

只有在顾客将某个产品加入购物车后,基于购物车内的产品进行计算分析才会得出折扣后的价格、赠送或其它信息。

而在产品列表页面或详细页面,某些促销规则可以显示完整(如特价),某些则只能显示适用的促销活动标题了。

基于这个原则,我将上述的促销规则分成下面的几部分,即每种促销类型均可以通过这些部分来表示和维护:

  1. 基本信息
    包括标题、说明、图片等。
  2. 规则有效时间
    起始时间和结束时间
  3. 规则组编号和优先级
    适用于除生效条件和规则优惠不同外,其它参数均相同的促销活动。
    关于分组和优先级的作用下面会详细阐述。
  4. 规则适用产品范围
    分为单个产品、多个产品、产品目录、产品种类(含多个目录)和全部产品
  5. 规则生效条件
    最小数量(含)或金额(含)
  6. 规则享受资格
    全体会员、最低会员级别(含)、会员组(一般是临时组)、指定会员。
  7. 规则优惠
    • 节省x%-->百分比值
    • 节省x-->金额
    • 赠送优惠券-->选择1~N优惠券类型
    • 减运费-->金额
    • 免运费
    • 额外积分(百分比)-->积分百分比值
    • 额外积分(数量)-->积分数值
    • 赠品-->选择指定产品-->赠品数量
    • 赠品-->选择赠品组-->可选赠品数量
    • 指定产品-->折扣-->百分比
    • 指定产品-->折扣-->节省金额

四、分组和优先级

在实际应用中,往往存在多个促销规则是类似的,比如:

  1. 图书满100减20元
  2. 图书满200减50元
  3. 图书满300减100元

(京东用过)

这三个促销规则除了生效条件和对应的规则优惠不同外,其它的都是相同的,在促销引擎计算时,实际上

只会计算一个最符合的促销规则,而不会累加。

比如当前购买的图书是310元,那么适用促销规则3;240元,适用方式2,110元适用方式1等。

针对这类业务,我们可以通过增加一个分组编号和优先级来进行处理。

对于这三个促销规则,我们在维护时,可以设置分组均为1(简单的数字,默认是0)。

而优先级从上到下,依次增加,数值越大优先级越高。这样促销引擎在计算时,就会按优先级来匹配,一旦匹配成功,

同一组的其它规则就不再处理。

转载于:https://www.cnblogs.com/boway/p/5211893.html

电商系统促销方案的设计相关推荐

  1. 电商库存系统设计mysql_详解:电商系统库存逻辑的设计

    原标题:详解:电商系统库存逻辑的设计 本文主要对电商平台的订单系统相关库存逻辑进行了详细的阐述,一起来文中看看~ 一.库存的概念 电商的业务场景中订单的流程常常伴随着库存的变化:对于erp来说,库存可 ...

  2. 电商系统商品中心产品设计

    由于商业性质决定了电商业务支撑系统必须具备稳定性.可扩展.安全性强等特点,PM在设计产品架构时,应充分考虑到业务发展需要,尽量将各模块隔离,商品模块建个商品中心,订单模块建个订单中心. 只有在产品设计 ...

  3. 电商系统架构设计系列(一):电商系统到底是如何设计出来的?

    引言 电商这个业务,和我们的生活息息相关.你可能对电商多少有一些了解,但是,即使是一个最小化的电商系统,它仍然非常复杂. 在这个系列的文章里,我们将一起以一个创业公司的 CTO 的视角,来设计一个最小 ...

  4. HH SaaS电商系统的商城模块设计

    文章目录 好获SaaS电商系统层级关系 商城实体 商城运营模式 商城可选子系统 创建商城 商城管理后台 有供应系统和无供应系统的B2C和混合模式的商城系统对比 有仓储系统和无仓储系统的B2C和混合模式 ...

  5. 今天聊聊电商系统中红包活动设计

    电商的营销玩法可谓花样百出,今天跟大家聊聊红包雨活动是如何设计技术方案的. 红包雨是一个典型的高并发场景,短时间内有海量请求访问服务端,技术团队为了让系统运行顺畅,抢红包采用了基于 Redis + L ...

  6. 电商系统的高并发设计和挑战

    声明:本文为<程序员>原创文章,未经允许不得转载,更多精彩文章请订阅2016年<程序员>http://dingyue.programmer.com.cn 作者:陈康贤(专访), ...

  7. HH SaaS电商系统的品牌模块设计

    品牌和商品基础类目属于多对多的关系 创建品牌时必须关联商品基础类目,且只能关联三级类目,至少关联一种 品牌只能由租户统一进行维护管理,供应商.商家.商城可以申请新品牌,但是由租户进行审核 品牌被删除或 ...

  8. 电商系统的售后模块设计

    文章目录 售后单实体 方案一 方案二 服务类型 可选售后服务判断规则 退款类型 售后截止时间 金币和优惠券如何返还 买家端订单列表的"售后按钮"逻辑说明 服务端处理逻辑 买家端操作 ...

  9. 电商系统:优惠券实体设计、数据库表设计、满减券、运费券

    Coupon(优惠券): 参数 参数注释 类型 是否非空 示例 说明 coupon_code 编码 long Y 123456123456 coupon_name 名称 string Y 满100减2 ...

最新文章

  1. NSTimer 小记
  2. 计算机网络大一上学期期末考试试题及答案,大一第一学期期末计算机考试题及答案)...
  3. 在计算机上创建一个本地用户账户,在工作组中,默认时每台Windows计算机的( )能够在本地计算机的SAM数据库中创建并管理本地用户账户。...
  4. JDK环境下利用记事本对java文件进行运行编译
  5. 用DirectoryInfo搜索文件夹时过滤隐藏文件夹
  6. JavaScript继承
  7. Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos
  8. JavaScript实现复选框全选与全不选的效果
  9. Introduce Null Object(引入Null 对象)
  10. Java高级语法笔记-库的使用(jar)
  11. 铅笔道区块链实验班_你们抢着要的道地药材,必须用上区块链了
  12. ERROR Error loading vue.config.js: ERROR Error: Command failed: git describe --always报错可能的原因
  13. 关于virtual box安装windows xp虚拟机遇到的一个问题
  14. PyQt5 QLabel控件
  15. 看懂Azure DevOps燃尽图(Burndown Chart)
  16. 中文情感极性词典 NTUSD
  17. 怎样开发每天赚100万的微信小游戏?
  18. Android屏幕适配方案
  19. 编程竞赛_编程竞赛和挑战清单
  20. 收藏 取消收藏html,一键解除网页限制,浏览器收藏夹书签小工具

热门文章

  1. android 万能混淆文件,Android ProGuard 代码压缩混淆与打包优化
  2. Android类微信(二)
  3. 【计算机毕设】毕设题分析及设计
  4. 手握国企offer,33岁程序员不按常理出牌,网友炸了!
  5. 承受自律的苦,不要承受自责的悔
  6. 解析json格式请求返回500状态码的异常
  7. QT in VS 多语言实现(中英文切换)
  8. QQ、微信、新浪微博和百度第三方登录
  9. 【项目管理】软件项目外包常见的3个坑
  10. 【BZOJ2095】 Bridge