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