电商产品最复杂的模块莫过于“后台模块”,而后台模块中较为复杂的又莫过于“库存管理”,而一般来讲B2C电商产品中的库存包括七大部分,分别是:可销售库存、订单占用库存、不可销售库存、锁定库存、调配占用库存、调配中库存、虚库存。而这几个的关系是这样的:

总库存=可销售库存+订单占用库存+不可销售库存+锁定库存+调配占用库存-调配中库存-虚库存

关于这个关系,下边会详细说。

可销售库存

可销售库存就是普通用户在电商前端看到的的库存。而一般为了防止竞品通过前端库存来预测其销量和总库存,因此前端只显示“有货”或“无货”(如下图)。当某SKU的可销售库存>0时,前端显示“有货”,用户可加入购物车或者立即购买;当某SKU的可销售库存≤0时,前端显示“无货”,用户无法加入购物车或立即购买,并提示“商品已下架”,同时可进行“到货提醒”的功能设置。

其实除此之外,电商产品在出于提高转化率的目的上还可以再次优化,例如,在库存管理上,可以根据某商品的销售情况得出一个风险库存预警值X,当该SKU的可销售库存>X时,前端显示库存充足,当该SKU可销售库存情况:0<可销售库存≤X时,前端提示库存紧张,以促进消费,当该SKU可销售库存≤0时,则提示商品已下架,设置“到货提醒”。

订单占用库存

设立订单占用库存的原因是商品的下单支付和发货是异步进行的。对于已下单支付的用户,保证其商品能正常出库发货,而对于尚未下单支付的用户,保证其下单后有可售的库存,防止超卖。

订单占用库存和可销售库存的反向的,也就是可销售库存减少后,订单占用库存增加。而这里就涉及到一个什么时候可销售库存减少的问题(也就是我们常说的锁库存),一般来讲,锁库存的方式或条件是不一定的,主要有三种:加入购物车锁库存、下单后锁库存、支付后锁库存;不同的方式应用场景是不一样的,这里待以后以另一篇来详细写。

为了方便理解,这里以下单后锁库存为例,举个理想化的例子:假设一个袜子的可销售库存是100,那么在未下单前,可销售库存与订单占用库存为以下情况:


假设一个用户下了一个3双袜子的单,那么此时的可销售库存与订单占用库存为以下情况:

当然,现实中还有许多异常情况导致用户下单后未立即付款造成可销售库存的减少从而影响后续用户的购买,最终造成库存积压。比如:

  1. 某个用户下单后,由于各种原因不想买或者出现网络异常而没有立即进行支付。
  2. 竞争对手或者其他居心叵测的用户持续下多个单而不支付。

因此,针对以上情况,一般的解决方案如下

  1. 若用户下单后未进行支付,进入到待支付环节,同时进行时间限制(半小时或者1小时),过时后释放订单占用库存,增加相应的可销售库存。
  2. 对每个用户单次购买的数量进行限制(比如每个用户最多购买5件),当用户下单后未支付且再次进行下单时,提示其有相应的未支付订单。
  3. 通过技术手段对设备ID及IP地址检测,防止其通过多个设备及IP地址进行破坏性下单。

不可销售库存

不可销售库存在这里很好理解,就是当商品出现破损等不符合销售标准的情况下归属到不可销售库存。设立不可销售库存的目的是1)提高库存管理效率,方便对有问题的商品向上游供应商进行协商赔付。2)对用户负责,防止将有问题的商品销售给用户,以防信任危机和物流成本的增加。

此外,在不可销售库存在后台系统的标注方法上,一般有两种方式:

  1. 使用不同的SKU编码,例如某正常商品的SKU编码为12345,其对应的不可销售库存的SKU编码即为12345U。
  2. 使用同一编码,但须专门开辟一块不可销售区域来集中管理。

锁定库存

锁定库存常见于电商的促销活动中,电商的促销活动一般以低价折扣来吸引用户,而对于产品方而言,有其他诉求:

  1. 并不想让某种商品全部以促销的形式卖出,只卖一部分防止亏损。
  2. 防止竞争对手的恶意采购,挖空库存。
  3. 仅仅想通过以低于成本价的方式促销,以此来吸引流量,通过其他商品来获利(淘宝爆款就是这个意思)

