履约售后:「我要退款」——整个交易链路里最贵的 30 秒
「电商产品能力拆解」系列第 8 篇 · 履约售后下篇。上篇讲透了正向 4 关(OMS 派单 / 分仓运力 / 轨迹回流 / 时效赔付),做到"发出去能兜住"。
但电商产品真正的考卷,是用户点下「申请退款」那一刻——从这秒起走的是逆向链路,每笔都涉及真金白银、体验和口碑。下篇啃最难的 5 关:售后单模型、退款金额回算、换货编排、行业差异、恶意退货治理。

先看一次”头痛医头”是怎么翻车的
时间:双11 后第 15 天,下午 17:20。
小A 当晚加班出了个补丁:退款按实付均摊、赠品一律不扣。看起来很公平,上线也很快。
会议室里气氛冷得很,客服总监把一份 Excel 表甩到投影上:
老张听完只说了一句:“售后不是改一个数字,是一整套逆向工厂。你那个补丁只治了用户这一方,商家亏了、平台被薅了。难的不是‘退给谁’,是‘退完之后三方都不亏’。”
她还没坐稳,屏幕上已经是用户原话截图:

老张接着说:
“我教你个口诀,售后链路从用户点‘申请’到走完整个闭环,要过 5 道关——
关 5 · 售后单模型:先搞清楚用户申请的是哪一类售后
关 6 · 退款金额回算:钱到底退多少,谁来分摊
关 7 · 换货编排:换的是同款还是异款,逆向库存怎么算
关 8 · 行业差异:标品/服饰/生鲜/家电/虚拟/跨境/O2O,规则差到天上去
关 9 · 风险治理:恶意退货、薅羊毛、白嫖党,产品必须拦得住”**
今天拆 5 道关(下篇)

第五关:售后单模型 —— 别把”退款”当成一件事
小A 的第一个错觉
第一版售后产品方案,小A 给售后单建了一个超大表:refund_order——退款金额、退款原因、退款状态、退款时间,全塞进去。她以为售后就是”用户申请 → 客服审核 → 退钱”三步走完事。
老张直接给她浇了一盆冷水:
“售后单不是一种单,是一类单。
‘我想退钱’ / ‘我想退货并退钱’ / ‘我想换一件’ / ‘我要修一下’ / ‘我要补发’ / ‘我要赔运费’——这是 6 件完全不同的事情——状态机不同、链路不同、金额计算方式不同。
你用一张表去装,等于把内科外科儿科都塞进一个诊室——结果就是哪科都治不好。”
售后单的 4 种主类型 + 2 种衍生类型
成熟电商平台的售后单基本是这 6 类。每一类都是独立的工作流:

核心认知:售后单第一动作不是”审核退款金额”,是”判定类型“——类型错了,后面全错。
售后单的状态机(以”退货退款”为例)
仅退款的状态机最简单(3 个节点),退货退款最复杂,要经过 8 个节点,每个节点都可能跑出去:

认知红线:售后单的状态机和订单中心、OMS 是第三套独立的状态机。和上篇讲的”订单中心 ↔ OMS”一样,售后系统也只能通过事件与订单中心交互——不能直接改 order_status。
售后单的下钻粒度:必须到 SKU 行
小A 第一版被用户骂得最惨的是”3 件套必须整单退”。根因不是审核流程问题,是售后单建模粒度错了——她把售后单挂在 order_id 上,没下钻到行项目。
差别就一个字段挂在哪:

就这一处粒度之差,决定了“3 件套退 1 件”是天经地义还是天方夜谭。 其余金额、数量、凭证等字段都是在这个正确粒度上自然长出来的,不是这一关的胜负手。
6 种售后类型 · 状态机骨架一览
上面那张状态机图画的是最复杂的「退货退款」——8 节点全跑一遍。但售后单是一类单,6 种主类型各自的状态机长度和卡点都不一样,不能用一套硬塞:

上图将 6 种主类型的骨架长度一字排开。详细节点 + 异常出口 + 兜底机制如下:

每种类型还要预留”异常出口”——这是产品最容易漏的:

