新零售SaaS架構:中央庫存系統(tǒng)架構設計
如今,線上線下渠道融合已經(jīng)成為了大趨勢,這對零售企業(yè)的全渠道庫存是個很大的挑戰(zhàn)。本文作者對中央庫存系統(tǒng)的架構設計進行了分析,與你分享。
近年來,越來越多的零售企業(yè)大力發(fā)展全渠道業(yè)務。在銷售額增長上,通過線上的小程序、直播、平臺渠道等方式,拓展流量變現(xiàn)渠道。在會員增長方面,通過多樣的互動方式,全渠道觸達消費者,擴大會員規(guī)模。而全渠道的庫存管理,逐漸變成零售商在渠道運營方面的核心活動,也是提高庫存周轉率,保證利潤的關鍵所在。
在全渠道模式下,各渠道必須有足量的商品來滿足客戶需求,同時需有效管理總庫存,平衡各渠道庫存,以減少缺貨或者滯銷的情況發(fā)生。
一、全渠道模式下,庫存管理面臨的挑戰(zhàn)
在線上線下渠道融合的大背景下,零售企業(yè)如果沒有管理好全渠道庫存,會帶來諸多問題:
- 各渠道庫存割裂,進行線上線下促銷活動時,商品超賣,引起客訴。
- 各渠道庫存分配不合理,要么缺貨,要么庫存積壓。
- 各渠道庫存數(shù)據(jù)更新不及時,有貨卻不能下單,銷售機會大量流失。
- 各地庫存數(shù)據(jù)分散在各系統(tǒng)中,數(shù)據(jù)不通,無法知曉庫存分布情況,無法統(tǒng)一采購/調撥。
- 無法根據(jù)用戶的下單信息,進行智能分倉、就近發(fā)貨。
二、中央庫存系統(tǒng)的定位
向下對接各地倉庫/門店庫存,將各地庫存放在“一盤貨”里,進行管理、統(tǒng)一調配。
向上打通所有銷售渠道平臺,實現(xiàn)全渠道庫存共享、自動化運營。
三、中央庫存系統(tǒng)的關鍵概念
1. 中央庫存整體業(yè)務框架
中央庫存體系將庫存管理分為三層,銷售層、調度層、倉庫層,實現(xiàn)庫存利用最大化,支持多倉多渠道模式下的各種業(yè)務場景。
1)倉庫層
倉庫層的定位是管理倉庫庫存,一般使用倉庫WMS、門店系統(tǒng)或ERP系統(tǒng)來管理倉庫的進銷存,通過出入庫單據(jù)變更倉庫庫存數(shù)量。
倉庫庫存的關鍵屬性包括:貨主、倉庫/門店、SKU、批號、生產(chǎn)日期、庫存狀態(tài)、庫位等。
- 貨主:貨物所有權的擁有者。
- 倉庫/門店:存儲貨物的邏輯單元,這里需要與物理世界的倉庫區(qū)分開,可能一個物理倉庫包含多個邏輯倉庫單元。
- 批號:用于區(qū)分每一批投料生產(chǎn)出來的產(chǎn)品,為了事后能追蹤這批產(chǎn)品的責任,每一批產(chǎn)品都有相應的批號。
- 生產(chǎn)日期:生產(chǎn)線包裝出可銷售的成品的日期與時間。
- 庫存狀態(tài):描述庫存在不同業(yè)務場景下的不同狀態(tài),例如,可用、凍結、在途、不良品、廢品等。
- 庫位:一般是指在工廠倉庫中實際存在的庫位,比如一個個的貨架。同時也是SKU庫存的最小粒度。
2)調度層
調度層的定位是匯總各倉庫/門店的所有庫存狀態(tài)的庫存總量,但不同于倉庫庫存,調度層的實物庫存無需管理批號、庫位等細粒度的庫存維度,只需要管理每個庫存狀態(tài)下的實物庫存總數(shù)即可,這是一種解耦的設計方式。
實物庫存的關鍵屬性包括:倉庫/門店、SKU、庫存狀態(tài)等。關鍵概念包括:
- 在途庫存:指供應商發(fā)貨但還未入庫的庫存,有時為了擴大銷售機會,在途庫存也會用于擴大銷售庫存數(shù)量。
- 可用實物庫存:倉庫實際可用于銷售的庫存。
- 不可用實物庫存:即對應倉庫中的不可用庫存。
- 銷售預占庫存:訂單提交并分倉成功后,會預占對應倉庫的庫存,訂單取消或發(fā)貨后,會扣減預占庫存。
- 銷售可用庫存:銷售可用庫存=可用實物庫存-銷售預占庫存。
3)銷售層
銷售層的定位是管理各個銷售渠道的渠道庫存,為銷售平臺提供庫存計算與庫存同步的服務,并通過各種渠道庫存分配策略進行庫存分配,防止超賣,保障利潤最優(yōu)。
銷售庫存的關鍵屬性包括:
- 銷售渠道:包括自營的網(wǎng)店、門店線下渠道,天貓,京東,美團,餓了么等三方平臺等。
- 銷售店鋪:銷售的店鋪或門店。
- 發(fā)貨方式:快遞、同城配送、自提。
- 配送區(qū)域:由于各個倉庫覆蓋的配送區(qū)域不一樣,所以SKU能支持的配送范圍也不同。
銷售庫存的關鍵概念:
- 銷售可用庫存:按照倉庫/門店的供貨關系、渠道庫存分配策略進行計算匯總的可銷售的庫存數(shù)量。訂單提交成功扣減銷售可用庫存,當調度層的實物庫存更新,需要觸發(fā)銷售層重新計算銷售可用庫存。
- 預售庫存:如果商品未到貨,可以開啟預售模式,提前售賣。實物庫存與預售庫存是隔離開的,當實物到貨后,預售庫存統(tǒng)一推到實物庫存進行履約。
- 預占庫存:訂單已提交但未支付之前,為給顧客預留商品,會先預占商品庫存,待支付以后再刪除預占庫存、扣減可銷售庫存。若長時間未支付,則會取消訂單,釋放預占庫存。
- 活動庫存:針對某些SKU做促銷活動時,例如特價、秒殺活動,需要設置活動庫存,可以從正常庫存中預留部分庫存,活動開始后釋放預留庫存。如果活動商品的下單數(shù)量等于活動計劃的庫存總數(shù)量,則活動終止?;顒佑唵闻c普通訂單,在庫存處理邏輯上是一模一樣的。如果沒有特殊要求,沒必要單獨把活動庫存單獨分出來,作為獨立的業(yè)務處理,這樣會多出兩套庫存邏輯,三層庫存架構需要都獨立分開處理,極大地增加了復雜度。
- 預留庫存:若需要提前為某些促銷活動預留庫存,以免活動開始以后庫存不足,可設置預留庫存。
- 可售庫存 = 預售庫存+銷售可用庫存 – 預占庫存 – 預留庫存。
銷售渠道層:
銷售渠道層代表各個銷售渠道平臺,包括自營的網(wǎng)店、門店渠道,天貓,京東,美團,餓了么等三方平臺等。
邏輯模型設計:
2. 庫存的核心場景
1)調度層同步邏輯
調度層的實物庫存來自各個倉庫的庫存,一般有兩種同步模式:
- 流水同步模式:適用于內部系統(tǒng)打通,能夠獲取倉庫/門店的庫存流水,通過回傳流水,變更調度層的實物庫存數(shù)量。這樣做的好處是,有很清晰的實物庫存流水變更記錄,便于追查到每次庫存變化的明細,需要注意做好冪等處理,避免重復同步導致庫存數(shù)量變更出錯。
- 數(shù)量同步模式:適用于外部系統(tǒng)對接,一般獲取不到詳細的庫存流水,通過商家后臺或系統(tǒng)對接的方式同步庫存實時數(shù)量。
2)銷售庫存計算邏輯
在新零售的多倉多渠道模式下,為了實現(xiàn)全渠道庫存共享,庫存匯總為“一盤貨”管理,要充分考慮各個倉庫/門店的特性,包括支持的發(fā)貨方式,配送范圍等,為了合理分配庫存,需要考慮各個銷售店鋪的庫存占比。下面針對幾種常見的場景,說明銷售庫存的計算邏輯。
多倉供貨場景:
門店A、門店B為兩個線下門店,門店A有100件iphone14,門店B有50件iphone14。
假設商家有1個天貓旗艦店,門店A、門店B均給天貓店供貨。
天貓旗艦店僅支持快遞發(fā)貨方式,為了防止超賣,設置快遞的最大分配比例為80%。
如圖例所示,最終天貓渠道的iphone14的庫存數(shù)量為120,并定期將數(shù)量同步到天貓平臺。
單倉給多店供貨場景:
商家有1個電商倉,為商家的各個電商平臺店鋪提供倉儲服務與發(fā)貨服務,電商倉有100件iphone14。
電商倉同時為京東旗艦店、天貓旗艦店供貨,兩個店鋪僅支持快遞發(fā)貨方式,最大分配比例分別為80%、60%。
如圖例所示,最終京東渠道的iphone14的庫存數(shù)量為80,天貓渠道的iphone14的庫存數(shù)量為60。
門店全渠道庫存共享場景:
隨著新零售線上線下渠道加速融合,門店線上線下全渠道銷售,已經(jīng)成為大部分零售商家的標配。
受益于微信生態(tài)和小程序電商的高速發(fā)展,越來越多的門店開啟了云店模式,云店實際上就是門店的線上化交易渠道,或者稱為門店的“線上貨架”。
連鎖企業(yè)把線下門店嫁接到微信生態(tài)中,將門店所有商品上架到云店小程序。借助云店,消費者無需到店,即可享受到門店的服務,同時,門店的導購可以向自己的會員推薦所有云店商品。
如圖例所示,門店A有100份的草莓蛋糕,門店A為自己供貨,并共享草莓蛋糕的庫存到多個銷售渠道(美團外賣、云店、門店線下渠道),實現(xiàn)門店“一盤貨”全渠道銷售。
3)渠道庫存同步
銷售庫存計算完后,需要將渠道庫存同步到各個平臺渠道,這樣,消費者才能完成交易流程。根據(jù)渠道類型不同,渠道庫存同步有兩種處理邏輯:
- 自營系統(tǒng):如果自營渠道與庫存系統(tǒng)是一體的,即一套系統(tǒng),那么不需要過于復雜的庫存同步邏輯,自營渠道直接讀取中央庫存系統(tǒng)的渠道庫存即可。
- 三方平臺系統(tǒng):像天貓,京東,美團,餓了么等,這些三方平臺系統(tǒng)屬于外部系統(tǒng),商家自身無法管控,就需要通過開發(fā)API,向三方平臺同步渠道庫存。一般而言不會實時同步渠道庫存,即只要有庫存變動,就計算渠道庫存,同步至三方平臺。這種方式對系統(tǒng)壓力較大,而且三方平臺的API大多會按調用量收費,因此,會設定好時間間隔,定期同步渠道庫存,例如5分鐘一次。
4)組合商品庫存計算
組合商品一般指人為將幾個單獨售賣的商品組合在一起,進行合并售賣的商品,例如:下午茶套餐、七夕美妝組合等。
組合商品會先在調度層,根據(jù)組合比例計算好虛擬庫存,不影響子商品的供貨邏輯,下單時,會根據(jù)組合商品標識,進行子商品的實物庫存預占、扣減。
如圖所示,電商倉中,商品A有150件,商品B有200件,根據(jù)組合關系,可以算出組合商品C有100件。當下一單商品C時,會預占1件商品A+2件商品B的實物庫存。
3. 中央庫存系統(tǒng)的應用架構設計
四、小結
本文介紹了在全渠道模式下,庫存管理面臨的挑戰(zhàn)。針對挑戰(zhàn),詳細介紹了中央庫存系統(tǒng)的整體業(yè)務框架,涉及的關鍵概念,以及庫存核心業(yè)務場景的處理邏輯,最后簡單介紹了中央庫存系統(tǒng)的應用架構設計。期望對讀者有所幫助。
本文由 @湯師爺 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
銷售層,預占庫存沒看出有什么實際作用,大佬幫忙解惑
實際上是不需要的。
銷售層的庫存一般都是用戶在瀏覽下單時的,商品詳情頁的頁面庫存。
1.銷售層的庫存來源有2種。第一種就是樓主設計的-通過調度層計算出來,推給銷售層;第二種就是運營自己到店鋪后臺手動設置的銷售庫存;
2.銷售層的庫存占用,中央庫存系統(tǒng)是管理不到的,也不需要管理的。不同電商平臺對庫存占用的邏輯都不一樣,不好抽象;
3.中央庫存只需要關心,能把實際可用庫存及時準確的推送到渠道店鋪就好,至于銷售層怎么占用怎么扣減,不需要關心。只需要關心物理庫存的出入庫、調撥等流水變化的場景就好了
再補充一點,調度層庫存也不需要實時同步庫存給銷售層,雙11高峰期,系統(tǒng)性能會被拉爆。只要設置一個預警水位配置項,當銷售庫存觸達到預警水位,觸發(fā)調度層計算同步庫存就可以了?!獋€人想法
4.而且
想問下,那各個渠道的可用庫存怎么展示?按照最大售賣展示嗎?如果是這樣的話那比如京東還沒售賣,但因為天貓售賣了,京東的可用庫存因為動態(tài)計算發(fā)生了改變,那從京東的角度,他們的“可用庫存”就憑空消失了,這個不就很奇怪了。
想問下,如果單品組合了套裝賣,店鋪上同時上架單品和套裝,那么這時候庫存怎么去分配和鎖定呀?
1.前提:系統(tǒng)在創(chuàng)建組合品的時候,會另外生成一個組合品的SKU,且組合品也是有庫存的,組品和單品是支持同時售賣的,但是需保證不會超賣。
2.分配&鎖定:根據(jù)SKU占用/扣減。如果說是組合SKU 那占用的就是組合SKU的調度層庫存;單品的話就是單品的調度層庫存。
3.訂單出庫:OMS需要把SKU信息給到WMS創(chuàng)建出庫單據(jù),這個時候給的一般都是單品的SKU。如果組品是2A+B,我我們就會給A*2,B*1。庫內作業(yè)就根據(jù)這個出庫;
4.中央庫存系統(tǒng)感知到實物庫存變化后,重新計算組品庫存和單品庫存。就可以閉環(huán)啦
1.前提:系統(tǒng)在創(chuàng)建組合品的時候,會另外生成一個組合品的SKU,且組合品也是有庫存的,組品和單品是支持同時售賣的,但是需保證不會超賣。
2.分配&鎖定:根據(jù)SKU占用/扣減。如果說是組合SKU 那占用的就是組合SKU的調度層庫存;單品的話就是單品的調度層庫存。
3.訂單出庫:OMS需要把SKU信息給到WMS創(chuàng)建出庫單據(jù),這個時候給的一般都是單品的SKU。如果組品是2A+B,我我們就會給A*2,B*1。庫內作業(yè)就根據(jù)這個出庫;
4.中央庫存系統(tǒng)感知到實物庫存變化后,重新計算組品庫存和單品庫存。就可以閉環(huán)啦
訂單下來后,中央庫存預占了,如果此時倉儲庫存盤虧了,盤虧扣減流水到中央庫存,中央庫存沒有庫存可減【被預占了】,這種場景就超賣了….
倉庫域不用么,記錄同步來的倉庫流水
這里面寫到的京東銷售庫存80,天貓銷售庫存60,但是店鋪總共庫存100,這個是怎么理解呢?是指京東最大賣80,天貓最大賣60,如果天貓賣了30,就要從100-30里面去判斷,京東最大可賣的就只有70了,是這個意思嗎?
是的,天貓最多賣60,如果天貓賣完了60,京東就只能賣40了。誰先賣,誰就先占用庫存,直到庫存被用完。
因為天貓和京東設置的總量140已經(jīng)超過實際的庫存100,為了不超賣,是不是還得任一個平臺產(chǎn)生銷售后,還得重新計算比例,并且更新到其他平臺去啊
是的,要動態(tài)按比例計算