把 4,293 家公司的垫钱时长拆成存货、应收、应付三段——看钱锁在哪一环,以及这一环是不是自己能解开的。
有一类成本,不进利润表,也不进任何一张成本核算表。
它出现在资产负债表的两头:存货、应收账款、应付账款。它不减少当年的利润,却实实在在占掉当年就要付出去的钱——仓库里的货压着资金,客户欠的货款压着资金,而欠供应商的那一部分,是别人替自己垫的。
要量它,得把三段时间摆到一起:货在仓库里待多少天,货款从开出去到收回来多少天,欠供应商的货款多少天。前两段相加、再减去第三段,剩下的天数就是企业替整条链条垫钱的时长。财务上叫现金周期,本章下面就叫它垫钱天数。
先看这个数字给人的第一印象:它几乎没动。
同一时期,组成它的三段各自的动作都不小,而且方向相反——两股力量几乎完全抵消,才留下了这个几乎不动的结果。第 3 章处理的是"利润表上哪一段在动",这一章处理的是"资产负债表上哪些钱被占住了、谁能把它松开"。
这件事还有一个特点:它的账很难落到某一个部门头上。存货天数归生产与供应链,应收天数归销售,应付天数归采购与财务——而"垫钱天数"是这三个数的合成,跨越了三条汇报线。管理报表上通常会分别给出三个周转率,却很少把三者合成一个指标摆到决策桌上。这是它容易被漏掉的原因:不是没人看见,是没有人负责看这个合成结果。
需要先钉住一件事:垫钱不等于亏损,也不等于缺钱。一家公司可以常年垫着几个月的货款而利润很好,也可以在垫钱很少的情况下持续亏损。所以本章不给"垫得多就是坏"的结论,只回答三个问题——钱锁在链条的哪一环、锁得住吗、谁有钥匙。
把 4,293 家公司的三段天数分别取中位数,五年排成一行,会看到这样一组数:
| 年份 | 存货 | 应收 | 应付 | 现金周期 |
|---|---|---|---|---|
| 2021 | 110.0 | 94.0 | 115.5 | 93.5 |
| 2022 | 108.0 | 96.0 | 115.0 | 99.0 |
| 2023 | 105.0 | 100.0 | 122.0 | 96.0 |
| 2024 | 105.0 | 105.0 | 129.0 | 97.0 |
| 2025 | 108.0 | 104.0 | 129.0 | 96.0 |
| 五年变化 | −2.0 | +10.0 | +13.5 | +2.5 |
表内四列各自独立取中位数——每列的中位公司并不是同一家。因此存货、应收、应付三列的数值,以及三列的五年变化,都不能直接相减或相加得到现金周期一列;原因见 4.2 节。
读最后一行。现金周期五年涨了 2.5 天,从 93.5 天走到 96.0 天——五年,两个半月里的两天半。单看这一行,结论会是"账期结构很稳"。
但同一行里,应收多了 10 天,应付多了 13.5 天,存货少了 2 天。三段里有两段各走了十几天,合计却只挪了 2.5 天。
这两段的新增,方向恰好相反。应收多 10 天,意味着客户平均多占用公司 10 天的钱,公司要多垫;应付多 13.5 天,意味着公司平均多占用供应商 13.5 天的钱,公司在少垫。一多一少,量级相当——都在十天出头,方向正好相反。两股力量互相抵消,最后留给现金周期的只是一个很小的净变化。
到这里还只看了中位数。中位数只描述"最中间那一家公司",它不告诉你中间以外发生了什么。把每一家公司自己的变化算出来再看分布:
| 项 | 数值 | 含义 |
|---|---|---|
| p10 | −105 | 十分之一的公司缩短了 105 天以上 |
| p25 | −43 | 四分之一的公司缩短 43 天以上 |
| p50 | +1 | 中位公司的变化几乎为零 |
| p75 | +51 | 四分之一的公司拉长 51 天以上 |
| p90 | +129 | 十分之一的公司拉长 129 天以上 |
| 变化幅度中位(绝对值) | 48 | 典型公司五年动了几十天 |
这张表把"稳"这个字拆开了。中位公司的变化是 +1 天,但典型公司的变化是 48 天——一家里程碑式的不动,是靠一大批往左走的公司、被另一大批往右走的公司顶上来的。
两段为什么同时延长?有一个解释听上去很顺:收入增速慢下来时,分子(存货、应收账款、应付账款)的下降会滞后——货已经备了、账已经记了、付款条件已经谈好了——分母变慢,三个比率自然一起上升。
这个解释被数据否掉了。公司层面,"收入增速"与"现金周期变化"的秩相关是 −0.0487,"收入增速"与"应付天数变化"的秩相关是 −0.0694,两个都接近零。收入涨得快还是慢,解释不了账期变长还是变短。
更站得住的解释在商业信用本身。当买方市场转向,买方会同时做两件事:向自己的客户放宽账期,好把订单留住;向自己的供应商索要更长账期,好把现金留住。这两个动作是同一套谈判姿态的两面,由同一个市场位置决定,所以会一起发生——不是"被两头挤",而是在两头同时伸手。数据与这个解释一致:15 个行业、1,744 家公司,都落在"两头都延长"这一格。
离散程度也在扩。两年之间,现金周期的四分位间距从 149 天扩到 161 天,p5 到 p95 的全距从 462 天扩到 526 天。也就是说:整体水平不动,个体之间的距离在拉开。
离散扩大这件事值得多看一眼。中位数几乎不动、而离散明显扩大,只有一种成因:分布的两端在往相反方向走。如果所有公司的账期都在按相近的幅度变长,中位数会同步上移,而间距保持稳定;现在的情况是中间那一段原地不动,两边各走各的。
这层分化在行业之间也能看到:19 个行业里五年上升 10 个、下降 9 个,几乎对半。做建材的恶化 38.5 天,做整车的改善 22 天,而两家面对的是同一个需求周期。所以"制造业账期"这个说法,在五年之后比五年前更没有意义——越往后,它越不像一个整体。
五年里应收延长 10 天、应付延长 13.5 天,合计被存货缩短 2 天部分抵消,留下 2.5 天。公司层面,拉长与缩短各占约一半,典型公司五年动了 48 天。
失效条件:若某一年应收与应付同向变动(同时延长或同时缩短),两股力量便不再互相抵消,现金周期会在该年出现明显位移,本章"对冲"的表述在该年不再适用。本章样本区间内没有出现过这种年份——五年的年度位移都不足 6 天,最大的一次是 2021→2022 的 +5.5 天,当年应收延长 2 天、应付缩短 0.5 天,两段方向仍然相反。
下一步要把那 2.5 天和 48 天拆到三段上。这里有一个技术前提必须先讲清楚,否则下面所有分解都会错。
现金周期在三段之间有一个恒等关系:现金周期 = 存货天数 + 应收天数 − 应付天数。这个关系对每一家公司、每一年都成立。本章样本里 21,448 个公司年度观测格,全部满足,最大偏离 1 天——那 1 天来自各分量的小数取整。
恒等式成立,不代表可以直接把三个中位数拿来相减。中位数不是线性运算。
2021 年,现金周期的中位数是 93.5 天;但把存货、应收、应付三者的中位数按公式算一遍,得到 88.5 天。2025 年的差距更大:现金周期中位 96.0 天,三段中位数合成只有 83.0 天,差了 13 天。原因不复杂——取中位数的那家公司,在三段上通常不是同一家。中位数最小的存货公司在 A 家,应收最短的在 B 家,把它们拼在一起,拼出来的是一家不存在的公司。
那换成均值能不能拆?均值可加,但前提是没有极端值。这里恰好有。样本公司五年现金周期变化的范围是 −110,603 天到 +25,132,227 天——后者相当于 6.8 万年。这类数字来自应收账款或存货科目的极小基数(金额接近零时,天数会被放大到失真)。只要有几十家这样的公司,均值就会被彻底带偏:
| 口径 | Δ存货 | Δ应收 | Δ应付(减项) | 合计 | 实际 Δ现金周期 |
|---|---|---|---|---|---|
| 原始均值(4,276 家) | −497.42 | +22.95 | −7,333.87 | +6,859.40 | +6,859.41 |
| 截尾后均值(4,190 家) | +2.38 | +20.57 | +16.10 | +6.85 | +6.85 |
第一行是"照实算"的结果:应付那一格是 −7,333.87 天。它没有意义,因为整个制造业的应付天数不可能五年缩短七千多天。这一格之所以出现,是因为少数公司的营业成本基数极小——天数的分母接近零时,倍数会被放大到失真;而现金周期那一格的 +6,859.41 天,同样是这样被撑起来的。极端值把均值整个摧毁了。
正确做法是:按结果变量(现金周期的变化)做 1%–99% 截尾,然后在这个同一批公司里做分解。截尾去掉的是 86 家变化最极端的公司,保留 4,190 家;截尾范围是 −383 天到 +529 天。这时恒等式精确成立:
换成占比看得更清楚:三段各自的拉动加总起来是 39.05 天(应收 20.57 + 应付 16.10 + 存货 2.38),其中应收占 52.68%,应付占 41.23%,存货只占 6.09%;两端相抵之后,净变化才是前面的 6.85 天。也就是说,这五年垫钱变多,一半是客户欠得更久,四成是自己也欠得更久——两端同时松动;仓储环节几乎没参与。
截尾的代价也要说明。去掉的那 86 家,恰好是账期变化最剧烈的一批——它们往往同时是经营发生重大变化的公司(重组、业务转向,或者分母基数极小导致天数失真)。把这一批排除,换来的是分解结果的稳定;代价是它们的极端经历不进入本章的分解结论。
本章的处理是:分解用截尾样本,分布与分位数用全样本。表 4-2 的分位数、4.1 节里离散度的变化,都是 4,276 家全样本算出来的;表 4-3 的第二行、4.8 节的两组分解,是截尾样本算出来的。两处口径在表下分别标注,不互相引用。
整体是两端松动、存货不动。但整体是 4,293 家公司的合成,合成会盖掉行业之间的差别。把 19 个行业按 2025 年的现金周期从短到长排开:
| 行业 | 存货 | 应收 | 应付 | 现金周期 | 五年变化 |
|---|---|---|---|---|---|
| 钢铁 | 48.0 | 16.0 | 103.0 | −23.0 | −29.0 |
| 石油石化 | 36.0 | 29.5 | 73.0 | 3.0 | −11.0 |
| 美容与个护 | 82.0 | 47.0 | 96.0 | 44.0 | −22.0 |
| 食品饮料 | 85.0 | 19.0 | 70.0 | 49.0 | −4.0 |
| 轻工制造 | 85.0 | 64.0 | 100.0 | 51.0 | −11.0 |
| 汽车 | 89.0 | 105.0 | 145.0 | 52.5 | −22.0 |
| 家用电器 | 77.0 | 80.5 | 104.0 | 58.5 | −10.5 |
| 建筑材料 | 68.0 | 109.0 | 121.0 | 65.0 | +38.5 |
| 基础化工 | 72.0 | 76.0 | 88.0 | 70.0 | +9.0 |
| 电力与新能源装备 | 100.0 | 135.0 | 167.0 | 84.5 | −8.5 |
| 有色金属 | 100.0 | 56.0 | 68.0 | 88.0 | +8.0 |
| 环保 | 54.0 | 217.0 | 223.0 | 96.0 | +63.0 |
| 电子与半导体 | 102.0 | 104.0 | 123.0 | 98.0 | +7.5 |
| 纺织服饰 | 157.0 | 46.0 | 84.0 | 109.0 | −11.0 |
| 通信设备 | 105.0 | 138.0 | 149.0 | 110.0 | +19.0 |
| 医药 | 155.0 | 83.0 | 109.0 | 120.0 | +1.5 |
| 计算机 | 117.0 | 161.0 | 157.5 | 123.5 | +2.5 |
| 机械设备 | 171.0 | 145.0 | 171.0 | 164.0 | +8.0 |
| 国防军工 | 235.5 | 304.5 | 270.0 | 285.0 | +39.0 |
表内四列各自独立取中位数,三列不能直接相减得到现金周期一列(原因见 4.2 节)。五年变化列同样是两年中位数相减。
首尾之间差 308 天:钢铁 −23 天,国防军工 285 天。钢铁的现金周期是负数——它占用上游的钱(应付 103 天)远超自己被占用的钱(存货 48 天、应收 16 天),等于常年用别人的资金做自己的周转。国防军工则相反,存货要放 235.5 天、货款要 304.5 天才收回,两头加起来是钢铁的近十倍。
这 19 种形态没有排成一条线,而是各有各的锁法:
五年变化上,19 个行业里 10 个上升、9 个下降。升幅最大的是环保(+63 天)、国防军工(+39 天)、建筑材料(+38.5 天);降幅最大的是钢铁(−29 天)、美容与个护(−22 天)、汽车(−22 天)。
四个行业值得单独读一遍,因为它们各自代表一种锁法:
钢铁,从 6.0 天走到 −23.0 天。它的秘密全在应付:103 天。同期存货 48 天、应收只有 16 天——16 天是 19 个行业里最短的。等于说,钢铁从客户那里收钱很快(贸易环节历来如此),同时把上游(矿山、焦化、物流)的钱欠着,一进一出,自己在整条链条上不但不垫钱,还净占用着资金。要注意它的收入五年下降了 29.4%——一个收缩中的行业,反而把垫钱天数压到了全行业最低。
建筑材料,从 26.5 天走到 65.0 天。五年恶化 38.5 天,而这三段里只有应收在动:72.5 天涨到 109 天,多了 36.5 天。存货(67→68 天)和应付(111.5→121 天)几乎没动。同期收入下降 26.1%。需求萎缩的时候,客户拖欠的时间会先变长——这条规律在这个行业上最干净。
环保,从 33.0 天走到 96.0 天,五年 +63.0 天,是 19 个行业里恶化最严重的。它的应收是 217 天、应付 223 天,两端都要七个多月。应收从 157 天涨到 217 天,单这一项就涨了 60 天。环保的客户结构里,地方政府与平台公司占了大头,回款节奏由这个结构决定,不由供应商的催收力度决定。
国防军工,285.0 天。存货要放 235.5 天,货款要 304.5 天才收回,研发费用率 7.94%。这三个数字放在一起,就是"技术迭代"这件事在资产负债表上的样子:产品要做验证、要等验收、要按节点结算,而每一轮迭代都得先把料备上。4.9 节会把这层关系做完整。
这里要停一下,因为一张按行业排的表很容易被读成"行业决定论"。事实是:同一档位内部的差异,比档位之间的差异大得多。4.7 节会专门算这件事。
先把已经清楚的读完:6 个行业的现金周期超过 100 天,1 个行业为负;19 个行业之间的差距是 308 天——而单个公司之间的差距,比这更大。
这 19 种形态里还藏着一条对做预算有用的关系:账期往哪个方向走,与收入往哪个方向走没有关系。
把四种组合挑出来看:收入增长最快的有色金属(五年 +73.5%)账期延长了 8 天;收入下降 29.4% 的钢铁,账期缩短了 29 天;收入增长 60.7% 的汽车,账期缩短 22 天;收入只增长 1.1% 的环保,账期延长了 63 天。四种组合全都出现了。
所以"明年生意好起来,账期自然就松了"这个假设靠不住。账期由客户结构和采购关系决定,不随景气度自动改善——有时甚至相反:需求收紧的时候,客户会先把账期往后压(建筑材料就是这一种)。账期要变,得有具体的人去改具体的条款。
常听到的一个说法是:处在链条中段的企业会被两头挤压——下游拖欠它的货款,它却拖不动自己的上游。这个说法不成立。
检验方式很直接:把 19 个行业的应收变化和应付变化两两配对,看它们往哪个方向走。
| 组合 | 行业数 | 行业 |
|---|---|---|
| 应收延长 + 应付延长 | 15 | 钢铁、食品饮料、轻工制造、汽车、家用电器、建筑材料、基础化工、有色金属、环保、电子与半导体、通信设备、医药、计算机、机械设备、国防军工 |
| 应收延长 + 应付缩短 | 2 | 电力与新能源装备、纺织服饰 |
| 应收缩短 + 应付延长 | 2 | 石油石化、美容与个护 |
| 应收缩短 + 应付缩短 | 0 | — |
如果"中段被两头挤"成立,应该看到大量"应收延长+应付缩短"的组合——下游拖我、我拖不动上游。实际只有 2 个行业是这种形态:电力与新能源装备、纺织服饰。这两家是真正被夹住的:回款变慢了 5 天和 3 天,账期却没有往上游挪动一点(应付分别 −1 天、−4 天)。
占绝大多数的是另一种形态:15 个行业两头都在延长。下游欠得更久了,但自己也在把账期往上游挪——两头一起松,压力在链条上被往后传递,而不是在某一环被吸收掉。家用电器是典型:应收多了 5 天,应付多了 12.5 天,等于把下游多占的 5 天,加上自己多占的 7.5 天,一起推给了供应商。
把这个检验再做一遍到公司层面,结论更硬:
| — | 应付延长 | 应付缩短 |
|---|---|---|
| 应收延长 | 1,744(40.8%) | 935(21.9%) |
| 应收缩短 | 733(17.1%) | 864(20.2%) |
最大的那一格是"两头都延长",1,744 家,占 40.8%。被两头夹住的那一格(应收延长、应收缩短)935 家,占 21.9%。一头松一头紧不是主流形态,两头一起紧才是。
换个口径看同一件事。用营业收入加权之后,五年的变化是:应收 +4.50 天,应付 +4.37 天。两个数字几乎相等——应收账款多要了 4.5 天,应付账款就多欠了 4.4 天,一进一出几乎完全对冲。这解释了为什么加权口径的现金周期是全样本里最稳定的那一栏(4.5 节会给出具体数字)。
这两个数字相等这件事本身,还藏着一个判断。如果制造业整体是在"把压力往上游转移",那么应付账期的延长应该明显大于应收账期的延长——多欠上游的时间,本该多于被下游占用的时间。实际两者几乎一样(4.50 对 4.37)。
意味着:整个制造业并没有从链条之外净拿到时间。它只是把两端同步拉长了。多欠供应商的 4.4 天,全都用来补下游多占的 4.5 天,没有剩下任何余量。所以"把压力推给别人"这句话,在制造业这个层面上不成立——转嫁发生在制造业内部的行业之间,而在这个圈子之外,时间没有被净挪出来。真正被挪到的那一端,要看更上游的资源端和更下游的终端消费。
这一点对判断很重要:一段账期的延长,本身不说明任何一方赢了。要看两端是不是同时延长。同时延长,说明这条链条在和链外的人争时间,而它还没争到。
19 个行业里 15 个"应收与应付同时延长",两者变动幅度接近(加权口径 +4.50 天对 +4.37 天),公司层面 40.8% 落在这个组合。真正被两头夹住的只有 2 个行业(电力与新能源装备、纺织服饰)。
失效条件:本条只说明账期的变动方向与幅度在两端的对应关系,不说明因果关系,也不说明这套转嫁在经济上是否可持续。若哪一年出现"应收与应付同时缩短"成为主流的年份,则本条关于"压力被转发"的表述不成立——本章样本区间内,该组合的公司占比为 20.2%,行业数 0。
天数不痛,钱痛。账期多一天,占用的是真实的现金。
换算前要先定口径,因为这里最容易出假数字。天数按营业收入的加权平均计算(金额越大的公司权重越高),并剔除现金周期绝对值超过 1,095 天(三年)的 41 家公司——这些公司的账期天数已超出正常经营范围,留在里面会把加权平均值带偏。剩下的 4,235 家公司,2025 年营业收入合计 413,432.8 亿元。
一天账期对应的资金规模是:营业收入 ÷ 365 = 1,132.7 亿元。这是全制造业每天在账期上沉淀的资金量。
| 段 | 2021(天) | 2025(天) | 五年变化 | 折合金额 |
|---|---|---|---|---|
| 存货 | 81.56 | 81.17 | −0.39 | ≈ −442 亿 |
| 应收 | 55.47 | 59.97 | +4.50 | ≈ +5,097 亿 |
| 应付 | 112.60 | 116.97 | +4.37 | ≈ −4,950 亿 |
| 现金周期 | 24.53 | 24.27 | −0.25 | ≈ −285 亿 |
表里最后两列要一起读。应收那一行,五年多要了 4.5 天,等于多占用 5,097 亿元;应付那一行,五年多欠了 4.4 天,等于少占用 4,950 亿元。两端各自挪动约 5,000 亿元、方向相反,相抵之后净增 147 亿元;存货那一端再减 442 亿元,三项合计 −295 亿元,与现金周期一行的 −285 亿元相差 10 亿元——差额来自天数只保留两位小数后的取整。
所以从总额看,这五年的账期占用几乎没变——占用资金从 27,780 亿元降到 27,495 亿元,五年只减了 285 亿元,约为存量的 1%。但份额在两头各挪了 5,000 亿元。总量不动,结构翻了个身。
还有一个数字值得单独说:这 4,235 家公司里,中位数公司占用的资金是 3.56 亿元。一半的公司占用不足 3.56 亿元,另一半更多。
换个角度读"每天 1,133 亿元":如果整个制造业把垫钱天数整体缩短一天,等于一次性释放 1,133 亿元现金。这不是利润,而是可以立刻用于周转、还债或投资的现金——它不需要多卖一件产品,只需要把账期结构挪动一天。
这也解释了为什么这一章在财报上很难被看见。利润表里没有"垫钱多少天"这一行,成本核算表里也没有。它不进当期损益,只占住当期现金。一家公司连续五年把垫钱天数从 120 天压到 80 天,在利润表上可能是空白,在资产负债表上却释放了相当于 40 天营业收入规模的资金。
这里出现了本章第二组"两把尺子":2025 年,加权口径的现金周期是 24.3 天,中位数口径是 96.0 天,差近四倍。同一批公司、同一个指标,两种算法给出差四倍的结果。原因只有一个——规模越大的公司,账期越短。营收占比高的公司(多为大型企业)账期短、周转快,把加权的平均值拉到了 24.3 天;而中位数描述的是"那家典型公司",账期是 96.0 天。
这一点对使用本章数字有直接影响:说"制造业账期占用是多少"时,必须先说清是"整个行业加起来"还是"一家典型公司"。前者是 24.3 天,后者是 96.0 天,两者都对,都不可互换。第 3 章出现过同一现象(费用率合计的加总口径 +0.24 对中位数口径 +1.29),本章再次出现,且分歧更大。
换到你自己公司,怎么算这一步
用你最近一年(或最近十二个月)的数字:
① 先算三段天数。存货天数 = 平均存货 ÷ 营业成本 × 365;应收天数 = 平均应收账款 ÷ 营业收入 × 365;应付天数 = 平均应付账款 ÷ 营业成本 × 365。
② 再算垫钱天数。存货天数 + 应收天数 − 应付天数。得数为正,说明你在往链条里垫钱;为负,说明你在用别人的资金周转(钢铁那种)。
③ 折成钱。垫钱天数 ÷ 365 × 营业收入。这个数就是你的钱被占住的规模。用它除以 365,再乘上你想省下来的任意天数,就是那个天数值多少钱。
④ 和行业比。表 4-4 里找到你所在的行业,比三段而不是比总数——三段里哪一段比行业中位数长,才是你可以动手的地方。
知道钱锁在哪一段还不够,还要知道哪一段锁得住、哪一段是自己的事。判断方法用两个离散度做比:行业之间的差距(19 个行业中位数的全距),对比行业内部公司之间的差距(各行业四分位间距的中位数)。
比值小,说明行业身份本身就决定了大半——你在这一行,账期大致就是这个水平;比值大,说明同一行业内部公司之间的差距同样大,那这一段的主动权更多在自己手里。
| 段 | 行业间极差 | 行业内四分位间距中位 | 行业内 ÷ 行业间 |
|---|---|---|---|
| 应收 | 288.5 | 76.0 | 0.263 |
| 现金周期 | 308.0 | 143.5 | 0.466 |
| 存货 | 199.5 | 99.0 | 0.496 |
| 应付 | 202.0 | 101.75 | 0.504 |
四个比值排成一条清晰的顺序。应收的比值最小,0.263:行业之间应收账期的差距是 288.5 天,而行业内部公司之间的差距只有 76 天——行业身份解释了大部分。这与业务常识一致:应收账期主要由客户结构决定,客户是央企、是地方政府、还是经销商,回款节奏是定好的,单个供应商很难改。
应付的比值最大,0.504:行业之间差距 202 天,行业内部差距却有 101.75 天——也就是说,同一行业里不同公司之间的应付账期差距,能达到行业之间差距的一半。应付账期是采购谈判的结果,采购量、供应链地位、付款条件、供应商集中度都能改变它。
这两个比值的读法可以直接记住:行业身份能解释掉多少差异,看比值。应收的 0.263,意味着行业内部的差距只有行业之间差距的四分之一——行业身份解释了大部分;应付的 0.504,意味着行业身份只解释得掉一半,剩下的一半要看公司自己怎么谈。
这组比值还有一个更实用的用途:判断一个目标是否现实。如果一家公司的应收天数是行业中位的两倍,那是明确的异常,有改善空间;如果它已经站在行业中位附近,还想再压 20 天,要动的不是自己的流程,而是整个行业的结构——成功率不在自己手里。应付这一段正好相反:即便已经在行业中位,把它再谈长 15 天,仍然是行业内部已经发生过的事(应付的行业内差距是 101.75 天)。
还有一层要讲清楚,否则这张表的用法会走偏:主动权的大小,不等于动作的代价大小。应付账期之所以是三者中自主空间最大的一段,恰恰因为它是单方面决定的——延长应付,不需要对方同意就能在执行上落地。而这正是它的代价所在:它消耗的是供应商关系,也推高了整条链条上更弱一方的融资成本。当链条上每一环都这么做的时候,多出来的时间不会消失,只会落到话语权最小的那一环。
相比之下,压缩存货天数(比值 0.496)虽然是内部管理动作、不需要谈判,却往往要动产品线宽度、备货策略和交付承诺;应收天数(比值 0.263)看上去是"该不该催"的问题,实际主要由客户结构决定,单个供应商很难改变。
把这句话落到动作上:三段里,应收的调整空间最小,应付的调整空间最大。这不是说催款没用——应收天数短的公司确实收得更快(表 4-4 中石油石化 29.5 天、钢铁 16.0 天)——而是说,在同一个行业里,"我把应收从 90 天压到 75 天"这类目标的可行性,低于"我把应付从 90 天谈到 105 天"。
以"行业内差距 ÷ 行业间差距"衡量,应收 0.263、现金周期 0.466、存货 0.496、应付 0.504。应收的主动权被客户结构约束得最紧,应付留下的自主动作空间最大。
失效条件:本条比较的是离散度,不是可控性。用离散度推断可控性,是基于"同一行业内公司之间差异大 ⇒ 该差异更可能来自公司自身选择"这一假设。若某行业存在系统性的客户集中度差异(如大客户占比从 20% 到 90% 不等),则行业内应收的差距同样可能来自客户结构,此时"应收由行业决定"的表述在该行业内不成立。
行业表读到这里,最自然的追问是:能不能把 19 个行业按产业链位置分成上游、中游、下游,用位置解释账期?
这个方法在设计阶段试过一次,结果不能采用。把 19 个行业按上游(石油石化、有色金属、基础化工、钢铁、建筑材料,754 家)、中游(机械设备、电子与半导体、电力与新能源装备、轻工制造、纺织服饰、环保,1,872 家)、下游(汽车、家用电器、食品饮料、医药、美容与个护、计算机、通信设备、国防军工,1,667 家)分档之后:
| 档位 | 公司数 | 2021 | 2025 | 五年变化 | 档内四分位间距 |
|---|---|---|---|---|---|
| 上游 | 754 | 54.0 | 63.0 | +9.0 | 127.0 |
| 中游 | 1,872 | 107.0 | 107.0 | 0.0 | 171.25 |
| 下游 | 1,667 | 101.0 | 99.0 | −2.0 | 179.5 |
三档之间的差距是 44 天(63.0 到 107.0)。而 19 个行业之间的差距是 308 天。也就是说,这个分档把行业之间的真实差距压缩掉了 85.7%——它把差距最大的行业和最小的行业放进了同一档:石油石化 3.0 天和建筑材料 65.0 天同属"上游";美容与个护 44.0 天和国防军工 285.0 天同属"下游"。
更关键的是档内离散:中游档内四分位间距 171.25 天,是档间差距(44 天)的 3.9 倍。把两个相差 44 天的组放在一起,组内成员之间却相差 171 天——这个分法没有把公司分开。
所以本章关于位置的结论只能到这个程度:产业链位置不是账期的解释变量。真正在起作用的是更具体的东西——客户是谁、采购量有多大、在链条上是不是不可替代。4.9 节会给出一个能越线的替代变量。
三档中位数之间的差距只有 44 天,而 19 个行业之间的差距是 308 天;档内四分位间距中位 171.25 天,是档间差距的 3.9 倍。"链条位置"把真实差距压缩了 85.7%,不能作为分类依据。
失效条件:本条否定的是本章使用的这一套分档方案(按行业归入上中下游三档),不是否定"产业链位置与账期有关系"。若改用更细的位置划分(例如按议价能力强弱而非按加工顺序分档),结论可能不同——这一点还没有验证。
四条读到这儿,已经能画出一条线:垫钱总额五年几乎没变(净减 285 亿元),但两端各挪了 5,000 亿元;压力在链条上被往后传;锁得最紧的位置不是"哪一段"而是"哪一家公司";而位置、行业名称都不是好用的尺子。剩下最后一个问题——有没有公司真的把结解开了,用的是什么办法。
4,276 家两年可比的公司里,2,099 家五年里缩短了垫钱天数,2,145 家拉长了,剩下 32 家原地不动。同一片市场、同一个五年,方向完全相反——所以问题不是"能不能解开",而是"解开的人靠什么解开的"。
用 4.2 节的同一套方法(按变化的 1%–99% 截尾,在留下的同一批公司里做均值分解),两组的答案完全不同:
| 组 | 公司数 | Δ存货 | Δ应收 | Δ应付(减项) | 合计 |
|---|---|---|---|---|---|
| 缩短组 | 2,078 | −29.6 | −2.42 | +37.37 | −69.39 |
| 拉长组 | 2,124 | +33.82 | +45.57 | −3.83 | +83.23 |
两组各自按本组现金周期变化的 1%–99% 截尾,所以这里的样本数与 4.2 节的全样本截尾(4,190 家)不同:缩短组 2,099 家截尾后留 2,078 家,拉长组 2,145 家截尾后留 2,124 家。两组分别截尾,是为了让每一组自己的极端经历不把本组均值带偏。
缩短组那 69.4 天是这样来的:应付延长贡献 53.85%(37.37 天),存货压缩贡献 42.66%(29.6 天),而应收账款只贡献了 3.48%(2.42 天)。
换句话说:把垫钱天数压下来的公司,动作都发生在"欠供应商的钱多久还"和"仓库里的货压多久"上,而不是"客户欠我的钱多久收"。催款这件事在统计上几乎看不到——缩短组里,应收账款五年只减少了 2.42 天。
汽车行业是把这套动作做得最完整的一个样本。五年里它的现金周期从 74.5 天压到 52.5 天,缩短 22.0 天,而同期营业收入增长了 60.7%(19 个行业里增幅第二)。三段的变化是:存货 102 天压到 89 天(−13 天)、应收 100 天涨到 105 天(+5 天)、应付 129.5 天延长到 145 天(+15.5 天)。三项相抵,−13 + 5 − 15.5 = −23.5 天,与实际变化 −22.0 天相差 1.5 天——差在把三段各自的中位数加起来,不等于合计的中位数(4.2 节说明过这件事)。
也就是说:收入涨了六成、客户账期还放宽了 5 天,最后的垫钱天数反而少了 22 天。靠的是把库存周转压掉 13 天、再把上游账期延长 15.5 天。这是"边扩张边压库存"的形态——增长没有以垫钱为代价。而在这个过程里,应收那一栏是往反方向走的。
再从"有多少公司做了这个动作"看一遍。缩短组的 2,099 家里:
| 动作 | 缩短组 | 拉长组 |
|---|---|---|
| 应付账期延长 | 71.7% | 44.6% |
| 存货天数下降 | 70.1% | 32.6% |
| 收入规模增长 | 69.7% | 59.4% |
| 应收账期未放宽 | 51.1% | 23.7% |
七成以上的缩短组公司做了前两件事——延长应付、压缩存货;而"应收账期没有继续放宽"只有 51.1%,意思是接近一半的缩短组公司,在应收变长的情况下依然把总天数压下来了。这进一步说明:这一段的成绩不是从客户端拿到的。
那是不是"收入增长"带来的?收入涨了,同样的账期天数对应的都是更大的生意,规模效应可能让周转加快。检验一下:缩短组的收入增速中位是 4.70%,拉长组是 4.25%,两组只差 0.45 个百分点。而在公司层面,"收入增速"与"现金周期变化"的秩相关是 −0.0487——接近零,等于没有关系。收入涨得快慢,解释不了谁把天数压下来了。
第三个假设是"改产品结构、提高附加值"。数据不支持。把两组的画像并排放:
| 指标 | 缩短组 | 拉长组 |
|---|---|---|
| 现金周期五年变化(天) | −69.4 | +83.2 |
| 收入增速(2025) | 4.70% | 4.25% |
| 毛利率(2025) | 24.6% | 25.0% |
| 毛利率五年变化(个百分点) | −2.5 | −2.8 |
| 研发费用率(2025) | 4.55% | 4.81% |
| 营业成本率(2025) | 75.4% | 75.0% |
| 净利率(2025) | 4.5% | 4.4% |
| 经营现金流 ÷ 净利润 | 1.18 | 0.98 |
八行里六行几乎一样——收入增速、毛利率、毛利率变化、研发费用率、营业成本率、净利率;现金周期那一行是本节要解释的对象。真正明显分开的只有最后一行:缩短组的经营现金流是净利润的 1.18 倍,拉长组只有 0.98 倍。账期压下来的公司,赚到的利润更多地变成了到手的现金。
而"改产品结构"的标志性指标——研发费用率和毛利率——缩短组反而略低:研发率 4.55% 对 4.81%,毛利率 24.6% 对 25.0%。如果缩短账期真的是产品结构升级的结果,这两项应该反过来。它们没有反过来。
2,099 家缩短组的降幅里,应付延长贡献 53.85%、存货压缩贡献 42.66%、应收压缩只贡献 3.48%;动作覆盖面同样是"延长应付 71.7%、压缩存货 70.1%"。收入增速、毛利率、研发率、成本率、净利率五项与拉长组几乎无差别,唯一显著分开的是经营现金流对净利润的倍数(1.18 对 0.98)。
失效条件:本条只说明"缩短组与拉长组在这几项指标上无差异",不能推出"改产品结构对账期无效"。产品结构可能通过更长的链条影响账期(例如转为服务型业务、转为预收款模式),而本章的研发费用率与毛利率捕捉不到这类变化。此外,应付账期延长是单方面动作,其可持续性还没有验证——持续延长应付会传导为供应商侧的压力,当链条上所有环节同时这么做时,该动作的净效果会被抵消。
4.7 节否定了"产业链位置",那什么能解释账期长短?在 19 个行业这一层,把现金周期与几项变量两两做秩相关,有三项关系越过了检验线(19 个样本、双尾 5% 对应的临界值是 0.456;另有一项属准恒等式,仅列出、不作证据):
| 变量对 | 秩相关 | 是否越过临界 |
|---|---|---|
| 现金周期 × 研发费用率 | +0.7421 | 越线 |
| 现金周期 × 经营现金流 ÷ 净利润 | −0.6787 | 越线 |
| 现金周期 × 毛利率 | +0.5246 | 越线 |
| 现金周期 × 资产周转率 | −0.8025 | 越线(准恒等式,不作证据) |
| 现金周期 × ROIC | −0.2950 | 未越线 |
| 现金周期 × 收入五年增长 | +0.1140 | 未越线 |
| 现金周期 × 净利率 | +0.0614 | 未越线 |
最强的那一条是研发费用率:+0.7421。这个数字的意思是——在 19 个行业里,研发投入占比越高的行业,垫钱天数越长,而且这个排序的一致性很高。
与它同向的还有毛利率(+0.5246):赚钱空间大的行业,垫钱也更多——技术投入与品牌溢价都要靠更长的准备周期换来。营业成本率与毛利率恒相加为 100%,方向必然相反,是同一个关系的另一面,表中不再单列。
拿出具体行业对照,关系立刻具体起来:
另一端:
研发密集的行业,产品要迭代,就得提前备料、备产、备验证周期;客户验收慢、回款节点靠后;同时为了保住供应稳定,对上游的账期往往也不好太紧。这几件事叠在一起,就是垫钱。上市公司层面,公司之间的同向关系弱得多(研发率与现金周期的秩相关只有 +0.3213),说明这个规律主要在行业这一层显现,不是每家公司的铁律。
这层关系为什么成立,可以从三个地方找到原因。一是备料提前期:研发驱动的产品通常有专用件、验证批、试产批,物料要在正式量产前很久就备下,存货天数先涨。二是结算节点:这类产品的客户多为大型企业或机构,验收、审计、结算的流程长,回款节点天然靠后,应收天数跟着涨。三是供应商结构:专用材料与关键器件的替代性低,采购方在账期上的谈判余地小,应付这一端也很难拉长。
三个原因指向同一件事:研发投入高,意味着企业在上游要提前付出、在下游要延后收回,中间这段缺口只能自己垫。"技术含量高"与"账期紧张"在这个意义上是同一枚硬币的两面——它不说明这门生意不好,只说明它天然占用更多现金。反过来说,也不能因为账期长就断定经营出了问题:国防军工的现金周期是 285 天、钢铁是 −23 天,相差 308 天,而两者的净利率却在一个数量级里(3.2% 对 1.3%)。
但表里的第二行和最后一行一起给出了一个否定:
19 个行业里,现金周期与研发费用率的秩相关为 +0.7421(越过临界值 0.456),与经营现金流对净利润的倍数为 −0.6787;而与净利率的关系只有 +0.0614,未越过临界值。垫钱是技术密集行业的经营方式,不是经营结果。
失效条件:本节全部为行业层(19 个样本)结论,样本量小,秩相关只能说明排序一致,不构成因果,也不构成可预测的线性关系。表中"现金周期 × 资产周转率"一项为 −0.8025,但资产周转率的分母(总资产)本身就包含应收账款与存货,两者存在会计上的同义关系,属准恒等式,本章仅列出并标注,不作为证据使用。公司层面同一对关系的强度只有 +0.3213,若用于判断某一家公司,不成立。
把全章的判断收在下面一张表里。每一条都可以用公开财报复算;每一条也都写明了它在什么情况下不适用。
| # | 判断 | 关键数字 | 失效条件 |
|---|---|---|---|
| 1 | 现金周期的"稳"是两股相反力量凑出来的,不是结构稳定 | 应收 +10.0 天、应付 +13.5 天、合计 +2.5 天;典型公司动了 48 天 | 三段变动方向趋同的年份不适用 |
| 2 | 垫钱压力不是被中段吸收,是被中段转发的 | 15 个行业两头都延长;加权 +4.50 天对 +4.37 天 | 仅说明方向与幅度,不含因果与可持续性 |
| 3 | 应收最像客户结构的影子,应付最像自己能谈的部分 | 行业内 ÷ 行业间:应收 0.263、应付 0.504 | 离散度不等于可控性;客户集中度差异大的行业内不适用 |
| 4 | 上游、中游、下游这个切法解释不了账期 | 档间差距 44 天、行业间 308 天、档内 171.25 天 | 只否定本章的分档方案,不否定位置与账期有关 |
| 5 | 解开结的公司,解开的是"占用"不是"模式" | 降幅贡献:应付 53.85%、存货 42.66%、应收 3.48% | 不推出"改产品结构无效";未检验应付延长的可持续性 |
| 6 | 越靠技术迭代的行业,垫钱越重;与赚多少无关 | 与研发率 +0.7421、与净利率 +0.0614 | 行业层结论,19 样本,不得用于单家公司 |
| 7 | 同一指标两把尺子差近四倍:规模越大账期越短 | 加权 24.27 天 对 中位 96.0 天 | 两个口径不可互换,引用时必须标注 |
| 8 | 制造业整体没有从链条之外净拿到时间 | 应付延长 4.37 天 对 应收延长 4.50 天 | 仅指制造业整体;行业之间的转嫁仍在发生 |
八条里,一条是口径纪律(第七条),一条是形态判断(第三条),其余六条都是否定式的:否定了账期的"稳",否定了"中段被两头挤",否定了"产业链位置能解释账期",否定了"解开的公司靠产品升级",否定了"垫钱多就赚得少",也否定了"制造业整体把压力推出去了"。
否定式判断的价值不在结论本身,而在它删掉的那几条路:这四条路都不值得再投入分析预算。删完之后,这条链上真正能动的动作收敛成两个——把存货周转压下来,把应付账期谈上去。本章的数据只支持这两件。
口径说明:本章所有天数均为公司年度数据。存货天数 = 平均存货 ÷ 营业成本 × 365;应收天数 = 平均应收账款 ÷ 营业收入 × 365;应付天数 = 平均应付账款 ÷ 营业成本 × 365;现金周期 = 存货天数 + 应收天数 − 应付天数。行业值为该行业内公司的中位数。"加权口径"指以营业收入为权重的加权平均,并剔除现金周期绝对值超过 1,095 天的 41 家公司,保留 4,235 家;"中位数口径"指先算每家公司指标再取中位数,全样本 4,293 家,2021 年为 4,276 家。三段分解使用两年均有数据的公司,并按现金周期变化的 1%–99% 截尾后在同一批公司(4,190 家)内取均值。分位数与秩相关由全部样本直接计算,不涉及加权。行业页与白皮书使用半年度口径,两者不互相引用。行业名采用站内标准版。
如果你只在公司里做一件事,就做这个:把自己公司最近三年的"垫钱天数"算出来,拆成三段,和表 4-4 里你所在行业的三段比。不是比总数,是比三段。
有三件事值得先说清楚,免得走错方向。
第一,别看总数看分段。总数在行业里处于中游,可能掩盖了一段明显偏长。比如一家机械设备公司总天数 164 天不算异常,但如果它的存货是 220 天(行业 171 天)、应付 171 天(与行业持平)、应收压到了 115 天(行业 145 天),合计 164 天——那它的问题就全在仓库,而不在客户端。
第二,先动应付,再动存货,最后才谈催款。本章的数字摆在这儿:2,099 家把天数压下来的公司,53.85% 的成绩来自应付延长、42.66% 来自存货压缩、3.48% 来自应收。本章同时说明,应付是这三段中公司自主空间最大的一段(4.6 节),而应收最受客户结构约束。同一份力气,用在这三段的回报不一样。
第三,别把"垫得少"当成目标。垫钱多久与赚多少钱没有关系(4.9 节:与净利率的秩相关只有 +0.0614)。真正该盯的是最后那一行——经营现金流对净利润的倍数。缩短组是 1.18 倍,拉长组是 0.98 倍。垫钱压下来,赚到的利润才更容易变成到手的现金。这是这件事唯一确定的回报。
最后一句提醒:应付账期延长是拿供应商的钱垫自己的周转。这一章只能在数据里看到"七成以上的公司都在这么做",看不到这种做法还能走多远。链条上的每一环都在往后传的时候,这个动作不会消失,只会转移到最没有议价能力的那一环上。