去年第一季度,我参与过一次让我印象很深的商品复盘会。一个在类目里长期排在第 6 到第 8 名之间浮动的单品,GMV 同比掉了 23%,付费 ROI 从 2.8 掉到 1.6,加购率也跌了将近 1 个百分点。
会议开了两个小时,最后落在两个结论上:主图点击率下滑,需要重做视觉;详情页转化描述不够有力,需要优化文案。任务分下去了,两周后新素材上线,数据纹丝不动。
真正的问题不在素材。我后来把竞品侧的数据拉出来看,发现在同一时间段里,类目 Top20 里有 7 个 SKU 把价格带整体下移了 12% 到 18%,其中三个还叠加了"满减+赠品"的组合促销。我们自己的价格没动,视觉做得再好,也只是在一场变了规则的价格战里,试图用审美赢下比赛。
这就是我想在这篇文章里讲清楚的事:竞争强度是数据复盘里最容易被系统性忽略的变量,而它恰恰是解释"为什么同样的动作,这次没效果"的那把钥匙。下面我会把这件事拆成可量化、可落地、可复用的分析框架,而不是停留在"要关注竞争"这种正确的废话上。
我习惯用"汇率"来类比。你手里握着 100 块钱,在国内买到的东西是固定的;但如果你把这 100 块换成外币去另一个市场买同样的商品,能买到多少,取决于汇率。
商品运营动作也是这个逻辑。一次主图优化、一次价格下调、一次站内广告加预算,这些动作本身是"钱",而竞争强度就是"汇率"。竞争强度低的时候,同样的动作能换回明显的数据提升;竞争强度高的时候,同样的动作可能只够维持原地不动。
复盘失准的根本原因,是把"动作效果下降"直接等同于"动作本身有问题",而没有意识到可能是"汇率变了"。
在计量经济学里有个基本区分:内生变量是模型内部可以控制的、由你自己的决策决定的变量;外生变量是模型外部给定的、你控制不了的变量。竞争强度属于后者。
问题在于,绝大多数商品复盘模板只记录了内生变量,投放预算、价格、素材版本、SKU 数量、活动力度。复盘时我们拿这些变量去解释结果,模型本身就缺了最关键的一块,结论自然站不住。
这就好比你在测一款减肥产品,只记录了吃了多少,没记录运动量。数据一定会告诉你"吃得多就瘦",因为运动量这个真正的解释变量根本不在表里。
下面这张图,是我从 2025 年 1 月到 6 月跟踪某个家居类目时记录的两条曲线。竞争强度指数是我按后文讲到的方法自己算的,转化率是自身单品的实际表现(示意数据,用于说明趋势关系,非真实商业机密数据)。

如果只看转化率这条线,运营团队会得出"素材持续变差"的结论。但把竞争强度这条线叠上去,你会看到 3 月和 5 月两次转化的加速下滑,恰好是竞争强度指数跨过 40 和 50 两个门槛的月份。
我在内部复盘时喜欢做一件事:把 GMV 变化拆成瀑布图。这种方法比单纯看同比数字有用得多,因为它强迫你把"说不清的部分"单独拎出来。

