电商平台扣库存的设计思路李宽wideplum关注共 1957字,需浏览 4分钟 ·2021-07-11 20:49 李响是某电商公司的酒水运营,最近他又开心,又郁闷的发慌。前些日子,他与茅台公司达成合作,茅台愿意提供年1w瓶的销售渠道资格。这对于李响来说是天大的好事,几乎可以挽救他们平台的存亡问题。有茅台就会有流量。好事多磨,事情远没有那么顺利。他后来发现,来买茅台的人,全部都是黄牛,这些人有着明显的特征,- 几乎没有购物记录- 几乎不活跃- 刚刚开会员更让他难以接受的是,他要进行大量的取消订单工作,甚至需要致电这些黄牛,逐一去安抚情绪。为什么呢?订单超卖了!假设还有1瓶茅台时,所有黄牛都可同时付款,却只能成功1单。这个问题的主要原因是,他们没搞清楚商品库存的扣减方式,认为付款就可以占用库存,肯定没错吧。在低流量,低并发场景是看不出问题的,但凡放到大促,秒杀等高并发场景,问题会无限放大。在解决这个问题前,我们先梳理下,库存的概念。1. 如何理解库存?你在电商平台看到的商品,学名叫做前端商品,是商家在店铺后台创建的商品。比如图里面看到老王的书。对应的放到仓库里,就不能叫商品,通常称之为货品,学名为后端货品。前端商品库存和后端货品库存之间,在特定场景下,需要进行增删改查的同步操作。比如用户买了老王的书,仓库需要接受消息,扣减这本书的库存并反馈给前端。可这个消息传递是有时间差的,就会导致李响遇到的问题。再者,后端有新入库或在途即将入库的库存,也要同步给前端。理解了上面的概念,我们在梳理前后端库存的扣减方式和优缺点。2. 拍下扣减库存你打算买白色iPhone12 256g,提交订单后,想考虑一会,并没有付款。但平台会帮你锁定库存,直接把仓库的iPhone占用掉。后来你发现,iPhone一次性拍下了1000件,也懒得去管,索性放在那里,去干别的事情了。可这对于平台来讲,就是灾难啊。仓库里只有1000件iPhone,全部你占用,而且订单时间是24h。你如果不去购买,要么平台等你主动取消,要么去跟你打电话协商取消。假设有1w个人都这么干,平台还做毛线生意,就陪他们玩了。一般,是不建议拍下扣减库存的。很可能被一些人恶意的拍库存,导致平台重大损失。3. 支付扣减库存简单理解,你买个iPhone,拍下订单时,不扣减后端库存。当你支付完成后,再扣减库存。这种扣库存方式,让人既爱又恨。爱的是,它可以防止恶意拍单,让商城正常运营。恨的是,关键时刻掉链子,极端情况下,假如库房还有1个库存,同时100人付款,即使100人全部付款成功,但只能给1个人发货。有人会说,没库存,我补上不就完了。嗯呵,too young!假如你设置的是降价1000元售卖,本来只想卖100台,却超卖1w台,这个成本谁也hold 不住。到底有没有好办法处理这个问题呢?有的!4. 预扣库存我们对比一下前面两个模式,会比较好理解。拍下扣库存,提交订单,占用库存。支付口库存,付款后,占用库存。预扣库存,提交订单,先预扣库存,最多预扣和后端库存一样的数量。付款时,再实际占用库存。为什么说预扣库存可以防止恶意拍单和超卖呢?很好理解,预扣指预先扣除虚拟库存,即使用户多拍了100件,并没有实际占用库存。一般预扣有时间的限制,比如20min,30min等等。时间到,预扣解除。当预扣到限制后,是不能继续下单的,也就防止了超卖的现象。用户付款后,还会执行二次预扣,不断的校验预扣情况,付款完成,库房货品库存占用。但仍然有漏洞可钻,比如预扣时间到时,再去点击付款,此时是执行第二次预扣动作,tmd,预扣又重新开始了,那就需要加一些阈值的限制。小结一下吧其实,没有完美的解决方案,只有适合你的方案。当方案有漏洞时,不一定想着完全推翻,也可以适当缝补缝补。老王今天给大家科普了电商平台常见的扣库存方式,其中第三个最为实用。1. 拍下扣库存,提交订单,占用库存,有恶拍风险。2. 支付口库存,付款后,占用库存,有超卖风险3.预扣库存,提交订单预扣库存,付款后占用库存,最为合适的方案。 我的新书《B端产品经理必修课2.0》已经开售了。这是对我的第一本书的全新改版,也是关于B端产品的方方面面。查看具体内容:我的《B端产品经理必修课》升级了推荐阅读:SaaS新用户登录指南(附8个好例子)SaaS 客户成功: 减少客户流失和提高 MRR 的秘诀【干货】B端产品差异化指南SaaS免费模式的本质10个做SaaS业务的重要原则[建议收藏]极简SaaS创业手册[收藏]7个可以调研B端产品的网站 浏览 65点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 电商系统设计 -- 设计思路全在这Java学习之道0某生鲜电商平台的库存扣减方案猿天地0大型电商平台设计实例:电商平台总体设计和业务模型设计愿天堂没有BUG0电商平台的导购电商导购的价值,是帮用户锁定购物目标。购物目标是多样的:有明确购物诉求。比如需要一部 iPhone 12 手机;有模糊购物诉求。比如需要一双运动鞋,至于样式、品牌,需要看看;“逛”的状态,有看中的商品就买。这里细...某生鲜电商平台的监控模块设计公众号程序猿DD0电商系统的通用设计Kevin改变世界的点滴0电商数据报表的简易设计Kevin改变世界的点滴0电商库存详解:三层(销售层、调度层、仓库层)来看库存设计产品刘0【万级并发】电商库存扣减如何设计?不超卖!爱笑的架构师0面试官:电商库存扣减如何设计?如何防止超卖?您好,我是路人,更多优质文章见个人博客:http://itsoku.com 解决方案 使用mysql点赞 评论 收藏 分享 手机扫一扫分享分享 举报