认知:售后状态机不是”画一张图就完了”——6 套主类型 × 各自异常出口 × 各自兜底机制,这 3 个维度才是状态机的真实复杂度。很多团队第一版只画了”退货退款”那一套,结果换货、维修、补发上线后状态全乱。
小结:关 5 的 4 条红线
- 红线 1:售后单是一类单,至少要拆 4-6 种主类型,不能用一张表装
- 红线 2:6 种主类型 6 套状态机,仅退款 3 节点、退货退款 8 节点、换货 9 节点,节点数和异常出口各不相同
- 红线 3:售后单粒度必须到 SKU 行项目,不能挂在订单头上
- 红线 4:售后状态机独立,和订单中心通过事件通讯,不能互改字段
第六关:退款金额回算 —— 那笔最容易算错的钱
用户最在乎、产品最容易翻车的环节
售后链路里,用户最敏感的就是“到底退我多少钱”——少一分都要骂街。但偏偏这是产品最容易算错的环节。
小A 那条”退一件却被扣 50 元优惠”投诉,根因就是退款金额没按分摊价回算。
退款金额的 4 层计算
退款金额不是”原价 × 数量”,而是层层减后剩多少。完整公式:
退款金额 = 商品分摊价 × 退回数量 − 应扣赠品价值 − 应扣权益 + 应退运费
每一层都有自己的规则:

第 1 层:商品分摊价 × 退回数量
核心原则:优惠要按”实付分摊价”计入每个 SKU,不是用原价计算。
举例(小A 周一那条投诉的真实场景):
- 用户买 3 件衣服,原价 200 元 / 件,共 600 元
- 用了“满 300 减 50”的店铺券,实付 550 元
- 用户退其中 1 件
错误算法(小A 第一版):退 1 件 = 退 200 元(按原价)→ 商家亏 50 元运费 + 用户被多扣 33.3 元
正确算法:每件分摊价 = 550 ÷ 3 ≈ 183.33 元 → 退 1 件 = 183.33 元

产品要做的:在订单结算时就把每个 SKU 的“分摊价”写进 order_item 表,售后退款直接读这个字段,不要每次现算。
第 1 层进阶:分摊公式深化 —— 真实业务里的 3 种场景
上面那个”550 ÷ 3 = 183.33″是最简单的均价分摊——只在”同价 SKU + 单张券”时才成立。真实业务里更多遇到的是后两种场景,均摊会算错:


通用公式(行业标准,记住这两行):
某 SKU 承担的某券分摊额 = 该券适用 SKU 的原价 ÷ 该券适用范围总原价 × 该券面额
某 SKU 的分摊价 = SKU 原价 − Σ(该 SKU 承担的所有券分摊额)
完整数值演算(场景 3,3 件商品 + 2 张券叠加):
订单背景:

优惠:
- 店铺券满 300 减 50(仅 A+B 适用,基数 500)
- 平台券满 500 减 30(A+B+C 都适用,基数 600)
- 实付 = 600 − 50 − 30 = 520 元
逐券分摊(这是关键!):

验证:3 件分摊价之和 340 + 85 + 95 = 520 = 实付,一分钱不漏。
退款情景对照(用户分别只退 A / B / C):

第 1 层进阶:必须遵守的 3 条工程铁律反例(强化记忆)


618 那次研发偷懒用了均摊。结果有个用户买了 1 件 1999 的羽绒服 + 1 件 9.9 的袜子,用了 200 元券——按均摊,袜子退款额是 −95 元(负数),系统直接报错宕机 2 小时。事后复盘:这不是 bug,是设计错误——均摊本身就是错的算法,再修补也救不回来。
第 2 层:应扣赠品价值
赠品按类型各走各的扣法:

踩坑案例:小A 那条”赠品扣 200 元”投诉,根因是没考虑”使用情况”——用户已经把赠品(护手霜)用了,却被按吊牌价扣了 200 元。正确做法:未拆封寄回,已使用按成本价酌扣,虚拟赠品(券 / 积分)未用则自动作废。
认知:赠品在用户心里是”白送的”。任何“按吊牌价倒扣”的设计都是在制造客诉——最忌讳”送的时候按 200 元宣传,扣的时候按 200 元收回”。
第 3 层:应扣权益(券、积分、储值)
下单时用过的所有权益,售后时都要分情况回退:

