一、項目背景和目的
項目數據來源於https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1,通過此項目學習電商數據分析的指標與數據分析的基本方法。
二、分析維度
根據現有數據及分析目的,從四個維度進行分析:
第一個維度:用戶購物情況整體分析
以PV、UV、平均訪問量、跳失率等指標,分析用戶最活躍的日期及活躍時段,了解用戶行為習慣
第二個維度:商品購買情況分析
從成交量、人均購買次數、復購率等指標,探索用戶對商品的購買偏好,了解商品的銷售規律
第三個維度:用戶行為轉化漏斗分析
從收藏轉化率、購物車轉化率、成交轉化率,對用戶行為從瀏覽到購買進行漏斗分析
第四個維度:參照RFM模型,對用戶進行分類,找出有價值的用戶
三、分析正文
分析步驟如下:
提出問題------理解數據------數據清洗------構建模型------數據可視化
(一)提出問題
- 用戶最活躍的日期及時段
- 用戶對商品有哪些購買偏好
- 用戶行為間的轉化情況
- 用戶分類,哪些是有價值的用戶
(二)理解數據
用戶行為類型又分為四種:
pv:商品詳情頁pv,等價於點擊
buy:商品購買
cart:商品加入購物車
fav:收藏
(三)數據清洗
包含數據導入(采用Navicat)、缺失值處理、一致化處理、異常值處理(2017.11.25到2017.12.3日內的數據)
(四)構建模型
1.用戶購物情況整體分析
1.1 這9天里PV(瀏覽量),返回結果是:2027221
select count(behavior_type) as 瀏覽量 from User_Behavior where behavior_type='pv';
1.2 這9天里UV(用戶數),返回結果是:22099
select count(distinct user_id)as 用戶數 from User_Behavior;
1.3 平均訪問量是: 2027221/22099 = 91.7
即每個用戶平均訪問了91個頁面。
1.4 跳失率計算:
跳失率:只有點擊行為的用戶/總用戶數
select count(distinct user_id) from User_Behavior where user_id not in (select distinct user_id from User_Behavior where behavior_type='fav') and user_id not in (select distinct user_id from User_Behavior where behavior_type='cart') and user_id not in (select distinct user_id from User_Behavior where behavior_type='buy');
只有點擊行為的用戶數量為1253,故跳失率 = 1253/22099 = 0.0567,跳失率不高,說明店鋪的商品詳情頁還是能吸引到用戶的進行下一步行為。
1.5 每天訪問量/訪客數情況
select dates,count(behavior_type)as 訪問量 from User_Behavior where behavior_type='pv' group by dates;
1.6 每天的訪客數情況:
select dates,count(distinct user_id) as 訪客數 from User_Behavior group by dates;
1.7 每個時段訪問量/訪客數
alter table User_Behavior add column hours varchar(25) not null; update User_Behavior set hours=left(times,2); select a.hours,a.訪問量,b.訪客數 from (select hours,count(behavior_type)as 訪問量 from User_Behavior where behavior_type='pv' group by hours)a inner join (select hours,count(distinct user_id) as 訪客數 from User_Behavior group by hours)b on a.hours=b.hours;
可以看出訪客數與訪問量趨勢大致一致,17 - 22時達到訪客高峰,猜測是下班后進行購物放松。1-7時大多數人處於睡眠休息階段故訪客與訪問量較少。
1.8 不同時段成交量
select hours,count(behavior_type)as 成交量 from User_Behavior where behavior_type='buy' group by hours order by hours;
2.商品購買情況分析
2.1 成交量
用戶行為中,只要用戶行為為“buy”,即是完成了一次購買,形成一個訂單。下面對訂單進行分析
select dates,count(behavior_type) as 成交量 from User_Behavior where behavior_type='buy' group by dates;
2.2 人均購買次數
select count(behavior_type)as 訂單量,count(distinct user_id)as 用戶數,count(behavior_type)/count(distinct user_id)as 人均購買次數 from User_Behavior where behavior_type='buy';
2.3 復購率
復購率=購買2次及以上用戶數/總購買用戶數
#總購買用戶數 select count(distinct user_id) as 用戶數 from User_Behavior where behavior_type='buy';
得到總購買人數 15082
#購買次數>1次的 用戶數 select count(*) from (select count(user_id) as 重復購買用戶數 from User_Behavior where behavior_type='buy' group by user_id)a where a.重復購買用戶數>1;
購買兩次及以上用戶數 9953
復購率 = 9953/15082 =0.659 = 66%
#重復被購買得最多次的商品 select item_id,count(behavior_type)被購買次數 from User_Behavior where behavior_type='buy' group by item_id order by count(behavior_type) desc limit 10;
#重復購買次數最多的客戶 select user_id,count(user_id)as 購買次數 from User_Behavior where behavior_type='buy' group by user_id order by count(user_id) desc limit 10;
用戶107932購買次數達到72次,對於這類忠實的用戶需要開發用戶信息庫,建立完善的用戶資料庫,記錄客戶購物情況。
3.用戶行為轉化漏斗分析
#用戶行為情況: select behavior_type,count(behavior_type) from User_Behavior group by behavior_type order by count(behavior_type) desc;
可見真正轉化為購買的只有2%,用戶在瀏覽商品詳情頁后出現了大量的流失。
那么,從瀏覽到購買,每一個環節的轉化率是多少呢?因為加入購物車和收藏商品並沒有行為的先后性,也就是說,購物路線可以有兩條:
第一條線路:瀏覽—加入購物車—購買
又或者是
第二條線路:瀏覽—添加收藏—購買
按照線路一來購買的話,從瀏覽到加入購物車到購買之間的轉化率是多少呢?
購物車轉化率=加入購物車后購買的用戶數/加入購物車的用戶數
select count(distinct a.user_id)as 加入購物車用戶數,count(distinct b.user_id)as 加入后購買用戶數 from (select distinct user_id,item_id,item_category, time_stamp from User_Behavior where behavior_type='cart')a left join (select distinct user_id,item_id,item_category,time_stamp from User_Behavior where behavior_type='buy')b on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.time_stamp<b.time_stamp;
由查詢結果可知,
加入購物車的用戶數為:16638
加入購物車后購買的用戶數:5023
所以,購物車轉化率為:5023/16638 = 30.18%,約為30%
也就是說,加入購物車的用戶中,有30%會進行購買。
#有多少用戶進行了瀏覽 select count(distinct user_id) from User_Behavior where behavior_type='pv';
瀏覽的用戶數是:22009
從圖表中可以看出,從用戶點擊瀏覽到購買商品,用戶瀏覽到加入購物車的轉化率是很高的,達到了75.5%,說明大部分用戶在瀏覽后有購買意向,加入了購物車;但是,在加入購物車到購買的環節里,只有30%左右的用戶進行了真正的購買,而70%的用戶是沒有進一步購買的。為什么用戶加入購物車后卻並沒有購買呢?
推測原因可能是:
1.加入購物車是為了與不同店鋪的同種產品進行比價;
2.為了湊單,進行滿減;
3.先放着,過幾天再購買;
4.等活動優惠
考慮第二條線路,進行分析
收藏轉化率=添加收藏后購買的用戶數/添加收藏的用戶數
#從收藏到購買的轉化: select count(distinct a.user_id)as 收藏用戶數,count(distinct b.user_id)as 收藏后購買用戶數 from (select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='fav')a left join (select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='buy')b on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.timestamp<b.timestamp;
瀏覽的用戶數是:22009
加入收藏的用戶數為:8900
加入收藏后購買的用戶數:1910
所以,收藏轉化率為:1910/8900 = 21.4%,約等於21%
與線路一的購買流程來看,用戶在瀏覽后,相對於收藏行為,會更傾向於添加到購物車。而且購物車轉化率為30%,收藏轉化率為21%,購物車轉化率比收藏轉化率高,也就是說,用戶更偏向於購物車購買。
這是為什么呢?
推測原因:加入購物車后可以直接下單購買,而加入收藏后並沒有可以下單的頁面,如果需要購買必須重新點擊商品進入詳情頁才能下單,多了一個步驟,所以,在這個步驟里可能用戶就流失了部分。
4.參照RFM模型,對用戶進行分類找出有價值的用戶
RFM模型是衡量客戶價值和客戶創利能力的重要工具。該模型通過客戶的最近交易行為(Recency)、交易頻率(Frequency)以及交易金額(Monetary)三項指標來描述該客戶的價值狀況。一般來說,會將這三項指標分成幾個區間進行評分,通過計算評分找到有價值的用戶,並對用戶進行分類。
最近一次消費(Recency):是指最近一次消費距離上一次消費之間的時間長短。它反映了客戶對產品的態度以及對品牌價值的信任度,它關乎消費者的存留狀況。
消費頻率(Frequency):是指某個特定時間內消費的次數。它直接反映了客戶的忠誠度,消費頻率越高,忠誠度就越高;忠誠度越高的客戶數量越多,公司的競爭優勢越強,市場份額越大。
消費金額(Monetary):是指一定時間內消費某產品金額。它反映的是客戶的價值,價值越高,給公司創造的利益就更大。
因為數據源里沒有金額相關的信息,所以只通過R和F來對客戶價值進行評分。
R(Recency)最近的購買行為:
數據集里時間范圍是從11月25到12月3日,我將11月25日,設為參數對照日期,即以距離11月25日的天數划分區間,其中0-2天,3-4天,5-6天,7-8天,分別對應為1-4分。
#按購買天數評分: create view score_01 as select user_id, (case when 購買天數 between 0 and 2 then 1 when 購買天數 between 3 and 4 then 2 when 購買天數 between 5 and 6 then 3 when 購買天數 between 7 and 8 then 4 else 0 end )as 購買得分 from (select user_id,datediff(max(dates),'2017-11-25')as 購買天數 from User_Behavior where behavior_type='buy' group by user_id)as a order by 購買得分;
F(Frequency)購買頻率:
從上面對復購用戶的分析中,我們也得知,有購買行為的用戶,購買頻率最高的能達到72次。所以,我們將1-72從低到高,划分為4個檔次。1-18,19-36,37-54,55-72分別對應為1-4分。
#按購買頻率評分: create view score_02 as select user_id, (case when 購買次數 between 1 and 18 then 1 when 購買次數 between 19 and 36 then 2 when 購買次數 between 37 and 54 then 3 when 購買次數 between 55 and 72 then 4 else 0 end )as 購買頻率得分 from (select user_id,count(behavior_type)as 購買次數 from User_Behavior where behavior_type='buy' group by user_id)b order by 購買頻率得分 desc;
通過上面兩個步驟,從兩個維度:最近購買時間及購買頻率,分別給用戶進行了評分。接下來用這兩項的每一項平均值作為判斷高於還是低於,比如重要價值用戶,必須是兩項的分值都比平均值要高,才能作為重要價值的用戶。
下面對用戶進行分類
求兩項評分的均值:
#求評分的均值 select avg(購買得分) from score_01; select avg(購買頻率得分)from score_02;
將獲得的兩項評分分別和它們的均值進行比較,對客戶進行分類:
#對用戶進行分類: create view users_classify as select user_id, (case when R>3 and F>1 then '重要價值用戶' when R>3 and F<=1 then '重要保持用戶' when R<=3 and F>1 then '重要發展用戶' when R<=3 and F<=1 then '一般價值用戶' else 0 end )as 用戶類型 from (select a.user_id,a.購買得分 as R,b.購買頻率得分 as F from score_01 as a inner join score_02 as b on a.user_id=b.user_id)c;
(暫時無法打開users_classify表格)
用戶類型計數:
#對用戶類型計數: select count(用戶類型) from users_classify where 用戶類型='重要價值用戶'; select count(用戶類型) from users_classify where 用戶類型='重要保持用戶'; select count(用戶類型) from users_classify where 用戶類型='重要發展用戶'; select count(用戶類型) from users_classify where 用戶類型='一般價值用戶';
對於重要價值用戶,他們是最優質的用戶,需要重點關注並保持, 應該提高滿意度,增加留存;
對於重要保持用戶,他們最近有購買,但購買頻率不高,可以通過活動等提高其購買頻率;
對於重要發展用戶,他們雖然最近沒有購買,但以往購買頻率高,可以做觸達,以防止流失;
對於一般價值用戶,他們最近沒有購買,以往購買頻率也不高,特別容易流失,所以應該贈送優惠券或推送活動信息,喚醒購買意願。
四、結論及建議
1.12月2日與12月3日,相對於其他日期,流量增長明顯,推測和搞活動有關;
2.大部分用戶在18時到21時會比較活躍,其中21到22時,是一天當中最活躍的時段,成交量也是這一時段最高。建議可以在用戶活躍的時段進行推廣以使運營效果最大化。
3.這段時間,人均購買次數為3,復購率達到66%,說明店鋪產品對用戶吸引力比較大。
4.被重復購買得比較頻繁的商品是item_id為3122135等商品,對於復購率高的商品,建議可以建立自己的忠實粉絲群,實行更精准的人群管理。
5.用戶ID為107932 等的用戶是重復購買次數最多的用戶。建議對於這些忠實用戶,建議要更全面地了解,開發用戶信息庫,建立詳實的用戶資料數據庫,追蹤記錄顧客的交易情況。或者線上組建VIP客戶微信群等,針對這些用戶的購買偏好推送更精准的銷售方案。
6.用戶行為轉化率只有2%,有98%的用戶行為是沒有轉化為成交的,用戶在瀏覽商品詳情頁后出現了大量的流失。建議通過活動、優惠券、產品詳情頁的改進等提高轉化。
7.從瀏覽到加入購物車的轉化有75.5%,大部分用戶在瀏覽后有購買意向;加入購物車到真正購買的,只有30%,有70%的用戶加入購物車后卻並沒有進一步購買。
建議在用戶加入購物車后能有促進用戶下單的利益“誘導”,如贈送優惠券或采用倒計時購物車增加客戶購買緊近感。
8.從收藏到購買的轉化率為21%。相對於購物車30%的轉化率,收藏轉化率稍低。
同樣建議在用戶添加收藏后能提示優惠或促銷等時限信息,促使用戶盡早下單。
9.用RFM模型對用戶進行分類后,可知重要價值用戶比較少,用戶類型主要還是集中於重要保持用戶和一般價值用戶。建議根據用戶類型,進行有針對性的精准營銷。
參考文獻:
1.https://zhuanlan.zhihu.com/p/76267568