电商系统设计——电商促销计算与分摊体系

本系统采用经典且健壮的"四级平行式算价模型"。其核心底层逻辑是:所有高层级营销活动的"门槛校验",均统一基于"第一级单品促销"计算出来的"单品基准价"

有效避免了层层扣减导致的门槛计算混乱,既能给用户带来"大促丝滑算价"的体验,又能完美保障财务和退款的闭环。

📌 一、 核心概念与价格术语定义

  • SKU 原价:商品无任何促销时的基础标价。

  • SKU 单品基准价:指扣除单品促销(折扣、直降)后的价格,也是第二、三、四级优惠校验门槛的"黄金基数"。

  • SKU 优惠价 :指商品扣除单品促销、总价促销、商品优惠券之后的净商品价(不含运费)。

  • SKU 最终实付价:用户最终为该 SKU 支付的真金白银(含分摊后的运费及运费券抵扣)。

⚙️ 二、 四级促销正向流水线设计

订单结算时,系统严格按照以下 1 ➡️ 2 ➡️ 3 ➡️ 4 的流水线进行正向算价与比例分摊

复制代码
[用户下单] 
    ↓
【第一级:单品促销】 ➡️ 计算出「单品基准价」
    ↓
【第二级:总价促销】 ➡️ 满减、买N免1(多活动自动取最优,按单品基准价分摊)
    ↓
【第三级:抵扣类优惠】➡️ 商品券(按单品基准价分摊) -> 运费券(按净商品价分摊)
    ↓
【第四级:满返类优惠】➡️ 判断是否达到门槛,建单成单后后置触发(不影响实付)
    ↓
[生成最终实付价并锁死拆单]

1. 第一级:单品促销

  • 业务逻辑:直接作用于单个 SKU,无需用户领券或跨商品凑单。

  • 触发校验:系统自动校验当前时间是否在活动有效期内(如"限时 8 折")。

  • 核心计算公式

  • 设计要点:单品级降价会拉低单品基准价,若降幅过大,可能会导致该商品无法触发后续总价促销的门槛。

2. 第二级:总价促销(跨商品凑单层)

  • 业务逻辑 :支持多商品、多数量跨 SKU 组合。同一笔订单只能生效一个总价促销活动**(全局互斥)**。

  • 最优选择与破平机制 :系统会静默并行计算所有命中活动的减免金额,自动为用户选择减免金额最大的活动。若金额完全相同,则严格按以下优先级破平:

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

  2. 计算参与总价

  3. 匹配最高档位 :与活动配置(如满200减30、满300减50)比对,匹配命中最高档位的固定金额,作为优惠总额

  4. 按比例分摊(向下取整)

    结果向下取整到分,保留2位小数

  5. 尾差补齐 :因为取整会产生微小差额(≤总件数*0.01元),系统需将差额补加到原价(单品基准价)最高的那件 SKU 上,实现总账闭环。

方案 B:买 N 免 1(普通/限时)计算与分摊
  1. 件数统计与匹配

    计算免单件数:

  2. 确定免单总额(去最低价) :将所有参与 SKU 按单品基准价从低到高排序(若同价则按 SKU ID 升序),取出前「免单件数」条记录的单价加总,得到免单总额。

  3. 按比例分摊(向下取整):将这一笔免单的总福利,按各 SKU 的总价权重平摊到所有参与商品身上:

    结果向下取整到分,保留2位小数

  4. 尾差补齐:因分摊取整产生的微小差额,补加到被免单的最低价 SKU 上。

3. 第三级:抵扣类优惠(叠加抵扣层)

此层级包含商品优惠券运费券

内部各自互斥(一单各用一种),但它们可与第二层总价促销叠加。

模块一:商品优惠券(通用券/品类券)
  • 门槛校验平行规则:虽然此时总价促销已经减免了金额,但优惠券的门槛校验依然看「单品基准价之和」,不受第二层减免的影响。

  • 分摊逻辑

    结果向下取整到分,保留2位小数

  • 尾差补齐:微小差额补加到单品基准价最高的那件 SKU 上。

