去年双十一结束后的第三天,我参加了一家家居类目店铺的复盘会。运营负责人投出一张图:活动期销量环比增长 37%,然后说"这次大促打得很成功"。我在会上只问了一个问题:这 37% 里,有多少是已经被退掉的?会议室安静了十几秒。等财务把退货数据拉出来,活动期退货率从日常的 8.2% 涨到 19.4%,扣掉退货后的净销量增长只剩 6.1%,再扣掉折扣让利和赠品成本,毛利额其实同比下滑了 4%。
这就是"商品分析能力清单"里最容易被跳过的一项。绝大多数人复盘销量趋势时,看的是订单表里那个最显眼的数字,而不是这个数字最终有没有变成钱。所以我一直认为,销量趋势复盘的核心不是"覆盖多少张报表",而是"你的判断链条有没有断点"。只要有断点,再多的图表也只是把错误结论装饰得更精致。
这篇内容我会把自己这几年做商品数据复盘的方法完整拆开:先给出覆盖清单和判断顺序,再讲三个让我改掉旧方法的真实场景,然后逐个拆解高频误区、判断逻辑、以数跨境为例的完整复盘过程,最后给不同规模团队的行动建议和取舍原则。
我先把结论摆出来。一份能支撑决策的销量趋势复盘,至少要覆盖 8 类事项,而且这 8 类不是并列关系,而是有先后顺序的判断链条。
| 序号 | 事项类别 | 具体要看什么 | 最容易漏掉的地方 |
|---|---|---|---|
| 1 | 数据口径与清洗 | 退款、取消、赠品、换货是否计入;缺失值与异常值如何处理 | 口径中途变更,前后两个月的数据其实不可比 |
| 2 | 时间粒度 | 日、周、月、季、大促周期,以及同比/环比/定基比 | 只用月粒度,把一周的异常当成了整月的常态 |
| 3 | 趋势形态 | 涨、跌、平台期、震荡;斜率变化与拐点位置 | 只描述"涨了跌了",不描述"以什么速度、在哪个点转向" |
| 4 | 结构拆解 | 按 SKU、品类、价格带、渠道、地区、人群拆分 | 总量平稳掩盖了内部此消彼长,辛普森悖论频发 |
| 5 | 事件剥离 | 大促、上新、平台活动、竞品动作、站内流量倾斜 | 把事件驱动当成自然趋势,做出错误备货判断 |
| 6 | 生命周期阶段 | 导入、成长、成熟、衰退;每个阶段的正常曲线形态 | 用成熟期的标准去评判导入期新品,过早下架 |
| 7 | 交叉验证 | 转化率、客单价、毛利率、库存、退货率、复购率 | 销量与库存不同步看,把断货当成滞销 |
| 8 | 归因与行动闭环 | 结论→原因→动作→责任人→验证时间点 | 复盘报告写得很漂亮,最后没有任何一条进入执行 |
你注意第 8 项。很多人觉得复盘是"分析工作",写到结论就结束了。但在我看来,一条没有责任人、没有验证时间点的结论,价值等于零,因为下个月你还会在同一个坑里再摔一次,而且这次你会觉得自己已经"分析过了"。

我最早做商品分析时,也是从"拉销量表、算环比、画折线"开始的。方法没错,但踩了三次坑之后我意识到,光有方法不够,得有一套强制自己走完的判断顺序。下面三个案例都做了脱敏处理,但数据是真实的。
就是开头提到那家家居店。活动 7 天,订单量 4820 单,环比增长 37%,运营团队士气很高。问题出在三个地方:一是退货率翻倍,二是客单价从 316 元降到 241 元,三是为了冲量把两款主推品的折扣从 8.5 折压到 6.8 折。
把这三件事放到一起重算:剔除退货后的净销量是 3885 件,净增长 6.1%;净 GMV 增长 0.4%;毛利额下滑 4%。"销量大幅增长"和"生意没有变好"同时成立,这不是矛盾,而是你选错了观察主轴。
后来我把这家店的复盘主轴从"订单量"换成了"净毛利额",图表看起来没那么风光,但每一次波动都能对应上具体动作。
某个护类目的新品,上架首周卖了 320 件,第二周 180 件,第三周 90 件。如果只看首周,这是一款需要加推的潜力品;只看前三周的衰减曲线,这是典型的"一波流"。
我们把加购率拉出来对比:这款新品首周加购率 3.1%,而类目同价位段的均值是 6.8%。同时首周的流量来源里,有 62% 来自平台的新品推荐位,属于一次性资源。也就是说,首周销量根本不是被"产品力"推起来的,而是被"平台流量"推起来的。推荐位资源一撤,销量就回到它真实的水平。
如果当时按首周数据备了三个月的货,这一款就是压死现金流的那个 SKU。这就是第 5 项"事件剥离"的价值。
一款日销稳定在 45 件左右的常规品,销量在两周内跌到日均 12 件,跌幅 73%。按常规逻辑,这是"产品进入衰退期",运营建议是降价清库存。
我多看了一眼库存表,发现那两周它的可售库存一直是 0,供应链因为包材延迟断供了。补货到仓后第三天,日销恢复到 41 件。整件事和产品力、市场、竞品都没有关系。

