- 數據來源某網站的用戶購買明細。一共有用戶ID,購買日期,購買數量,購買金額四個字段.
分析過程之思維導圖
分析步驟
第一部分:數據類型的處理—字段的清洗
- 缺失值的處理、數據類型的轉化
第二部分:按月數據分析
- 每月的消費總金額、每月的消費次數、每月的產品購買量、每月的消費人數
第三部分:用戶個體消費數據分析
- 用戶消費金額和消費次數的描述統計、用戶消費金額和消費次數的散點圖、用戶消費金額的分布圖(二八法則)、用戶消費次數的分布圖
、用戶累計消費金額的占比
第四部分:用戶消費行為分析
- 用戶第一次消費時間、用戶最后一次消費時間、新老客消費比、用戶分層、用戶購買周期、用戶生命周期,復購率和回購率
第一部分: 數據類型的處理—字段的清洗
一. 首先導入常用的第三方庫并做一些初始設置
二. 導入數據并對數據進行處理
- 注意:此處的數據路徑為作者放置數據文件的路徑,需根據實際情況調整.
三. 導入成功之后讓我們來觀察一下數據的信息:
仔細觀察數據,判斷數據是否正常識別,可發現用戶id為2的用戶在同一天(即:1997-01-12)進行過兩次消費,但這并不是異常,一個用戶可能在一天內購買多次.
-
注意:此處的df.head()默認顯示前五行,如需查詢更多可在括號中輸入想要查詢的行數.
image.png -
圖上顯示這次的數據共69659行,4列.
image.png 由上圖可知所有數據每列都有69659行,不存在空值.
-
圖中紅框的"order_dt"是日期,但其類型卻是'Int64'是有符號 64 位整數數據類型.我們需要將其數據類型進行轉換.
image.png 用describe()可得到平均值,方差等描述性信息.由圖我們可以看到用戶平均每筆訂單購買2.4個商品,標準差在2.3,稍稍具有波動性。中位數在2個商品,75分位數在3個商品,說明絕大部分訂單的購買量都不多。最大值在99個,數字比較高。購買金額最大值也約為1286遠超75%的購買金額,由此可得大部分訂單都集中在小額。
-
一般而言,消費類的數據分布,都是長尾形態。大部分用戶都是小額,然而小部分用戶貢獻了收入的大頭,即二八定律。
image.png pd.to_datetime可以將特定的字符串或者數字轉換成時間格式,其中的format參數用于匹配。例如19970101,%Y匹配前四位數字1997,如果y小寫只匹配兩位數字97,%m匹配01,%d匹配01。
同時我們之后需要按月分析,所以用'order_dt'增添一列'month'.
第一部分小結:
- 我們看到了數據的基本信息并了解到該數據沒有缺失值,然后數據類型已經轉化完畢,我們準備進行下一步按月分析數據.
第二部分:按月數據分析
- 因為要按月分析我們使用pd.groupby將數據根據月份分組.
一. 每月的消費總金額
-
使用sum函數將分組后的消費金額進行匯總得到每個月的消費總金額,可看到前幾個月的銷量非常高漲。數據比較異常。而后期的銷量則很平穩。不過不是很明顯,接下來我們用圖表來顯示消費總金額的趨勢.
image.png
二. 每月的消費次數
- 前三個月消費次數在1000左右,接下來的幾個月逐漸在2000左右穩定波動.
三. 每月的產品購買量
- 這里可以看到線的顏色變了,是參數color='green'起了作用.
- 與每月總消費金額類似,在前三個月達到高峰,然后直線下降后,逐漸平穩.在此我們可以分析一下,為什么會呈現這個趨勢?首先可能是用戶中存在異常值,第二有可能是各類促銷營銷,這里只有消費數據無法判斷.
四. 每月的消費人數
- 每月的消費人數小于每月的消費次數,但是區別不大。前三個月每月的消費人數在8000—10000之間,后續月份,平均消費人數在2000不到。一樣是前期消費人數多,后期平穩下降的趨勢。
- 由此可以看出大部分用戶每個月只消費了一次.
- 上圖是pandas數據透視表的功能可以得出我們之前計算的三個圖的數據詳情.
五. 每月用戶的消費趨勢
-
可以看到每月用戶平均消費從97年一月份開始上漲,最高達到57.之后的月份都在50上下穩定的波動.
image.png
從圖中可看到每月平均消費次數為1次.和上面每月消費人數和每月消費次數對比的結果一致.
第二部分小節:
-利用分組和聚合等操作并將其可視化簡單地了解了消費趨勢.
第三部分:用戶個體消費數據分析
-
之前我們維度都是月,來看的是趨勢。有時候我們也需要看個體來看這個人的消費能力如何?
image.png - 同樣我們先按用戶將數據分組.
一. 用戶消費金額和消費次數的描述統計
從用戶角度,可以看出用戶平均購買了7張CD,客單價為106元.結合分位數和最大值看,75%的用戶達不到平均值,所以有狂熱愛好者購買大量CD使整個數據處于右偏分布,證明了存在小部分的高額消費用戶,拉高了平均值。
以上基本上符合二八法則,小部分的用戶占了消費的大頭
二. 用戶消費金額和消費次數的散點圖
-
可以看出有個別異常值存在,使得大部分用戶的消費金額和消費次數的情況處于散點圖左下聚集成一團,不利于我們觀察.
image.png -
我們由上一個散點圖看出大部分用戶的消費金額都低于4000,所以利用query去除大于4000的值,使我們的圖形更容易觀察.我們初步可以看出消費金額和消費次數呈現出一個線性.
image.png - 這里的1306元是根據切比雪夫定理,利用96%的值都處于平均值的5個標準差之內得出的.同時從散點圖我們可以更明顯地看出,用戶比較健康而且規律性很強。因為這是CD網站的銷售數據,商品比較單一,金額和商品量的關系也因此呈線性,沒幾個離群點。
三. 用戶消費金額的分布圖(二八法則)
- 從上圖直方圖可知,大部分用戶的消費能力確實不高,絕大部分呈現集中在很低的消費檔次。高消費用戶在圖上幾乎看不到,這也確實符合消費行為的行業規律。
-
有極值干擾了我們的數據,但是大部分的用戶還是集中在比較低的而消費檔次。
image.png
-根據切比雪夫定理使直方圖更清晰,更進一步的了解到大部分的用戶消費檔次在200元以下.
四. 用戶消費次數的分布圖
-
與平均消費金額類似
image.png - 大部分用戶在20次以下.
五. 用戶累計消費金額的占比(百分之多少的用戶占了百分之多少的消費額)
- 使用累加值除以總值得到占比.注意這里的reset_index不可省略,如果省略會出現作圖錯誤.
-
由圖可得排名前4000~5000名用戶貢獻了60%的消費額度,50%的用戶只貢獻了15%的消費額度.也就是說我們只要維護了這大約5000個用戶就可以把業績KPI完成60%,如果能把大約5000個用戶運營的更好就可以占比70%—80%之間。
image.png - 這是占比的表格.
第三部分小節:
- 用戶的情況符合二八定律,我們應該用心維護好排名在前20%的用戶,同時針對性地對其進行更好的服務和營銷.
第四部分:用戶消費行為分析
一. 用戶第一次消費時間
- 從x軸的跨度看出,所有用戶的第一次消費都集中在前三個月中,每日新增的用戶也在200~350之間波動.
二. 用戶最后一次消費時間
用戶最后一次消費比第一次消費分布廣,圖中紅框可看出大部分最后一次消費集中在前三個月,說明很多客戶購買一次就不再進行購買。三個月之后,流失曲線趨于穩定.隨著時間的增長,最后一次購買數也在遞增,消費呈現流失上升的趨勢,用戶忠誠度在慢慢下降。
公司應該關注用戶流失的原因,特別是1998年3月到7月之間增長幅度較大,應采取相應措施防止老客戶流失.
措施建議:1. 如加強服務,對老用戶推薦他/她喜愛的CD類型.
2.增加回饋方式(留言板),并及時整理回饋做出調整等等.
三. 新老客消費比
-
user_id為1和2的用戶第一次消費時間和最后一次消費時間一致,說明他們只消費了一次.
image.png - 有超過一半(51%)的用戶只消費了一次.
四. 用戶分層
-使用RFM模型來進行分析
1.最近一次消費 (Recency)
2.消費頻率 (Frequency)
3.消費金額 (Monetary)
-
這里使用消費產品數量代替了消費次數.
image.png - 這里因為年代久遠使用的是距今最近的一天作為今天來與每個用戶的最后一次消費時間相減.
-
R表示客戶最近一次交易時間的間隔,客戶在最近一段時間內交易的金額,R越小證明用戶最近還在消費.F表示客戶在最近一段時間內交易的次數,F值越大,表示客戶交易越頻繁,反之則表示客戶交易不夠活躍。M表示客戶在最近一段時間內交易的金額。M值越大,表示客戶價值越高,反之則表示客戶價值越低。
image.png -
利用原值減去平均值將特征分層,3個特征分成6層用于評價描述客戶價值.
image.png
image.png
image.png -
使用分類后的客戶計算不同種客戶的消費情況.可以看出重要保持客戶累計的金額最多.即011,證明R越小,M和F越大.產生的消費額度越大.
image.png - 可以看出重要保持客戶在總人數中雖然不多只有4554人卻產生了巨大的價值,需要針對性進行服務,提高本類用戶的消費體驗,讓用戶持續產生價值.
-
最多的是一般發展客戶共14074人,最具價值的重要保持客戶共4554人,符合二八定律.
image.png
-計算不同類客戶的人數并畫圖.
image.png
image.png - 在運營策略上,應結合用戶分層的結果,針對不同的用戶分類用戶制定不同的運營策略。
- 針對19.3%的重要保持客戶,應保持好現狀;
- 針對1.4%的重要發展客戶,由于其價值高但是頻次低,應采取合適的策略來刺激其消費頻率;
- 針對3.3%的重要價值用戶,應采取合適的策略來將其召回,留住該用戶;
-
針對1.0%的重要挽留用戶,召回他并刺激其消費;其余幾類用戶都要在考慮成本的情況下采取相應的策略召回、刺激消費。
image.png - 散點圖看出重要價值客戶雖然有高消費水平但已經有很長一段時間沒有進行消費,應該將其發展為重要保持客戶.措施:如發郵件推薦新CD,或找出重要價值客戶最近不消費的原因并提出解決方案.
五. 用戶分層二
-將用戶劃分為新用戶(new),活躍用戶(active),回流用戶(return),流失/不活躍用戶(unactive)以及未注冊用戶(unreg).
- 對于用戶的劃分只需要知道用戶本月是否消費,消費次數在這里并不重要,需要將模型進行簡化.消費過為1,沒消費過為0.
-
使用數據透視表,獲取的是每個用戶,在整個數據集時間周期里是否消費,有些用戶在某些月份并沒有消費可能會出現NaN,這里用filna(0)填充NaN。
image.png
image.png - 自義定函數來劃分用戶在每個月的狀態.
流程如下:
-
將未注冊人員變為空值不帶入計算.
image.png -
將各種狀態的用戶按月統計.
image.png - 消費用戶的構成以及比例
- 可以看到三個月后幾乎沒有新用戶流入,后期不活躍用戶占90%以上,活躍用戶和回流用戶的占比相對較穩定。所以網站的營銷重心應放在活躍用戶和回流用戶上.
- 對于活躍用戶,增強其消費體驗,維持其忠誠度.
- 對于回流用戶,發放適當的優惠政策促進其消費.
六. 用戶購買周期
-
按用戶分類后將用戶兩次消費時間相減得出不同用戶的購買周期.
image.png
image.png - 訂單周期分布呈指數分布
- 用戶的平均購買周期是68天
- 絕大部分用戶的購買周期都低于100天
七. 用戶生命周期
-
用戶生命周期分布描述.
-因為有很大部分用戶只購買了一次,對用戶生命周期產生了巨大的影響,在此排除.
image.png
image.png - 消費兩次以上的用戶平均生命周期是276天。
- 用戶生命周期分布直方圖呈現雙峰趨勢,有部分用戶雖然在短期時間內消費超過兩次,但是仍舊無法持續,應該在用戶消費30天內加以引導,促進其再次消費并形成消費習慣,延長其生命周期。
- 用戶生命周期在100-400天的用戶屬于普通型的生命周期,需要根據其特點推出針對性的營銷活動,引導其持續消費。
- 用戶生命周期大于400天的,屬于忠誠用戶,要重點維護,制定個性化的運營策略。
八. 復購率和回購率
- 復購率
自然月內多次購買的用戶的占比 - 回購率
曾經買過商品的用戶,在一定時期內再次購買商品
1. 復購率
-
通過函數將購買0次的轉化為NaN避免影響運算,將購買1次的轉換為0,購買多次的轉換為1.
image.png -
通過求和和計數運算的差求得復購率.圖中可知復購率穩定在20%.
image.png - 圖上可以看出復購率在早期不到12%,因為大量新用戶加入的關系,新客的復購率并不高。而在后期復購率緩慢上升,這時剩下的都是忠誠度高的老客戶,復購率比較穩定,在20%左右.
2. 回購率
-
判別函數主要邏輯:如果用戶本月有消費,且下月有消費,記為1,下月無消費,記為0;如果用戶本月沒有消費,記為NaN,后續的統計中將自動排除。最后一個月消費記錄無法得知下一月的消費情況所以直接記為NaN.
image.png
image.png -
從回購率折線圖可以看出:新用戶的回購率在15%左右,老客戶的回購率在30%左右,且高于復購率,波動性較強。
image.png - 回購率的平均值為28%,中位數為30%,與折線圖得出的結果一致.
- 綜合回購率和復購率可知,新客戶的整體質量低于老客戶,老客戶的忠誠度表現較好,這是CDNow網站的用戶消費特征。
總結:
- 根據以上四個部分我們可知:
- CDNow網站的老客戶忠誠度良好,應重點保持回購率穩定性并設法提高回購率.
- 用戶生命周期在100-400天的用戶屬于普通型的生命周期,需要根據其特點推出針對性的營銷活動,引導其持續消費。
用戶生命周期大于400天的,屬于忠誠用戶,要重點維護,制定個性化的運營策略。 - 用戶的平均購買周期是68天,網站可以通過營銷手段,縮短購買周期.
- 活躍用戶和回流用戶的占比相對較穩定。所以網站的營銷重心應放在維護活躍用戶和回流用戶上.
- 用戶的情況符合二八定律,我們應該用心維護好排名在前20%的用戶,同時針對性地對其進行更好的服務和營銷.