毛利率、退款率怎么算?怎么按商品看?
更新于 2026-09-29 · 阅读约 8 分钟
简短回答
毛利率 = (销售额 − 成本)÷ 销售额;退款率 = 退款金额 ÷ 已付款的销售额。两个都要先分别求和,再相除:按商品看,就是这个商品的毛利合计 ÷ 它的销售额合计。
不要在明细里给每一行算一个毛利率,再在透视表里求平均。每一行的权重一样,一单 29 元的发圈和一单 599 元的羽绒服被算得同样重要,结果会偏得很远:本文的示例数据里,真实毛利率是 45.3%,每行毛利率的平均值却是 59.7%。
为什么不能对比率求平均
比率的分母不一样大,直接平均就等于假装它们一样大。下面是一家服装网店 5 个月的订单示例数据,共 4,062 行明细、8 个商品。同一份数据,三种算法:
| 算法 | 怎么算 | 结果 |
|---|---|---|
| 毛利合计 ÷ 销售额合计 ✓ | 350,465.50 ÷ 772,876.50 | 45.3% |
| 每行毛利率的平均值 | 每行 (销售金额 − 成本金额) ÷ 销售金额,再求平均 | 59.7% |
| 8 个商品毛利率的平均值 | 先按商品算出 8 个毛利率,再求平均 | 58.6% |
差了 14 个百分点,原因在羽绒服:它卖了全店 46% 的销售额,毛利率只有 26.7%。按金额算,它把整体毛利率拉了下来;按行平均,它只是 4,062 行里的 612 行,远不如 976 行、毛利率 78.9% 的发圈「分量重」。店里实际赚到的钱,只有第一种算法说得对。
口径:同一份数据,退款率为什么能算出三个数
分母用哪个金额
退款率的分母应该是已付款、还没扣退款的销售额。有的平台导出的「实付金额」已经扣掉了退款,拿它当分母,退款率会偏高;把没付款的订单也算进去,又会偏低。一份公开的天猫订单练习数据(28,010 行)里,已付款订单的「买家实际支付金额 + 退款金额」正好等于「总金额」,于是同一批退款能除出三个结果:
| 分母 | 金额 | 退款率 |
|---|---|---|
| 已付款订单的总金额(= 实付 + 退款)✓ | 2,474,823.07 | 23.1% |
| 买家实际支付金额(已扣退款) | 1,902,487.15 | 30.1% |
| 全部订单的总金额(含未付款) | 2,995,760.61 | 19.1% |
按金额,还是按订单数
按金额:退款金额 ÷ 销售额,看钱退了多少。按订单数:有退款的订单数 ÷ 已付款订单数,看多少单出了问题。示例数据里整体分别是 10.4% 和 10.2%,但按商品就不一样了:贵的商品退一单,金额占比就高。订单数要按订单号去重,一单买了两件、退了一件,只算一个退款订单。部分退款(退差价、小额补偿)只计入按金额的退款率。
按下单月,还是按退款月
| 月份 | 当月下单的销售额 | 按下单月算退款 | 退款率 | 按退款月算退款 | 退款率 |
|---|---|---|---|---|---|
| 2025-10 | 112,315.00 | 12,838.80 | 11.4% | 8,798.60 | 7.8% |
| 2025-11 | 189,262.20 | 23,186.82 | 12.3% | 15,714.32 | 8.3% |
| 2025-12 | 206,749.30 | 19,924.94 | 9.6% | 25,981.31 | 12.6% |
| 2026-01 | 159,942.00 | 19,137.50 | 12.0% | 15,465.03 | 9.7% |
| 2026-02 | 104,608.00 | 5,427.90 | 5.2% | 13,133.70 | 12.6% |
按下单月算,回答的是「这个月卖出去的货,最后退了多少」,适合评价商品和活动;按退款月算,是「这个月实际退出去多少钱」,和账户流水对得上。注意最近一个月:按下单月算的 2 月只有 5.2%,不是 2 月卖得好,而是 2 月下旬的订单还没到退款的时候。
毛利率的口径
- 含税还是不含税。 财务上的毛利率用不含税收入和不含税成本(不含税 = 含税 ÷ (1 + 税率))。售价和进价税率相同时,两种算法结果一样;进货没有专票、进项不能抵扣时,成本就是含税价,收入却要换成不含税,毛利率会比直接用含税售价算的低。
- 扣不扣退款。 想看实际赚了多少,销售额要扣掉退款,退回来又能再卖的货,成本也要扣回。示例数据没有「是否退货入库」这一列,所以本文的毛利率按下单时的销售额和成本计算。
- 毛利只扣商品成本。 平台佣金、运费、推广费一般不在毛利里,扣掉它们之后的利润,各家叫法不同,在报表里写清楚算了哪些就行。
示例:按商品看毛利率和退款率
| 商品 | 销售额 | 毛利率 | 毛利占比 | 退款率·金额 | 退款率·订单 |
|---|---|---|---|---|---|
| 轻薄白鸭绒羽绒服 | 357,329.60 | 26.7% | 27.2% | 11.5% | 12.9% |
| 羊毛混纺开衫 | 87,294.60 | 53.5% | 13.3% | 6.7% | 8.1% |
| 高腰阔腿牛仔裤 | 77,980.00 | 57.7% | 12.8% | 16.4% | 18.0% |
| 纯棉长袖T恤 | 75,900.30 | 62.6% | 13.5% | 5.8% | 7.4% |
| 法式碎花连衣裙 | 50,857.20 | 63.2% | 9.2% | 23.1% | 26.5% |
| 羊绒围巾 | 49,001.00 | 61.7% | 8.6% | 5.6% | 5.8% |
| 真丝发圈(3只装) | 38,470.60 | 78.9% | 8.7% | 1.5% | 1.9% |
| 帆布托特包 | 36,043.20 | 64.3% | 6.6% | 3.1% | 4.4% |
| 合计 | 772,876.50 | 45.3% | 100% | 10.4% | 10.2% |
- 毛利率和毛利额一起看。 发圈毛利率最高(78.9%),但只贡献了 8.7% 的毛利;羽绒服毛利率最低,却贡献了 27.2%。只盯毛利率,会把最赚钱的商品当成问题。
- 羽绒服的问题是价格,不是销量。 它卖得最多,毛利率只有其他商品的一半左右,进价谈下来一点,或少打一点折,全店毛利率都会明显上升。
- 连衣裙的问题是退款。 毛利率 63.2%,但每 4 单左右就有 1 单退款(26.5%),先去看退款原因(尺码、色差),比多投流量更划算。
在 Excel 里怎么算
方法一:透视表 + 计算字段(按商品看毛利率、退款率)
- 1选中明细数据,「插入 → 数据透视表」,把「商品名称」拖到行,「销售金额」「成本金额」「退款金额」拖到值(汇总方式为求和)。
- 2点透视表,「数据透视表分析 → 字段、项目和集 → 计算字段」。名称填「毛利率」,公式填
=(销售金额-成本金额)/销售金额,点「添加」。 - 3再添加一个「退款率」,公式
=退款金额/销售金额,确定。 - 4右键这两列 →「数字格式」→「百分比」。
计算字段是先对每个字段求和,再代入公式,所以每个商品和总计行都是「先求和再相除」,结果正确。它的限制是只能用求和:按订单数的退款率需要「去重计数」,计算字段做不到。
方法二:公式(适合固定格式的报表)
假设 D 列是商品名称,H、I、J 列是销售金额、成本金额、退款金额,N2 是要看的商品名:
毛利率:=(SUMIFS(H:H,D:D,N2)-SUMIFS(I:I,D:D,N2))/SUMIFS(H:H,D:D,N2)
退款率(金额):=SUMIFS(J:J,D:D,N2)/SUMIFS(H:H,D:D,N2)
退款率(订单,需 Excel 2021 / Microsoft 365):
=ROWS(UNIQUE(FILTER(A2:A4063,J2:J4063>0)))/ROWS(UNIQUE(A2:A4063))按订单数的公式在一单多行的数据里也能正确去重,但只算全店;要按商品拆开,公式会更长。旧版 Excel 没有 UNIQUE,只能先删除重复订单号,或者把数据添加到数据模型后用「非重复计数」。
按下单月和退款月各看一遍
先从「下单时间」「退款时间」各提取出月份(如 =TEXT(B2,"yyyy-mm")),再分别用它们做透视。两个口径在同一张透视表里放不下:透视表每一行只有一个月份,退款行按退款月分组时,拿不到当月下单的销售额,需要两张表再手动相除。
在数力里
在数力里:毛利率、退款率各是一个度量
数力的度量之间可以直接加减乘除,每一层(每个商品、每个月、合计行)都是先求和再相除。毛利率、退款率定义一次,所有卡片都能用。
- 1新建分析,把订单明细 CSV 或 Excel 文件拖进窗口,确认导入。
- 2点「字段」旁边的 + 新建计算列,切到「SQL 表达式」,名称填「毛利」,表达式填
销售金额 - 成本金额。 - 3点「度量值」旁边的 +,名称填「毛利率」,切到「表达式」:左操作数「求和」毛利,运算符 ÷,右操作数「求和」销售金额;在「格式设置」里选「百分比」。退款率同理:「求和」退款金额 ÷ 「求和」销售金额。
- 4把「商品名称」拖到行,销售额、毛利率、退款率拖到度量。要按订单数算退款率,再建一个计算列
CASE WHEN 退款金额 > 0 THEN 订单号 END,度量用「去重计数」这一列 ÷ 「去重计数」订单号。

常见问题
- 毛利率和加价率(成本利润率)有什么区别?
- 分母不同。毛利率 = 毛利 ÷ 售价,加价率 = 毛利 ÷ 成本。示例数据里毛利率 45.3%,加价率是 83.0%。说「利润率五成」之前,先确认对方说的是哪一个。
- 透视表里毛利率的合计为什么是几百个百分点?
- 因为把每行的毛利率当成普通数字「求和」了。比率不能直接加,要用计算字段(Excel)或复合度量(数力)先把毛利和销售额分别求和,再相除。
- 没付款、已取消的订单要算进退款率吗?
- 不算。退款的前提是付过款,分母只放已付款的订单。把未付款订单算进去,退款率会被低估:上面的天猫数据里,从 23.1% 变成了 19.1%。
- 毛利率可以是负数吗?
- 可以。售价低于成本(比如清仓、引流款、大促折扣太深)时毛利是负的,毛利率也是负的。按商品看毛利率,正是为了把这类商品找出来。