促销活动与优惠券叠加问题

一、问题分析

1.促销活动

  • 基础价格: 原价、临时销售价、会员价、上一活动优惠后价格
  • 活动叠加:不叠加、全部叠加、指定叠加
  • 优惠券叠加:不叠加、全部叠加、指定叠加
  • 排序:在于基于上一活动价格时的活动优先顺序

2.优惠券

  • 基础价格: 原价、临时销售价、会员价、上一活动优惠后价格
  • 活动叠加:不叠加、全部叠加、指定叠加
  • 优惠券叠加:不叠加、全部叠加、指定叠加
  • 排序:在于基于上一活动价格时的活动优先顺序

二、假设性分析

  1. 商品
  • 商品a
    -- 原价:100
    -- 销售价:90
    -- 会员价:85
  • 商品b
    -- 原价:200
    -- 销售价:190
    -- 会员价:170
  • 商品c
    -- 原价:100
    -- 销售价:90
    -- 会员价:85
    -- 可与活动叠加
    -- 可与券叠加
  1. 活动
  • 活动A
    -- 基于销售价
    -- 满 200减30
    -- ab商品可用
  • 活动B
    -- 基于会员价
    -- 满2减打9折
    -- 所有商品可用
    -- 可与活动叠加
    -- 可与券叠加
  • 券K
    -- 基于销售价
    -- 8折券
    -- 限制一件商品
    -- 所有商品可用
    -- 不与任何活动叠加
    -- 不与任何券叠加

三、商品排列组合

  1. a 原价:100;销售价:90;会员价:85;总数量1。
  2. b 原价:200;销售价:180;会员价:170;总数量1。
  3. c 原价:100;销售价:90;会员价:85;总数量1。
  4. ab 原价:300;销售价:270;会员价:255;总数量2。
  5. ac 原价:200;销售价:180;会员价:170;总数量2。
  6. bc 原价:300;销售价:270;会员价:255;总数量2。
  7. abc 原价:400;销售价:360;会员价:340;总数量3。

四、活动与券适配情况(基于理论最高单价原价)

  1. A活动适配
  • A1:商品排列组合2
  • A2:商品排列组合4
  1. B活动适配
  • B1:商品排列组合4
  • B2:商品排列组合5
  • B3:商品排列组合6
  • B4:商品排列组合7
  1. K券适配(仅有一张K券时;两张会新增4,5,6组合;三张会新增7组合)
  • K1:商品排列组合1
  • K2:商品排列组合2
  • K3:商品排列组合3

五、根据匹配活动进行构图

活动限制匹配图.png
  1. 从此图可与看出
  • 所有完全子图包括:[[A1,B1,K3],[A1,B3,K1],[A2,B1,K3]]
  • 点对点情况:[[A1,B1],[A1,B2],[A1,B3],[A1,B4],[A1,K1],[A1,K3],[A2,B1],[A2,B2],[A2,B3],[A2,B4],[B1,K3],[B2,K2],[B3,K1]]
  • 单点情况:[A1,A2,B1,B2,B3,B4,K1,K2,K3]
  1. 由于完全子图包含部分点对点和单点;进行剪枝后得到:
  • 所有完全子图:[[A1,B1,K3],[A1,B3,K1],[A2,B1,K3]]
  • 点对点:[[A1,B2],[A1,B4],[A1,K3],[A2,B2],[A2,B3],[A2,B4],[B2,K2]]
  1. 由此只有计算出价格最低的一组及为最优优惠组合

六、设计数学算法问题

  1. 所有商品排列组合
  2. 排列组合明细与各活动和券适配问题
  3. 各活动与券包含的商品排列组合方案组合活动子集;活动子集与其他活动子集间的抵触关系构建
  4. 求出构建图的完全子图以及所有子图
  5. 从所有子图中找出最优优惠

七、代码实现

待处理。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。