電商使用者行為分析報告内容如下(資料連結):
https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1
01 分析背景
- 你知道嗎?1999年成立的阿裡巴巴,現在的年齡已經20+了,可想而知,它陪伴了多少人的青蔥歲月!
- 你知道嗎?現在的淘寶使用者規模已超7億,每一位使用者在淘寶上留下的印迹,積少成多,可能是繞地球的n圈。
- 你知道嗎?未來的商業世界可能會是全連接配接的形式,商業世界會愈加透明,未來可期,你準備好了嗎?
回歸正題,本文的分析資料集來源于阿裡,是由不同使用者在平台上的行為條條記錄而成。通過對使用者行為的解讀,以此來洞察隐藏在使用者各個行為背後的寓意,因本資料集字段較少,是以得到的結論還需更多資料驗證。
02 分析目的
通過對使用者行為的解讀分析,以此來洞察隐藏在使用者各個行為背後的寓意,結合洞察的結論提出相關的優化建議給至平台和商家,進而實作平台、商家和使用者的共赢。
03 分析思路
-- userbehavior表的概括性名額
SELECT count(distinct 使用者ID) as '使用者總量',count(DISTINCT 商品ID) as '商品總量',count(DISTINCT 商品類目ID) as '商品類目總量',count(DISTINCT 日期) as '統計時間天數'
from userbehavior;
SELECT 行為類型,count(行為類型) as '行為總量'
from userbehavior
GROUP BY 行為類型
ORDER BY 行為總量 desc;
通過對上圖概括性名額的擷取,可知在userbehavior表以使用者行為為主,源資料集逾百萬條,以導入MySQL資料10萬條作為樣本集進行分析,具體資料導入和清洗可詳見第七部分附錄含sql對應操作語句。
點選、收藏、加購和購買,4個行為貫穿使用者的下單過程中,而其中的購買是一筆訂單處于完成狀态中的重要标志,是以本文依據統計周期内訂單的完成狀态把使用者劃分為“未購使用者”和”已購使用者”,再基于分組對使用者做進一步的分析,具體分析思路見下:
-- 根據統計周期内的訂單完成狀态(即行為類型='buy')将使用者區分為:已購使用者和未購使用者
SELECT sum(case when 行為數量 = 0 then 1 else 0 end) as '未購使用者',sum(case when 行為數量 > 0 then 1 else 0 end) as '已購使用者',sum(case when 行為數量 = 0 then 1 else 0 end)+sum(case when 行為數量 > 0 then 1 else 0 end) as total
from (SELECT DISTINCT 使用者id, sum(case when 行為類型='buy' then 1 else 0 end) over (PARTITION by 使用者id ) as '行為數量'
from userbehavior) as t
因資料集時間集中在2017年11月25日至12月3日之間,是以在分析中産生的結論還需其他樣本集的進一步論證。
04 分析内容
4.1 未購使用者分析
-- 建立未購使用者資訊視圖
create view 未購使用者表(使用者ID,商品ID,商品類目ID,行為類型,行為日期,日期,時間) as
SELECT 使用者ID,商品ID,商品類目ID,行為類型,行為日期,日期,時間
from userbehavior
where 使用者id not in (SELECT DISTINCT 使用者id
from userbehavior
where 行為類型 = 'buy');
4.1.1 提出假設1:使用者閑逛心理,無明确購買需求;
收集證據:下圖先對未購人群的行為分組,劃分為單一行為群組合行為【條形圖】,後對單一行為(pv)進行商品和品類洞察【散點圖】;
-- 人群行為統計
SELECT 使用者id,max((case when 行為類型= 'pv' then 'pv' else 0 end ))as 'pv',
max((case when 行為類型= 'fav' then 'fav' else 0 end )) as 'fav',
max((case when 行為類型= 'cart' then 'cart' else 0 end )) as 'cart'
from 未購使用者表
GROUP BY 使用者id;
得出結論:從圖表可以看出,當使用者處于閑逛狀态時,更傾向于點選浏覽單品,在沒有明确購物需求下,産生收藏和加購的機率相對較低,且浏覽的商品種類和數量無明顯規律呈現。假設成立,但因本資料集10萬條是完整資料集的子集,故在結論上還需多種樣本結論驗證。
4.1.2 提出假設2:使用者有明确購買需求,但并不緊急需要,是以先收藏加購後等待活動營銷時間節點再下單購買;
收集證據:下圖對組合行為進行重點分析,尤其是通過時間趨勢聯系雙12活動,觀察未購使用者在此期間的行為組合類型和日行為總量變化趨勢;
得出結論:結合圖表,猜測未購使用者在有購買需求的前提下,點選商品檢視過程中更容易産生加購和收藏行為,且結合時間變化趨勢,可推測此類使用者在活動中更容易被轉化,假設成立。
4.1.3 提出假設3:APP深度使用者,已對APP産生習慣依賴,即使未有購物需求,也會自發登入APP進行商品點選浏覽等行為;
收集證據:彙總統計未購使用者在統計周期内的登入天數;
-- 未購使用者日登入頻次
SELECT 使用者ID,count(DISTINCT 日期) as '登入天數',count(行為類型) as '行為總量'
from 未購使用者表
group by 使用者ID;
得出結論:從上圖可發現,近50%的使用者登入天數>=7天,可側面說明此類使用者對app已養成深度購物習慣,随着平台app玩法的日漸增多,使用者對平台的黏性更強,尤其是現在很多品牌都有會員制,采取簽到等活動,是以假設成立。
4.1.4 提出假設4:未購使用者因産品因素而未進行最終購買轉化,因素包括但不限于産品斷貨、使用者評論數量少或評論帶有負面關注點等;
收集證據:因userbehavior表不涉及産品關于供貨量、缺貨量和評論量等資訊,故無資料可論證;
得出結論:因無資料明證,故假設無法論證,需後續補充資料驗證。
4.1.5 提出假設5:未購使用者存在比價心理,推測被競品轉化;
收集證據:因userbehavior表不涉及競品和産品價格等資訊,故無資料可論證;
得出結論:因無資料明證,故假設無法論證,需後續補充資料驗證。
4.2 已購使用者
-- 建立已購使用者資訊視圖
create view 已購使用者表(使用者ID,商品ID,商品類目ID,行為類型,行為日期,日期,時間) as
SELECT 使用者ID,商品ID,商品類目ID,行為類型,行為日期,日期,時間
from userbehavior
where 使用者id in (SELECT DISTINCT 使用者id
from userbehavior
where 行為類型 = 'buy')
4.2.1 統計周期内,已購使用者的訂單數量組成比例分布情況是什麼樣?
-- 已購使用者的成交單量分布
SELECT 使用者ID,成交單量
from (SELECT DISTINCT 使用者id, sum(case when 行為類型='buy' then 1 else 0 end) over (PARTITION by 使用者id ) as '成交單量'
from userbehavior) as t
where 成交單量> 0
order by 成交單量 desc
由上圖可知,80%的訂單量<=4單,且1單占據Top1,那麼為什麼僅下1單的使用者那麼多呢?
提出假設:推測在統計周期内僅完成1單的使用者,相較多單使用者【>=2單】其決策周期較長;
收集證據:将僅下1單的使用者購買時長與整體已購使用者的購買時長做對比;
得出結論:通過以上2圖,可發現在統計周期内,僅下一單的使用者決策時間較長,影響決策的因素可能是産品的價格等,假設成立。
4.2.2 統計周期内,已購使用者的行為轉化貢獻占比是什麼樣?
-- 已購人群行為統計
SELECT 使用者id,max((case when 行為類型= 'pv' then 'pv' else 0 end ))as 'pv',
max((case when 行為類型= 'fav' then 'fav' else 0 end )) as 'fav',
max((case when 行為類型= 'cart' then 'cart' else 0 end )) as 'cart',
max((case when 行為類型= 'buy' then 'buy' else 0 end )) as 'buy'
from 已購使用者表
GROUP BY 使用者id;
4.2.3 統計周期内,已購使用者在日期時間分布上呈現什麼樣的特征?
-- 已購使用者日期特征
SELECT 日期,DAYNAME(日期) as '星期類型',count(行為類型) as '行為數量',count(distinct 使用者ID) as '日訪客數'
from 已購使用者表
group by 日期;
SELECT hour(時間) as '小時',count(行為類型) as '行為數量',count(distinct 使用者ID) as '日訪客數'
from 已購使用者表
group by hour(時間)
ORDER BY 小時;
05 結論
基于使用者各行為分析,可發現使用者在購物APP上更傾向于組合行為,即點選商品的同時會伴随收藏和加購行為,而收藏和加購中後者的頻率遠高于前者,與消費者的消費訴求相關;
未購使用者出于閑逛心理和對app的依賴感,即使在無明确消費訴求時也會習慣登入app對商品點選浏覽,對比有明确需求的使用者則會對心儀商品進行收藏加購,以便在活動節點上下單購買;
在9天的統計周期内,已購使用者的完成4筆以内的訂單占據僅80%,其中僅完成1單的使用者相對整體已購使用者,其決策周期人均4天左右;
對已購使用者的轉化貢獻行為分析,可發現點選+加購雙重行為的使用者占比最高,以此可推測此類使用者相對其他行為類型使用者更容易被轉化;
對已購使用者的時間分析,可得出單日變化趨勢容易受節假日活動的影響,且變化明顯。對1天各小時的分析,使用者的行為趨勢與工作通勤休息密切相關,同時上午10點一般是聚劃算活動的開盤時間,是以這也是造成使用者在10點形成小高峰的原因。
06 建議
提升使用者組合行為:建議商家在店鋪首頁、商品主圖和詳情頁等版塊通過圖文視訊等形式引導使用者将産品收藏加購,且在商家背景将近期有過收藏加購行為的使用者圈選出來進行定向關懷,比如發送優惠券等;
引入RFM分析模型,對人群進行精細化營運:根據使用者價值進行打分,将使用者依據價值高低進行分類,對其中重要價值使用者、重要發展使用者和重要保持使用者等進行特定營運,增加客戶黏性,比如上面所說的app依賴使用者;
圖檔來源于《猴子聊資料分析》
恰當的時間點黏住客戶:根據使用者在時間節點上的規律,可在白天利用碎片化時間去觸達客戶,比如微淘等内容營銷,而在晚上的7-9點之間則可以通過直播等形式讓使用者加入互動。
07 附錄-資料清洗過程
7.1 選擇子集
本文所使用表UserBehavior,含5個字段,分别是:使用者ID、商品ID、商品類目ID、行為類型和時間戳,導入MySQL資料後會發現“時間戳”這一字段不可直接使用,需進行sql語句處理成日期型,解決方案如下:
‘時間戳’那一列建議保留,亦可視具體情況做删除處理。
因UserBehavior表本身字段較少,且5個字段都是關鍵字段,是以在子集選擇上不做進一步處理。
7.2 列名重命名
導入MySQL資料後,UserBehavior表并無具體對應字段名,顯示的是首行資料資訊,見下圖:
為友善後續操作,添加對應字段名:
7.3 删除重複值
導入MySQL資料庫共10萬條記錄,執行上述操作後,仍然顯示10萬,是以不存在重複值。
7.4 缺失值處理
缺失值有3種表現形式,分别是空格、null和空值,是以嚴謹起見需3種形式輪番檢查,具體語句見下:
以上語句執行後,均是10萬條,是以沒有缺失值存在。
7.5 一緻化處理
以UserBehavior表的’時間戳’字段為例,将由‘時間戳’複制的‘行為日期’進一步拆分,拆分為年月日和具體時分秒2列,操作見下:
7.6 異常值處理
檢查UserBehavior表的時間段是否在11月25至12月3日之間,檢查結果如下:
截圖顯示,有之前的日期資料存在,下一步選取不在要求範圍内的資料進行剔除,操作如下: