深度 | 阿里新供应链体系架构解读

简介: 很多童鞋发现,每年双11收货的速度,越来越快了。在“提速”的背后,阿里工程师是如何做到的呢?本文主要讲解天猫双11期间供应链的相关工作,包括前期的备货、爆款下沉等准备事项、流量调控、销量预测、补货调拨、以及仓、配履行等多个环节,阐述其中遇到的挑战和取得的成果。

c5d17b78ae449c1cd192735852aa039699f71d4e

 阿里巴巴资深技术专家 粤谦

本文作者粤谦,阿里巴巴资深技术专家,创建供应链算法团队,负责供应链平台事业部算法研发,通过综合使用多种算法来保障供应链的整体运行效率。

供应链概述

天猫双11是一年一度的盛事,大量的用户会在双11期间来到阿里巴巴的平台上购物,这也就意味着会产生海量的订单和包裹。这些包裹大小不一,分布在全国各地,且数量庞大。如何快速、高效的处理这些订单,将消费者的包裹尽可能快的送达到消费者手中,成为双11期间一件非常重要而艰巨的工作,其背后依赖于整个供应链的高效协同。

阿里的供应链系统分为上下游两个部分,上游涉及业务决策层,包括商品、价格、营销活动、营销策略、供应链计划等模块,上游会将结果传输到供应链的下游模块,包括订单情况、库存管理、补货调拨的动作等,然后上下游协同起来构成了整个系统的架构体系。

从地理位置和仓网结构来看,供应链网络极其复杂,不仅有大量的仓,仓的角色还十分多样,比如有全国中心仓、区域仓、前置仓等,因此如何将上下游结合起来进行统一的决策是非常具有挑战性的问题。

在整个供应链中台体系中,供应链计划具有非常重要的意义。从宏观上来说,目标是希望建设一个协同、高效、经济的一个供应链体系,通过不断的循环、迭代、优化形成最优策略。首先是进行目标设定,通过算法计算得到决策的方向,然后通过实时数据的回流在结果上进行反馈,最后把结果与当初的目标进行比对,评估执行情况,如果未能达标就进入下一轮的循环,这就是供应链系统不断迭代和优化的过程。

此外在供应链建设中还有一个很重要的命题:供应链多模块协同。上游的模块包括有会员CRM、商品管理、品类规划、品牌调性、选品、价格管理、营销管理、商家管理、流量管理等模块,下游的模块包括有S&OP、预测、补货、调拨、库存、订单、履行、仓网结构、第三发配送等模块。

这些复杂模块之间如何达到有机的联动并形成整体运作的高效体系?这是我们一直在研究的问题。比如在大促期间,如果某项业务需要在某个区域进行营销活动,并且制定了一系列营销的方案和计划,但是如果后端整个仓的产能和配送无法协同的话,就容易造成上游生产了很多订单、但下游无法配送出去的情况,会极大损害消费者的时效和消费体验。

2017双11的挑战

2017的双11,给整个供应链系统提出了更高的要求:

  • 准确的细颗粒度需求预测,需求预测是整个供应链的起点,要求支持后端SKU级别;
  • 商品种类极多,各种优惠促销策略极其复杂;
  • 提前进行大量备货入库,入库量非常庞大;
  • 仓库库容、运配网络都有产能上限;
  • 大量商品需要在广袤的地域上进行合理的库存分布;
  • 海量订单的时效如何保障,这是双11条件下很重要的一点。

以上这些命题都是需要解决的问题。

预测备货

需求预测是整个供应链的起点,更遑论双11背景下提出的准确的细颗粒度需求预测,这涉及系统的算法研发层面,具体来看分为两方面的工作。

第一方面,需要在数据层面上进行数据收集、清洗、特征准备的工作,这里的数据非常纷繁复杂,包括过往历史的用户行为数据、商品销售数据、以及双11期间具体的促销信息(包括参与促销的商品种类、促销策略、满减、满赠等促销信息)。

第二方面,需要考虑算法模型层面,主要涉及三个算法:传统的时间序列算法、常用的机器学习算法以及双11期间研发完成的深度学习算法,通过反复的调试致力于将这三类算法高效地融合在一起,最终形成了一整套的算法模型解决方案。这两项工作结束之后就可以生成销售预测和各种颗粒度的预测,比如前端的商品、价格预测等细颗粒度,整个品牌、行业销售情况的粗颗粒度,还可以用于后期的产品企划。