因此,基于这样的产品诉求,一般会设立锁定库存,将总库存中的一部分商品锁定不参与促销活动。当可销售库存为0时,必须将锁定库存释放转换为可销售库存才可继续销售。

因此锁定库存不是一个常设系统,需要使用时临时搭建即可。

那么谈到这。此时:

总库存=可销售库存+订单占用库存+不可销售库存+锁定库存

虚库存

虚库存就是仓库中没有实物库存,实物库存来自于供应商方面。

在实际的电商中,由于仓储能力有限,缺乏扩展性。一方面当市场上某种商品的需求量极大时,这时仓库中该商品数量较少时,如果与供应商的沟通渠道畅通,可以迅速将该商品输送到仓库中转换为库存,将有效提升销售额;另一方面某种商品的需求量极少时,平台不需要提前在仓库储存该种商品,可事先拿到商品订单,凭借订单来寻找供应商(前提是平台与该供应商已达成协议并及时沟通库存情况)。因此这时候就引入了这么一个概念——虚库存。

因此此时的可销售库存=总库存-订单占用库存-不可销售库存-锁定库存+虚库存(从这里我们可以看出总库存是一个实物库存概念,意指只存在自身仓库中的库存)

调拨占用库存与调拨中库存

我们经常在京东上购物,会明显感觉到京东的物流很快,常常今天刚下单,明天就到货了。这一方面要归功于京东的自有物流体系,另一方面要归功于京东的仓储体系,也就是由于京东的自营性质,京东会在全国各地搭建自营仓库。而不同地区的销售情况是不尽相同的,可能同一种商品在北京仓需求量高,但在武汉仓需求量就很低了,这样一来,如果前期对市场需求判断不准确,就会造成该商品在武汉仓造成积压,在北京仓造成缺货的情况,这时候武汉的仓储就要对北京的仓储进行“支援”,这就涉及到一个“调配占用库存”和“调配中库存”。

还是拿刚刚的例子,假设武汉仓需将100个32G的亮黑色iPhone7调拨到北京仓。首先武汉仓需要发起调拨需求,此时武汉仓需要将100个32G的亮黑色iPhone7锁定不可销售,因此这时的武汉仓的可销售库存=总库存-订单占用库存-不可销售库存–锁定库存+虚库存-调拨占用库存。(需要注意的时,虽然此时调拨占用库存仍在总库存中,但不可销售,是为了避免极端情况,比如原来有300可销售库存,此时由于调拨需求可销售库存降低为200,若不将100库存锁定为调拨占用库存,如果碰到极端需求250,那么则完成不了调拨行为)

在调拨需求发起后,经过库存调整、打包及出库,此时的库存既不在武汉仓,也不在北京仓。因此此时的双方的总库存的情况均为:

总库存=可销售库存+订单占用库存+不可销售库存+锁定库存-虚库存+调拨占用库存

当调拨的商品到达北京后,此时双方的总库存情况为:

  • 北京仓:总库存=可销售库存+订单占用库存+不可销售库存+锁定库存-虚库存+调拨占用库存+100(调拨中库存)
  • 武汉仓:总库存=可销售库存+订单占用库存+不可销售库存+锁定库存-虚库存+调拨占用库存-100(调拨中库存)

