我见过太多店铺死在同一个地方:后台显示月销涨了 40%,账户余额却在缩水。老板把运营叫来复盘,运营打开报表说毛利率还有 32%,一切正常。问题就出在这句"一切正常"上,毛利率 32% 是企业财务报表的语言,不是商品决策的语言。当你把履约、退货、平台扣点、推广分摊、售后损耗拆到单个 SKU 上,很多"高毛利商品"的净贡献其实是负的,它们在悄悄抽走那些真正赚钱商品的利润。
这篇文章不讲"商品分析是对商品数据的分析"这种废话,我要讲的是我从 0 到 1 搭一套利润空间分析体系的完整路径:先统一口径,再选指标,然后建模型,最后落到能执行的动作。全程我会给出可跑的代码、可对照的表格、可复用的判断逻辑,并说明哪些做法适合新手、哪些需要一定数据基础再上。
如果你只从这篇文章带走一句话,我希望是这个:商品分析的核心对象不是店铺,是 SKU 的单位经济模型(Unit Economics)。店铺总利润是一个结果,SKU 单位经济才是原因。你盯着结果调,永远在事后救火;你盯着原因调,才能提前止损。
总账思维有三个致命缺陷,我在实际项目里反复验证过。
第一个缺陷是平均数掩盖结构。店铺整体毛利率 30%,听起来健康,但拆开看可能是 5 个 SKU 贡献了 80% 的利润,另外 25 个 SKU 合计贡献为负。平均数把亏损和盈利搅在一起,你看到的是一杯温水,实际里面既有冰块也有沸水。
第二个缺陷是成本不可归因。总账里的"推广费 8 万"是一个总量,无法回答"这 8 万里有多少花在了亏损品上"。不归因,就无法做取舍。
第三个缺陷是决策颗粒度不够。总账告诉你"这个月利润下降了",但不会告诉你"下降是因为 A 品退货率从 8% 涨到 19%"。没有颗粒度,就没有可执行的动作。
我常用的一个判断标准是:如果一个利润报表不能定位到具体 SKU 和具体成本项,它就不是分析工具,只是记录工具。记录工具解决"发生了什么",分析工具解决"该动谁"。
我搭体系时习惯把利润空间拆成四层,从上到下逐层收窄,每一层都是一个决策开关。
| 层级 | 计算内容 | 回答的问题 | 典型决策 |
|---|---|---|---|
| 第一层:成交毛利 | 实收金额 − 采购成本 − 平台扣点 | 这个商品本身有没有差价 | 要不要继续进货 |
| 第二层:履约净利 | 成交毛利 − 履约成本 − 包装耗材 | 卖出去这一单是赚是亏 | 定价是否要调 |
| 第三层:售后净利 | 履约净利 − 退货损耗 − 售后赔付 | 卖得越多是不是亏得越多 | 是否要限流或改款 |
| 第四层:全成本净利 | 售后净利 − 推广分摊 − 人力分摊 | 这个 SKU 值不值得占用资源 | 淘汰、加投或重构 |
很多团队只做到第一层就停了,因为他只打开过一次"利润率"这个字段。做到第三层的团队能发现"虚假爆款",做到第四层的团队才知道资源该往哪里倾斜。

我接触过一个做家居收纳类目的商家,品类不大,团队 6 个人,年 GMV 大概 800 万。2023 年下半年他找到我时说的第一句话是:"我今年比去年多卖了 200 万,利润反而少了 30 万。"
我们花了三天把过去 12 个月的数据按 SKU 拆开,结果很典型:
这就是我前面说的"虚假爆款"。它在销量榜上很亮眼,在毛利率榜上也过得去,但在全成本口径下是净流出。当一个商品的退货率和推广费加起来超过了毛利,它卖得越多,你的现金流失得越快。
第一,没有统一口径。他的运营看的是成交毛利率,财务看的是扣除运营费用后的净利率,两个人讨论同一个 SKU 时,用的是两套数字,谁也说服不了谁。
第二,没有 SKU 级成本归因。推广费只记录在账户层面,退货成本只记录在月度总账,没有任何机制把它分摊到商品维度。
第三,没有决策触发机制。数据是月底看的,看完就过去了,没有"某指标越过阈值就必须动"的规则,导致亏损品持续存在好几个季度。
不是立刻上一套 BI 系统,而是先用最轻的方式把口径跑通。我让他做三件事:把采购、履约、扣点、退货、推广五项成本按 SKU 打表;定义"全成本净利"为唯一裁决指标;设定一条红黄绿阈值线。第二个季度,他砍掉了 11 个 SKU,推广预算重新分配到高贡献品上,净利回升了约 21 万。
这个过程让我更加确信:利润空间的搭建,顺序是"口径先行、体系在后、工具最后"。先上工具的团队,往往是把错误的口径固化进了系统里。

