设计营销系统或某个系统的营销模块时,通常会设计优惠政策,而优惠政策又可以分为满减、折扣、优惠券、会员层级等类型,不同类型之间有着互斥、叠加、排他等逻辑,本文根据作者过去的项目经验总结出以下规则

一、互斥规则

  1. 组内互斥
    同一分类下的优惠活动无法共存,例如:

    • 单品级组内互斥:同一商品的”五折”和”满100减50”只能生效一个
    • 配送费组内互斥:配送费减5元和减半活动只能二选一
  2. 跨组互斥
    不同分类但逻辑冲突的规则互斥,例如:

    • 商品券与店铺券互斥(如拼多多规则)

二、叠加规则

  1. 组内共享
    同一分类允许叠加,例如:

    • 订单级组内共享:”满100减10”和”满100赠5元券”可同时生效
  2. 跨组叠加
    不同分类规则默认叠加,例如:

    • 商品折扣(单品级) + 满减(订单级)可叠加

三、排他规则

  1. 单向排他
    规则A排他规则B/C,但规则B/C不排他规则A,例如:

    • 会员券(规则1)排他新人券(规则2/3),但新人券不排他会员券
    • 触发条件:用户领取会员券后无法再领新人券,但先领新人券仍可开通会员领取会员券
  2. 叠加控制
    排他规则包含叠加限制,例如:

    • 规则1生效时,禁止叠加规则2/3的优惠计算

四、优先级逻辑

当互斥或排他冲突时,系统按以下顺序判定生效规则:

  1. 优惠力度优先:选择让利金额更大的活动(如特价5元优先于7折)
  2. 活动优先级:后台配置的权重值决定(如新品推广高于常规促销)
  3. 时间顺序:优先使用即将到期的活动

典型场景示例

  • 会员体系排他:用户领取会员券后,系统自动屏蔽新人券领取入口(单向排他)
  • 跨组叠加限制:商品券(单品级)与平台券(订单级)可叠加,但店铺券与商品券互斥