浅析B2C电商产品中的“库存”概念相关推荐

  1. 浅析B2C电商系统开发特点

    B2C(business to customer)是企业直接面向消费者销售产品和服务的商业零售模式,该形式的电子商务一般以互联网零售业为主,主要借助于互联网平台开展在线销售活动,然后消费者完成网上购物 ...

  2. 电商产品设计实战(二):电商整体产品架构

    http://www.aoyii.com/ecm-pd-02.html 电商产品架构是整个电商数字系统的基本框架,它代表了这个虚拟数字世界的游戏规则,也反映出了电商企业的商业核心战略,一个好的电商产品 ...

  3. 8000字干货 | 教你打造电商产品的用户体系

    本文由作者 书丰 发布于社区 对于任何电商产品来说,没有用户的产品是没有未来的,拥有用户但却不懂用户的产品也是没有未来的.产品经理需要从心理上去理解用户.预判用户的行为,在现实中挖掘用户的需求,从行动 ...

  4. 三年大型电商网站心得(减库存篇)

    回想自己本科毕业三年了,三年来,一直做的是电商项目,可是前两年都太忙了,一直进行简单的CRUD,反反复复,现在把项目中用到的一些设计思想和技术记录下来,今天要说的是---电商项目中减库存模块中的并发问 ...

  5. 聊聊电商系统中常见的9大坑,库存超卖、重复下单、物流单ABA...

    做为一名程序员,发展方向大致可以分为两个方面:一个是业务架构,一个是技术架构(中间件方向). 业务架构,取其核心关键词,主要是围绕这不同的业务场景.业务规则,完成业务系统的落地建设,为用户提供在线化的 ...

  6. B2C电商支付中心产品架构详解

    一.开篇: 本篇文章,我们主要来拆解下一般B2C电商公司[支付中心]的产品架构图.在我们开始正式讲解之前,大家先描述下自己对支付中心的认知.我想可能对于大部分普通用户,对支付中心的理解可能更多就是付款 ...

  7. 尚硅谷B2C电商毕设微服务项目中所用注释总结

    周青的总结记录 文章目录 前言 正文 通用服务 commons @Data @TableName @TableId @TableField @JsonProperty @NotNull @NotBla ...

  8. 刘强东:B2C电商本质在于娇惯消费者

    http://tech.sina.com.cn/i/ec/2012-07-09/15337366501.shtml 京东商城2011年的销售额仍然是外界喜欢猜测的题目,悬殊的数字(200亿元或300亿 ...

  9. 刘强东:B2C电商的本质

    京东商城2011年的销售额仍然是外界喜欢猜测的题目,悬殊的数字(200亿元或300亿元)表明人们对这家公司的了解存在巨大差异. 2008年,京东宣布的销售额是13亿元.2010年突破100亿元后,京东 ...

最新文章

  1. 如何设计一个牛逼的本地缓存!
  2. laravel oauth2.0 文件上传报错
  3. [luoguP1168]中位数(主席树+离散化)
  4. Java 技术篇-linux系统下安装jdk、设置java环境变量实例演示
  5. 完美解答35K月薪的MySQL面试题(一)MySQL是如何存储数据的
  6. 【ORACLE】 安装需要注意的问题(一)
  7. 运算符优先级 速查表
  8. Python 局部变量和全局变量 - Python零基础入门教程
  9. Oracle在Linux平台安装时涉及的/etc/security/limits.conf
  10. SetLayeredWindowAttributes 设置窗口透明
  11. 简单对抗神经网络GAN实现与讲解-图片对抗
  12. 计算机学硕考试时间,考研全年时间表!重要的23个时间点,都帮你整理好了
  13. wordpress邮件地址混淆 你没权限访问整个邮件地址造成的死链接
  14. <C++>初识多态,剖析virtual关键字
  15. 诡异的The inferior stopped because it triggered an exception错误
  16. 月桂酸异丙酯(IPL)行业调研报告 - 市场现状分析与发展前景预测
  17. HDUOJ 2955 Robberies
  18. Android插件化——加载其他APP页面
  19. 标准化存贷款数据报送系统
  20. eslint跳过检测

热门文章

  1. IDEA如何远程断点调试jar包
  2. 经销商窜货怎么办?最好的解决方案是?
  3. 解决 selectOne 取到多个报错问题
  4. 04——svg中的图形分组<g>
  5. 【darknet源码】:导入训练数据
  6. 计算机绩点3.2算什么水平,大学绩点3.3算什么水平
  7. caffe中LOG(INFO) DLOG(INFO)介绍(统称Google glog)
  8. [BEV]学习笔记之BEVDepth(原理+代码)
  9. 论文、报告及教案公式编辑:图片公式转换Mathpix snipping Tool、快速编辑神器AxMath插件操作使用的几种用法(最详细精致)
  10. python 逗号赋值_python中字符串赋值 逗号_四、python字符串