新零售SaaS架構:商品系統架構設計

SaaS產品就像一座冰山,冰山以上的部分是功能、數據(可見部分)、用戶界面,冰山以下是系統架構、完整的數據模型、開放體系、非功能性需求(擴展性、可維護性、性能、安全等)。

短期內想要快速上線產品,可能只需關注冰山以上的部分就夠了,但是SaaS公司想要在市場上建立長期的競爭優勢,比拼的一定是冰山以下的部分,並且在這塊的投入絕對遠超冰山以上的部分。

商品系統的定位

商品系統是零售SaaS最基礎、最核心的系統之一。商品系統幾乎需要支撐所有業務系統,例如C端商詳、購物車、訂單、履約、結算、售後、庫存、供應鏈等,都需要依賴商品系統的能力。

為了保障業務的穩定性、可擴展性,必須要重視商品系統建設,否則,後續業務和系統將很快喪失擴展性和靈活性,甚至無法支撐業務發展,必須推倒重來,付出慘痛的代價才能挽回。

商品系統的挑戰

行業需求差異大

不同行業對商品管理的需求差異非常大,想要構建成熟穩定的商品系統,需要對各行業的商品管理需求,進行深度分析。只有這樣,才能抽象出共性的規律和特徵,保障業務建模的質量。列舉一些行業差異性需求:

  • 時尚服裝:款式管理,配比、配碼管理,商品季節性管理。

  • 3C數碼:串碼管理,配件管理,售後維修。

  • 美容護膚、醫藥保健:批號管理,生產日期與有效期管理,試用品管理。

  • 生鮮行業:生產日期與有效期管理 ,生鮮加工管理,稱重商品與 PLU 碼,輔助單位管理(管理重量和數量,例如:魚,按照重量核算,以條作為輔助單位)。

支撐的業務鏈路廣

商品系統作為最基礎、最核心的系統之一,幾乎所有業務系統,都需要依賴商品系統的能力。

從業務全流程來看,需要支撐採購、配送、銷售、履約、退貨、退倉、核算、結算、數據分析等各個業務環節。

從商品生命周期的管理來看,商品狀態包括建檔、新品、正常、淘汰、清理等,各個狀態之間流轉也異常複雜。

商品關鍵概念

商品基礎

  • 平台SPU:指的是標準化產品單元,是商品信息聚合的最小單位,是一組可復用、易檢索的標準化信息的集合,該集合描述了一個產品的特性,又可稱為平台商品。

    SPU的概念來源於電商平台業務,第一個關鍵點在於,SPU模型會提取商品的共性屬性用於信息檢索,這些屬性通常是能夠快速識別商品,並且是消費者較為關心的屬性;第二個關鍵點在於,SPU的屬性是全平台標準化的,這樣才能有效保障消費者的檢索體驗與商家利益,例如,消費者搜索256G的iphone12,有填容量的商品能搜出來,沒填容量的商品就搜不出,這顯然不合理,因此平台需要規範所有商品的關鍵屬性。

  • 商品:特指商家的銷售商品,一個商家可以有很多商品,若N個商家賣同一個商品,如iphone13,該場景下有1個平台SPU實例,N個商品實例。每個商品可以有多個規格,例如大小、顏色、尺碼等。

  • SKU:SKU(為Stock Keeping Unit),指的是庫存量單位,又稱最小存貨單位。以iphone13為例,關鍵規格有顏色(黑色、紅色、銀色、金色)、容量(128G、256G、512G),可以組合出4×3=12個SKU。

商品類型

  • 實物商品:以有形實體存在,不能通過網絡來傳遞,必須依賴傳統的物流運輸系統來傳遞。例如,雞蛋、大米、手機等。

  • 服務商品:能夠實現交易的無形商品,無需物流參與,就能完成交易,例如,話費充值等。

  • 組合商品:一般指人為將幾個單獨售賣的商品組合在一起,進行合併售賣的商品,例如:下午茶套餐、七夕美妝組合等。

  • 多規格商品:代表一組SKU的商品,消費者只能選中其中某一個SKU,例如,以iphone13為例,關鍵規格有顏色(黑色、紅色、銀色、金色)、容量(128G、256G、512G),消費者選中了黑色128G的iphone13進行下單交易。

  • 預售商品:一般來說,預售商品會提前銷售,但實物還未生產,因此,預售商品不會錄入實物庫存,售出也不會扣減實物庫存。預售商品由一組原材料加工而來,加工關係一般稱作配方,因此,當預售商品扣減庫存時,實際會扣減原材料的庫存。

