本系统采用经典且健壮的"四级平行式算价模型"。其核心底层逻辑是:所有高层级营销活动的"门槛校验",均统一基于"第一级单品促销"计算出来的"单品基准价"。
有效避免了层层扣减导致的门槛计算混乱,既能给用户带来"大促丝滑算价"的体验,又能完美保障财务和退款的闭环。
📌 一、 核心概念与价格术语定义
-
SKU 原价:商品无任何促销时的基础标价。
-
SKU 单品基准价:指扣除单品促销(折扣、直降)后的价格,也是第二、三、四级优惠校验门槛的"黄金基数"。
-
SKU 优惠价 :指商品扣除单品促销、总价促销、商品优惠券之后的净商品价(不含运费)。
-
SKU 最终实付价:用户最终为该 SKU 支付的真金白银(含分摊后的运费及运费券抵扣)。
⚙️ 二、 四级促销正向流水线设计
订单结算时,系统严格按照以下 1 ➡️ 2 ➡️ 3 ➡️ 4 的流水线进行正向算价与比例分摊。
[用户下单]
↓
【第一级:单品促销】 ➡️ 计算出「单品基准价」
↓
【第二级:总价促销】 ➡️ 满减、买N免1(多活动自动取最优,按单品基准价分摊)
↓
【第三级:抵扣类优惠】➡️ 商品券(按单品基准价分摊) -> 运费券(按净商品价分摊)
↓
【第四级:满返类优惠】➡️ 判断是否达到门槛,建单成单后后置触发(不影响实付)
↓
[生成最终实付价并锁死拆单]
1. 第一级:单品促销
-
业务逻辑:直接作用于单个 SKU,无需用户领券或跨商品凑单。
-
触发校验:系统自动校验当前时间是否在活动有效期内(如"限时 8 折")。
-
核心计算公式:

-
设计要点:单品级降价会拉低单品基准价,若降幅过大,可能会导致该商品无法触发后续总价促销的门槛。
2. 第二级:总价促销(跨商品凑单层)
-
业务逻辑 :支持多商品、多数量跨 SKU 组合。同一笔订单只能生效一个总价促销活动**(全局互斥)**。
-
最优选择与破平机制 :系统会静默并行计算所有命中活动的减免金额,自动为用户选择减免金额最大的活动。若金额完全相同,则严格按以下优先级破平:

方案 A:满减(普通/限时)计算与分摊
-
算前筛选:提取购物车中所有标记参与该满减活动的 SKU。
-
计算参与总价 :

-
匹配最高档位 :与活动配置(如满200减30、满300减50)比对,匹配命中最高档位的固定金额,作为优惠总额。
-
按比例分摊(向下取整):
结果向下取整到分,保留2位小数 -
尾差补齐 :因为取整会产生微小差额(≤总件数*0.01元),系统需将差额补加到原价(单品基准价)最高的那件 SKU 上,实现总账闭环。
方案 B:买 N 免 1(普通/限时)计算与分摊
-
件数统计与匹配 :

计算免单件数:

-
确定免单总额(去最低价) :将所有参与 SKU 按单品基准价从低到高排序(若同价则按 SKU ID 升序),取出前「免单件数」条记录的单价加总,得到免单总额。
-
按比例分摊(向下取整):将这一笔免单的总福利,按各 SKU 的总价权重平摊到所有参与商品身上:

结果向下取整到分,保留2位小数
-
尾差补齐:因分摊取整产生的微小差额,补加到被免单的最低价 SKU 上。
3. 第三级:抵扣类优惠(叠加抵扣层)
此层级包含商品优惠券 和运费券。
内部各自互斥(一单各用一种),但它们可与第二层总价促销叠加。
模块一:商品优惠券(通用券/品类券)
-
门槛校验平行规则:虽然此时总价促销已经减免了金额,但优惠券的门槛校验依然看「单品基准价之和」,不受第二层减免的影响。
-
分摊逻辑:

结果向下取整到分,保留2位小数
-
尾差补齐:微小差额补加到单品基准价最高的那件 SKU 上。
模块二:运费券(无门槛抵扣)
-
运费前置规则:一单内多商品有邮费时取最大值;若有任一商品免邮,则整单免邮。
-
计算引出「SKU 优惠价」:

-
运费券减免额 :

-
运费分摊基数:以各 SKU 扣完前三项后的"净商品价(优惠价)"之和作为分摊基数。
-
按比例分摊运费优惠:

-
尾差补齐 :微小差额补加到活动价(单品基准价)最高的那件 SKU 上。
-
最终实付价推导:

4. 第四级:满返类优惠(后置激励层)
-
业务逻辑:如满额返券、满件返现。
-
设计要点:完全不影响当前的收银台实付金额。它同样遵循平行校验原则(基于单品基准价之和),在系统判定成单/收货后,由后台静默向用户账户发放返利,属于后置营销成本。
🛡️ 三、 防薅羊毛设计
在逆向设计上通过"优惠分摊锁死",从根本上杜绝了利用凑单拿高额优惠后退掉凑单品的"薅羊毛"行为:
-
绝对实付退款原则 :任何 SKU 发生部分退款或售后时,退款金额上限严格等于该
SKU最终实付价(系统正向计算时已包含单品、总价、商品券、运费券分摊后的净价)。 -
不追回、不重算优惠:即使用户退掉了部分商品,导致剩余在手商品在件数或总价上已经不再满足原订单里的满减、买 N 免 1 或优惠券门槛,系统也明确拒绝重新计算营销门槛,绝不向用户追回已享有的优惠。因为优惠已经安全、合理地按比例均摊在各个 SKU 上,用户无法通过部分退款获得任何额外收益。
💡 四、 产品经验与方法论提炼
1. 平行式算价
传统的层层递进式算价(如原价减完单品再算满减,满减完了再算券门槛)极其考验用户的数学能力,经常导致购物车由于一块钱的差额错失优惠,转化率低下。
采用平行式门槛判定,所有活动都盯紧"单品基准价"。系统在后台静默帮用户计算互斥活动的最优方案,前端购物车直接加红加粗展示"分摊后优惠价",去结算时配合"为您节省 XX 元"的视觉刺激。这种"无焦虑、占便宜"的心理暗示是电商提升结算转化率(CVR)的核心大杀器。
2. 强拆单与金额锁死:消灭财务和研发的"1分钱"漏洞
多商品、大促跨店等场景下,如果不在正向建单时把金额平摊干净,后端的财务对账、商家分账、逆向退款将变成灾难。
正向支付成功后,系统必须立刻以 SKU 维度进行绝对拆单(1个 SKU 数量 = 1个独立子订单流水),把正向算好的单品、满减、券分摊、运费券分摊金额死死写入数据库子表。逆向退款时直接调用该固化金额,禁止研发在退款阶段写任何"重新计算优惠"的动态代码,彻底消灭"四舍五入"引发的一分钱账目不平,构建最牢固的财务防线。