在预测的基础之上要进行大促预热期的备货,整个双11的备货起点起始于10月中旬,但其实在这之前整个供应链的备货工作就已经展开了。为了辅助整个业务的便利性,系统进行了全局视图的项目,以期在多模块下实现跨模块的决策,各个阶段都能在统一视图进行管理,这也便于后期的复盘活动。

ff11e22fdea9fb6b603d71fe7da378046739ad35

全局可视化

补货调拨

补货调拨也是库存领域非常重要的环节之一。在这一部分,需要进行动态库存布局、转运/越库策略、预售/爆款下沉等主要活动。

首先是动态库存布局。仓网结构复杂且角色各为不同,如果想要互相支援需要考虑好两个问题:如何把库存放在离消费者最近的地方?如何平衡存货成本和时效?因此系统的将仓的结构进行多层次级别的划分,爆款放在前置仓,其他放在CDC或区域仓,这背后的原理是根据销售速度再通过算法引擎来驱动。

590f5efdc9912b5af76a96d75f58fa7991c6caed

动态库存布局

此外是转运/越库策略,这在双11期间已经得到了实践应用,入库效率显著提升。之前的工作方式是将商品统一送到CDC仓并直接上架,然后通过调拨逻辑调拨到前置仓;转运是指商品分货区分货,这样可以减少成本并提升效率;越库则在于商家分货,因此处理速度更快。

b34ca4356f97dc7eee4d4a0e5e507a1f5cd082ec

转运/越库

还有一个重要的双11项目是预售/爆款下沉,其核心思想是将商品尽可能地放在靠近消费者的地方,能够缩短发货链路、缓解区域仓的压力,而且前置仓通过原箱发货、预打包等措施能够大大提升发货效率。预售情况下,商品订单已知可以提前备货;爆款商品则会提前考察,考察维度除了销售速度还有发货速度等,后续就可以有序调拨到DC仓,能够快速拣货打包。

b8c06101a1fd6f9ca95115bf2cf0990dc870292b

预售/爆款下沉

仓配履行

仓配履行环节涉及预约配送、主动截单、订单生成调控、智能仓内操作、运配计划等动作。

预约配送是为了缓解物流压力,联动上下游在时间上对订单进行错位,在上游激励消费者选取预约配送,缓解压力的同时也能够保障时效性。

主动截单与整个仓容挂钩,需要在订单履行系统里进行截单操作,视仓库处理能力的上限来定,一旦接近上限就需要进行截单、蓄洪、然后等到压力缓解之后再下发订单,这样可以保证整个仓的生产有序进行,避免瘫痪且保护仓的产能。

订单生成调控同样以保护仓的产能为目标,这是通过控制订单生成方式来控制的,一般会采取两个方案:流量调控和营销调控,如弱化营销力度、削弱订单生成力度,以形成有序的订单生成过程,其背后的逻辑都是为了缓解仓的压力,避免爆仓。

智能仓内操作是指在仓内使用智能机器人AGV,基于一些智能化的操作来提升拣货效率。仓储往往会面临着货品摆放、拣选路径、自动化、人效提升等挑战,而机器人本身可以自我学习从而不断优化,此次双11的实践效果也表明拣货效率至少提升了三倍有余。

仓后的运配主要面临的问题是如何在满足运输要求的前提下,对现有资源实现最大化的利用。运配计划的制定和执行可以有效地削断运配路径和成本,比如在不违背单车运能、时间等相应的限制因素的前提条件,对多订单寻求最大程度的拼载策略;在出库链路,按照规模化运输的策略,通过一级/二级分拔/集货来执行干线运输等等。

商家协同

在商家端跟商家协同同样是十分重要的工作,主要包括一盘货管理、ERP订单协同&商家仓协同。首先是一盘货管理,之前的工作模式下经常会带来商家两地送货、成本较高等问题,双11融合了自营业务和平台官方旗舰店业务的供应链体系,商家只需一次送货就可以满足多售卖渠道的需求,降低了商家成本。比如雀巢的当日达、次日达占比从30%提升到了70%,跨仓发货比从60%降低到10%,运货成本和操作成本都大大降低。

53ebe16eaad3e7c7f82fd190fccca6b6278b224f

盘货管理

此外是ERP订单协同&商家仓协同系统,赋予商家更加方便快捷的订单履行决策。对于商家来说提升了决策效率,对于整个供应链体系来看多了一个商家仓的角色,所以可以将商家仓的角色也纳入到仓网体系中去,有助于统一协调外部资源,能达到更好的管理效果。

fdf5df812f49263650b806826c923331cd6ea51e

ERP订单协同&商家仓协同