上面三个案例背后,其实是五个反复出现的思维陷阱。我把它们按发生频率排了序,越靠前越常见。
店铺整体销量环比增长 5%,看起来很健康。但拆到品类会发现:A 品类涨 32%,B 品类跌 28%。再拆到价格带会发现,增长全部来自 99 元以下的低价带,199 元以上的中高价格带整体萎缩。
这就是辛普森悖论的典型形态:总量在涨,但你的生意质量在跌。如果不拆结构,你会得出"加大整体投放"的结论,而正确动作可能是"收缩低价格带、保住中高价格带的流量"。
月度数据有一种欺骗性:它把一个月里的所有起伏压平成一个数。某个月销量跌 12%,可能是全月均匀下滑,也可能是前三周正常、最后一周因为一次系统故障暴跌 70%。这两种情况的应对方式完全不同。
我的习惯是先看月、再看周、最后回到日。月粒度定方向,周粒度找区间,日粒度找具体事件。反过来做,容易被单日波动带偏。
头部 10 个 SKU 贡献 70% 销量,复盘时自然只盯着这 10 个。但真正的风险信号往往藏在长尾里:某个小类目的 30 个 SKU 集体下滑 40%,可能意味着这个细分需求正在整体迁移。
爆款告诉你"过去做对了什么",长尾告诉你"未来会失去什么"。两个都要看,但看的目的不同。
销量是可以被"做出来"的,降价、加大折扣、投低价流量都能推高它。但如果复盘主轴只有销量,你就是在奖励那些损害利润的行为。
我的建议是至少三轴并行:净销量(扣退货)、净毛利额、退货率。三者背离的时候,才是真正需要深挖的时候。
最隐蔽的一类。比如某个月开始,平台把"已支付"口径改成了"已发货",或者财务把赠品成本计入了主营业务成本。这些变化会让报表出现一个假的拐点,而且往往没人主动告诉你。
所以我每次做跨月对比前,都会先做一件事:随机抽 3 天的订单样本,人工核对口径是否与上月一致。这一步花不了 20 分钟,但能挡掉大部分假趋势。

误区讲完了,接下来是我实际在用的判断逻辑。我把它设计成一个五层漏斗,每一层都会筛掉一部分"看起来像趋势但其实是噪声"的东西。关键原则是顺序不能颠倒,先清洗再对齐,先对齐再观察,先观察再拆解,先拆解再验证。
这一层要解决三个问题:缺失值怎么补、异常值怎么处理、口径是否可比。缺失值不要直接填 0,一个 SKU 在某天没有销量记录,可能是真的没卖,也可能是数据同步失败,这两种含义完全相反。
异常值的判断我一般用两种方式:一是绝对阈值(比如某天销量偏离 30 天均值 3 倍标准差以上),二是业务合理性(比如一个日销 5 件的 SKU 突然报出 500 件,八成是口径或数据问题)。异常值不要急着删,要先查明原因,再决定是修正还是剔除。
-- 按 SKU + 周聚合,同时算出周环比与四周滚动均值 SELECT sku_id, week_start, SUM(paid_qty) AS net_qty, SUM(paid_qty) - LAG(SUM(paid_qty)) OVER ( PARTITION BY sku_id ORDER BY week_start ) AS wow_diff, AVG(SUM(paid_qty)) OVER ( PARTITION BY sku_id ORDER BY week_start ROWS BETWEEN 3 PRECEDING AND CURRENT ROW ) AS ma4 FROM order_fact WHERE order_status = 'paid' AND is_gift = 0 GROUP BY sku_id, week_start;
这段 SQL 里有两个细节值得说:一是 is_gift = 0,把赠品排除在销量之外,否则大促赠品会把销量曲线抬高;二是 ma4(四周滚动均值),它比原始日销量更能反映真实趋势,因为单日波动会被平滑掉。
我会把同一段数据分别用日、周、月三种粒度画一遍,如果三种粒度给出的结论方向一致,说明趋势可信;如果不一致,说明存在短期事件干扰,需要回到日粒度定位。
举个例子:某店铺 90 天数据,日粒度看波动区间是 -30% 到 +40%,看起来极不稳定;周粒度看是稳定的每周 +3%;月粒度看是 +11%。三个数字都对,只是回答的问题不同:日粒度回答"哪天出事了",周粒度回答"节奏是否健康",月粒度回答"方向对不对"。