这张图最有价值的部分不是那 11 个百分点,而是最后那 9 个百分点的残差。当残差大到一定程度,说明你的复盘模型本身是残缺的,这时候急着下结论,比不下结论更糟。
抽象地讲"要关注竞争"没有意义。我挑三个自己真实踩过的场景,把当时的判断、证据和修正过程完整写出来。
2024 年下半年,我负责的一个厨房小家电单品,主图点击率从 5.2% 掉到 3.8%,团队第一反应是"视觉疲劳,需要换图"。我让设计做了三版新主图做 A/B 测试,结果三版都没跑赢老图。
这就很奇怪了:老图点击率在跌,但新图更差。如果问题是"用户看腻了老图",新图应该更好才对。
后来我拉了竞品数据,发现这类目在两个月内涌进来 9 个新 SKU,其中 6 个的价格比我们低 15% 以上,而且主图上都打出了"XX 天无理由+赠品"的信息。用户不是看腻了我们的图,是搜索结果页里出现了性价比信号更强的替代选项,他们根本没点开我们的商品。
点击率下滑有两种可能:一种是用户看到了你的图但不想点,另一种是用户根本没看到你的图。前者是素材问题,后者是排名和展示位问题,而竞争强度直接影响的是后者。
另一个场景更隐蔽。有一段时间,我们的转化率从 3.5% 自然回升到 4.6%,团队很兴奋,把这次回升归因于前一周上线的详情页优化,还在周报里写成了标杆案例。
我做回溯时发现,那个品类排名第二的竞品正好在那段时间断货了,断货持续了 11 天。我们的转化率回升曲线,和它的断货周期几乎完全重合。
这个误判的危害比第一个更大。把外生利好当成了内生能力,会导致你把资源投向一个其实无效的策略,并且在下一次同类场景中重复犯错。
2025 年一次平台大促,我们提前一个月做了完整的备货、素材、预算规划,执行层面几乎没有瑕疵。最终 GMV 只做到了目标的 71%。
复盘时我做的第一件事不是看自己,而是把竞品在大促期间的促销日历拉出来。结果发现,类目前 5 名里有 3 家在大促首日打出了"前 2 小时 5 折",而我们的大促价格是提前锁定的,无法实时调整。
这不是执行问题,是决策机制问题,我们的价格审批链路需要 48 小时,而竞品的调价响应是小时级。复盘结论从"团队执行不力"改成了"价格响应机制需要改造",后续动作完全不同。
下面这张图对比了同一个素材优化动作,在两次不同竞争强度环境下产生的效果差异(示意数据)。

大多数复盘模板的第一页是"本期 vs 上期 vs 去年同期"。这三个数字全部来自自身,没有一个来自外部。这种结构决定了你无论如何分析,都找不到竞争这个原因。
我在自己的复盘模板里加了一行,叫"类目基线"。它可以是类目大盘的搜索热度、类目平均转化率、类目价格中位数中的任意一个,只要每期都用同一个指标,就能把自身表现放到一个坐标里。
没有基线的同比,就像没有海拔的高度,数字是有的,但看不出究竟站在山上还是谷底。
这是我听到最多的反驳:"竞争这东西说不清,全凭感觉。" 说这话的人通常没试过量化它。
实际上,竞争强度至少有五个可以直接采集的量化维度:类目价格中位数的环比位移、竞品促销 SKU 的占比、核心关键词的广告出价中位数、近 14 天上榜的新 SKU 数量、竞品评论的日增速。这五个维度都不需要内部数据,全部可以从公开的商品页面和广告后台获取。
你不需要精确到小数点后两位,只需要每周用同一套口径采集,形成时间序列。同一套主观标准重复 12 周,其信息量远超一次拍脑袋的判断。
绝对 GMV 在高竞争期几乎必然难看,但难看本身不构成结论。如果类目整体下滑 15%,你下滑 8%,那是跑赢大盘;如果类目增长 20%,你增长 5%,那是份额流失。
这两个案例里的绝对数字方向相反,但业务含义其实是一样的:你的相对位置在变化,而绝对数字不会告诉你这一点。
很多复盘报告写得很漂亮,归因清晰、逻辑严密,然后就没有然后了。下一轮的动作和历史结论之间没有连接,复盘变成了纯粹的绩效说明会。
我在每次复盘的最后强制留一页,叫"下一轮的可验证假设"。格式固定:如果竞争强度维持在当前水平,那么动作 A 预计带来 X 的效果;如果竞争强度上升 20%,动作 A 的效果预计衰减到 Y,此时应切换为动作 B。
下面这张散点图,是我在 2025 年跟踪某个类目时整理的观察:横轴是竞品平均降价幅度,纵轴是自身转化率的变化,气泡大小代表活跃竞品数量。它展示了竞争干扰的非线性特征。

