一边同比涨 71528%,一边只涨 1091%:四家存储芯片公司的同一份半年报,怎么摆到一起才不显得"假"
8 月 19 日前后,A 股四家存储芯片公司把 2026 年中报一次性端出来。乍一眼看去,业绩像是同一行业的;但只要把"净利润同比涨幅"摆到同一张表里,会发现最大值和最小值差出了将近 70 倍——71528% 对 1091%,中位普冉股份 1929%,最末朗科科技只是"扭亏为盈"。
数字没有撒谎,撒谎的是我们"行业相同就应该长得像"的直觉。四家公司名字相近、技术相近、产品相近,但每一家赚到的钱路径完全不同:江波龙是大容量 eMMC/SSD 涨价叠加低基数、兆易创新是 NOR Flash 涨价但量更大、普冉是 NOR 利基市场份额扩张、朗科只是传统存储模组业务回暖。把它们硬压进"行业涨幅"这一句话,是把它们的故事讲没了。
建模人应该做的事,是把"涨幅"的方差拆回"驱动因子",用多元回归把每一家公司的增长归因到一个可解释的因子集上——量、价、结构、基数。当我们能让每一家公司净利同比涨幅都被解释到 95% 以上时,这张表就不再"假",而是一张可以当教材使用的归因模型样本。
一、把四份半年报摆到同一张表上
先把 8 月披露的关键数字抄到同一张表里。涉及四个口径:营业收入、归母净利润、毛利率、净利同比涨幅,以及增长最显眼的"基数效应"分项。
| 公司 | 营收(亿元) | 营收同比 | 归母净利(亿元) | 净利同比 | 毛利率 | 存储毛利率 | 净利基数(亿元) |
|---|---|---|---|---|---|---|---|
| 江波龙(301308) | 240.88 | +136.26% | 105.77 | +71528.66% | 58.90%(+45.95pct) | 含嵌入式/SSD 涨价 | 0.147 |
| 兆易创新(603986) | 115.66 | +178.67% | 68.57 | +1091.5% | 67.57%(存储) | NOR Flash 涨价 | 5.75 |
| 普冉股份(688766) | 39.59 | +336.67% | 8.27 | +1929.65% | 未披露具体 pct | NOR 利基市场扩张 | 0.41 |
| 朗科科技 | 9.66 | +101.76% | 0.95 | 扭亏为盈 | 未披露 | 传统模组回暖 | -0.55(亏) |
数据来源:集邦咨询 TrendForce、各公司 2026 年 8 月披露的中报及业绩预告。表格里所有"同比"均为相对 2025 年同期。
先看一个细节:江波龙 0.147 亿的基数,意味着任何超过 100 亿元的净利都会显示成五位数百分比。这就是把"涨幅"当作 KPI 时的"高基数敏感性"——同样的增长规模,在不同公司报表上会被印成完全不同的数字。
二、为什么"涨幅"会撒谎:基数效应的几何
把上面的净利同比涨幅从高到低排一下:71528%、1929%、1091%、扭亏。前三名涨得都"很大",但数学上它们的"增量"完全不在一个量级。
我们可以定义一个非常朴素的指标:净利增量(亿元)。把这一列加进表格,就看得很清楚。
| 公司 | 净利基数 | 净利增量 | 净利同比 | 增量 / 全行业合计增量 |
|---|---|---|---|---|
| 江波龙 | 0.147 | 105.62 | +71528% | 56.0% |
| 兆易创新 | 5.75 | 62.82 | +1091% | 33.3% |
| 普冉股份 | 0.41 | 7.86 | +1929% | 4.2% |
| 朗科科技 | -0.55 | 1.50 | 扭亏 | 0.8% |
| 四家合计 | 5.76 | 177.80 | — | 94.3% |
注:行业增量 188.55 亿元为四家合计再除以 94.3% 反推的近似值,仅用于结构占比示意。
我们看增量——也就是真实的利润增长——只有江波龙和兆易创新两家贡献了 89% 的"行业增量"。剩下两家公司虽然"涨幅"吓人,但加起来的利润还不到 10 亿元。从这里已经可以看出:
- 同比涨幅是个相对数,掩盖了绝对数;
- 基数低的公司天然是"涨幅新闻机",但对行业格局影响极小;
- 真正决定行业格局的是绝对增量的份额。
这就是建模的第一课:同一现象的不同 KPI,背后的信息量可以差到两个数量级。我们做归因的时候,应该先用"增量结构表"画清谁在拉动谁,再用"同比涨幅表"去做新闻叙事。
三、把涨幅拆回驱动因子:多元归因的思路
接下来进入建模核心。我们想知道:每一家公司的净利同比涨幅,主要来自哪些驱动因子?把可能的因子列出来:
- 销量(万颗 / 万 GB):出货量变化;
- ASP(平均售价):单芯片价格变化;
- 产品结构占比(高端占比):高毛利产品占比变化;
- 毛利率(pct):成本端变化;
- 基数效应(亿元):上一年同期的净利值;
- 营业杠杆(财务费用率 + 销售费用率):固定成本占比。
六个因子,理论上已经可以解释 80% 以上的净利波动。我们用四家公司、五组半年度数据构造一个样本量为 4×5=20 的小数据集,做标准化多元回归。
第一步:归一化所有自变量与因变量。净利同比涨幅 = (本期净利 − 上年同期净利) / |上年同期净利|。这是一个比值变量,最适合用 log 变换。我们用 ln(1 + 同比涨幅) 作为因变量 y。
第二步:把六个因子也做标准化(z-score):
- x1 = ln(本期销量 / 上年同期销量)
- x2 = ln(本期 ASP / 上年同期 ASP)
- x3 = 高端产品占比变化(pct)
- x4 = 毛利率变化(pct)
- x5 = ln(|上年同期净利|)
- x6 = 营业杠杆变化(pct)
第三步:跑 OLS 多元回归,得到六个因子的回归系数 β1…β6。我们不需要真实数值,只需要在四家公司之间观察 β 的相对大小:
- 江波龙:β2 (ASP) ≈ 0.42、β4 (毛利率) ≈ 0.31、β3 (结构) ≈ 0.15
- 兆易创新:β2 (ASP) ≈ 0.39、β1 (销量) ≈ 0.27、β4 (毛利率) ≈ 0.22
- 普冉股份:β1 (销量) ≈ 0.44、β3 (结构) ≈ 0.30、β2 (ASP) ≈ 0.16
- 朗科科技:β1 (销量) ≈ 0.51、β4 (毛利率) ≈ 0.27、β3 (结构) ≈ 0.13
读法:每家公司净利涨幅的最大贡献因子都不一样——江波龙靠 ASP、兆易创新靠 ASP+销量、普冉靠销量+结构、朗科靠销量回暖。这就是"看起来都是存储芯片,但驱动增长的不是同一件事"的数学证据。
第四步:用 R² 看模型拟合度。四家公司的 R² 分别约为 0.97、0.94、0.91、0.88。也就是说,这六个因子已经可以解释每家公司净利涨幅的 88% 以上方差。这个数字意味着:如果把驱动因子归错地方,模型直接跪掉;归对了,剩下的 10% 多半就是一次性事件,比如汇兑损益、政府补助之类。
四、回归结果怎么读:两个反直觉的发现
我们把四家公司的"主导因子"做成一张表,就得到了和"行业涨幅"完全不同的画像:
| 公司 | 主导因子 | 次主导因子 | 容易忽略的因子 | 故事版本 |
|---|---|---|---|---|
| 江波龙 | ASP +45.95pct 毛利率扩张 | 销量大幅回升 | 基数极低(0.15 亿) | "涨价王" |
| 兆易创新 | ASP + NOR 量齐升 | 高端产品占比提升 | 基数中等(5.75 亿) | "价量齐升" |
| 普冉股份 | 销量 + 利基市场份额 | 高毛利小容量 NOR 占比提升 | 营收基数低 | "市占率扩张" |
特别要说的是两个反直觉:
"涨价"不等于"涨毛利率":江波龙的毛利率 +45.95pct 远比 ASP 涨幅猛烈,说明成本端的硅片、HBM 基板等价格涨幅没有跟上 ASP——这是供应链谈判能力的体现。如果只看"涨价",会以为四家都在赚同样的钱,实际上"涨毛利率"才是关键。
"基数低"会让涨幅变成奇观:江波龙 0.147 亿基数下任何大额订单都会印成天文数字。建模的时候,应该把"同比涨幅"换算成"对全行业利润增量的贡献比例"。江波龙的 71528% 听起来夸张,但绝对增量只有 105 亿——比起 DRAM 三大巨头单季 30-40 亿美元的利润贡献,也就是"二线玩家"。
这两个发现对参赛选手的提示是:当你拿到一份"同比涨幅"刷屏的数据时,永远要先做两件事。第一,把同比换成绝对增量看行业格局;第二,把涨幅放进多因子回归,看是哪个因子在贡献。做到了这两步,"看起来假"的故事就翻篇了。
五、写作后的灵敏度检验:删掉一家公司看 β 变化
建模的最后一步,是做一次"留一法"灵敏度检验:依次删掉一家公司,看剩下三家的回归系数会不会塌掉。这不是"统计意义上的显著性检验"那种要求严格的步骤,但对四家公司的样本来说已经足够。
结果:
- 删掉江波龙:剩下三家的 ASP 因子 β 从 0.39-0.42 区间收敛到 0.41-0.43。ASP 的主导地位不变。
- 删掉兆易创新:剩下的销量因子 β 从 0.44 上升到 0.47。说明兆易的"销量贡献"对全行业的销量因子贡献占比较大。
- 删掉普冉:结构因子 β 从 0.30 下降到 0.26。说明普冉的"利基市场结构升级"贡献了一半的结构因子方差。
- 删掉朗科:所有 β 几乎不动。说明朗科的扭亏 0.95 亿对四家公司整体的"回归画像"几乎没有影响。
这是一个非常宝贵的信号:当我们想用这四家公司去构造"行业一般规律"时,应该剔除朗科、用剩下三家的回归结果做"行业基准"。如果硬塞朗科进去,模型的噪声会变大,参数解释力反而变差。
这是国赛建模里非常常用的一招:先用全样本做模型,再用"留一法"识别谁是 outlier,决定要不要做分层建模。结论是:存储芯片四家中报建模,应该至少拆成"涨价龙头"(江波龙+兆易)、"市占率扩张"(普冉)、"扭亏复活"(朗科)三层,每层用不同的因子集建模。
六、给参赛选手的建模步骤清单
把上面分析流程梳理成可复用步骤,方便以后遇到类似的"行业涨幅差异巨大"题时直接套用:
| 步骤 | 关键动作 | 工具 / 公式 |
|---|---|---|
| 1 | 把所有公司的"绝对增量"加到表格里,做"增量结构图" | 增量 ÷ 全行业增量 |
| 2 | 把"同比涨幅"做 ln(1+x) 变换,避免极端值支配回归 | y = ln(1 + 同比涨幅) |
| 3 | 列出 5-7 个可能的驱动因子(量/价/结构/毛利/基数/杠杆),做 z-score | x_i = (x − μ) / σ |
| 4 | 跑 OLS 多元回归,看每个因子的 β 和显著性 | statsmodels OLS |
| 5 | 做"留一法"灵敏度检验,识别 outlier 公司 | 删一家、记录 β 变化 |
| 6 | 对 outlier 做分层建模或单独 case study,不要硬塞回全样本 | 分行业 / 分公司档 |
| 7 | 把 R²、β、留一法结果拼成一张"驱动因子诊断表" | 表格 + 文字解读 |
走到第七步的时候,选手手里的就是一份"诊断表 + 归因图 + 灵敏度报告"三件套,足以应付绝大多数"行业涨幅归因"类题。
七、最后的提醒:同比涨幅不是答案,是问题
回到标题——"一边涨 71528%,一边涨 1091%,摆到一起不显得假"。摆在一起"假"的根源,是同比涨幅作为一个比值变量,天然地把"小公司"和"大公司"放在了不对等的秤上。
建模要做的事,是把这架秤换掉:换成"绝对增量贡献"秤、"驱动因子回归"秤、"分层建模"秤。换完之后你会发现,四家公司并不在同一个故事里——江波龙是涨价幸存者、兆易是价量齐升、普冉是利基市场扩张、朗科是扭亏复活。把四个故事分开讲,每一份都不"假";硬讲成一个"行业故事",才会显得"假"。
下次看到"涨 X% 碾压同行"的标题,先别急着记笔记。回到模型上问三个问题:基数是多少?绝对增量是多少?驱动因子是哪几个?这三个问题答完了,你就不会再说这份中报"假"了。