结构拆解有一个反直觉的原则:不是拆得越细越好,而是拆到"能定位原因"就停。拆到 SKU 就能解释的,不要再拆到颜色和尺码;拆到渠道就能解释的,不用再拆到具体广告位。
判断标准很简单:当你拆完某一层之后,下一层各个维度给出的结论高度一致,说明已经没有新信息了,可以停止。如果每往下拆一层都出现方向相反的结论,那说明还有信息没被挖出来。
我把趋势形态归为四种基本类型:上涨、下跌、平台期、震荡。每种形态对应不同的业务含义和不同的动作。
事件剥离的做法是:把所有已知的促销、上新、平台活动、竞品大动作标注在时间轴上,然后观察销量拐点是否与事件时间点重合。重合度高的部分,归因给事件;剩下的残差,才是真实趋势。
最后一层是交叉验证。销量不能孤立看,它必须和至少四个指标对齐:转化率、客单价、库存、退货率。这四个指标各自回答一个问题,转化率回答"人还愿意买吗",客单价回答"买得更多还是更少",库存回答"能不能买到",退货率回答"买完之后满不满意"。
我把常见的异常信号和对应排查方向整理成一张对应表,这张表是我复盘时用得最多的工具:
| 异常信号 | 优先排查方向 | 次要排查方向 |
|---|---|---|
| 销量跌 + 转化率稳 | 流量入口是否减少、库存是否断货 | 竞品是否上线同款低价品 |
| 销量跌 + 转化率跌 | 详情页或价格是否变更、评价是否出现负面 | 类目整体需求是否季节性回落 |
| 销量涨 + 客单价跌 | 是否在靠低价款冲量、折扣力度是否过大 | 流量人群是否发生结构变化 |
| 销量涨 + 退货率涨 | 产品与描述是否不符、物流时效是否恶化 | 是否误投了非目标人群 |
| 销量稳 + 毛利额跌 | 成本端是否涨价、折扣结构是否变化 | 退款与售后成本是否上升 |

逻辑讲完了,我用一次真实的复盘过程来演示。这次复盘我用的是数跨境,下面会说明为什么在这个流程里用它,以及它解决了哪些纯手工做会卡住的问题。
我的复盘流程有三个硬需求:一是多店多平台的数据要能汇总到同一张 SKU 表上;二是要能同时看到销量、退货、成本和利润,而不是在四个后台之间来回切换;三是趋势要能按 SKU 直接拉出来,不需要每次写 SQL。
数跨境是跨境电商场景下的数据分析产品,它的价值点在于把订单、商品、利润、退货这几组数据放在同一个分析框架里,对上面三个需求的覆盖比较直接。但我要强调一点:工具解决的是"数据可得性"和"口径统一",不解决"判断"。判断逻辑仍然要靠人来定,工具只是让判断能更快落地。
复盘对象是一家家居饰品店,主销 68 个 SKU。原始数据看起来相当乐观:连续 6 个月 GMV 增长,从 41 万涨到 63 万,累计增幅 53.7%。如果只看 GMV 曲线,结论就是"店铺处于健康增长期"。
叠加毛利率和退货率之后,画面变了。GMV 在涨,毛利率从 42.6% 降到 31.8%,退货率从 7.4% 升到 13.1%。这是典型的"规模换利润":用更低的价格和更宽的流量换来了更大的销量,但每一单赚得更少,退得更多。

