數據分析-淘寶用戶行為分析


一、項目背景和目的

項目數據來源於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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM