库存周转率计算器
填本期营业成本(或营业收入)与期初、期末存货,算出存货(库存)周转次数与周转天数:压在货上的钱这一期转了几遍、一件货平均在仓里躺多少天。支持(期初+期末)÷2 与各期末余额平均两种平均存货口径,计算期天数 360 / 365 / 自定义自选。
切换口径只改这一栏该填什么、结果怎么读,不会自动换算你已填的数字——换口径后请回利润表重新取数。营业成本口径是投资者教育材料与教材的标准写法, 电商习惯用销售额(收入口径),两者算出的次数不能混着比。
取自利润表本期数的「营业成本」(旧称销售成本),不是营业收入、也不是采购额。填 0 也合法(本期一件没卖),此时周转天数无定义。手上是件数的话公式完全相同,把这一栏和下面的存货栏都填件数即可,只是日均额要自己读成「件」。
销售有明显季节性或波动大的(春节备货、双 11、开学季),请用各期末余额平均——只有年初年末两个数会失真,两个时点可能都恰好落在低位或都落在高位。 两种算法都出自同一份投资者教育材料,不是本站自创。
资产负债表「存货」科目的期初数(上期期末数)。新店首期填 0 合法。本栏必填,留空不会按 0 处理——只填期末就会拿到双倍周转率而毫不知情。
同一张资产负债表「存货」科目的期末数。清仓后为 0 也合法; 但期初与期末不能同时为 0——本期完全没有存货就没有周转率可言。
必须与上面填的营业成本 / 收入属于同一个期间:全年 360 或 365,季度 90,月度 30。填了全年成本却把天数写成 30,结果会小十几倍,而这个语义错误工具无从检测。 360 与 365 都是口径惯例,投资者教育材料用的是 360;输入框里的 360 只是表单占位示例,不是本站推荐值。
存货(库存)周转次数(次 / 期,不是百分比)
7.50 次 / 期
周转次数与周转天数互为倒数关系。两个数各自四舍五入到两位小数后,用「计算期天数 ÷ 周转次数」回算, 可能与页面显示的周转天数差最后一两位——这是两次独立舍入造成的,不是算错。 本页的两个数都直接从收口后的平均存货算出,各自只收口一次。
结果成立的前提:分子金额与计算期天数属于同一个期间。填全年成本就配 360 或 365 天,填季度成本就配 90 天,填月度成本就配 30 天; 这一条工具无从校验,填错只会安静地给出一个小十几倍或大十几倍的数。 周转天数是常数出货速度假设下的平均在库天数,不是某一件货的实际库龄。
本工具只做金额(元)口径的单期计算。它不做 SKU / 品类拆分、加权与呆滞识别 (品类差异大时请分品类各算一次再比,快消与耐用品的周转天数能差一个数量级)、不做多期趋势与环比同比、不拆原材料 / 在产品 / 产成品的分项周转率、不算营业周期与现金转换周期 CCC、不由目标周转天数反推该备多少货或能释放多少资金。存货周转率没有法定或国家标准的合格线,本工具不给「多少天算正常」的数字标准, 请只与自己的历史期、与同业同口径对比。
怎么用
- 先定分子口径:营业成本还是营业收入:存货周转率算错的头号原因就是分子取错。会计与财务分析的标准写法用营业成本(利润表里的「营业成本」,投资者教育材料里沿用的旧称是「销售成本」),电商与门店习惯用销售额(营业收入)。本工具把它做成一个开关,两种口径的公式完全相同,只改这一栏该填什么与结果怎么读。切换口径不会自动换算你已填的数字,换口径后请回利润表重新取数。
- 填本期分子金额,注意它不是采购额:从利润表的本期数里取「营业成本」(或按口径开关取「营业收入」),不要填采购额、不要填含税进货金额,也不要把全年数字填进一个月度计算里。本期一件没卖时填 0 也合法,此时周转次数是 0.00、周转天数无定义。手上是件数而不是金额时,公式完全一样:把分子填销量件数、把下面的存货栏填库存件数即可,只是日均额要自己读成「日均出货件数」。
- 选平均存货口径:两端平均还是各期末平均:默认的(期初+期末)÷2 只需要资产负债表上的两个时点数,最省事。但销售有明显季节性或波动大的生意(春节备货、双 11、开学季),年初年末两个数可能都恰好落在低位或都落在高位,算出来会系统性失真——这时请切到「按各期末余额平均」,填 12 个月末余额(或 4 个季末、24 个两年月末)。这不是本站自创的高级玩法,正是投资者教育材料给波动大的公司开的处方。
- 填存货余额:单项为 0 合法,两项同时为 0 不行:两端口径下期初、期末都必须填,工具不做「留空按 0 处理」——只填期末就会拿到双倍周转率而毫不知情。新店首期的期初填 0、清仓后的期末填 0 都合法,只要平均存货大于 0。期初与期末同时为 0(或各期末余额全部为 0)会直接报错:本期完全没有存货,就没有周转率可言。各期末余额口径下每一行都要填,任一行留空或填错都不会被跳过。
- 填计算期天数,必须与分子同期:全年填 360 或 365,季度填 90,月度填 30,页面给了 360 / 365 / 自定义三个快捷值。360 与 365 都是口径惯例,本页不判「哪个对」——投资者教育材料用的是 360,输入框里的 360 只是表单占位示例,不是本站推荐值。这一栏与分子的同期性是全页唯一无法由工具校验的东西:填了全年成本却把天数写成 30,结果会小十几倍,工具无从察觉。另外,填 12 个月末余额不会把天数自动设成 360,两者互不联动。
- 读结果:先看次数的单位是「次」,再看天数:主结果「周转次数」的单位是次 / 期,不是百分比——中文里「率」字最容易被读成 %,这个数其实是「这一期转了几遍」。周转天数是同一批数字换个说法:一件货平均在仓里躺多少天。两个数各自四舍五入到两位小数,所以用「计算期天数 ÷ 周转次数」回算不会正好对上:周转次数较大时只差最后一两位,周转次数不足 1 次时差额会放大到几十天甚至上百天(次数那一位的舍入被成倍放大),此时请以页面直接算出的周转天数为准。存货周转率没有法定或国家标准的合格线,请只与自己的历史期、与同业同口径对比。
核心要点
库存周转率(会计报表里叫存货周转率,两个词指同一件事)回答一个问题:压在货上的钱,这一期转了几遍。换算成时间就是周转天数——一件货平均在仓库里躺多少天。它把利润表的流量 (营业成本)与资产负债表的存量(存货)相除,是存货效率指标里唯一带时间维度的那个。
- 周转次数 = 本期营业成本 ÷ 平均存货,单位是次 / 期,不是百分比(中文里的「率」字在这里最容易被误读成 %)。
- 周转天数 = 计算期天数 × 平均存货 ÷ 本期营业成本。
- 平均存货两种算法:(期初+期末)÷2; 季节性或波动大的公司改用各期末余额的算术平均(如 12 个月末余额 ÷ 12)。
- 基准算例:营业成本 900 万、期初 100 万、期末 140 万、按 360 天 → 平均存货 1,200,000.00 元、周转次数 7.50 次、 周转天数 48.00 天、日均营业成本 25,000.00 元。
- 分子取错是头号错误:同一批存货换成营业收入 1200 万,次数变成10.00 次,高出 33%——多出来的是毛利,不是周转变快。
- 两条边界:本期一件没卖(分子 = 0)时周转天数无定义,本页显示「无定义」而不是 0.00 天 (0 天读作「货一天不留、立刻卖光」,与真相正相反);库存周转率没有合格线,生鲜与重型设备的周转天数差一个数量级, 本页不给任何行业基准值,也不做红黄绿灯判定。
三个口径怎么选:填之前先对号入座
本页只有三处「存在多套写法」的地方,全部做成了你可选或必填的输入,没有一个被内置成默认值偷偷替你决定。
| 口径 | 怎么选 | 选错的后果 |
|---|---|---|
| 分子:营业成本 / 营业收入 | 看财务分析、看年报、与教材对齐 → 营业成本(默认);电商与门店手上只有销售额 → 营业收入 | 不影响自己跟自己比;但跨公司比时两边口径不同,比的就成了毛利率 |
| 平均存货:两端平均 / 各期末平均 | 存货全年平稳 → (期初+期末)÷2;有明显淡旺季或大促备货 → 各期末余额平均 | 季节性生意用两端平均会系统性失真,周转天数可能偏短或偏长一大截 |
| 计算期天数:360 / 365 / 自定义 | 全年 360 或 365(投资者教育材料用 360),季度 90,月度 30 | 360 与 365 只差 1.4%;但天数与分子不同期会差十几倍,这是真正致命的那个 |
结果怎么读
| 结果项 | 含义 | 读的时候注意什么 |
|---|---|---|
| 存货(库存)周转次数 | 本期分子金额 ÷ 平均存货 | 单位是次 / 期,不是 %;不足 1 次 = 这一期连一遍都没转完 |
| 存货(库存)周转天数 | 计算期天数 × 平均存货 ÷ 分子金额 | 是常数出货速度假设下的平均在库天数, 不是某一件货的实际库龄;分子为 0 时无定义,不显示 0.00 |
| 平均存货 | 两端平均或各期末平均 | 只由存货余额决定,与分子金额、计算期天数无关 |
| 日均营业成本 / 日均营业收入 | 分子金额 ÷ 计算期天数 | 成本口径下它不是销售额;「平均存货 ÷ 日均额 = 周转天数」是页面上的第二条肉眼闭合 |
原理与公式
本页公式(四步,按顺序算)。记 F 为本期分子金额 (营业成本或营业收入)、P 为计算期天数、A 为平均存货、T 为周转次数、D 为周转天数、f 为日均分子额:
| 步骤 | 公式 | 单位与说明 |
|---|---|---|
| S1 平均存货 | A =(期初 I₀ + 期末 I₁)÷ 2或 A =(B₁ + … + Bₙ)÷ n | 元。先全精度算、再四舍五入到分收口一次。A 必须 > 0, 否则报错(判的是收口后的展示值) |
| S2 周转次数 | T = F ÷ A | 次 / 期。由收口后的 A 算出,末尾收口一次 |
| S3 周转天数 | D = P × A ÷ F | 天。同样由收口后的 A 算出。F = 0 时无定义(不是 0、不是无穷大) |
| S4 日均分子额 | f = F ÷ P | 元 / 天。是「A ÷ f = D」这条闭合的中间量 |
算例一(基准,整除、无舍入):全年营业成本 900 万元、期初存货 100 万元、 期末存货 140 万元、计算期 360 天。A =(1,000,000 + 1,400,000)÷ 2 = 1,200,000.00 元T = 9,000,000 ÷ 1,200,000 = 7.50 次D = 360 × 1,200,000 ÷ 9,000,000 = 48.00 天f = 9,000,000 ÷ 360 = 25,000.00 元/天
这一例恰好整除,所以 7.50 × 48.00 = 360.00 正好等于计算期天数,1,200,000 ÷ 25,000 = 48.00 也正好闭合。
算例二(各期末余额口径,四处都要舍入):12 个月末存货余额依次为 100,000 / 110,000 / 120,000 / 130,000 / 140,000 / 150,000 / 160,000 / 170,000 / 180,000 / 190,000 / 200,000 / 210,001 元,全年营业成本 150 万元,计算期 360 天。
| 步骤 | 逐步验算 | 收口后 |
|---|---|---|
| A | 1,860,001 ÷ 12 = 155,000.083333… | 155,000.08 元 |
| T | 1,500,000 ÷ 155,000.08 = 9.67741436… | 9.68 次 |
| D | 360 × 155,000.08 ÷ 1,500,000 = 37.2000192 | 37.20 天 |
| f | 1,500,000 ÷ 360 = 4,166.66666… | 4,166.67 元/天 |
这一例四个数全部除不尽、各自收口一次,于是9.68 × 37.20 = 360.096,与计算期的 360 天差 0.096。 这不是算错,是两次独立四舍五入的正常结果。
为什么周转天数不用「计算期天数 ÷ 周转次数」求?因为那样会把周转次数的舍入误差成倍放大到天数上。周转次数很小时(严重积压), 真值 0.005 收口成 0.01,天数就直接减半。本页的T 与 D 都从同一个收口后的平均存货出发、各自只收口一次, 所以两者都准,代价是它们相乘只在容差内等于计算期天数、不是恒等式。 用上面算例二的数字倒推:360 ÷ 9.68 = 37.19,与页面显示的 37.20 差最后一位—— 页面显示的那个才是从平均存货直接算出的准值。
算例三(次数不足 1 次、天数超过计算期,且踩中半分进位): 平均存货 80 万元(期初 70 万、期末 90 万)、全年营业成本只有 30 万元、计算期 365 天。T = 300,000 ÷ 800,000 = 0.375 → 四舍五入(半分进位)显示 0.38 次D = 365 × 800,000 ÷ 300,000 = 973.33333… → 973.33 天f = 300,000 ÷ 365 = 821.9178082… → 821.92 元/天
周转天数 973.33 天远大于计算期的 365 天,是合法结果: 按本期出货速度,现有库存约 2.7 年才转一遍。本页不把它截断到 365 天,也不报错。 这一例的 0.38 × 973.33 = 369.8654,与 365 天差了 4.87—— 周转次数越小,这个回算差额越大,这正是上一段那条路径不能走的原因。
舍入与守护口径:全程按高精度十进制计算,四舍五入(ROUND_HALF_UP)到两位小数。 平均存货是唯一的一级量,先收口一次;周转次数、周转天数、日均额都用已收口的平均存货再算,各自末尾收口一次,保证页面上 「分子 ÷ 平均存货 = 周转次数」「平均存货 ÷ 日均额 = 周转天数」肉眼闭合。 两类守护的判定基准不同是有意为之:「平均存货 > 0」判收口后的展示值(真值 0.002 显示成 0.00 就按 0 处理并报错,杜绝「显示 0.00 却给出周转次数」的自相矛盾);周转次数 ≤ 100 万次、周转天数 ≤ 100 万天这两个量级守护判收口前的真值, 超出即报错而不是返回失真数值。各输入的量级上限为:金额 ≤ 1e12 元、 计算期天数为 1 ~ 3660 的整数、各期末余额 2 ~ 24 项。
常见问题
- 存货周转率是用营业成本还是营业收入算,两者差多少?
- 标准写法用营业成本。中国证监会宁夏监管局的投资者教育材料给的原式就是「存货周转率(次)=销售成本/存货平均余额」,这里的「销售成本」就是现行利润表里的「营业成本」(同一项的旧称)。用成本的道理在于:分母的存货是按成本计价的,分子也用成本才是同一口径,两边量纲一致。收入口径同样常见,尤其在电商和零售门店,因为大家手上最容易拿到的是销售额;但收入含毛利,算出的次数会系统性偏高。举个同一批存货的对照:平均存货 120 万元,全年营业成本 900 万元时周转次数是 7.50 次;换成全年营业收入 1200 万元,次数变成 10.00 次,高出 33%,多出来的部分全是毛利,不是周转变快了。所以口径本身没有对错,规矩只有一条:跨公司、跨期对比时两边必须用同一口径,否则比的是毛利率不是周转效率。本工具把它做成一个显式开关,切换只改标签与解读,不会替你换算已填的数字。
- 存货周转天数怎么算,公式里用 360 天还是 365 天?
- 存货周转天数 = 计算期天数 × 平均存货 ÷ 本期营业成本,也等于「计算期天数 ÷ 周转次数」。例:平均存货 120 万元、全年营业成本 900 万元、按 360 天算,周转天数 = 360 × 120 ÷ 900 = 48.00 天,对应周转次数 7.50 次。360 与 365 都是口径惯例,本页不判哪个对:投资者教育材料给的式子是「存货平均周转天数=存货平均余额×360/销售成本」,用的是 360;很多年报分析和教材用 365。两者差约 1.4%,同一份对比里保持一致就行。同样的道理,季度数据配 90 天、月度数据配 30 天——天数必须与分子的期间一致,这是本页唯一工具无法替你校验的地方。另外要注意:本页的周转天数不是用「天数 ÷ 已四舍五入的周转次数」倒推的,而是直接由平均存货算出,因为周转次数很小时(严重积压)一次分位舍入能把天数拉偏成倍。代价是两个数相乘不会正好等于计算期天数:周转次数较大时只差最后一两位(如 9.68 × 37.20 = 360.096,与 360 天差 0.096),周转次数小到 1 次以下时这个回算差额会明显放大(如 0.38 × 973.33 = 369.87,与 365 天差 4.87),这属于正常的舍入表现,页面显示的那个天数才是从平均存货直接算出的准值。
- 存货周转率里的平均存货怎么算,季节性生意用(期初+期末)÷2 会失真吗?
- 会,而且是系统性失真。(期初+期末)÷2 只取了两个时点,如果你的生意有明显淡旺季,年初和年末很可能都落在备货前的低位(或都落在备货后的高位),算出来的平均存货就代表不了全年的真实占用。同一份投资者教育材料对此给了明确处方:销售有明显季节性或经常波动的公司,把全年每个月底的存货余额加总再除以 12。本工具把这两种算法并列做成口径开关,各期末余额口径支持 2 ~ 24 项,够放 12 个月末、4 个季末或两年 24 个月末余额。举个双 11 备货的例子:某店上年末与本年末存货都是 20 万元,两端平均算出的平均存货就是 20 万元;但它 1—8 月每个月末都只有 20 万元,9 月备货到 60 万元、10 月冲到 80 万元、11 月大促后回落到 30 万元、12 月末又回到 20 万元,12 个月末余额加总 350 万元 ÷ 12 = 291,666.67 元。同样按全年营业成本 900 万元、360 天算:两端平均得周转次数 45.00 次、周转天数 8.00 天;各期末余额平均得 30.86 次、11.67 天。同一家店同一年,天数差了 3.67 天(约 46%),差的全是两端那两个时点恰好都落在低位。只要备货高峰不在年初年末,两端平均就会把占用算少、把周转算快。还有一条办法是把统计期缩短:不看全年,改按季度甚至月度各算一次,波动会自己显出来。要提醒的是,余额个数只影响平均存货,计算期天数仍要自己填——填 12 个月末余额不会把天数自动变成 360。
- 周转次数不到 1 次、周转天数比计算期天数还长,是算错了吗?
- 没算错,这是严重积压的正常读数。周转次数不到 1 次,字面意思就是「这一期连一遍都没转完」。例:平均存货 80 万元、全年营业成本只有 30 万元、按 365 天算,周转次数 = 30 ÷ 80 = 0.375,四舍五入显示 0.38 次;周转天数 = 365 × 80 ÷ 30 = 973.33 天,接近 2.7 年才转一遍。本工具不会把它截断到 365 天,也不会报错——真实的库存积压就是长这样。常见成因有三类:一是季节性备货期或新品铺货期,货刚进来还没开始卖,此时把统计期换成完整的一个销售周期再算一次会更公道;二是多品类混在一个存货科目里,几个滞销大件把整体拉长,请分品类各算一次再比;三是真正的呆滞滞销,需要盘点库龄、做促销或计提跌价。反过来,周转天数不足 0.005 天会显示成 0.00,这时请以周转次数为准——同一屏上的次数会是一个极大值,两者互相说明。
- 月度或季度数据怎么算存货周转率,能直接乘 12 折成年吗?
- 可以按月算,关键是分子与天数必须同期。月度算法:分子填当月营业成本,期初填月初存货、期末填月末存货,计算期天数填 30(或该月实际天数)。例:当月营业成本 60 万元、月初存货 0、月末存货 20 万元,平均存货 = 10 万元,周转次数 = 6.00 次 / 月,周转天数 = 30 × 10 ÷ 60 = 5.00 天。季度同理,天数填 90。最常见的错误是拿全年成本配 30 天(或拿单月成本配 360 天),前者会让周转天数小十二倍、后者大十二倍,而这个语义错误工具完全无从检测,只能靠你自己对齐。关于折年:月度周转天数本身就是可比的(5 天就是 5 天,不需要折算),但月度周转次数乘 12 只在「全年每月的成本与存货水平都和这个月差不多」时才近似成立,季节性生意这么折会严重失真,更稳妥的做法是直接用全年数据算一次全年的。本工具一次只算一个期间,不做多期趋势、环比同比与年化折算。
- 存货周转率多少算正常,和现金流、毛利率这些指标怎么配合看?
- 本工具不给「多少天算正常」的数字标准,因为不存在可引用的全国性基准:生鲜商超的周转天数以天计,重型设备和白酒以年计,差一个数量级,任何一条通用合格线都是误导。可操作的比法只有两条——与自己的历史期比(这个季度比上个季度是变长还是变短),以及与同业同口径比(务必确认对方用的是成本口径还是收入口径、360 天还是 365 天)。配合其他指标看时,各管各的问题:毛利率答「一单赚几个点」,是静态的价差;净利率答「净利占收入几个点」;现金流计算器答「现金还能撑几个月」,分母是月均净流出;而周转率答的是「压在货上的钱一年转几遍」,分母是平均存货,是唯一带时间维度的存货效率指标。实务里最常见的组合看法是「毛利率高但周转慢」——单件赚得多却卖不动,全年赚的总数未必比薄利多销高;反过来周转很快但毛利率被压到极薄,则要看盈亏平衡点还够不够。想进一步接上应收、应付算营业周期与现金转换周期 CCC,本工具本轮不做。
- 库存周转率高好还是低好,周转天数越短说明经营越好吗?
- 一般来说周转次数越高、周转天数越短,代表压在货上的钱转得越快,同样的存货占用能撑起更多生意。但把它当成单一好坏判据容易看走眼,至少三种情况会让漂亮的数字失真。一是缺货换来的快:库存压得过薄,天数确实短,代价是断货、丢单与加急补货,这些在存货科目上根本看不见。二是口径换来的快:分子用营业收入而不是营业成本,次数会系统性偏高——同一批平均存货 120 万元的货,成本 900 万元时是 7.50 次,收入 1200 万元时就成了 10.00 次,快出来的那 33% 全是毛利。三是行业本身就快:生鲜商超的周转天数以天计,重型设备和白酒以年计,差一个数量级,脱开行业谈高低没有意义。相对可靠的读法是把周转率与毛利率放在一起看:周转快、毛利薄是薄利多销的路子,周转慢、毛利厚是高单价慢销的路子,两条路都能成立;通常更需要留意的是周转变慢的同时毛利率也在往下走,那往往意味着货卖不动还在降价。本页只给算式与对比框架,不给合格线,也不做红黄绿灯判定。
- 库存周转天数太长怎么排查,可以从哪几个方向缩短?
- 先确认不是算错或口径错:分子与计算期天数是否同期(拿全年成本配 30 天会把天数算小十二倍,拿单月成本配 360 天会算大十二倍),以及平均存货用的是两端平均还是各期末平均——季节性生意用两端平均本身就可能把天数算偏。排除这两类问题后,常见的排查顺序有四步:① 分品类各算一次,整体周转慢往往是少数滞销大件拖的,混在一个存货科目里看不出来;② 拉库龄结构,看超过 90 天、180 天的库存占比,比只看一个平均值更能定位呆滞;③ 看统计期是不是正好切在备货期上,新品铺货或大促备货刚结束时天数天然偏长,换成一个完整销售周期再算一次更公道;④ 与自己的历史期比,确认是本期变慢还是一直如此。至于往哪些方向缩短,实务里通常从三处入手:把一次性大批量进货改成小批多次、清理或促销已经呆滞的库存、把补货节奏与实际出货速度对齐。这些是常见做法而不是建议,是否适用要结合你自己的采购周期、资金成本与断货风险判断,本页只做测算,不提供经营方案。