下一步是拆结构。我把 68 个在售 SKU 按"销量增长率"和"毛利率"两个维度做成四象限,气泡大小代表销量规模。结果如下:
四象限做完之后,整个复盘结论就非常具体了:GMV 增长的主要来源是第二象限的低毛利引流款,而毛利率下滑的主要原因是这批 SKU 的定价与退货结构恶化。这比"店铺增长良好"这种结论有用得多。

最后一步是交叉验证。我拉了四组数据放在同一张表上:销量、转化率、客单价、退货率。结果发现第二象限的 SKU 有一个共同特征,销量增速最快,转化率也最高(平均 5.9%,高于店铺均值 4.7%),但客单价只有 68 元,且退货率达到 17.3%。
这三个数字连起来读,画面就清楚了:这批 SKU 吸引的是对价格敏感、决策快、但也更容易退货的人群。销量上涨不是坏事,但如果没有配套的售后和产品描述优化,它就是在用利润换规模。最终我们给出的动作有三条:调整其中 6 个 SKU 的价格带、优化详情页的尺寸与材质说明、对退货率最高的 2 个 SKU 做包装加固测试。
复盘到这里才算完成。前面所有的图表、拆解、验证,都是为了最后能写出这三条带责任人和验证时间的动作。
清单是通用的,但落地的动作必须和团队规模匹配。我按四种常见情况分别给建议。
不要试图一次覆盖全部 8 类事项。我的建议是先做最省力但收益最高的三项:净销量口径、四周滚动均值、销量与库存同图。这三项加起来大概能挡掉一半以上的误判,而且不需要额外工具,用表格就能做。
频率上,周度复盘一次即可,月度做一次完整的结构拆解。不要每天复盘,日粒度数据噪声太大,容易做出过度反应。
这个阶段最大的问题不是分析能力,而是口径不统一。同一个 SKU 在不同平台的"销量"含义可能完全不同,有的算下单,有的算支付,有的算发货。
建议先花两周做一件事:把各平台的字段映射到一张统一的 SKU 事实表上,明确每个指标的口径定义并写成文档。这件事没有捷径,但做完之后所有后续分析的效率会提升一个量级。这时候引入数跨境这类能跨平台汇总的数据产品,价值才真正体现出来。
品牌方的复盘重点应该从"卖了多少"转向"谁在买、还会不会再买"。我的建议是在 8 类事项基础上加两项:新老客占比变化、复购周期变化。这两个指标能提前 2-3 个月预警销量趋势的反转。
具体做法是按同期群(Cohort)观察:把每个月的首购用户分群,追踪他们在后续 3 个月、6 个月的复购率。如果新客群的复购率在下降,即使当前总销量还在涨,也要提前调整产品策略。
代运营的特殊性在于,你要向客户解释数据,而客户往往只看 GMV。这时候"覆盖 8 类事项"不只是分析工作,更是沟通工具。
我的建议是固定一份复盘模板,把 GMV、净销量、毛利率、退货率四个指标做成固定版式,每次复盘都用同一套框架。固定模板的价值在于,客户会逐渐学会用这四个数字一起看,而不是只盯着第一个。

复盘做到一定深度之后,会碰到几个必须做选择的地方。我把自己做过的取舍写下来,供你参考。
我的原则是"拆到能解释就停"。判断信号是:当某一层拆解出来的子项结论方向一致时,就停止继续拆。如果继续拆下去,发现某个子维度与整体方向相反,那说明这一层还有信息,值得再往下走一层。
实践中最常见的过度拆解是拆到颜色、尺码、单个广告位。这些维度在库存管理和投放优化上有用,但在趋势复盘里通常是噪声,因为样本太小。
频率取决于"你的决策周期"。如果你的补货周期是 14 天,那周度复盘就够;如果你的投放是每日调预算,那需要日粒度的异常监控,但不需要日粒度的完整复盘。
我的建议是分层:日监控(只看异常)、周复盘(看趋势和结构)、月归因(看生命周期和策略)。三层各自解决不同问题,不要混用。
指标不是越多越好。我见过一份复盘报告里有 40 多个指标,结果没人看。我的做法是固定"三个主轴 + 五个诊断指标":主轴是净销量、净毛利额、退货率;诊断指标是转化率、客单价、库存周转、新客占比、复购率。八个数字之外,其他指标按需临时拉取。
这是我被问得最多的问题。我的判断标准是:算一下"每次复盘手动准备数据的时间 × 每月复盘次数"。如果这个数字超过 8 小时/月,就值得考虑工具;低于 3 小时/月,先用表格把流程跑通再说。
需要提醒的是,工具能省的是取数和口径统一的时间,不能省的是判断时间。买工具不会让复盘结论自动变好,它只是让你有更多时间花在判断上。