下面这六个误区,我在咨询和实操中几乎每次都会遇到至少三个。它们不是认知错误,而是执行习惯问题,所以特别顽固。
毛利率是差值,净利是剩余。一个商品毛利率 45%,听起来极好,但如果它的履约成本占比达到 20%(比如大件家具),推广占比 18%,退货率 15%,最终净利可能是负的。
毛利率适合筛品类,净利适合筛 SKU。品类层面用毛利率快速判断赛道是否有差价空间,SKU 层面必须用全成本净利。把这两个工具的适用边界搞混,是决策失准的头号原因。
很多团队的成本卡片就三行:采购价、运费、平台扣点。这是典型的"发货前口径",它完全忽略了售后成本这一大块。
退货成本不只是退回来的运费。完整的退货损耗至少包含:去程运费损失、回程运费、商品折损(无法二次销售的部分)、重新质检上架的人工、占用库存导致的周转下降。一次高退货的退货,实际损耗常常是单件毛利的 1.5 到 2 倍。

推广账户里的花费是一个总量,很多团队就让它停在总量。结果就是:抢排名的低价品其实在烧钱,而真正高贡献的品反而得不到预算。
分摊逻辑我建议用"点击占比 × 花费",而不是"销售额占比 × 花费"。因为广告费本质上是买点击的成本,用点击口径分摊更接近因果关系。当然,如果是纯品牌词投放,可以单列不摊。
只看动销率,会误杀低销量高利润的小众品;只看周转天数,会逼着你清仓那些其实贡献稳定毛利的慢销品;只看毛利率,会放进一堆亏损的"伪高毛利品"。
指标之间是有相互解释关系的。动销率低但毛利率高、周转慢但退货率极低,这可能是很好的利润补充品,不该被一刀切淘汰。这类判断必须靠指标组合,不能靠单点。
我见过很多做得很漂亮的商品分析周报,图表齐全、色彩专业,但最后一页是"建议持续关注"。这就是无效分析。
好的分析报告,每一行结论后面都必须跟一列动作:是加投、是提价、是换供应商、是限流,还是淘汰。没有动作栏的报告,本质是数据陈列,不是决策工具。
成本是会变的。快递价会调,平台扣点会变,退货率会随季节波动。一套 2023 年搭好的成本口径,如果 2025 年还在原样使用,结论必然是错的。
我的做法是季度重算一次成本参数,月度跑一次 SKU 健康度。成本参数是慢变量,SKU 表现是快变量,两者频率不同,不能同频处理。
前面讲的是"不要做什么",这一段讲"应该怎么做"。我把它总结为四层闭环:口径层、指标层、模型层、动作层。缺任何一层,体系都不成立。
口径层要解决的核心问题是:同一个词,全公司必须指同一个数。我建议至少定义清楚下面这五项。
定义完之后,一定要落成一张"口径对照表"文档,让运营、财务、供应链三方签字确认。这一步看起来官僚,但它能省掉后面无数次的扯皮。
新手不要一上来做二十个指标看板,那是数据团队的自我满足。我建议从五个开始:毛利率、全成本净利率、动销率、退货率、库存周转天数。
| 指标 | 计算方式 | 主要用途 | 常见误用 |
|---|---|---|---|
| 毛利率 | (实收 − 采购 − 扣点)/ 实收 | 判断品类差价空间 | 用来决定 SKU 去留 |
| 全成本净利率 | 全成本净利 / 实收 | SKU 级去留裁决 | 忽略分摊导致数据失真 |
| 动销率 | 有销量 SKU 数 / 在售 SKU 数 | 判断商品结构冗余度 | 误杀小众高利润品 |
| 退货率 | 退货件数 / 发货件数 | 识别商品质量或描述问题 | 只看件数不看金额 |
| 库存周转天数 | 平均库存 / 日均出库 | 衡量资金占用效率 | 与利润脱钩单独使用 |
这里我要特别强调退货率的计算口径。按件数算和按金额算,结论可能完全不同。如果退货集中在你最贵的那几款上,按件数看退货率只有 8%,按金额看可能超过 20%。我建议两个口径都跑,用金额口径做现金流判断,用件数口径做质量排查。
模型层的任务是把一堆数字变成分类。我用的是"漏斗 + 四象限"组合。
漏斗用来定位问题发生在哪一段:是曝光不够、点击不行、转化偏低,还是转化之后被退货吃掉。四象限用来决定资源分配:横轴是销量贡献,纵轴是全成本净利率。

