跨境电商海外仓:WMS的库龄与仓租功能设计
前言
在供应链行业,大家都很看重库存的周转率,库存周转率高就意味着产品卖的快,在短时间内产生盈利的次数就多;而周转率越低,则表示产品卖出的慢,库存可能一直积压在手里,可周转资金的资金也就少了。
在WMS中,库龄是指货物在仓库中存放的时长,库龄越大意味着存放的时间越长,也意味着产品不好卖,可能成为了滞销品。同时对于一些第三方仓库来说,由于仓库库容有限,所以为了避免太多客户的货物成为死库存(库龄特别长),会在仓租方面设定阶梯报价。
例如在海外仓领域,很多第三方海外仓都会有30天免仓租的福利。当货物在仓库的库龄不超过30天的时候,就可以免仓租。而超过了30天之后,价格就会有一个梯度递增,即在某个区间内还算便宜,到了另一个梯度就特别贵。
海外仓通过这种「惩罚」的方式,来鼓励客户尽快提升周转率,尽快处理掉库龄过长的产品。
所以,对于海外仓WMS来说,精确地计算库内产品的库龄是一个很关键的功能,因为仓租的梯度报价就需要依赖WMS的库龄数据。
库龄的计算
在仓库中,货物的数量是动态变化的。可能每天都会有货品入库上架,也会有货品下架出库,库存数据一直在动态变化。
库龄是指货物在仓库中待的时长,一般是用天
来统计的。那如果货物一直有进有出,系统该如何记录具体的货物到底在仓库待了多少天呢?
这个时候一般会引入一个批次
的概念,也可以称为入库批次号
或者上架批次号
,在这里我们直接简单点叫批次
吧。
当没有批次的时候,如果发生了出库的行为,系统只能知道剩余的总库存有多少,但是不知道具体的不同时间入库的那一批还剩多少,也就没办法统计具体的库龄了。
在引入了批次之后,系统遵循先进先出(FIFO)的原则来计算库龄,就可以精确地知道具体某个批次出库了多少,还剩余多少,这样统计库龄的时候就有依据了。
有了批次之后,每天会对不同批次剩余的SKU数量计算库龄,相当于一次入库上架获得一个批次,但是出库却可以分成多次,每次剩余多少都会被记录,剩余的数量库龄会一直递增,直到全部都出库完成。
当明确了最基础的库龄统计方式之后,接下来我们再来看看关于仓租这一块的内容。
仓租的计算
仓租就货物放在仓库中需要支付的租金,类似于我们租房子要付的租金一样。海外仓的仓租计算一般是按货品的体积(CBM)来计算的,也可能有些仓库会按数量或者按重量等,再此为了方便阐述,默认都是用CBM来计算。
假如某客户存放了一个体积为1CBM,数量为1000的货品在仓库,那么他的仓租就会等于
体积*数量*库龄*仓租单价
,但是由于数量与库龄都是动态变化的,所以一般会按每日计算然后做一个累加,即∑(体积*每日数量*仓租单价)
。
以上的仓租计算的初始版本,也是最普通的版本。相当于先计算日租,然后再累积成月租。
但是前面也提到了,海外仓一般会采用仓租梯度计费的方式来作为一种「惩罚」,以推动促进客户尽快处理滞销的产品。而刚刚列出的普通版的仓租计算公式,是不能支持梯度的,也不同支持「30天免租」之类的优惠活动的。
于是我们需要对上述的公式进行一个小小地改动升级,让它变得更强一些。
当需要使用梯度(30天免租也是梯度的一种)的方式来计算仓租的时候,就需要记录下每个批次的当前库龄是多少,是否达到了另一个梯度区间,以此来确定最终的计算单价。
库龄的拓展知识
1.倒推法与日推法
大家在网络上搜索「库龄」或者「库龄计算」的时候,肯定会看到相关的一个回答,如下图所示。
包括百度百科里也有相关的阐述。
但是我看了好几遍都感觉这个描述有点难懂,因为各种细节没有拆解出来,有些人转述的时候还搞错了名词之类的。所以索性就是自己用图中的数据,再结合Excel,用笨办法来倒推了一下数据,重新拆解了图中的公式,希望大家能更容易上手理解。
上图中所说的方式也有人称之为「倒推法」,其实本质上还是先进先出的批次统计。
以当前的时间的库存为总数,然后倒推最近的几次入库的数量,看最后会倒推在哪个批次。
其实从正向来看也是一样的道理,当前剩余了1000个库存,如果系统是严格的先进先出的,那么很早的批次肯定早就出库了,所以现在的1000个库存肯定是最近几次入库的批次剩余的,于是直接采用倒推法就可以算出这些库存的平均库龄是多少。
如果不习惯用倒推法或者理解有些困难,我建议还是用「日推法」来处理,也可以成为「正推法」。也就是每次入库记录一个批次,然后每天24点定时统计一下剩余了多少库存,库龄是多少天,这样汇总起来之后也能算出和倒挤法一样的结果。
2.仓租日结累积法
由于一些WMS可能早期设计的时候没有考虑批次管理的内容,所以在库存表中没有记录批次,也没有库龄。
但是仓租还是要计算,所以在此介绍一种「日结累积法」,也可以算出仓租。
优点是简单,清晰易懂;缺点就是不能支持梯度计费,拓展性不强。
当需要计算仓租的时候,每个月的月初导出上个月的所有的SKU的日结库存,然后做一个汇总,直接拿总数*计费单价
即可算出月度的仓租。
3.入库当天是否算库龄
对于一些快进快出的仓库,很有可能出现这样的场景:一批货物,上午到仓上架,然后下午就需要下架出库。
那么,如果是当天入,当天又出,应该算库龄吗?
这个问题有两个答案,要么算,要么不算。但是我没有想好应该用哪一种,因为这个取决于业务的需求,但是我猜测大多数业务人员并不会注意到这种细节,所以还是需要产品经理来做定夺。
从统计的难易程度或者开发的成本来说,我个人会倾向于:当天入库和当天出不算库龄。
因为每天晚上的库龄统计是在24点左右统计当时的库存结余,然后从库存结余去匹配对应的批次分别有多少数量。
如果当天入了100个,当天又出了100个,那么统计的时候库存结余是0,就无需计算库龄。
如果当天入了100个,当天只出了80个,那么统计的库存结余就是20,也就意味着有20个在仓库待了一天(需计算库龄),其他80个是不算库龄的。
如果是当天入,当天出需要算库龄,那么统计的方法就需要一点点改变。
还是先每天晚上24点左右统计当时的库存结余,但同时还需要去统计当天入库的批次的数量,然后两者做比对。
如果当天入了100个,当天又出了100个,那么统计的时候库存结余是0。但是入库记录是100,也就是当天入了100,这100需要算1天的库龄;
如果当天入了100个,当天只出了80个,那么统计的库存结余就是20。但是入库记录是100,也就意味着两者有重复,应该以入库记录为主,取入库记录的值,而不取库存结余的值,所以还是需要算100个为1天的库龄;
当第二天没有入库批次的时候,这个时候再去统计库存结余的时候,就可以直接按库存结余来计算库存了。有值则算1天的库龄,无值则不算库龄,也就是库存出完了。
最后
库龄和仓租算是WMS中很核心也很关键的一个模块的了,但是这两天我在找相关资料的时候发现,全网好像都没有人写这一块的内容。即使有写,也是一些搬运和逻辑不通的段落,让我一度怀疑这个东西到底是不是太难了?还是说其实很简单大家都不想写?
既然没人来写,那我就来个抛砖引玉吧。如果我写的内容是正确的,有用的,那么就能帮助很多也需要做这一块功能的朋友;如果我写的内容是错误的,那么也能接受一些大佬的指点,尽快改正我的一些错误认知。
反正怎么算都不会亏。🤔
如果你对我写的这一篇内容有何高见,欢迎与我私聊沟通,期待你的回复。