最后给你一份我实际在用的检查表。它的用法不是"每次都全部做完",而是"每次复盘后自查,确认哪些项被跳过了,以及跳过是否合理"。
| 检查项 | 完成标准 | 是否可跳过 |
|---|---|---|
| 口径声明 | 明确写出本次复盘的销量口径、是否含赠品、是否扣退款 | 不可跳过 |
| 异常值处理记录 | 列出被修正或剔除的数据点及原因 | 可简化,不可省略 |
| 多粒度对照 | 至少给出日、周、月三种粒度的结论 | 不可跳过 |
| 事件时间轴 | 标注所有大促、上新、平台活动时间点 | 不可跳过 |
| 结构拆解 | 拆到能解释趋势的最粗颗粒度 | 小团队可只拆到品类 |
| 生命周期标注 | 为主要 SKU 标注所处阶段 | 月度复盘必须做 |
| 交叉验证 | 至少对齐转化率、客单价、库存、退货率四项 | 不可跳过 |
| 行动清单 | 每条结论对应一个动作、一个责任人、一个验证时间点 | 不可跳过 |
我给一个具体的分工参考:商品运营负责数据拉取和结构拆解,数据分析负责交叉验证和归因,负责人负责确认行动清单并分配责任人。三个角色不需要三批人,小团队一人分饰多角也可以,但角色必须分开思考,不能一个人从取数到结论一路自洽。
我的做法是给每条结论强制加三个字段:"动作描述"、"责任人"、"验证时间点"。如果一条结论写不出这三个字段,说明它还不是结论,只是观察。
比如"某 SKU 退货率异常偏高"只是观察;"某 SKU 退货率 17.3%,高于店铺均值 4.2 个百分点,责任人张三在两周内完成尺寸说明优化与包装加固测试,两周后复盘退货率是否降到 12% 以下",这才是结论。