未来展望

2017年的双11创造了销售奇迹,双11结束后至今整个项目组也一直在进行复盘活动,包括产品化思考、内容沉淀和反思:

  • 2018年供应链的系统模块会更复杂化,仓网结构更复杂化。在复杂度增加的情况下,应该如何更好地去平衡需求与供应的矛盾是项目一直在研究的难题;
  • 大的潮流趋势之下,需要思考如何通过大数据、IoT、社交网络等新技术实现供应链+的结合和升级;
  • 个人经验和智能学习的碰撞。智能化算法不断提出的背景下,强化学习、深度学习等新型决策机制应该与个人经验形成有机的、智能化的解决方案;
  • 供应链对实时反馈和智能化的要求不断提升,所以要更好更快地提升整体效率。
原文发布时间为:2018-01-19
本文作者:粤谦
本文来自云栖社区合作伙伴“ 阿里技术”,了解相关信息可以关注“ 阿里技术”微信公众号
相关文章
|
2月前
|
存储 前端开发 架构师
阿里资深架构师带你深入浅出JVM!
JVM = 类加载器(classloader) + 执行引擎(execution engine) + 运行时数据区域(runtime data area)
43 1
|
3月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
2月前
|
架构师 Java API
阿里P7架构师带你深入剖析synchronized的实现原理
显示锁ReentrantLock的内部同步依赖于AQS(AbstractQueuedSynchronizer),因此,分析ReentrantLock必然涉及AQS。
19 1
|
2月前
|
XML Java 数据库连接
阿里P7架构师带你修炼MyBatis
我们通过一个简单的权限控制需求(RABC,Role-Based Access Control,基于角色的访问控制),来讲解通过XML方式配置MyBatis的基本用法(即select、update、insert、delete等操作的XML配置方式)。
35 0
|
2月前
|
存储 监控 安全
阿里云云通信短信服务安全之安全架构
阿里云云通信长期致力于通过多种渠道向客户透明服务相关情况。客户一般可通过阿里云官网提出对阿里云云通信相关资质、服务使用情况、产品说明等信息,我们将7*24小时不间断处理您的建议与咨询。对于客户合理的要求,阿里云云通信服务团队均会及时响应客户的需求。同时,阿里云云通信也在探索更多增加透明度的方式,如对公邮箱、线上查询接口、钉钉服务客户群等。
|
3月前
|
消息中间件 人工智能 Java
面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青
前几天,跟个老朋友吃饭,他最近想跳槽去大厂,觉得压力很大,问我能不能分享些所谓的经验套路。 每次有这类请求,都觉得有些有趣,不知道你发现没有大家身边真的有很多人不知道怎么面试,也不知道怎么准备面试,哪怕是一些工龄比较长的“老开发”: 有的人明知道有些问题肯定会被问,面试前还不好好准备,结果要么回答得模棱两可,要么答非所问; 有的人则是不知道怎么包装自己的项目经历,结果明明还不错的项目却看上去平平无奇,过后就被面试官忘了; 更有甚者,简历写得花里胡哨,结果一问三不知,简历和经历完全对不上。
|
3月前
|
机器学习/深度学习 架构师 Java
面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?
人人都有大厂梦,对于程序员来说,BAT为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。
|
3月前
|
消息中间件 存储 架构师
鼓掌!阿里技术官亲荐“架构修炼宝典”,从基础到源码,一站到底
作为一名程序员,尽早确定自己的发展方向和路线是非常重要的,架构师则是其中的方向之一。很多程序员,奋斗大半辈子,是为了让自己成为一名合格且优秀的架构师,但是成为架构师并非一件易事,它对于技术方面的要求也是非常高的。
|
3月前
|
NoSQL Java 程序员
阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
提起阿里,行外人联想到的关键词无非是“交易”、“淘宝”、“支付宝”,但对于程序员来说,阿里庞大的技术体系才是最吸引人的。实际上阿里作为国内一线互联网公司的头把交椅,内部的技术体系和发展都是备受关注的,对于程序员来说,能够进到阿里工作,就是对自己的技术水平进行一个提升和学习。
阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
|
4月前
|
Dubbo 应用服务中间件 Docker
阿里P8架构师谈微服务架构:Dubbo+Docker+SpringBoot+Cloud
什么是微服务架构呢?简单说就是将一个完整的应用(单体应用) 按照一定的拆分规则(后文讲述)拆分成多个不同的服务,每个服务都能独立地进行开发、部署、扩展。服务于服务之间通过注入RESTful api或其他方式调用。