电子商务库存那些事儿.docx
《电子商务库存那些事儿.docx》由会员分享,可在线阅读,更多相关《电子商务库存那些事儿.docx(21页珍藏版)》请在冰豆网上搜索。
电子商务库存那些事儿
[电子商务]库存那些事儿_1_库存的结构
库存,从字面上的理解,是指库房中的存货。
对于生产型企业,库存可以分为生产原料和生产结果两大类。
而对于零售型企业来讲,没有生产的过程,所有的货品都是从上游采购后,存放在库房,再给销售给下游。
库存,也就是库房中的货品总和,它一般由如下部分组成:
A.可销售库存(S):
大部分正规B2C企业中,前台网站会与后台WMS(WarehouseManagementsystem)保持数据同步,并作出判断。
当可销售库存>0,前台网站会显示商品可供购买,而一旦可销售库存<0时,前台网站则会显示商品不可直接购买。
在顾客选购完商品,确认订单时,前台网站会首先向后台系统发出要求,检查订单产品数量与当前可销售库存数量。
若可销售库存数量>订单产品数量,则通知前台网站成功,否则会通知前台库存不足,提醒客户。
生成一张订单后,可用库存数量减少,而减少的可用库存到哪里去了呢?
这就变成了下一部分。
B.订单占用库存(O):
当生成订单时,可用库存数量减少,订单占用库存数量增多,变化的数量即订单中的产品数量。
设立订单占用库存的原因在于:
订单的生成和库房的发货在时间上是异步的。
这样做的优点在于:
保证已经生成订单的库存,这部分客户可以顺利收货;而且客户在下订单时,能够保证有产品发货,只要客户不取消订单,该订单从库存角度看就是有效的。
C.不可销售库存(U):
经常讲要理论符合实际,这句话套用到库存管理上来讲,就是库存的系统记录需要与库存实物相对应。
在库存管理中经常会发现这样的事情,产品由于某种原因,无法作正常销售(例如包装破损、性能故障、型号标错等等)。
为了理论符合实际,在系统中也会定义出这一部分的库存为不可销售状态。
D.锁定库存(L):
在销售中,经常会使用的一种方式是降价,这一方式的效果会非常好,成功的降价促销可以在很短时间内将商品一售而空,可销售库存直接转化为订单占用库存。
但是有一些情况下,销售方并不希望这么快就将所有的库存都售出。
有的时候是因为所有库存全部作降价促销的成本很高,有的时候是防止竞争对手的恶意采购。
在这样的情况下,会采用锁定库存的方式。
库存被锁定后,无法直接销售,必须在解除锁定后才能转化为可销售库存。
以上是库存的几个基本分类,存在着这样的关系:
总库存(I)=可销售库存(S)+订单占用库存(O)+不可销售库存(U)+锁定库存(L)
在实际B2C企业操作中,对于库存情况还有一些拓展:
E.虚库存(V):
有一些产品,虽然库房中并没有,或者并没有很多,但是供应渠道非常通畅,可以在很短的时间内送到库房中,变为库存。
另外一些产品,销售量少,库存的管理难度大,只有当产生订单后,才向供应商采购。
这部分不在实际的库存中,但是可以很快采购到的货品就叫做虚库存。
虚库存的存在,是为了使前台网站的可销售数量大于实际可销售数量。
当存在虚库存时,前面的关系式会变成:
S=I-O-U-L+V
F.调拨占用库存(T):
很多B2C企业有着超过一个以上的库房。
多个库房的设置,主要是因为规模发展到一定程度后,库存量很大,很难在一个单独的库房中存储,另外,也经常会在客户聚集地附近设立库房,以满足当地客户的需求。
各个库房之间,必然存在着库存的分派和调拨。
当产生调拨计划后,调出地库房的某一部分库存就会被占用,这部分库存被称为调拨占用库存。
调拨占用库存和订单占用库存的性质相似。
当存在调拨占用库存后,前面的关系式变成:
S=I-O-U-L+V-T
G.调拨中库存(A):
库存的调拨,必然会存在一段时间,库存既不存在于调拨出库房,也不存在于调拨入库房。
设1号库房为调拨出库房,2号库房为调拨出库房,在调拨发货前,这两个库房的库存结构为:
I1=S1+O1+U1+L1-V1+T1I2=S2+O2+U2+L2-V2+T2I=S+O+U+L-V+T
若从1号库房调拨出量为A的库存到B库房,在1号库房调拨发出后,2号库房收到调拨前,两库房的库存结构为:
I1=S1+O1+U1+L1-V1+T1-AI2=S2+O2+U2+L2-V2+T2I=S+O+U+L-V+T-A
可以看到,两个库房的总库存减少了,调拨中库存在路上,只能计在财务库存中,而并不能计入实物库存。
只有当调拨完成后,库存进入2号库房,总库存才会恢复。
I1=S1+O1+U1+L1-V1+T1-AI2=S2+O2+U2+L2-V2+T2+AI=S+O+U+L-V+T
以上是B2C企业中的一些通用性的库存结构综述,在具体的运营中,有的行业有自身的特殊性,会使用更加复杂的库存结构方式,这里不作太深入的探讨。
2_货位系统—1
树是再常见不过的东西,大树的树干强健,树叶翠绿,令人赏心悦目。
但,树干的强健与权叶的翠绿,都离不开枝条的支撑和输送功能。
如果说库房是一整棵大树的话,树叶就相当于一个个货品,而在其中起到支撑作用的,就是货位系统。
货位系统并不是什么新鲜玩意儿,而且也不是电子商务中才有的。
大家去超市时候可以注意一下,大部分的产品,它的摆放位置是基本固定的,这同样是货位的概念。
实际上,货位系统是WMS中最为基础的部分,货位系统的设计,在很大程度上决定了WMS系统的表现,尤其是与库存转移相关的操作(包括上架、检货、理货、盘点等,这实际上包括了库房中的大部分操作)的效率和准确性。
B2C企业最初使用货位系统的原因都很类似:
即公司经营规模的扩大,导致库房所需要管理的SKU数量越来越多,单靠人脑无法全部记忆过来,而采用分区存放的效率也较为低下,因此需要用电脑系统作管理,需要使用某种产品时候,依据库存记录去查找。
这对于B2C企业是极为必要的,国内排名前10的几家公司,其管理的SKU数量一般都会超过10万种,这样大的数量,只能依靠电脑系统管理。
货位系统的也是随着B2C行业的逐步发展,随着业务的需求,一步步地从简单到复杂这么走过来的。
下面介绍从简单到复杂的几种货位系统。
需要说明的是,这几种货位系统并不是相互独立的,而是一个一个演进过来,演进的原因么,是由于业务的发展,整体控制的逐渐精细化。
1.基础版:
没有货位系统的情况下,库房管理大量SKU所遇到最大的问题是:
找不到所需要的SKU在哪里,因为库房太大,东西太多,人脑的记忆力是有限的,无法应付大规模的货位信息。
为了解决这个问题,最为简单的解决方法如下:
A.首先,将库房分成多块区域,分别命名为Location1,Location2,……
B.其次,把某个SKU某个区域中,再将这一信息记录下来,形成一张表格如下,这一表格中,SKU与Location对应的关系。
SKULocation
SKU1Location1
SKU2Location2
…………
C.每次在往库房中放产品时候,先查一下这张表,看哪些产品是有记录了,就放到记录中的Location些产品还没有记录,就先放下来,再把Location加到表格中去。
只要按照这一流程,一直维护该表格,所有的SKU的货位信息就在表格中就会都有记录,需要使用某一SKU时,直接查找表格即可,这样就解决了最为迫切的问题。
2.进阶版A:
基础版货位系统解决了最为急迫的问题,但在使用中发现了这一架构的最明显问题:
可管理SKU数量有上限。
举个例子,1万平米的库房,除了大约4000平米用于收、发货操作以外,大约有6000平米可以用于存储。
存储区域中,通道占了至少60%的面积,实打实的仓储面积,只有2400平米。
假设货架有4层,每层高40cm,实际使用存储面积是9600平米。
设每个Location是60cm*60cm,即0.36平米,可使用的总Location2.67万种(以上的计算是理想情况,每个Location存储容积仅为0.6*0.6*0.4=0.144立方米)。
若再考虑到产品中存在部分的畅销品,库存量较大,一个普通的Location常放下,需要占用更多的空间。
实际上,能够使用的Location只有2万种左右。
如果SKU中有大体积的货品,例如冰箱、洗衣机等,数量就更少了。
这一问题的解决方法也很简单,改变表格中一一对应的关系,为多对一的关系,即在同一个Location多个SKU,如下,Location1中同时有SKU1和SKU2两种产品。
之所以可以这样操作,是由电子商务的长尾理论所决定的。
越靠近长尾的末端,产品的销售量就越小,所需要储备的库存量就越少。
只有一、两件货的产品,如果在外型上可以很容易地区分开,完全能够放在同一个货位中。
这样就实现了可管理SKU数量的增长,使用这样的方法,可管理的SKU数量一般可以增加2倍以上,根据不同的业务情况会有所变化。
SKULocation
SKU1Location1
SKU2Location2
SKU3Location1
…………
3.进阶版B:
进阶版A能够大大提升库房管理SKU的数量,但是同样存在着问题:
大量备货后的实物管理。
受到存放器具(包括货架、托盘等)的限制,库房中的区域大小是大致固定的,某一个Location不会超过1个托盘的大小。
但是库房所管理实物的数量是不确定的,某些特殊促销的SKU,会在事先大量备货,一个Location法容纳。
这是进阶版B的最大问题。
问题的解决方法也很简单,在进阶版A中,货位的表格是多对一关系,即一个SKU只能放在一个Location一个Location存放多个SKU,如果将这一关系作进一步的放松,形成多对多的关系,即一个SKU能放在多个Location一个Location以存放多个SKU,则解决了大量备货的实物管理问题,表格示例如下:
SKULocation
SKU1Location1
SKU1Location2
SKU2Location2
SKU3Location3
…………
4.阶段性的分析:
以上的三种货位系统实际是层层递进的关系,而进阶版B,则是现在国内的大部分B2C企业所使用货位系统的基础原型。
这一系统有着很明显的优点:
A.系统架构相对简单:
这种货位系统只需要单独维护一张表格,表格中的数据项仅有两个,所有操作都只针对表格的信息行作处理,非常简单。
B.上架操作相对简单:
上架操作时,先查询是否原来已经存在货位,若已经有货位,则放到已有货位上,若没有,则新建货位。
若原有货位上无法放下产品,则直接再找一个能放下的货位,将对应关系添加到表格中去。
C.成本低:
所有的操作(包括上架、检货、移货)都可以在电脑上完成,不需要采购专门的设备,成本很低。
但是不可避免地,这一系统也有着非常大的缺点:
A.货位信息冗余不可避免:
这一点很好理解,例如LocationN上面放了SKUN,后来在逐次出货的过程中,SKUN被一个个地检走了,最后LocationN上面并没有SKUN了,但系统上仍然显示着SKUN在LocationN上有货。
这样的货位信息就是冗余信息,而且在日常的运营中根本无法避免。
B.检货效率受到影响:
在一个SKU存在于多个Location货人员需要自行判断到哪一个Location。
若出现前一个货位信息冗余的问题,则有可能会让检货人员空跑一趟,这对检货效率的影响非常大。
C.盘点困难:
库房盘点时,一个SKU在多个货位,盘点时候需要跑来跑去,非常麻烦,且容易出错。
D.检货路径的低效:
在规模化的B2C企业中,检货是批量操作进行的,每一次检货会同时检出数十个订单,然后再进行分检。
这也就意味着,检货员一次检货需要检出上百个SKU,这些SKU可能分布在库房的各个角落中,需要事先规划一条最优路径,以提高检货效率。
但是在一个SKU存在多个Location下,检货人员有可能需要遍历所有的Location完成检货的任务,效率受到影响。
E.检货出错率高:
基于该货位系统的检货过程完全是人工操作的,无系统检验,出错率较高。
例如,在同一货位上,若摆放了类似的两个SKU,检货人员不小心就会检错。
再例如,以批量检货时,检货员若漏检了某个SKU,则必须要等到分检时候才能够发现错误。
以上是一些主要问题,次要的不作过多描述。
国内使用这一系统的公司,大多采用如下的方法来降低该库存系统的影响。
A.清理冗余信息:
定期对所有存在两个以上货位的SKU作核实,删除冗余的无用信息。
B.理货:
对货架上的产品作整理,例如将本段时间的热销品挪到货位体积较大的区域;将销售比较慢的产品挪到货位体积较小的区域,或者和别的产品放到同一个区域;或者是将分散在多个货位的同一个产品并到一起……
理货的操作是使得库存更加有序,提高检货的效率。
C.日常运营管理:
A).当某一产品的货位已经存在,并且货位上有库存时,尽量不新增货位;
B).原有货位无法放在所有库存时,可以找一个较大的货位,将所有的库存都放在其中,并删除原有货位;
C).类似的产品不放在同一货位;
以上的这几点可以降低该库存系统的缺点影响,但是无法根除。
如何根除呢?
有两种方法,下次专门再写吧。
2_货位系统_2
前篇中,介绍了三种逐次进化的货位系统的基本逻辑(其中最后一种是当前国内B2C公司使用较多的),也这三种货位系统存在的共同问题作了分析。
对于这些共同问题,大部分公司采用加强现场运营管理的方法,尽量减少负面影响。
但这只是治标,不能治本。
治本方式也有,我接触过两个,各有优缺点吧。
不过,这两种方法的基本思想是类似的,都是将货位信息记录更进一步,记录货位上有什么产品,多少个。
先介绍第1个,将检货区、补货区分离开,并使用补货逻辑。
进阶版B中,产品与货位是多对多的关系。
同一个SKU对应着多个Loaction,哪一个Location中有多少库存并不体现在系统中,导致了诸多缺点。
在此基础上,设立检货区、补货区的概念,具体做法如下:
A.库房分为检货区(PickingLocation)和补货区(StorageLocation),检货操作只能在检货区进行,补货区用于存储大量货品,以及长尾末端的产品。
检货区应对于订单出货需求,补货区应对大量存货,互为补充。
系统上,也分为StorageLocation和PickingLocation两部分;
B.货位系统增加数据项,除了Location、SKU外,增加Quantity项,例如补货区的库存记录表如下:
D.检货区库存系统中增加安全库存数据项,当实际库存数量低于安全库存时,触发补货逻辑;检货区库存系统中增加最大库存数据项,用于判断补货数量;
E.在检货区中,同一个SKU,只有一个Location;在补货区中,同一个SKU可以有多个Location;
F.收货上架时,由系统根据检货区库存数量,生成上架任务。
该货位系统相当于两套库存并行运行,检货区用于满足最近一段时间的订单需求,存货区用于大量的存储和长尾商品的存储。
两套库存之间,是单向传递的关系,传递的方式是补货。
G.系统周期性判断相关产品的检货区库存数量、存货区库存数量、订单占用库存数量,触发补货逻辑。
与检货需求相关的库存的数量发生变化(包括检货区库存数量、存货区库存数量、订单占用库存数量)时,系统会生成补货的需求。
补货逻辑是这一套系统运行的核心,讲几个要点:
A.哪些货放在检货区:
检货区是为了满足订单的快进、快出需求的,放在检货区中的产品,最大的特点就是在近期内会产生检货的需求。
WMS从哪里知道这些产品近期会产生检货需求呢?
首先,根据历史的销售数据,对于产品的近期销售情况作预测;其次,根据当前的促销政策对于产品的近期销售情况作预测;最后,根据已经生成的订单,判断产品的检货需求。
B.有两种情况补货:
一是收货上架时直接将一定的数量上到检货区,二是正常出货时,检货区的数量不够,从补货区将库存移动到检货区。
收货上架直接上货到检货区,这一情况应用较少,虚库存时候会使用到,另外热销产品的备货不足也会导致收货后直接上架到检货区。
从补货区移动库存,这是正常的逻辑。
检货区的库存只保留一部分,应付两天(可以自由调整)的正常销售量。
另外,在前面讲检货区的库存系统结构时,提到了两个数据项:
SecureQty和MaxQty,这两项是补货逻辑的基础。
C.什么时候补货:
当货位的当前库存低于SecureQty时,触发补货逻辑。
SecureQty是至少应该达到补货操作的这一段时间内的可能销售数量,一般会高于这个数字,提高安全系数。
长尾商品
D.补多少货:
补货数量为MaxQty-当前货位库存+当前订单已经占用库存,如果补货区的库存低于这一数量,则将所有补货区的库存都补过去。
MaxQty为未来两天(该公司不同情况作调整)内该产品的销售数量预测。
E.补货逻辑被触发后的操作:
补货逻辑被触发后,生成了某一产品的补货需求,一般是这样:
从补货区的某个货位,移动N个库存,到检货区的某个货位。
这与订单其实是有相似点的。
一般情况下是会将补货的需求批量化处理。
对这个系统作一点分析吧:
优点:
1.将库存数量与货位相绑定;
2.基本解决了冗余信息的问题(系统自动定时清理Qty数量为0的记录即可);
3.单独设立检货区,可以提高检货的效率,因为检货的区域变小了;
4.单独设立存货区,可以提高库存的容积率,因为可以使用立体式货位;
5.盘点较为方便,一个产品在检货区只有一个货位;存货区和检货区的盘点可以分开进行;
缺点:
1.系统逻辑非常复杂,首先需要为检货区、存货区分别建立库存表格,其次要根据这两部分的分割,将上架逻辑、检货逻辑、补货逻辑分别设计;
2.前面所说的补货逻辑、检货逻辑信赖于产品的SecureQty和MaxQty这两个参数,每个产品的参数需要单独设定;
3.系统的整体表现对产品参数设置的信赖程度很高,以SecureQty为例,过小会导致补货不及时,订单处理延误,过大则会导致浪费检货区的存储空间;
这是检货区与补货区分离的方式,还有一种方法,是完全的系统化管理,留待下次再写吧。
货位系统_3
前次所介绍的货位系统,有两大要点:
1.货位与库存数量绑定;2.检货区与存货区分离。
今天这篇,介绍一种我觉得更加先进的货位系统,暂且称之为A系统吧。
A系统的特点只有一个:
将货位与库存数量绑定。
但A系统的思想是,把这一过程做到极致,大致的意思就是:
从Inbound开始,到Outbound结束,凡是进入库房的产品,都必须与某个container绑定。
下面具体地讲一些要点:
1.将整个库房,所有用于存货的物理空间都标记为container(其实就是货位),货位与货品库存数量绑定;
2.不同的container,有不同的属性,对应于不同的操作任务;
对此作一些解释吧。
货品在库房中处于流转的过程中,涉及到的操作有:
收货、上架、存储、检货、发货,其中检货、发货都可以分为订单、调拨、退货。
各个操作环节时涉及到的container,设置为不同的属性,只能由相对应的操作对应使用。
3.数据结构设计:
数据结构如下表所示,SKU与Location是多对多的关系,某一SKU可以存放于多个Location,某一个Location也可以存放多个SKU。
每一个SKU在每一个Location的数量都作了记录。
另外,再联系该系列的第1篇库存结构概念,还需要再引入当前库存属性的概念。
库存数量即对应于库存结构中所指的几种分类。
4.任何移货操作,都必须与系统同步,在操作中,需要输入系统的参数有:
移动货品SKU编号,移到货品数量,源Locaiton,目标Location。
例如,在某一个SKUO从LocationA向LocationB移动N个,在移货操作前后,相关货位的数据记录分别如下:
下面描述在此系统下的几个关键性的操作:
1.收货:
确认收货后,货品被放入待上架的container(一般是运输工具)中,每个container有多少货品,是通过采购单的确认数量转移而来的。
2.上架:
待上架的container中的货品转移到存储用的货位上。
上架操作按批次进行,每一个container作为一个批次,一个批次中有多次的上架操作,每一次的上架操作只涉及一个SKU,涉及信息为:
上架SKU,目标货位,上架数量(批次号中已经包含了container的信息)。
上架操作时,不必将同一SKU一次性上到同一个货位上,而是可以根据货架的实际情况灵活安排到两个、三个甚至更多的货位上,当然,为了操作效率计,还是更加鼓励同一个SKU上到同一个货位上。
3.存储盘点:
每一个存储货位中,分别有几个SKU,每个SKU有多少数量,都是可以从系统中读取到的。
而且,由于每一次库存实物变动都与系统记录相对应,所以实物与系统是同步更新的,所以可以随时做盘点。
4.检货:
生成检货批次时,会首先指定检货库位。
例如,订单中需要10个SKUA,而当前可用库存共计有23个SKUA,这28个货分别位于LocationA,B,C上,分别有8个,9个,6个,则系统使用其中的10个,例如从LocationA,B上分别占用8个,2个,则jLocationA上的8个以及LocationB上的2个库存属性会设置为“订单占用库存”。
检货时,根据所有已占用库存货位的位置,自动规划出检货路径。
检货时,只能检出“订单占用库存”,而不能检出普通库存。
检货时拿出的货品,放在检货容器中,同样也是container。
5.出货:
出货时,订单中包含的货品,从检货容器中转移到包裹,包裹号一样可以追踪。
这一系统的思想,是将货品、货位、数量的绑定关系做到了极致。
这样可以实现库存的精密化管理,但是成本非常高,首先系统数据库虽然结构较简单,但是数据量大,任何的库存转移的操作都必须与系统同步,对系统的可靠性、稳定性的要求很高;其次,所有库存转移的操作与系统同步都需要设备,这些设备必须具有移动能力,相当于每个操作人员都必须配备,这一投资也是非常巨大的。
3_供应商
春节前后事务繁杂,心思老静不下来,拖了这么久才写出篇东西出来,真是惭愧。
不扯闲篇了,说正题。
作为零售企业,其运行中不外乎“进—存—销”三个步骤,通俗地讲,就是低价买入、高价卖出,中间的价差即零售企业的利润来源。
零售企业的库存,都来自于供应商。
供应商对于零售企业是非常重要的,一方面企业与供应商是合作的关系,具有共同的目标,即将产品销售给终端客户;而另外一方面,供应商与企业又处于供应链的上、下游,都希望提高自身利润。
可以说,企业与供应商之间,是既合作,又竞争的关系。
在考察和选择供应商时,除了要考察供应商的供货范围、价格、帐期、利润率、返点、价保这些指标外,还需要考察供应商响应时间、滞销品以及残品处理规则等,这几点对于库存实物控制非常重要。
1.供应商响应时间VLT(VendorLeadTime):
供应商响应时间,指的是采购订单生成到供应商送货到库房之间的时间间隔,这也就是从产品采购需求产生到需求被满足的时间间隔。
缩短VLT,是控制库存规模,降低运营成本的重要手段。
怎么理解呢?
若某个公司每过M天下采购单,供应商的VLT是N天。
在第1天生成的采购单,第N+1天能到货。
设每天销量一样,为a,若要保证不断货,则每次采购时至少要备多少货呢?
最大库存量是多少呢?
分两种讨论:
以下是两个时间间隔示意图,M代表下采购单的时间,N表示送货到库房的时间。
A.M>N时:
M----N--M----N--M----N--M…
B.MM----M--N--M--N--M--N--M--N……
由示意图可以看到:
A.两种情况下,两次的送货时间间隔均为M,则每次采购量为M*a。
B.若要