红线:储值卡退款只能退到储值卡,绝不能退到银行卡——这是反洗钱合规的红线,详见第 7 篇支付篇异常资金池章节。
第 4 层:应退运费
一句话:看责任方。商家责任(漏发 / 破损 / 质量)来回运费全退;用户责任(不喜欢 / 拍错)运费自付;运费险则走保险公司理赔、自动到账(详见上篇关 4)。
一个架构原则:退款计算必须中心化
架构原则:退款计算逻辑必须集中在一个服务——所有售后类型(退货退款/换货差价/补发等)都调同一个”退款金额计算器”,禁止前端、客服系统各算各的,否则同一笔退款在不同入口能算出不同结果。
小结:关 6 的 3 条核心原则
- 原则 1:退款 = 商品分摊价 − 应扣赠品 − 应扣权益 + 应退运费,4 层缺一不可
- 原则 2:按权重逐券分摊 + 下单时落库 + 退款时读快照——异价 SKU + 多券叠加场景下,均摊必错;每张券每个 SKU 的分摊都要写进 order_item,售后只读不算
- 原则 3:退款金额计算器要中心化,所有售后场景调同一个,禁止各算各的
第七关:换货编排 —— 一笔订单要走两条腿
换货为什么是”最贵的售后类型”
很多人觉得换货比退货简单——”反正不动钱”。错。
换货等于一个逆向退货 + 一个正向发货——两套履约系统都要被惊动一次,库存、运费、时效都要重算。它不是“半个售后”,是“一个半订单”。
换货的 3 种主流模式


小A 团队第一版只做了”先退后发”——结果用户从下单到收到换货新品,平均要等 9 天。竞品做”同时收发”,2-3 天搞定。客服群里被吐槽”换货比下新单还慢”。
换货的库存编排难点
换货链路里,逆向库存和正向库存必须同时记账——这是产品最容易漏的设计点:

3 种同款换货:
- 同 SPU 同 SKU(换码数):原 SKU 退回 + 新 SKU 出库(最常见)
- 同 SPU 异 SKU(换颜色):原 SKU 退回 + 新 SKU 出库 + 价格补差
- 异 SPU(换商品):本质上是退货 + 新订单,很多平台禁用此模式,要求用户先退后买
换货的差价处理
异款换货必然涉及差价:

寄返路上的”丢件黑洞”
换货中最常见的事故:用户寄回的货,仓库说没收到。
小A 团队踩过的最大坑:用户寄回 5 单,仓库收到 4 单——剩下那 1 单,用户提供了快递单号 + 签收记录,仓库说“收件量不对”。客服在中间斡旋了两周,最后赔了用户 800 元才平息。
产品兜底设计:
- 强制选指定快递:换货寄返限定 2-3 家快递,便于追责
- 逆向轨迹回流:和正向轨迹一样,对接快递鸟主动查询
- 强制拍照入库:仓库收件 → 拆箱拍照 → 系统留证 → 进入质检
- 争议时效:超过 7 天用户投诉无回应,自动判定”仓库已收”
小结:关 7 的 3 条经验
- 经验 1:换货 = 逆向退 + 正向发,库存要双向记账,运费要双向计算
- 经验 2:先退后发 vs 同时收发,按客单价 + 商品类型选模式,不能一刀切
- 经验 3:寄返路上必须有逆向轨迹,丢件不是”用户和仓库扯皮”的事,是产品要兜的事
第八关:行业差异 —— 一套售后规则走不通天下
7 大行业的售后差异
前面那套售后流程,不是哪个行业都能照搬——标品和生鲜的售后规则,差距比想象的大得多。

