一、案例綜述
案例編號:
102002
案例名稱:
零售行業——電商女裝銷量描述與分析
作者姓名(或單位、或來源):
朱江
案例所屬行業:
F523 紡織、服裝及日用品專門零售
案例所用軟件:
Rstudio
案例包含知識點:
案例描述:
目前網絡購物異常的火爆,發展迅猛,基于數據分析的
精準營銷需求也隨之增加。目前網絡購物的幾個特點是:私人消費增長中網絡消費占的比重越來越大;移動端購物占網絡購物的比例越來越大。
目前服裝行業的最大類目是女裝行業,不難理解相比于男裝女裝更新速度快、受眾廣以及品類多樣,而女裝行業中銷售額占比最高的5個子類依次是:連衣裙、T恤、襯衫、休閑褲及毛針織衫。
于是我們針對連衣裙零售業,從某線上購物網站獲得月銷售量不低于99筆的連衣裙商品信息,共有5880個商品,每個商品包含自身的一些屬性、交易信息、商品所屬店鋪的信息以及評價信息。
通過這些商品信息,我們可以進一步分析暢銷連衣裙有什么共性,即有什么樣性質的服裝會更容易暢銷,銷量跟什么因素相關。借此我們可以把握整個市場的宏觀
特征,發掘高銷量服裝共性,找到影響銷量的顯著因素,并且量化這些顯著因素。從而指導賣家更合理有效的捕捉流行趨勢、定位市場、合理管理庫存以及更改營銷策略。
數據文件說明:原始文件是從某線上購物網站獲得的經過處理的99個csv文件,這些文件包含所有六千個左右商品的信息,包含16個
特征,可以分為三大類:
1.無用
特征:數據獲取日期、獲取時間、商品id、店鋪名、平均價格、評論數、店鋪半年內動態評分、累計評價匯總。
2.商品相關信息:商品名稱、商品價格、產品描述、月銷量。
3.店鋪信息、店鋪評分。
無用
特征中有些是基本不含有有價值信息的
特征如時間、id、店鋪名、平均價格,有些是重復且難以抽取有用信息的
特征例如店鋪動態評分,有些是預測后才能產品推行后才能獲得的數據例如評論數、累計評價匯總。由于我們的目的是在產品推行前給出合理的建議提高產品銷量,這些產品推行后的信息要么無法改善要么很難量化,故而歸為無用
特征。
本案例包含如下知識點:
1.讀取多個同格式的數據文件,并且合并
2.數據篩選,主要是字符變量的處理和關鍵信息提取
3.制作詞云
4.根據關鍵詞生成新數據
案例執行形式:
單人上機
二、案例知識點:
知識點1:
知識點名稱:R讀入多個數據文件并且合并
知識點所屬工作角色:
數據導入
知識點背景:
使用R同時導入多個相同格式的csv文件,并且橫向合并這些文件
知識點描述
與讀入單個文件不同,讀入多個文件需要先列出所有要讀取的對象,然后采用apply函數族循環讀取,再講讀取結果合并
知識點關鍵詞:
知識點所用軟件:
Rstudio
操作目的:
R讀取多個csv文件并合并
知識點素材(包括數據):
tmall1.csv,tmall2.csv,tmall3.csv,……,tmall98.csv
操作步驟:
1.啟動Rstudio
2.將數據文件夾Text3拷貝至工作目錄下,設置當前工作目錄到Text3文件夾
3.清空當前全局環境中存儲的所有變量,釋放內存空間
4.列出工作目錄下包含的所有文件的文件名,注意這里要通過
正則表達式指定讀取的文件名格式
5.通過apply函數族循環讀取列出的所有文件名,并且放在一個列表中
6.將列表中所有的元素橫向合并,注意這里使用到do.call函數
7.將讀取的文件寫入”total.csv”
操作結果:
存儲在內存中的數據框如上圖,并且得到包含所有數據的total.csv文件
將R代碼文件保存為readdata.R以備后續使用。
知識點小結:
本案例巧妙的通過提取文件名并且運用apply函數族簡單快讀的讀取了多個數據文件到一個列表中,并且在避免循環的前提下使用do.call合并了所有數據
知識點2:
知識點名稱:數據篩選
知識點所屬工作角色:
知識點背景:
1.對缺失值進行處理
2.從字符串中提取有用信息
3.根據之后描述性分析、探索性分析及建模需求,對數據進行合理的轉化和處理,使得數據更具解釋性
知識點描述
1.去除帶缺失值的行
2.從字符串中提取有用信息
3.采用函數對變量進行計算生成新的變量。
知識點關鍵詞:
知識點所用軟件:
Rstudio
操作目的:
1.處理缺失值
2.從字符串中提取有用信息
3.因子變量標簽轉換,生成新的因子變量
知識點素材(包括數據):
total.csv
操作步驟:
1.啟動Rstudio
2.讀取數據total.csv
3.提取價格變量,提取銷量變量中的數字,去除缺失值
4.去掉沒有描述的商品,賦值給新的變量
5.分割產品描述,以回車和冒號分割
6.剔除非年齡信息
7.提取年齡
8.保存數據到csv文件
操作結果:
剔除了空元素在的行,通過字符變量處理生成了年齡變量
保存到新的數據文件
知識點小結:
一般從網站獲取的數據都不夠規整,如果獲取大段的文字信息在一個觀測中,字符處理就需要盡量全面的考慮所有情況,也要細致的核對結果。
包含大量字符的數據框寫入csv文件時可能需要將所有數據統一轉換為字符格式。
知識點3:
知識點名稱:制作詞云
知識點所屬工作角色:
詞云
知識點背景:
在處理一系列文本信息或者字符信息對應的詞頻分布時,詞云這種描述方式顯得非常直觀易懂,能夠清晰的分辨出前幾個重要詞以及次重要詞
知識點描述
詞云 描述性分析
知識點關鍵詞:
詞云 描述性分析
知識點所用軟件:
Rstudio
操作目的:
刪除非中文字符及關鍵詞
制作詞云
知識點素材(包括數據):
totalold.csv
操作步驟:
1.讀取文件,提取商品名稱所在的向量
2.刪除非中文字符
3.結巴分詞,查看詞頻
4.去除無意義關鍵詞
5.選擇色系,字體,繪制詞云
操作結果:
繪制詞云得到詞云圖,從中找到關鍵標簽,每次詞云顯示的效果不同,最好多做幾次取標簽,結果如下
提取六個關鍵標簽:新款、修身、韓版、中長款、顯瘦、印花。選擇若干進行后續分析。
知識點小結:
詞云分析一般先要對字符型變量進行清洗,分詞,根據停用詞詞典去詞,找到詞頻分布,然后根據詞分布做詞云圖
知識點4:
知識點名稱:提取關鍵詞生成新數據
知識點所屬工作角色:
知識點背景:
提取關鍵詞生成新變量
知識點描述
知識點關鍵詞:
分詞 生成新變量
知識點所用軟件:
Rstudio
操作目的:
提取關鍵詞生成新變量
知識點素材(包括數據):
totalold.csv
操作步驟:
1.讀取數據
2.提取商品名稱列,刪去非中文字符,分詞,使用分號隔開
3.在商品中提取關鍵詞“韓版”,包含“韓版”的商品標記為1,其他為0,生成新變量“是否韓版”。對于其他關鍵詞:“新款”、“顯瘦”、“中長款”、“印花”、“修身”同理
4.提取銷量中的數字,根據需要的變量生成新的數據框
5.將數據寫入totalold.csv和keywords.csv
操作結果:
知識點小結:
通過
數據清洗,提取關鍵詞生成新變量的過程,可以生成規整清洗的新的數據表格,方便之后的描述和推斷。
知識點5:
知識點名稱:描述性分析
知識點所屬工作角色:
描述性分析
知識點背景:
描述性分析的目標主要在于描述數據集的大致變化趨勢和相關關系
知識點描述
描述性分析
知識點關鍵詞:
描述性分析 ggplot2
知識點所用軟件:
Rstudio
操作目的:
通過描述性分析分析銷量的分布情況以及各銷量對票房的影響
知識點素材(包括數據):
totalold.csv
keywords.csv
total.csv
操作步驟:
1.讀取數據
2.提取銷量和價格,查看銷量分布,去除不關心的小于100銷量的產品,對銷量重新分區,ggplot2繪圖觀察
可見月銷量在100至150件之間的連衣裙占比34.8%,分布明顯右偏,月銷量高于250的商品數量分布相對比較平均
3.將價格這一連續變量離散化,使用ggplot2制圖
4.繪制年齡和對數銷售量的條件箱線圖
其中:箱體寬度代表不同年齡層的商品數量比較;25-29周歲年齡群對應的商品數量居多(57.8%),高銷量商品也較多;青少年及老年消費者對應的商品數量較少,但是平均銷量高,值得關注;各個年齡層之間的銷售量沒有明顯差異。
5.觀察是否顯瘦和銷量分別在全年齡段和25-29年齡段上的關系,分別做兩個條件箱線圖,并且放在一張圖上
可見:“顯瘦”特質在整體上對銷量有一定的促進作用;25-29周歲年齡群的女性“顯瘦”特質的促進作用較為顯著
6.觀察是否新款和銷量分別在全年齡段、25-29年齡段上以及35-39年齡段上的關系,分別做三個條件箱線圖,并且放在一張圖上
其中,“新款”特質在整體上對銷量有一定的促進作用,25-29周歲年齡群的女性更加偏好該特質,35-39周歲年齡群的女性對該特質無感甚至有輕微的負面反應。
?
7.觀察是否中長款和銷量分別在全年齡段、18-24年齡段上以及40-49年齡段上的關系,分別做三個條件箱線圖,并且放在一張圖上
可見,“中長款”特質對銷量的促進作用相較之前明顯更好些,18-24周歲的青年人群中尤為受歡迎,40-49周歲年齡群的女性對該特質仍有一定的好感但是特質影響明顯小些
8.觀察是否韓版和銷量分別在全年齡段、18-24年齡段上以及35-39年齡段上的關系,分別做三個條件箱線圖,并且放在一張圖上
可見,“韓版”特質對銷量有明顯的正向影響,35-39周歲年齡群的女性尤為暢銷,18-24周歲年齡群的女性對該特質無感。
9.通過上面對商品屬性的特定
特征描述性分析,可以得到如下幾個小結:
i.月銷量100-200筆的商品數量較多,且隨著商品單價的上升有下降趨勢
ii.各年齡層的平均銷量差異并不明顯,25-29周歲年齡層消費的商品數量較多
iii.從商品名稱中提取關鍵標簽,發現“顯瘦”、“新款”、“中長款”、“韓版”特質整體對銷量都有不同程度的積極作用。并且不同年齡層對銷量的影響不同
10.讀取原始數據total.csv,使用
正則表達式提取地點(市)的關鍵詞,并且只保留商家較多的市
11.構建地點和銷量數據集,并且通過中位數調整地點數據,排序
12.繪制地點銷量圖
其中,武漢的商品是最少的(0.88%),但是商品平均銷量最高;杭州商品數量最多(24.4%)且平均銷量較高,優勢較明顯;廣州、深圳,尤其是上海商品數量較多但是平均銷量卻一般
?
13.觀察開店時間對銷量的影響,先提取數據,在生成新的年份向量,最后制圖
14.觀察物流、服務、描述評分與銷量的箱線圖,去除缺失值,將評分因子化,合并4.6以下的評分
可見,店鋪各項評分均較大程度的集中在4.7或4.8;評分4.7的店鋪平均銷量最高;店鋪評分低于4.7的商品數量較少且月銷量較低
操作結果:
見操作步驟中每一部分的輸出圖形
小結:
1.武漢、東莞等少數城市雖然商品數量較少但是商品銷量卻居全國前列
2.杭州商品數量最多(24.4%)且平均銷量較高,屬于熱點城市
3.店鋪成立時間對銷量不會產生明顯的影響
4.高銷量連衣裙所屬的店鋪評分集中在4.7和4.8,其中4.7的店鋪平均銷量最高,評分4.7以下的店鋪商品銷量較少(很難達到100以上),很難入選該數據集
知識點小結:
通過數據描述性分析過程可以很直觀的得到一些基本的結論,這些結論能夠很好的幫助我們發現數據之間的內在關系
知識點6:
知識點所屬工作角色:
多元回歸分析
知識點背景:
2.得到系數并且進行初步的觀察和解釋
3.加入交互項改善模型擬合度
知識點描述
知識點關鍵詞:
知識點所用軟件:
Rstudio
操作目的:
2.得到系數并且進行初步的觀察和解釋
3.加入交互項改善模型擬合度
知識點素材(包括數據):
totalold.csv
操作步驟:
1.讀取數據,生成用于建模的新數據表格
用于分析的數據說明如下
2.回歸分析
結果分析:
R-squared: 0.05463,Adjusted R-squared: 0.05353??梢婎A測性很差。參考價值僅在于相關性不在于預測性。
模型總結(顯著性水平選擇0.05):
1.價格對銷量有負面影響,符合預期。由于價格和銷量均經過取對數處理,則對應的回歸系數體現了銷量對價格的彈性,即價格增長1%,連衣裙月銷量相應的減少約0.234%
2.“韓版”、“新款”、“顯瘦”、“中長款”均對銷量有正面影響,其中“中長款”、“顯瘦”對銷量影響較為明顯,“中長款”特質能有效提高約銷量月12.4%;“顯瘦”特質提高11.6%。對應回歸系數體現銷量的增長率
3.年齡和“是否新款”對銷量的影響并不是很顯著
4.基于描述性分析的判斷,考慮加入年齡和各項標簽的交互項
5.加入交互項后,變量描述如下
進行回歸分析如下
結果分析:
R-squared: 0.05791,Adjusted R-squared: 0.0560??梢姅M合優度并沒有增加多少。參考價值僅在于相關性不在于預測性。
模型總結(顯著性水平選擇0.05):
1.價格對月銷量的影響與未交交互項時基本一致
2.年齡、“新款”對銷量無影響
3.“顯瘦”、“中長款”對銷量的正面影響依舊顯著,且相較之前系數變大即影響作用增強?!帮@瘦”會根據年齡層不同對銷量產生不同影響,隨著年齡的增加,“顯瘦”對銷量的影響作用減弱。
4.“中長款”隨著年齡的變化對銷量無影響
5.“韓版”在加入交互項后對銷量產生負面影響,但是隨著年齡的的增長對銷量的影響作用增強
綜上得到的結論
1.對商品標簽進行詞云分析能夠提取對銷量有顯著影響的因素:顯瘦、韓版、新款、中長款?;貧w分析近一步將其效應化
2.以上商品屬性對銷量的影響均會隨適用年齡層的變化而變化,通常25-29周歲和35-39周歲年齡層對其最為敏感,具體量化指標由回歸分析中的交互項系數體現
3.商品所在店鋪信息對商品銷量亦有預測作用:并非店鋪評分越高商品銷量越高,高銷量易集中在中檔評分;同時可觀察到店鋪所在地與商品銷量的相關性,可進一步考察典型城市
操作結果:
見操作步驟中的總結部分
知識點小結:
多元回歸分析只是眾多
有監督預測方式的一種,由于存在線性假設,而線性假設在現實中并不常見,所以這里加入了交互項,而效果一遍,需要進一步通過殘差分析,當擬合優度較差的時候預測性就會變得很差,只能說明相關性,不適于預測。
CDA數據分析師考試相關入口一覽(建議收藏):
? 想報名CDA認證考試,點擊>>>
“CDA報名”
了解CDA考試詳情;
? 想學習CDA考試教材,點擊>>> “CDA教材” 了解CDA考試詳情;
? 想加入CDA考試題庫,點擊>>> “CDA題庫” 了解CDA考試詳情;
? 想了解CDA考試含金量,點擊>>> “CDA含金量” 了解CDA考試詳情;