模块二:运费券(无门槛抵扣)
  • 运费前置规则:一单内多商品有邮费时取最大值;若有任一商品免邮,则整单免邮。

  • 计算引出「SKU 优惠价」

  • 运费券减免额

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

  • 按比例分摊运费优惠

  • 尾差补齐 :微小差额补加到活动价(单品基准价)最高的那件 SKU 上

  • 最终实付价推导

4. 第四级:满返类优惠(后置激励层)

  • 业务逻辑:如满额返券、满件返现。

  • 设计要点:完全不影响当前的收银台实付金额。它同样遵循平行校验原则(基于单品基准价之和),在系统判定成单/收货后,由后台静默向用户账户发放返利,属于后置营销成本。

🛡️ 三、 防薅羊毛设计

在逆向设计上通过"优惠分摊锁死",从根本上杜绝了利用凑单拿高额优惠后退掉凑单品的"薅羊毛"行为:

  1. 绝对实付退款原则 :任何 SKU 发生部分退款或售后时,退款金额上限严格等于该 SKU最终实付价(系统正向计算时已包含单品、总价、商品券、运费券分摊后的净价)。

  2. 不追回、不重算优惠:即使用户退掉了部分商品,导致剩余在手商品在件数或总价上已经不再满足原订单里的满减、买 N 免 1 或优惠券门槛,系统也明确拒绝重新计算营销门槛,绝不向用户追回已享有的优惠。因为优惠已经安全、合理地按比例均摊在各个 SKU 上,用户无法通过部分退款获得任何额外收益。

💡 四、 产品经验与方法论提炼

1. 平行式算价

传统的层层递进式算价(如原价减完单品再算满减,满减完了再算券门槛)极其考验用户的数学能力,经常导致购物车由于一块钱的差额错失优惠,转化率低下。

采用平行式门槛判定,所有活动都盯紧"单品基准价"。系统在后台静默帮用户计算互斥活动的最优方案,前端购物车直接加红加粗展示"分摊后优惠价",去结算时配合"为您节省 XX 元"的视觉刺激。这种"无焦虑、占便宜"的心理暗示是电商提升结算转化率(CVR)的核心大杀器。

2. 强拆单与金额锁死:消灭财务和研发的"1分钱"漏洞

多商品、大促跨店等场景下,如果不在正向建单时把金额平摊干净,后端的财务对账、商家分账、逆向退款将变成灾难。

正向支付成功后,系统必须立刻以 SKU 维度进行绝对拆单(1个 SKU 数量 = 1个独立子订单流水),把正向算好的单品、满减、券分摊、运费券分摊金额死死写入数据库子表。逆向退款时直接调用该固化金额,禁止研发在退款阶段写任何"重新计算优惠"的动态代码,彻底消灭"四舍五入"引发的一分钱账目不平,构建最牢固的财务防线。

相关推荐
Ramble_Naylor1 天前
Forgejo
ci/cd·团队开发·产品经理·源代码管理
领麦微红外2 天前
W-6D2红外测温赋能:电磁炉精准控温与成本优化
产品经理·智能硬件
沙淘金数据服务2 天前
电商订单数据整合难题拆解:多源异构数据如何实现自动化治理?
大数据·人工智能·数据治理·数据清洗·电商·外贸
跨境数据猎手2 天前
拆解反向海淘:当海外博主开始教老外“淘宝”
团队开发·产品经理·需求分析
领麦微红外3 天前
告别进口依赖,FW系列打造远距离红外测温国产方案
产品经理·智能硬件
小智老师PMP6 天前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
熊野君6 天前
第 7 章 AI时代产品经理新增能力
大数据·人工智能·经验分享·职场和发展·产品经理
2601_962297256 天前
产品经理 AI 提示词模板:需求分析、PRD、竞品、用户故事和验收标准
产品经理·需求分析·prd·ai提示词·竞品分析
熊野君8 天前
第 4 章 技术产品经理核心能力模型
大数据·人工智能·产品经理
RisunJan8 天前
产品经理高频面试题与解答
产品经理