我們在學習數據分析的過程中,案例實戰是最重要的一個環節,無論我們怎麼聽課,怎麼看書,不自己反覆操作試煉,我們學到的知識只會隨著"周公"在夢中離去。因此,今天我們來一起用案例數據來試著把學到的知識貫穿在一起,訓練數據分析的基本功。
一、數據背景
通過阿里巴巴的天池平臺,我手上得到兩份關於淘寶天貓用戶購買嬰兒產品的數據表,表1為購買商品,表2為嬰兒信息。接下來我將結合現有的數據信息,對這份電商數據進行分析。
二、理解數據
拿到表格後,首先我們來對數據字段進行基礎的理解。
為了方便後面提出分析問題,我通過MAX和MIN函數找出這份數據的統計時間,日期信息再D列,因此結束時間=MAX(G:G),開始時間=MIN(G:G),這份表的內容是關於2012年7月2日至2015年2月5日的數據。
三、提出問題
通過這份數據,我們可以發現店鋪商品的銷售情況,從而層層剖析,在經營上哪裡出了問題,出問題的原因是什麼?而後用以為後續的經營提出建議。
通過邏輯樹和多維度拆解分析方法,我們將將要提出發現的問題分為產品維度、用戶維度兩個維度。
1.產品維度
(1)商品每月成交量的情況
(2)商品每年每月的變化情況
(3)每筆訂單購買量的情況
(4)每類產品的銷售情況
2.用戶維度
(1)男女性別對產品的需求情況
(2)不同年齡對產品的需求情況
在後面的分析中,除了解決以上問題得出結論,更會在分析過程中發現更多的問題,例如有異常值的情況,需要進一步分析找到結論。
四、數據清洗
1.選擇子集:
由於每類商品都有不同的參數且對於我們此次分析沒有太多關聯性,為方便數據分析,我將商品屬性(Property)一列進行隱藏。
而商品的購買數據分析我們可以通過商品類目來分類,因此商品編號也可以隱藏掉。
2.列名重命名:
為方便我的閱讀習慣,我將字段列名全名改為中文。
3.刪除重複值:
在購買信息表中,我們可以通過用戶ID、商品編號、商品屬性、購買數量、購買日期來查找重複項,發現並未存在重複值。
在嬰兒信息表中,我們通過用戶ID識別,也並未發現重複值。
4.缺失值處理:
通過剩餘列的數據信息量計數得出,購買信息表均為29972行信息(含列名),嬰兒信息表均為954行信息(含列名),因此無缺失值。
5.一致化處理:
為方便識別信息,我將購買日期與生日日期通過EXCEL中的分列功能統一轉換為2020/04/04這樣的日期格式。
並在嬰兒信息表裡性別一列的信息統一修改,把"0"改為"女性",把"1"改為"男性",把"2"改為"未知"。
6.數據排序:
我們將購買數據按照時間順序進行排序。
7.異常值處理:
由於此次的分析,我們需要根據數據的情況發現經營問題,因此在沒有空值、重複值、錯誤信息數據的情況下,我們先暫時不對數據本身的異常進行處理。
而在嬰兒信息方面,我們可以通過計算嬰兒在購買日期時的歲數來查看嬰兒信息是否有異常。
首先我們通過VLOOKUP(查的值,查的表,第幾列,精確/近似查找)多表關聯查詢,匹配用戶ID的購買日期。然後我們用DTAEDIF(出生日期,購買日期,計算時間格式)函數對嬰兒年齡進行計算。(計算時間格式大家可以網上查找,我就不列舉了)
我的函數格式:=DATEDIF(C2,B2,"Y")&"年"&DATEDIF(C2,B2,"YM")&"月"&DATEDIF(C2,B2,"MD")&"天"
輸出後發現,有的歲數顯示"#NUM!"錯誤,對照出生日期和購買日期,發現是因為這類錯誤的商品都是因為嬰兒還沒出生就進行購買的。
由於這類錯誤數據可假設為是用戶不想透露嬰兒信息而填寫的,但是並不影響性別的分析。因此我們可以把表格複製一份,備註為嬰兒性別分析表,並把未知性別的異常數據進行刪除。
而後我們在另一個表格備註為年齡分析表,將"#NUM!"錯誤的異常數據進行刪除。
五、數據分析
1.產品維度
(1)商品每月成交量情況
首先,我們通過清洗後的購買商品表創建數據透視表,把購買日期字段拉到"行"區域,把購買數量字段拉到"值"區域,然後生成折線圖。
圖1:商品每月成交量情況
從圖1我們可以看出,每年的銷售額都有上漲的趨勢,而2014年11份的時候成交量有一個大爆發的情況出現,我們先將此情況記下來,然後再看看其他圖表的情況。
(2)商品每年每月的變化情況
我們透視數據表中購買日期中的年份拉到"列"區域,然後再生成折線圖,對每年的數據進行對比。
圖2:商品每年每月的變化情況
我們發現,每月的同比基本上都有所增加,說明店家的銷售業績每年都有所增長。而店鋪商品的銷量主要集中在下半年,每年5月、9月、11月會迎來銷量的高峰期,而2013年的7月和12月也呈現出高峰期的狀態,每年1-2月份是銷量低谷的狀態,2015年2月出現銷量急劇下跌的狀態。
(3)每筆訂單購買量的情況
我們通過購買數量的數據在EXCEL數據分析功能裡進行描述性分析。
看到出來的結果我們會發現,訂單平均購買商品的數量為2.5個,中位數和眾數都為1,代表大部分用戶都是下單購買一件商品,但是發現購買數量的最大值是10000,找到該筆訂單出現在2014年11月13日,這個數據可能出了問題。
(4)每類產品的銷量情況
我們透視數據表中的一級類目拉到"行"區域,然後再生成條形圖,對每類產品的總銷量進行比較。
通過圖形我們可以發現,"28"類產品的銷量是最好的,而銷量最好的3類產品在銷售情況上也比其他類的產品要高出很多。
(5)初步問題總結
①每年5月、9月、11月迎來銷售高峰。
②2013年7月、12月迎來銷售增長。
③2014年11月高峰異常。
④2015年2月銷量急劇下跌。
⑤發現2014年11月單筆銷量最大值為10000件。
(6)分析內容
以上發現的幾個問題都是跟銷量有關,我根據手頭上已有的數據信息,進行三個方向的推斷假設:
· 假設1:用戶問題——消費用戶變化
通過消費用戶數量的變化發現規律,對應以上5個初步問題總結的假設結論如下:
①假設成立,消費用戶數有所增長。
②假設不成立,2013年的7月和12月消費用戶數無增長變化。
③假設成立,消費用戶數有所增長。
④假設成立,消費用戶數有所下跌。
⑤假設不成立,單筆訂單與消費用戶數變化無關。
· 假設2:產品問題——數據異常
通過每年各月份銷量的方差計算發現變異情況,對應5個初步問題總結的假設結論如下:
①假設成立,2014年9月和11月銷量變異。
②假設成立,2013年7月和12月銷量變異。
③假設成立,2014年11月銷量變異。
④假設不成立,2015年2月銷量無變異。
⑤假設成立,2014年11月銷量變異。
· 假設3:外部問題——節假日活動
根據問題,我們通過調研看看2月、5月、7月、9月、11月、12月是否有相關節假日活動。
· 2月:2015年的春節在2月份,店家、物流停工。
· 5月:國際家庭日、青年節、母親節、520網絡情人節
· 7月:銀色情人節
· 9月:教師節、示愛節
· 11月:雙11,感恩節
· 12月:雙12,聖誕節
因此,對應5個初步問題總結的假設結論皆成立,有相關營銷活動對銷售額影響的可能。
(7)分析總結
①每年5月、9月、11月迎來銷售高峰。
消費用戶有所增長,但是2014年9月和11月銷售量數據有變異情況。
②2013年7月、12月迎來銷售增長。
消費用戶無增長情況,且銷售量數據有變異情況。
③2014年11月高峰異常。
消費用戶有所增長,但是銷售量數據有變異情況。
④2015年2月銷量急劇下跌。
消費用戶數有所下跌,銷售量數據無變異情況。
⑤發現2014年11月單筆銷量最大值為10000件。
銷售量數據有變異情況。
(8)繼續深入分析
①2014年9月和11月銷售量數據有變異情況。
③2014年11月銷售量數據有變異情況。
⑤發現2014年11月單筆銷量有變異情況。
我下面通過分別計算2014年9月和11月份的四分位數情況來找出異常值問題。在數據表格內單獨篩選9月和11月份的數據,並用QUARTILE(表格區域,返回的四分位值)函數進行計算。
· 2014年9月份四分位數:
通過計算發現,2014年9月份每個訂單的銷售數量並無異常。
· 得出結論
結合之前的分析可得出銷量的增長是由於節假日營銷活動的成功,帶動了消費用戶的增長。
· 2014年11月份四分位數:
通過計算發現,2014年11月份訂單的銷售數量出現異常,有一個最大值10000,通過銷量發現還有一個2748的銷量與7個百位的銷量,通過四分位數的計算無法進行異常識別。
然後我通過輸出2013年11月份的正常數據,用對比分析法進行分析。
通過2013年的正常數據發現,有幾位頭部的銷量訂單出現過百的情況,以此判別2014年11月份7個百位的銷量屬於正常情況,且超過1000的購買數量都屬於數據異常。
· 得出結論
通過分析得出結論,2014年11月30日用戶ID為"1933327218"購買數量為"10000"的商品,以及用戶ID為"866770736"購買數量為"2748"的商品訂單皆為異常數據。需要進一步與運營部門同事溝通,核查數據是由於統計異常出的問題,還是由於用戶的特殊購買行為而導致的。
②2013年7月、12月銷售量數據有變異情況。
同樣的,我通過QUARTILE函數分別對2013年7月和12月的銷量情況進行四分位數的計算。
· 2013年7月份四分位數:
通過計算發現,2013年7月份訂單的銷售數量出現異常,有一個最大值1000。
· 得出結論
通過分析得出結論,2013年7月31日用戶ID為"58115753"購買數量為"1000"的商品為異常數據。需要進一步與運營部門同事溝通,核查數據是由於統計異常出的問題,還是由於用戶的特殊購買行為而導致的。
④2015年2月消費用戶數急劇下跌。
我先把2015年2月份的數據篩選出來,進行基礎的觀察,發現購買日期不全,然後通過MAX和MIN函數找出2月訂單統計的開始日期和截止日期。
通過計算發現,訂單的日期僅統計2015年2月1日-5日的數據。
· 得出結論
2015年2月的消費用戶數急劇下跌導致的銷量下跌,是由於統計數據不全導致的,實際數據並無異常情況。
2.用戶維度
(1)男女性別對產品的需求情況
在清洗數據後的嬰兒信息表中,通過VLOOKUP函數多表關聯查詢對應用戶ID的購買數量和商品類目,而後插入數據透視表,生成圖表。
通過餅圖對比分析發現,本商店的商品對於女性嬰兒的購買需求會更強一些。
通過堆積柱狀圖發現,"50022520"類商品的男性嬰兒需求力會強一些,其餘類目商品的總體需求量還是女性嬰兒比較大。而"50008168"類商品的總體需求量是最大的。
(2)不同年齡對產品的需求情況
我使用針對年齡進行數據進行後的分析表進行分析。
通過條形圖可以看出0-3歲的嬰兒購買需求是最大的。
對於0-3歲的嬰兒來說,"50008168"、"50014815"、"28"這三類商品的需求量最大。
· 得出結論
通過用戶維度的性別與年齡的情況分析得出,本店主打0-3歲女性嬰兒需求產品,"50008168"、"50014815"、"28"這三類商品為熱銷產品。
六、總結與建議
通過以上產品維度與用戶維度的分析,可以得出以下總結與建議:
1.銷售數據中有購買異常值,需要跟店鋪運營人員進一步核實情況,分析具體原因是由用戶行為導致的,還是系統統計數據出錯。
2."50008168"、"50014815"、"28"這三類產品為店鋪的爆款,應該加大宣傳力度,而其餘三類產品需根據實際經營成本與銷售情況作進一步調整。
3.本店消費用戶對節假日活動是比較敏感的,建議店家每逢活動期間加大營銷力度,進一步提升銷售效果。
4.本店女性嬰兒的購買需求達到7成,店家可以在店鋪定位方面更加偏向女性一點,並優化店鋪產品的性別傾向,從而達到提高客單價的效果。
5.本店0-3歲的嬰兒需求最大,店家可在店鋪的定位和營銷方向中專供迎合低齡兒童的需求。
閱讀更多 職場劉Sir 的文章