动作层我只允许五种动作:淘汰、提价、换供、控费、加投。任何分析结论最终都要收敛到这五个动词之一,否则就是无效结论。
淘汰对应低利低销且无战略价值的品;提价对应需求弹性小但定价偏低的品;换供对应采购成本高于同行均值的品;控费对应推广效率持续走低的品;加投对应明星品和验证过的潜力品。
下面这段 Python 是我常用的 SKU 全成本净利计算模板。它的价值不在于代码本身,而在于把口径固化成可复算的逻辑,避免每次分析都靠人工拼 Excel。
import pandas as pd
输入:每个 SKU 的基础经营数据
字段说明:revenue=实收金额,purchase=采购成本,platform_fee=平台扣点
fulfillment=履约成本,return_rate=退货率,ad_cost=推广分摊
df = pd.read_csv("sku_data.csv")
单件退货损耗:双向运费 + 商品折损(按售价的 8% 估算)
df["return_loss"] = df["return_rate"] * (df["freight"] * 2 + df["revenue"] * 0.08)
全成本净利 = 实收 – 采购 – 扣点 – 履约 – 退货损耗 – 推广分摊
df["net_profit"] = (
df["revenue"]
df["purchase"]
df["platform_fee"]
df["fulfillment"]
df["return_loss"]
df["ad_cost"]
)
全成本净利率
df["net_margin"] = df["net_profit"] / df["revenue"]
健康度分层
def grade(row):
if row["net_margin"] >= 0.15:
return "明星品"
elif row["net_margin"] >= 0.05:
return "潜力品"
elif row["net_margin"] >= 0:
return "引流品"
else:
return "亏损品"
df["grade"] = df.apply(grade, axis=1)按利润贡献排序输出
result = df.sort_values("net_profit", ascending=False)
print(result[["sku_id", "net_profit", "net_margin", "grade"]])
这段脚本的关键参数有三个需要按你的实际情况调整:退货损耗里的折损比例(我用的 8% 是通用估值,服饰类可能要 15% 以上)、推广分摊口径(点击占比还是曝光占比),以及分层阈值。阈值不是标准答案,是你对自身利润要求的表达。
讲到这里,很多人会问:这套逻辑怎么在日常运营中跑起来?靠 Excel 手工拼,跑一个月就会放弃,因为数据源分散在后台、财务系统、物流系统三处。我自己的做法是引入跨境场景下的数据工具来承接这套口径。
我长期做跨境电商的数据分析,接触过的工具不少。数跨境(官网:https://shukuajing.jiushuyun.com/?utm_source=seo&utm;_plan=est&utm;_unit=gys)是我在搭建 SKU 级利润体系时常用的一个选择,原因很具体:它把订单、成本、物流、广告几路数据放在同一个分析框架里,能直接按 SKU 维度输出利润结果,而不是只给你一个店铺级的总数。
Excel 的根本问题不是慢,是口径会随人漂移。同一个表格,换一个人维护,公式改了一格,结论就变了。工具的价值在于把口径固化成配置,让全团队看同一个数。
需要说清楚的是,工具解决的是"口径固化 + 效率",不解决"口径设计"。如果你连退货损耗该不该摊、推广费按什么口径分摊都没想清楚,把数据导进任何工具都只会得到一个更快的错误答案。这也是我把口径层放在第一位的原因。

在我服务过的中小跨境卖家里,有一个很稳定的现象:当 SKU 数量超过 50 个,且退货率超过 10% 时,手工表格分析的成本会急剧上升,错误率也随之攀升。这时候不上工具,分析本身的成本就会吃掉分析带来的收益。
可以参考下面这张临界点对照表来判断自己处在哪个阶段。
| SKU 数量 | 退货率水平 | 建议方式 | 理由 |
|---|---|---|---|
| 20 个以内 | 任何水平 | 手工表格即可 | 数据量小,人工复算成本低于工具配置成本 |
| 20-50 个 | 低于 8% | 结构化表格模板 | 需要模板固化口径,避免公式漂移 |
| 20-50 个 | 高于 8% | 结构化表格 + 退货专项追踪 | 退货成本已成为主要变量,需单独建模 |
| 50 个以上 | 任何水平 | 工具化核算 | 手工跨系统拼接口径成本超过工具投入 |
这张表是经验性判断,不是行业标准,你可以根据自己的团队人数和数据基础微调。核心原则是:当手工维护口径的时间超过每周 4 小时,就该考虑把口径交给工具了。
体系不是一天搭完的。我按团队成熟度分成三个阶段,每个阶段给一套可执行的清单,你对号入座即可。
这个阶段的目标只有一个:把口径统一,把第一版 SKU 成本表跑出来。不要谈模型,不要谈工具。
这一步做完,你就能得到第一版全成本净利排名。我建议这个阶段不要追求精确,先要方向对,再要数字准。很多团队卡在"数据不够准所以不敢动",结果一年下来什么都没做。
这个阶段的目标是建立指标监控和决策触发机制。
这个阶段最容易出现的偏差是只看不做。我的建议是给每个结论加一个负责人和时间点,比如"A123 商品提价 8%,负责人张三,两周后复看转化率变化"。
这个阶段适合引入工具化核算,把重复劳动交给系统。核心动作是从"人工做分析"转向"系统出分析、人做判断"。
此时人工的价值从"算数据"转移到"定策略",这也是这套体系真正的目标。

分析到最后,最难的不是算,是取舍。我见过太多团队要么心软留一堆亏损品,要么一刀切砍掉还没起量的新品。下面给出我的判断框架。
这里我要强调一个反常识的判断:"低动销"不是淘汰理由,"负净利且无战略作用"才是。如果一套指标体系让你因为动销低就砍掉了高利润的小众品,那这套体系的设计是有缺陷的。
我常用的判断是算"SKU 的机会成本":把这个 SKU 占用的库存资金和推广预算,转移到明星品上,能带来多少额外利润。如果转移收益大于保留收益,就该砍。
这个方法的好处是把情感因素剥离出去。你不必争论"这个品还有没有希望",只需比较两边的数字。

最后,我把整篇文章收成一份清单。如果你今天就要动手,按这个顺序做,不要跳步。
我最后再说一句我的核心判断:利润空间不是算出来的,是搭出来的。算只解决"知道",搭才解决"改变"。多数店铺的利润不是被竞争对手拿走的,而是被自己体系里的口径漏洞漏掉的。先把口径堵上,再谈增长,你会发现很多问题的答案其实早就在数据里,只是以前你没有把它拆到足够细。
如果你现在只有一个动作可以做,那就做这个:把上个月全店 SKU 按全成本净利排一次序,看看最后十名是谁。这十个名字,大概率就是你今年利润增长的全部空间。



读者评论
文章把利润拆到SKU和履约退货推广四层,确实戳中了很多店铺只看毛利率的痛点。但落地难点在于退货损耗和推广分摊的归因,小团队数据基础弱,前期只能靠估算,容易让口径统一变成纸上谈兵。
最认同‘口径先行、工具最后’这个顺序。很多公司一上来就买BI,结果财务、运营各说各话,系统里固化了两套错误口径。不过让三方签字确认口径表,在实际推行中阻力不小,往往需要老板亲自拍板。
四层闭环的逻辑很清晰,尤其‘分析报告必须有动作栏’这点。但季度重算成本参数、月度跑健康度,对只有一两个运营的店铺来说执行成本偏高。可能更适合先做红黄绿阈值,把淘汰动作自动化,再谈精细分摊。