竞争强度不会直接改你的 GMV,它通过三条链路传导,这三条链路的响应速度和可逆性完全不同。
链路一:流量成本链路。竞品加大投放 → 核心关键词广告竞价上升 → 你的 CPC 抬升 → 同等预算下获得的曝光减少 → 流量结构里付费占比被动上升。
链路二:点击效率链路。竞品上新品、改主图、加促销标 → 搜索结果页的信息密度提高 → 用户在同一屏内的比较成本下降 → 你的点击率被稀释,即使排名没有变化。
链路三:转化与客单链路。竞品降价或加赠 → 用户的价格锚点被重置 → 你的转化率下滑,同时为了应对下滑而做的促销又会拉低客单价 → 双杀。
三条链路里,流量成本链路响应最快但可逆性最强,转化与客单链路响应最慢但一旦发生就很难逆转。复盘时应该按这个顺序排查,而不是一上来就查转化。
| 维度 | 采集口径 | 采集频率 | 滞后性 |
|---|---|---|---|
| 价格位移 | 类目 Top50 SKU 的价格中位数,7 日环比变化率 | 每日 | 低(几乎实时) |
| 促销密度 | 竞品促销 SKU 数 ÷ 竞品总 SKU 数 | 每日 | 低 |
| 广告出价 | 核心 20 个关键词的 CPC 中位数,7 日环比 | 每日 / 每周 | 中(1-3 天) |
| 新品冲击 | 近 14 天进入类目榜单的新 SKU 数量 | 每周 | 中(3-7 天) |
| 评论增速 | 竞品评论日增量的类目中位数 | 每周 | 高(1-2 周) |
这五个维度里,我把价格位移和促销密度的权重给得最高,因为它们对用户决策的影响最直接、滞后最短。评论增速的滞后性最强,更适合用来判断中长期趋势,不适合作为短期复盘的归因依据。
我把这套算法简化成了一个 Python 脚本,每周跑一次。它不是学术意义上的严谨模型,但足够让团队在同一个坐标里对话。
import pandas as pd
competition_daily.csv 需要包含:median_price, promo_sku_cnt,
total_sku_cnt, median_cpc, new_sku_14d, review_delta_median
df = pd.read_csv("competition_daily.csv")
df["review_velocity"] = df["review_delta_median"]
标准化后加权求和
def z(series):
return (series – series.mean()) / series.std()
df["ci_raw"] = (
0.30 * z(df["price_shift"]).fillna(0)
+ 0.25 * z(df["promo_density"]).fillna(0)
+ 0.20 * z(df["cpc_shift"]).fillna(0)
+ 0.15 * z(df["new_entry"]).fillna(0)
+ 0.10 * z(df["review_velocity"]).fillna(0)
)
映射到 0-100 区间,便于业务沟通
df["ci_100"] = 50 + 15 * df["ci_raw"]
输出最近 14 天的指数,用于和自身动作时间线对齐
print(df["ci_100"].tail(14))
权重的设定不是拍脑袋。30% 给价格位移、25% 给促销密度,是因为在大多数快消和家居类目里,这两项对转化率的直接解释力最强;广告出价给 20%,是因为它主要影响成本端而非需求端;新品和评论增速各给 15% 和 10%,是因为它们反映的是中长期格局变化。
这套权重的意义不在于精确,而在于一致性。只要你连续用同一套权重跑三个月,就能看出趋势;权重本身是否最优,从第二个月开始就可以用实际转化率做回归校正。
很多人以为竞争影响是均匀地摊薄在整条链路上的。我实测下来不是这样,竞争干扰在链路各环节的衰减幅度差异很大。

这张图改变了我们团队的一个长期做法。过去高竞争期的标准动作是"优化详情页提高转化",但数据显示,70% 的竞争干扰损失发生在点击之前,你在转化环节做的努力,最多只能挽回 30% 的损失。
用雷达图对比这两个时期,能看得很清楚:竞争不是"变强了"这么简单,而是结构变了。