取决于决策周期,不取决于行业惯例。补货周期 14 天的,周度复盘就够;每日调投放预算的,需要日粒度异常监控,但完整复盘仍建议放在周和月。分层做,比高频做更有效。
能覆盖前 6 类,第 7 类交叉验证和第 8 类行动闭环也能做,只是每次准备数据的时间会比较长。判断标准是:如果每月准备数据超过 8 小时,说明该考虑工具了。
环比看短期变化,适合判断节奏和近期动作的效果;同比看长期趋势,能剔除季节性影响。两个都不看会误判,只看一个也会误判。有明确淡旺季的类目,同比的权重应该更高。
没有通用阈值,我用的是相对标准:偏离该 SKU 四周滚动均值的幅度,以及是否连续两周同向变化。单周偏离 15% 通常是噪声,连续两周同向偏离 10% 以上才值得深挖。具体阈值需要按类目波动性调整。
不应该。新品导入期的核心指标是加购率、收藏率和首单转化率,而不是销量绝对值。用成熟期的销量标准评价新品,最容易导致过早下架真正有潜力的产品。
把口径和证据摆出来,用同一套数据对齐。我通常会把两种判断各自的假设写下来,然后找一个能快速验证的最小动作去做测试,用结果而不是争论来定论。
回到这份清单本身。我写这篇内容的目的不是让你把 8 类事项全部做完,而是想让你意识到一件事:销量趋势复盘真正的风险,不是分析得不够深,而是判断链条上有断点,而你恰好没发现。
断点最常见的三个位置是:口径不一致导致的假对比、库存与销量不同步导致的伪下滑、结论没有责任人和验证时间点导致的假复盘。这三个位置,恰好也是投入产出比最高的三个修复点。
所以下一步我建议你做一件很小的事:拿出上个月的复盘记录,对照文中的 8 项检查表,逐项打勾。你不需要立刻补齐所有空缺,只需要找出那个得分最低的项,下个月专门补它一项就行。连续补三个月,你的复盘质量会比"一次性上全套框架"高得多,因为习惯比模板更难得。
如果你在做的是跨境或多平台生意,数据口径的统一往往会卡住第一步,这时候可以看看数跨境这类把订单、商品、利润、退货放在同一分析框架里的产品,先解决"数据能不能一起看"的问题,再谈判断。工具永远只是起点,能不能读懂销量曲线背后的生意,还是取决于你有没有一套自己想清楚的判断顺序。
我刚开始做商品复盘时,习惯直接拉一个月的数据看涨跌,结果老板问我“是月初冲量还是月末掉的”,我完全答不上来。后来才发现,只用一个时间粒度,很多问题根本定位不到。
三种粒度不是互相替代,而是分工不同。日粒度用来抓异常和拐点,比如某天突然翻倍或腰斩,先标记出来;周粒度用来看短期节奏,判断是持续走强还是单日偶然;月粒度用来判断大方向和生命周期阶段。可执行的做法是:先看月线定方向,再用周线找节奏,最后用日线定位具体是哪天、哪个动作造成的波动。
判断依据是,粒度过粗会掩盖异常,粒度过细会被噪声带偏,三者交叉才能既看到趋势又定位原因。
我以前汇报时只会算环比,结果遇到大促月数据暴涨,环比看着很漂亮,但老板说去年同期涨得更多,我一下就卡住了。不同对比口径讲的是不同的事,用错就会被质疑在挑好看的数字。
三者适用场景不同。环比看的是相邻周期的短期变化,适合日常运营监控;同比看的是同期对比,能剥离季节性因素,适合判断真实增长;定基比是选一个固定基准期做参照,适合看长期累计变化。实操建议是三个一起看:环比判断最近动作有没有效果,同比判断是不是季节性波动,定基比判断整体是在爬坡还是滑坡。
如果三个方向一致,结论就比较稳;如果互相打架,说明有事件干扰,需要进一步拆解,而不是挑一个报出去。
我遇到过销量翻倍但月底一算账没多赚的情况,当时特别困惑,明明数据都在涨。后来才意识到,只看销量这一个指标,很容易得出错误结论,甚至把亏损当成增长。
销量必须和至少四类指标交叉验证:一是转化率和流量结构,判断增长是来自流量变多还是转化变好;二是客单价和折扣力度,判断是不是靠降价换来的量;三是退货率和退款金额,判断销量里有多少是虚的;四是库存和履约成本,判断增长有没有带来隐性负担。可执行的做法是建一张对照表,销量异常时逐项排查。
判断依据是,健康的增长应该是销量、转化、客单价、复购同向改善,如果只有销量涨而其他指标恶化,大概率是花钱买量或清库存,不是真正的增长。
我有次看到某个SKU销量连续三天大涨,兴奋地做了复盘,结果发现是平台临时给了流量扶持,活动一结束就打回原形。还有一次是退款口径变了,导致数据整体下移,差点误判成产品衰退。
常见的伪趋势来源有四类:一是促销和平台活动,会在短时间内制造脉冲式上涨;二是上新或改价,会改变商品的曝光和转化逻辑;三是竞品动作,比如对方断货导致你的销量被动上升;四是数据口径变化,比如退款、取消订单、赠品是否计入统计。判断方法是,看到异常波动先问三个问题:时间点能不能对上某个运营动作?
波动是脉冲还是持续?换成另一个口径数据还成立吗?如果答案指向外部事件或口径变化,就应该先剥离再分析,不能直接当成产品自身的趋势。


读者评论
退货率那段太真实了,我们店去年大促也是只盯订单量,后来财务一算净毛利反而降了,销量增长有时候真是自欺欺人。
五个误区里'只看单月不看连续'最戳我,月报把波动全压平了,有次月底系统崩了一周,看月数据根本没发现异常。
断货被当成滞销那个案例太典型了,我们仓库断货两周运营就急着降价清库存,其实转化率根本没掉,纯属供应链问题。
五层漏斗讲得挺系统,不过小团队执行起来成本偏高,数据清洗和口径对齐就要花不少时间,感觉更适合有专职分析师的团队。
第8项归因与行动闭环说到点子上了,我们复盘报告写得花里胡哨,最后没有责任人和验证时间,下个月同样的问题又犯一遍。