B2C電子商務系統研發——商品SKU分析和設計
一、SKU及相關概念定義
在設計商品SKU之前,首先讓我們熟悉一下SKU和相關的一些概念。
# 什麽是SKU:
SKU=Stock Keeping Unit(庫存量單位)
同一型號的商品,或者說是同一個產品項目(商品條形碼是針對企業的產品
項目來進行定義的),因為產品與產品之間有某些屬性不同,用以區別開這些
不同商品的屬性即商品變異屬性,又稱作SKU屬性,因為它決定了SKU
的絕對數量。
# 參考說明
百度上有一篇文章也有闡述,可以做關聯閱讀,我就不重復貼上了。
百度SKU參考
# 什麽是SKU屬性和選項
比如某件衣服有多種顏色、多種尺碼,這些屬性會直接關聯價格和庫存的,
系統會根據該商品關聯的SKU屬性的某個組合生成SKU。
比如某個款式的襯衫,有XL/L/XXL三種大小,有紅黃藍三種顏色。
對應這裏例子,尺碼和顏色都是是SKU屬性。
對應尺碼的XL/L/XXL等,都是SKU屬性選項。
【註】上述的屬性不一定在任何時候都是SKU屬性,看實際的商品情況和設置。
比如對於尺碼,某種商品是均碼的。那麽就不需要創建尺碼這個SKU屬性了,
而是設置為普通屬性,僅作為顯示用。
# 什麽是商品SKU
商品SKU實際上就是SKU,為了避免誤解和SKU屬性混淆,我用商品SKU來命名,
表示從屬於商品的、實際銷售和存儲的子實體。
一個商品SKU,表示該商品關聯的若幹SKU屬性的的屬性值的某個組合所形成的
子實體。
如對應上面的例子,其中的一種組合 XL + 紅色 就會形成一個商品SKU。然後,
我們可以在該實體上管理價格、庫存、專門的圖片等信息。
# 什麽是商品變異
英文名:Product Variants
商品變異其實就是商品SKU,只不過在某些技術文章中這樣定義了。即以“變異”
來表達商品SKU的生成。
# 屬性集
B2C電子商務系統研發——商品SKU分析和設計(一)
Attribute Set,用於管理各類擴展屬性的集合,其中SKU屬性也是在管理範疇之內。
商品通過關聯屬性集而獲得該屬性集設置好的SKU屬性,然後才可以根據這些SKU屬性
生成商品SKU。
屬性集也成為產品類型。
常見的屬性集有:服裝、PC、家具、圖書等。
# 概念的統一
雖然不同的研究人員有不同的命名和定義,但為了在本系列文章中不出現混淆,
我對概念做了以下統一定義:
1)SKU(或稱商品SKU)指的是商品子實體。
2)商品和商品SKU是主次關系,一個商品包含若幹個商品SKU子實體,商品SKU從屬於商品。
3)SKU不是編碼,每個SKU包含一個唯一編碼,即SKU Code,用於管理。
4)商品本身也有一個編碼,即Product Code,但不作為直接庫存管理使用。
有時為了方便管理,會通過商品的Product Code作為前綴生成SKU Code。
二、SKU屬性的管理
常見有幾種情況:
- 商品獨立管理
即SKU屬性從屬於商品。
優點:基本上沒有。
缺點:這種比較不靠譜,因為會導致工作量過大。雖然可以通過“復制”功能來稍稍
簡化,但依然不會很理想。所以基本不會采用。 - 商品獨立關聯
即SKU屬性是公共的,每個商品根據自己的實際情況來關聯若幹個SKU屬性,
然後選擇若幹選項生成商品SKU。
優點:靈活,設置好了若幹SKU屬性和相關選項後,由商品自行選擇相關的組合。
缺點:太靈活了,容易出錯。比如對於顏色這個SKU屬性而言,由於是公共的,所以
會定義數十個,甚至更多,但是對於ipad而言,其實只需要2個即可。這種
管理方式,無法從源頭控制商品添加時SKU屬性和選項的範圍。 - 通過屬性集管理
即SKU屬性依附屬性集存在,不存在可以從屬於多個屬性集的SKU屬性。
優點:容易進行嚴格的管理,不易出錯。比如同樣是命名為“顏色”的SKU屬性會存在多個
(屬性ID/編碼不同),但是對於ipad的只需要2個選項(黑、白),對於服裝則會很多。
缺點:屬性集管理的工作量會稍大,適合屬性集不多的系統。 - 通過屬性集關聯
即SKU屬性是公共的,通過屬性集關聯。
優點:這種方式重用性不錯,對於SKU選項較多的,會簡化工作量。
缺點:由於SKU屬性是公共的,所以會存在上面第2點的缺點。但我們也可以通過設置多個
同名、但編碼不同的SKU屬性,如多個“顏色”SKU屬性,但是選項不同。 - 創建獨立的SKU屬性集
即設計一個獨立的SKU屬性集的實體,關聯或者直接管理SKU屬性。
這種方式也是挺不錯的。因為雖然各種商品類型之間產品特性會有較大的不同,但是SKU屬性
卻有可能差異不大。比如對於服裝、ipad都存在通過顏色來區分SKU,但是ipad只需要2種選項
(以後也許微調為3~4種等),而服裝則很多了。
三、我的選擇
上面介紹了五種形式,我個人傾向第4和第5種,上一篇文章的ER圖也改成了第4種的形式,比較符合
常見的思路。第5種也是不錯的。可以在接下來的設計分析一下。
筆者研究過不少電子商務平臺軟件,關於SKU的設計各有不同,之所以有這樣的區別,是因為面向不同規模的電子商務網站,
存在產品分類復雜度,產品數量級的差異。一種設計方式對於百貨式的網站,如京東、淘寶等,也許比較方便,但也許對於一個
專賣服裝的小型時尚類網站就不夠方便了。
- 我們先看一下麥包包的
女包:http://item.mbaobao.com/pshow-1209056501.html
手包:http://item.mbaobao.com/pshow-1209050001.html?s=gl_4f_2
可見SKU很簡單,就是顏色,至於尺寸,麥包包並沒有作為SKU選項來管理,而是作為不同的產品來處理。
- 再看一下凡客www.vancl.com
時尚印花短款羽絨服
學院風經典連帽印花羽絨服
SKU相對簡單,主要是顏色和尺碼。但是看多幾個產品會發現,即使是同一個品類下面的顏色和尺碼均會出現不相同的情況。至於
顏色圖片更是各有不同。
- 再看一下京東的SKU:
華碩EeePad:http://www.360buy.com/product/492015.html
蘋果iPad2:http://www.360buy.com/product/386365.html
其中”版本“SKU屬性,兩個產品下面的可選項完全不同。
京東的SKU更為復雜了,即使是同一個三級品類下面,也有差異。如果預設置好SKU屬性(”版本“)和它的可選項(64G/32G/
16G/32G旗艦版/32G標準版/16G旗艦版/16G標準版)等,那估計會比較多可選項。這種類型,分開多個SKU屬性管理會比較合適。
針對這三種常見的網站,其中麥包包和凡客其實比較類似,只是麥包包做了些簡化,但這兩種可以歸納為一種設計方式,這樣
B2C電子商務系統研發——商品SKU分析和設計(二)
SKU屬性的設計,便可以分為兩類了:
- 通過屬性集關聯SKU屬性
適合品類較少的網站,管理容易些。
如麥包包等專賣箱包或者服飾類的網站。一般就是顏色+尺碼兩種。而且由於品類很少,為了方便管理,可以將SKU屬性納入到屬性
集中管理,這樣產品關聯了屬性集後,自然就關聯了普通屬性、查詢屬性、SKU屬性和評論屬性了。
對於上圖,如果該網站產品種類很少,比如只賣服裝,那麽可以做進一步的簡化,即直接將SKU屬性從屬關聯屬性集,去掉
”屬性集關聯SKU“。
基於本設計的管理方式:
按品類創建屬性集,如箱包、鞋子、服裝、文胸等。然後創建多個SKU屬性,即使針對內涵相似的,但是可選項不同的也創建
多個,如尺碼,用在箱包和用在服裝上是完全不同的。這些分別創建,並關聯不同的屬性集。
產品創建時,關聯一個屬性集,通過屬性集關聯了1~N個SKU屬性,然後選項這些SKU屬性的組合,如2個顏色*3個尺碼,
即6個組合,然後可以根據需要刪除不支持的組合,這樣最終得出了一個組合列表,點擊”生成SKU“,就根據組合數量創建了產品
SKU,每個產品SKU對應一個組合,存儲在產品SKU選項值表中。對於某些SKU,可以設置專門的選項配圖。
- 產品和SKU屬性直接關聯
適合品類很多網站,比較靈活,但是維護起來數據量比較大。
為了簡化,我增加SKU屬性關聯產品分類(可為空,表示是全局的),這樣在創建產品時,可以只列出全局的+本產品分類的
SKU屬性,這樣就不會一下子列出很多SKU屬性了。
SKU屬性分為前端名稱和後臺名稱兩個,方便不同業務含義的SKU屬性,在前端也能夠用同一個名稱顯示,如顏色、容量等。
另外在操作上可以做些優化,比如用下拉列表顯示可選的SKU屬性時,可以同時顯示該屬性的屬性描述,供產品維護人員參考。
對於上面兩個圖的數據表設計,筆者就不在細化了,讀者可以自行根據實際需要進行細化,要註意的是,基於SKU方式來管理產品時,
產品的價格、庫存和圖片等信息必然是放在產品SKU表中處理的,和訂單、購物車等表的關聯,也是通過產品SKU表,而不是產品表。
至於產品表,實際上是一個總的業務匯總和外部關聯表,但實際銷售的並不是它。
有些網站做的更細些,會就每個產品SKU生成獨立的URL(偽靜態),這裏見仁見智了,但從SEO方面考慮,每個產品SKU擁有獨立
的鏈接對收錄和排名會更有優勢些,可以考慮。
B2C電子商務系統研發——商品SKU分析和設計