理论讲完了,讲落地。上面那五个维度的数据,如果靠人工一个个页面去翻,一天两小时都未必够。我自己的做法是用工具把采集这件事固化下来,这里以我常用的数跨境为例,讲一下完整的操作路径。
需要说明的是,不同平台的功能和字段迭代很快,下面的路径是我自己的使用习惯,具体字段命名和位置以你打开时的实际版本为准。文中涉及的具体数值均为示意数据,用于说明方法,不代表任何真实商业结果。
竞争强度的第一步不是算指数,而是确定"你到底在跟谁竞争"。很多团队的竞品名单是拍脑袋定的,结果盯了一堆根本不在同一价格带、不在同一搜索词下出现的 SKU,数据自然没有解释力。
我的做法分三层:
在数跨境的类目榜单和商品维度数据里,可以按类目、价格带、销量增速这类条件筛出候选名单,再人工确认。我一般两周更新一次名单,避免盯着已经出局的竞品做无意义的分析。
名单的稳定性比名单的完整性更重要。每次换名单,时间序列就断了,你之前积累的对比基准全部作废。
有了名单之后,我固定采集五类数据形成周表。这一步的关键不是数据本身,而是对齐时间轴:把你的每一个运营动作(改价、换素材、加预算、上活动)在时间轴上打标记,然后看竞争强度曲线在哪些节点发生了跃升。
我用的对齐规则很简单:
这条规则听起来简单,但它把复盘从"事后解释"变成了"事前选窗口"。我们后来做了一个调整:所有素材和详情页的 A/B 测试,都不在高竞争期内启动,因为那个窗口里测出来的结果没有泛化价值。
下面是我实际在用的归因表模板。它的核心设计是:把"竞争干扰"作为一个独立的、必须有数值的行,而不是散落在备注里。
| 归因项 | 本期数值 | 上期数值 | 对 GMV 的贡献(百分点) | 是否可控 |
|---|---|---|---|---|
| 自身价格动作 | 下调 5% | 无变动 | +4.2 | 可控 |
| 自身内容动作(素材 / 详情页) | 2 版素材 | 1 版素材 | +1.6 | 可控 |
| 自身投放动作 | 预算 +30% | 预算持平 | +2.8 | 可控 |
| 竞争价格挤压 | 类目中位价 -11% | 类目中位价 +2% | -7.5 | 不可控 |
| 竞争促销分流 | 促销 SKU 占比 46% | 促销 SKU 占比 21% | -3.4 | 不可控 |
| 平台流量结构变化 | 推荐流量占比 -8% | 推荐流量占比 +3% | -4.1 | 半可控 |
| 未解释残差 | , | , | -6.6 | , |
这张表出来之后,团队的对话方式变了。过去是"这周为什么跌了",现在是"可控项已经拿了 +8.6 个百分点,不可控项扣掉了 -15 个百分点,残差 -6.6 说明模型还有缺口,下一周补采什么数据"。从追责转成了补数据,这是复盘质量的分水岭。

讲完方法,讲决策。竞争强度不同,行动逻辑不应该一样。下面按四种典型情况给出具体建议。
高竞争期的核心矛盾不是增长,是失血速度。这个阶段最容易犯的错,是继续沿用低竞争期的成功动作。
低竞争期最容易被浪费。因为数据自然好看,团队会产生"策略有效"的错觉,把资源浪费在无效动作上。这个阶段的正确做法是主动加杠杆。
下面这张百分比堆叠图,是我建议的高低竞争期流量与预算结构(示意数据,非真实投放结果,用于说明配置逻辑)。