商品類別

  • 前台類目:前台類目是面向消費場景和用戶視角的分類,根據運營需求,靈活多變,主要用於用戶快速篩選。

  • 後台類目:後台類目是前台類目搭建的基礎,後台類目主要面向商家運營,相對穩定,不會經常變更。

  • 品牌:品牌是比較特殊的商品屬性,需要單獨進行管理。品牌是人們對一個企業及其產品、售後服務、文化價值的一種評價和認知,是一種信任。

商品屬性

商品屬性,又稱為產品屬性、商品參數,是產品本身固有的特徵。不同行業的商品,差異性非常大,有很多行業差異化屬性。根據使用目的、用途不同,商品演化出各式各樣的屬性,有的用於展示,有的用於分析,有的用於經營管控。

下面根據商品屬性不同的分類法,逐一展開描述:

  • 描述屬性:商品貨號、商品名稱、商品􏰀描述、規格、型號、產地、等級、生產廠商、商品圖片等。

  • 統計屬性:品牌、分類、系列、款式、適用人群、適用年齡等。

  • 考核屬性:一般用於組織業績考核,品牌、分類、系列等。

  • 物流屬性:長、寬、高、凈重、毛重、重量單位等。

  • 管控屬性:是否季節商品、是否保險、是否支持配送、是否支持打折、是否保質期管控、是否串碼管理等。

  • 銷售渠道屬性:不同的銷售渠道會有一些特殊的屬性,例如,美團、餓了么的最小購買數量、平台分類等。

  • 銷售屬性:也稱為規格屬性,該屬性是組成SKU的特殊屬性,直接影響到買家的購買和商家的庫存管理,例如衣服的顏色、尺寸。

商品價格

  • 指導價:廠商給出的一個出售的參考價格。

  • 銷售價:商家根據自己情況提高或降低指導價得到的最終銷售價格。

  • 渠道價格:在分渠道售賣的時候,商品的基礎銷售價格。

  • 時間價格:不同的時間,可以有不同的價格。

  • 成本價:一般特指商品的單個成本,成本價會到sku維度。

組織層級商品

  • 商品庫:零售企業操作和管理商品的總集。

  • 管理層級商品:管理層級需要操作和管理的商品的集合,管理層級有多種形態,例如區域、部門、分公司、子公司等。

  • 店鋪商品:即門店、商城等店鋪單元的商品集合。

  • 渠道商品:發佈到某個銷售渠道的商品集合,例如微信商城、美團外賣、餓了么外賣等渠道。

商品狀態

  • 商品的生命周期狀態:建檔、新品、正常、預淘汰、淘汰、清理、待歸檔等。

  • 商品的經營狀態:商品在各個業務階段,可以有不同的狀態,來控制業務的經營,例如,商品銷售狀態上架、下架。

概念模型設計

商品應用架構設計

  • 展現層:直接與用戶交互的層級,負責向用戶顯示信息,或解釋用戶命令。

  • 應用層:應用層的服務對應一個具有業務價值的場景用例,主要負責對核心服務進行組合和編排,負責處理場景用例內的執行順序以及結果的組裝,通過API網關向展現層提供服務。

  • 服務層:系統的核心層,負責表達業務概念、業務狀態以及業務規則,包含了該領域(問題域)複雜的業務知識抽象和規則定義。該層難點在於領域對象分析上,例如實體,值對象,聚合(聚合根),領域服務,領域事件,倉儲,工廠等方面的分析,成熟的領域邏輯不會有太大變化,所以服務層的業務邏輯通常是共性的、穩定的。

  • 主數據平台:主數據是跨部門、業務系統,能夠反映核心業務實體狀態的核心基礎信息。 對於商品系統而言,商家信息、組織機構、員工權限、商品數據模型是該系統依賴的主數據。

    在業務早期,主數據平台是非必須的,上層系統模塊直接從DB中讀取數據並應用即可,但隨着系統逐步複雜後,多個團隊對數據的改動會互相影響,不利於系統擴展,可用性也大大降低,因此,需要拆分出多個主數據服務,將核心數據的訪問收攏在一起。

小結

本文從商品系統的定位、挑戰、概念模型、應用架構等方面,闡述了商品系統架構設計經驗與方法,希望對讀者有所幫助。在SaaS模式下,商品技術架構也存在大量挑戰,例如可用性問題、數據一致性、大流量訪問、分店商品大批量處理、商品數據模型治理等,會在後續的文章中一一介紹。