4 个最容易踩的差异点
1. “7 天无理由”是底线,不是法律红线
《消法》的 7 天无理由明确排除了 4 类:用户定制品 / 生鲜 / 已激活的虚拟商品 / 报刊。也就是说生鲜、虚拟商品可以合法拒退——但前提是下单页要明确告知。
2. “不要原物”是行业惯例,不是平台慈善
寄回一箱 30 元的水果运费就要 20 元,货还烂了——当物流成本 > 商品价值时,就走「仅退款不退货」分支(用户上传拍照举证即可)。生鲜、跨境最常见。
3. 大件家电是“上门取件”
不能让用户自己把冰箱搬下楼。售后单创建时调「逆向上门取件」接口——取件 + 验货 + 寄回三合一。
4. 跨境退款必须按“原币种”
美元支付的订单,退款必须以美元退回原渠道,不能换算成人民币(汇率波动 + 反洗钱合规,详见第 7 篇支付篇)。
小结:关 8 的 1 条原则
- 原则:售后规则必须按行业配置化——一个底层售后引擎 + N 个行业策略包,禁止把规则硬编码在代码里
第九关:恶意退货治理 —— 防住羊毛党的 3 道防线
恶意退货党的真实损失有多大
最后这一关,是产品最容易”看不见”的隐性成本。
小A 后来拉了一份数据:店铺退货率 18%,但其中“疑似恶意退货”约占 1.7%——按月销 1500 万计算,等于每月被薅 25 万元。
恶意退货的常见手法:
- 穿过即退:服饰类,穿一次去参加活动后退掉
- 掉包:寄回的不是原商品,是同款假货 / 旧货
- 空包:寄回的箱子里没东西 / 装了无关物品
- 凑单退:多件凑满减后部分退,反复套优惠
- 职业退货:用多个账号大批量下单 → 集中退货
3 道防线层层加码
恶意退货治理不是单点功能,是画像 + 规则 + 复盘的 3 层体系:

这 3 道防线是层层收口的关系:画像先识别”谁可疑”,规则再拦住”什么动作可疑”,黑名单最后封死”已经实锤的惯犯”。单独任何一道都会被绕过,必须串起来用——这也是为什么”靠客服肉眼盯”永远盯不住羊毛党。
不过,防线拉得越多,另一个风险也在逼近——误伤。
风控规则不是越严越好
小A 一开始规则做得过严,误伤了一批正常用户——有人因为搬家短期退了 4 单(不同商品),就被判”高风险”、无法”仅退款”。
所以风控不能一刀切:分级响应(低分仅记录、中分人工复审、高分才拦截)+ 留申诉通道(任何拦截都给用户申诉入口、给客服降级权限),上线前再跑 A/B 把误伤压到红线内。
小结:关 9 的 2 条原则
- 原则 1:恶意退货治理是画像 + 规则 + 复盘 3 层体系,不是单点拦截
- 原则 2:严格度有上限——拦截率 ≥ 80% / 误伤率 ≤ 1% 是基本红线
成熟度小结:售后系统的三阶段
和正向履约一样,逆向售后也有”能跑 → 能扛 → 能稳”的成长曲线:

下篇自查清单:逆向售后 9 题
能答对 6 题以上,你的逆向售后系统已经超过 80% 的同行了。
售后单建模(2 题)
1.售后单是按“类型”分表/分流的吗? 还是用一张大表装 6 类售后
2.售后单粒度做到 SKU 行项目了吗? 还是只挂在订单头上
退款金额(3 题)
3.退款金额是按“分摊价”算的吗? 还是按原价 / 把优惠全扣某 1 件
4.每张券 × 每个 SKU 的分摊都落 order_item 表了吗? 还是售后时现算
5.赠品 / 权益 / 运费的回退规则有明文吗? 还是客服一单单凭经验判
换货 + 行业(2 题)
6.换货支持“同时收发”模式吗? 还是只能”先退后发”
7.不同行业的售后规则是配置化的吗? 还是把生鲜规则硬塞进通用流程
风险治理(2 题)
8.恶意退货有“画像 + 规则 + 黑名单” 3 层防线吗? 还是全靠客服肉眼盯
9.风控规则做过 A/B 测试吗? 拦截率和误伤率有没有量化指标
总结:上下两篇 · 9 道关 · 10 条履约售后认知

一句话总结下篇: 逆向售后的真正考卷不是”能不能退给用户”,是”退完之后三方都不亏“——用户拿到该拿的钱,商家不被薅羊毛,平台没合规风险。
下期预告—— 第 9 篇 · 促销体系。618、双11、年货节……每一波大促背后,都是一套促销引擎在跑。促销类型怎么建模?满减/折扣/赠品/换购怎么叠加?优惠金额怎么分摊到 SKU(这一篇还会和退款回算联动)?券体系怎么设计?大促交付的产品压力管理 SOP?促销的 5 个核心命题 一次讲透。
作者:Zoe产品手记 公众号:Zoe产品手记
本文由 @Zoe产品手记 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自 Unsplash,基于CC0协议
- 目前还没评论,等你发挥!

起点课堂会员权益