这是最容易被误判的时期。格局切换期通常只有 2-4 周,窗口短,但影响大。老玩家退出时,你会看到数据自然回升;新玩家进入时,你会看到数据突然恶化。这两种变化都不应该按常规复盘处理。
我的做法是在格局切换期执行"双轨复盘":一条轨道评估自身动作,另一条轨道单独记录格局变化事件。两条轨道的数据分开看,不做混合归因。切换期的复盘结论只用来做短期应对,不作为长期策略调整的依据,因为格局还没稳定,样本量不足。
我做跨境类目时发现,竞争强度的维度权重和国内有明显差异。
| 维度 | 国内电商权重(示意) | 跨境电商权重(示意) | 差异原因 |
|---|---|---|---|
| 价格位移 | 0.30 | 0.22 | 跨境用户对价格的敏感度受物流时效、退换成本影响,不完全由价格主导 |
| 促销密度 | 0.25 | 0.18 | 海外促销节点更集中,非节点期促销对用户的刺激有限 |
| 广告出价 | 0.20 | 0.28 | 跨境广告位竞争更直接,CPC 变化对 ROI 的传导更快更狠 |
| 评论增速 | 0.10 | 0.20 | 海外用户高度依赖评论决策,评论积累速度直接影响转化 |
| 新品冲击 | 0.15 | 0.12 | 跨境新品上架和起量周期更长,短期冲击相对温和 |
跨境复盘的最大误区,是直接套用国内的权重。如果你在跨境类目里把 55% 的权重压在价格和促销上,会严重低估评论和广告出价的影响,导致复盘结论长期偏斜。
高竞争期最常见的两难。跟价能保住份额,但会持续侵蚀毛利;不跟价能保住利润,但份额会缓慢流失。
我的判断标准是看用户获取成本的可逆性。如果这个类目的用户复购周期短、复购率高,那么短期让利换份额是划算的,因为份额最终会转化为复购资产。如果复购周期超过 12 个月,让利换来的份额很可能是"一次性份额",用户下次购买时早就忘了你,这时候保利润更理性。
不是所有降价都值得跟。我在前面那张气泡散点图里给出的拐点是 10%:竞品降价 10% 以内,非价格因素仍然有效,不必跟;超过 10%,进入价格主导区间,不跟价就要接受份额损失。
但要补一个前提:如果你在类目里是价格跟随者而非价格领导者,跟价的收益通常低于主动定价策略的收益。因为跟随者的成本结构往往不如领导者,跟价打的是消耗战,消耗战里成本高的一方先出局。
高竞争期我建议收 SKU,理由前面讲过。但有一种例外:如果你的类目里存在明显的长尾需求且竞争集中在头部 SKU,那么在高竞争期用低竞争的长尾 SKU 获取流量,反而是一种避开正面战场的策略。
判断标准是长尾 SKU 的单位获客成本是否低于核心 SKU。如果长尾 SKU 的获客成本高出 50% 以上,那它就不具备"避战"价值,只是分散资源。
下面这张浮动区间图,展示了三种典型取舍策略在"份额"和"利润"两个维度上的合理区间(情景模拟数据,用于说明决策边界,非真实经营结果)。

前面讲了这么多,最后给一份可以直接用的操作清单。我做成了三段式:复盘前、复盘中、复盘后。
这四步的顺序不能颠倒。先看自身数据再看竞争数据,人的大脑会自动为已有数字寻找解释,这是确认偏误,我自己也踩过好几次。
三问法看起来简单,但它能过滤掉大部分错误归因。我在团队里推行这套方法之后,复盘报告里"因为素材变差导致转化下滑"这类结论出现的频率下降了大约七成。
我要求所有复盘报告的结论部分,必须包含以下三个要素,缺一不可:
| 阶段 | 检查项 | 是否完成 | 备注栏 |
|---|---|---|---|
| 复盘前 | 竞争强度五维数据是否采集完整 | ☐ | 缺失维度需注明原因 |
| 复盘前 | 竞争强度跃升节点是否标记 | ☐ | 阈值:环比变化 >15% |
| 复盘前 | 自身动作时间线是否完整 | ☐ | 需具体到日期和幅度 |
| 复盘中 | 核心竞争层 SKU 动作是否全部排查 | ☐ | 5-8 个 SKU,不允许跳过 |
| 复盘中 | 是否完成三问法 | ☐ | 每个关键节点逐一过 |
| 复盘中 | 归因表是否包含竞争干扰独立行 | ☐ | 必须有数值,不能只写备注 |
| 复盘中 | 残差是否显式列出 | ☐ | 残差 >10% 需触发模型复盘 |
| 复盘后 | 结论是否包含竞争变量说明 | ☐ | 定性 + 量级 + 依据 |
| 复盘后 | 是否产出三种竞争情景下的动作假设 | ☐ | 维持 / 上升 / 下降 |
| 复盘后 | 下一轮效果评估窗口是否已选定 | ☐ | 优先选竞争平稳窗口 |

写了这么多,我想说的核心其实只有一句:竞争强度不是复盘里的干扰项,而是必选项。把它放进模型,你的复盘才有解释力;把它排除在外,你的复盘就只是在为已经发生的结果找一个听起来合理的理由。
我见过太多团队在竞争加剧期做大量的自我检讨,把外部挤压的账算到内部执行头上,结果是团队士气受损、真正该改的机制却没动。也见过团队在竞争缓和期把自然回升当成能力证明,加码投入一个其实无效的策略,等到竞争重新加剧时才发现基础没打好。
这两种错误,本质上都是同一个问题:复盘时没有区分"我能控制的"和"我控制不了的"。
如果说这篇文章里有一个我最希望被记住的判断,那就是:在高竞争期,评价一个团队的标准应该是相对份额,而不是绝对增长;在低竞争期,评价标准应该是能否拉开差距,而不是是否还在增长。用错标准,比不做复盘更危险,因为它会让你在错误的方向上越走越远。
下一步怎么做,我给三个具体动作,从最低成本开始:
最后一个提醒:不要追求一次做对。我第一版竞争强度指数的权重是拍脑袋定的,跑了三个月之后才用实际转化率做了校正。这套方法的价值不在于第一版有多准,而在于它能持续迭代,并且让团队在同一个坐标系里讨论问题。只要方向对了,权重可以慢慢调。
上个月大促我们主推的品数据没达标,复盘时领导问我是不是运营没做好。但我明显感觉那几天竞品在疯狂砸价,流量贵得离谱,可我又拿不出证据说服他,只能说'竞争太激烈了',结果被说找借口。
高竞争期复盘要把'绝对增长'换成'相对份额'和'效率指标'。具体盯四个口径:一是搜索广告出价环比涨幅,反映流量成本被抬高多少;二是同价格带竞品数量变化,判断是否新玩家涌入;三是自身转化率与行业大盘转化率的差值,剥离平台整体波动;四是促销频次与客单价的对应关系。
判断依据很简单,如果流量成本涨了30%但你的转化率跌幅小于行业均值,说明执行没问题,是环境变了,结论应该写'守住份额'而不是'增长未达标'。
我一直知道竞品会干扰数据,但每次复盘都只能定性说'竞品促销影响了我们',没法量化。上次尝试做了个同期对比,结果被质疑口径不一致,反而显得我在给自己找台阶,挺尴尬的。
用'动作时间线标记+同期同口径对照'两步法。先拉一张竞品动作表,记录降价、上新、大促起止日期,精准到天;再取两个周期做对照,一个是竞品动作期,一个是动作前后各7天的基线期,所有指标用同一数据源、同一统计口径。
判断依据是:如果竞品动作期内你的加购率跌幅显著大于收藏率跌幅,通常说明是价格敏感型用户被截流,而非产品本身失去吸引力。这个方法不追求精确归因,追求'可比较、能说服人'。
我们行业淡旺季明显,淡季的时候数据自然回升,我一度以为是自己优化主图和标题的功劳,还专门做了复盘汇报。后来同事提醒我那是竞品都缩预算了,我才发现可能高估了自己的动作效果。
低竞争期的复盘重点要从'是否增长'转向'能否拉开差距'。核心坑是把环境红利误判为策略有效。具体做法是:先标注当期竞争强度(用竞品广告投放量或出价变化做代理指标),再对比自己与竞品的份额变化方向。如果你的份额没涨但行业整体在涨,说明你只是被抬着走;只有份额同步上升,才能归因到自身动作。
低竞争期是低成本拉差距的窗口,复盘结论应该落在'有没有借机扩大相对优势'上。
我每次想在复盘里加一段'本期竞争加剧'的说明,都担心被当成找借口。但不写吧,又觉得结论不完整,毕竟同样一套动作在不同竞争环境下效果差异真的很大,写不写都很纠结。
要写,但写法决定它是'分析'还是'甩锅'。正确做法是把竞争变量放进'前提假设'或'环境说明',而不是放在'未达标原因'里。比如开头写:本期竞争强度较上期上升,搜索出价涨幅X%,因此本次复盘的基准线调整为'相对份额持平'。
判断依据是:承认环境变化不等于推卸责任,反而能让结论更可信,因为你同时给出了调整后的目标和实际达成情况。只讲环境不讲自身动作才是甩锅,两者都给才是专业复盘。


读者评论
把竞争强度比作汇率挺形象的,但实际复盘时怎么统一口径?比如价格中位数是取Top20还是Top50,不同口径结果可能完全不同。
瀑布图那9个百分点的残差才是关键,说明复盘模型本身有问题。但小团队哪有精力每周采集五个维度,这套方法更适合有数据中台的公司。
场景二那个竞品断货的案例太真实了,我们之前也把转化率回升归因于详情页改版,后来发现是对手被平台限流了,白高兴一场。
文章说竞争强度不需要精确测量只需要可比较,但主观打分最大的问题是容易事后合理化,打高分是因为结果差,而不是因为竞争真的加剧。