Mysql——電子產(chǎn)品電商用戶行為分析

一溯壶、數(shù)據(jù)介紹

  • 數(shù)據(jù)來(lái)源:https://www.kaggle.com/mkechinov/ecommerce-events-history-in-electronics-store
  • 本項(xiàng)目數(shù)據(jù)集來(lái)源于大型電子產(chǎn)品在線商店從2019 年 10 月至 2020 年 2 月的用戶行為數(shù)據(jù)匪傍。
  • 數(shù)據(jù)集格式:共845041行,每一行對(duì)應(yīng)一條用戶行為數(shù)據(jù),共包含9個(gè)字段干旁,以下為字段詳細(xì)說(shuō)明:
字段 說(shuō)明
event_time 用戶行為發(fā)生時(shí)間
event_type 用戶行為類型:瀏覽盖喷、加購(gòu)、購(gòu)買
product_id 商品ID
category_id 商品種類ID
category_code 商品種類編碼
brand 品牌
price 單價(jià)
user_id 用戶ID
user_session 用戶會(huì)話ID:當(dāng)用戶在長(zhǎng)時(shí)間未操作后再次進(jìn)入網(wǎng)站雷绢,系統(tǒng)會(huì)分配給用戶一個(gè)新的會(huì)話ID

二泛烙、分析目的及框架

  • 分析目的:本文基于電商用戶行為數(shù)據(jù),研究用戶活躍規(guī)律、了解各業(yè)務(wù)環(huán)節(jié)指標(biāo)轉(zhuǎn)化情況翘紊、按用戶價(jià)值進(jìn)行分類以便制定針對(duì)性策略蔽氨。
  • AARRR模型
  • RFM用戶價(jià)值模型
  • 漏斗模型
  • 假設(shè)檢驗(yàn)分析

三、數(shù)據(jù)預(yù)處理

1. 重復(fù)值處理

1.1 重復(fù)值查詢

SELECT *,count(*) num
FROM events
GROUP BY event_time,event_type,product_id,category_id,
category_code,brand,price,user_id,user_session
HAVING COUNT(*)>1;

1.2 刪除重復(fù)值

create table sales
select distinct * from events;

2. 缺失值處理

2.1 缺失值查詢

select 
sum(case when event_time is null then 1 else 0 end)Nevent_time,
sum(case when event_type is null then 1 else 0 end)Nevent_type,
sum(case when product_id is null then 1 else 0 end)Nproduct_id,
sum(case when category_id is null then 1 else 0 end)Ncategory_id,
sum(case when category_code is null then 1 else 0 end)Ncategory_code,
sum(case when brand is null then 1 else 0 end)Nbrand,
sum(case when price is null then 1 else 0 end)Nprice,
sum(case when user_id is null then 1 else 0 end)Nuser_id,
sum(case when user_session is null then 1 else 0 end)Nuser_session
from sales;

2.2 brand和category_code字段數(shù)據(jù)嚴(yán)重缺失帆疟,此處不予采用鹉究,應(yīng)找相關(guān)部門確認(rèn)缺失原因。將user_session中的缺失值替換為 no exists踪宠。

update sales set user_session="no exists" where user_session is null;
alter table sales drop column category_code;
alter table sales drop column brand;

3. 一致化處理

3.1 經(jīng)查詢可知datetime字段為字符類型自赔,此處將其改為日期類型


desc sales;
alter table sales add column datetime datetime after event_time;
update sales set datetime=STR_TO_DATE(left(event_time,length(event_time)-4),"%Y-%m-%d %H:%i:%S");
alter table sales drop column event_time;

3.2 把日期和時(shí)間單獨(dú)取出以滿足不同時(shí)間維度的分析

alter table sales add column dates date after datetime;
update sales set dates=date(datetime);   
alter table sales add column times time after dates;
update sales set times=time(datetime);

4. 異常值處理

4.1 查詢?nèi)掌诜秶约皟r(jià)格是否有負(fù)值

select min(datetime),max(datetime),min(price),max(price) from sales;

4.2 此數(shù)據(jù)源日期范圍從2020-09-24到2021-02-28,因9月數(shù)據(jù)量太少不足以得出分析結(jié)果柳琢,所以在此處刪除9月數(shù)據(jù)绍妨。商品價(jià)格無(wú)異常。

delete from sales where month(datetime)=9;

四柬脸、數(shù)據(jù)分析

1. 用戶獲取和激活

1.1 整體PV(頁(yè)面瀏覽量)他去、UV(獨(dú)立訪客數(shù))、PV/UV(人均頁(yè)面瀏覽量)

select count(*) pv,count(distinct user_id) uv,(count(*)/count(distinct user_id)) pv_uv from sales where event_type="view";
  • 平均每個(gè)用戶訪問(wèn)頁(yè)面不到2次倒堕,頁(yè)面重復(fù)訪問(wèn)量低灾测,用戶粘性低。

1.2 每日活躍用戶數(shù)涩馆、每日新增用戶行施、每日活躍老用戶(此處定義新增用戶為自2020-10-01起第一次有動(dòng)態(tài)的用戶)

select e.日期,e.日活躍用戶數(shù),g.每日新增用戶,(e.日活躍用戶數(shù)-g.每日新增用戶)日活躍老用戶數(shù)
from 
(select dates 日期,count(distinct user_id) 日活躍用戶數(shù)
from sales
group by dates) e
left join 
(select f.first_date 日期,count(user_id) 每日新增用戶
from
(select user_id,min(dates) first_date from sales group by user_id) f
group by first_date) g
on e.日期=g.日期;
DAU.png
  • 由圖可知,日活的主要來(lái)源為新增用戶魂那,因此衡量新用戶質(zhì)量?jī)?yōu)劣至關(guān)重要蛾号,在下文“2.1用戶留存”章節(jié)中可以看到相關(guān)分析。
  • 可以看出每日新增用戶與DAU的走勢(shì)趨同涯雅,整體都在緩慢減少鲜结,且都在12月6日(周日)和12月31日(周四)存在兩個(gè)異常點(diǎn),由于數(shù)據(jù)不足,對(duì)這兩處數(shù)據(jù)異常僅做分析思路描述精刷,影響因素可分為內(nèi)外兩部分拗胜,我們可從不同角度提出假設(shè)分析來(lái)檢驗(yàn)可能的原因:

在分析之前首先要確認(rèn)取數(shù)和數(shù)值計(jì)算是否無(wú)誤,另外進(jìn)行環(huán)比/同比分析確認(rèn)是否為周期性變化怒允。

內(nèi)部:可分為運(yùn)營(yíng)埂软、產(chǎn)品、技術(shù)纫事、市場(chǎng)四個(gè)部分勘畔,這也正好對(duì)應(yīng)著公司的組織架構(gòu)。

運(yùn)營(yíng)(用戶):最近是否上了新的活動(dòng)丽惶;按渠道炫七、用戶群拆解用戶 。
產(chǎn)品:查看最近是否有做過(guò)違反用戶習(xí)慣的功能或者界面改動(dòng)钾唬,導(dǎo)致用戶大量流失万哪。
技術(shù):查看是否由于技術(shù)原因?qū)е戮W(wǎng)站崩潰、用戶無(wú)法登陸等情況抡秆。
市場(chǎng):對(duì)比同期競(jìng)品網(wǎng)站是否有做過(guò)大型促銷活動(dòng)奕巍。

外部:PEST分析方法

政治:國(guó)家政策變化導(dǎo)致網(wǎng)站停運(yùn)。
社會(huì):臨近重大節(jié)日琅轧,用戶放假減少登錄網(wǎng)站伍绳。

1.3 一天/周內(nèi)用戶活躍時(shí)間段

SELECT HOUR(times) 時(shí)間, count(distinct user_id) 小時(shí)活躍用戶數(shù)
from sales
group by HOUR(times) 
order by HOUR(times);
select  
(case 星期
when 0 then "周一" 
when 1 then "周二" 
when 2 then "周三" 
when 3 then "周四" 
when 4 then "周五" 
when 5 then "周六" 
else "周日" end)as 星期, 
工作日活躍用戶數(shù)
from
(select weekday(datetime)星期, count(distinct user_id) 工作日活躍用戶數(shù)
from sales
group by weekday(datetime)
order by weekday(datetime))as o;
  • 一天中用戶活躍時(shí)間段在7:00-19:00之間,這也與人們的作息時(shí)間相符乍桂。
  • 工作日用戶最活躍冲杀,到周末活躍度突降,這說(shuō)明用戶在休息日更喜歡購(gòu)物以外的其他休閑方式睹酌。另外工作日中周一為流量頂點(diǎn)权谁,猜測(cè)可能是用戶在結(jié)束假期后未能進(jìn)入工作狀態(tài),導(dǎo)致網(wǎng)站訪問(wèn)量最大憋沿。

1.4 跳出率(只瀏覽了一次就離開的用戶占總用戶的比例)

select concat(round(count(*)/(select count(distinct user_id) from sales)*100,2),"%") 跳出率 from sales where user_id in
(select user_id
from sales
group by user_id
having count(event_type)=1 ) and event_type="view";

*跳出率過(guò)高表示點(diǎn)擊進(jìn)入的網(wǎng)頁(yè)無(wú)法吸引用戶的興趣才會(huì)在第一次就退出旺芽。應(yīng)注意優(yōu)化商品照片和描述,將活動(dòng)宣傳鏈接放到顯眼位置以吸引用戶進(jìn)一步點(diǎn)擊辐啄。

2. 用戶留存

2.1 月留存率

  • 因?yàn)殡娮赢a(chǎn)品購(gòu)買頻率較低采章,所以本次分析采用周留存而不是日留存來(lái)衡量。
SELECT first_week 周_初始日期, week_gap 周_后續(xù)行為日期,count(*) 周留存
from
(SELECT distinct m.user_id, date_format(m.first_day,"%X-%V")first_week,concat(TIMESTAMPDIFF(week,m.first_day,s.dates))week_gap  
(select user_id,min(dates) as first_day
from sales
group by user_id)m
left join sales s 
on m.user_id=s.user_id)p
group by first_week,week_gap
order by first_week,week_gap;
  • 此電商網(wǎng)站留存率極低壶辜,第二周留存率基本都在2%以下悯舟,就算電子產(chǎn)品購(gòu)買頻率較低,在初次購(gòu)買之后的四個(gè)月內(nèi)都沒(méi)有留存率的提升砸民,這樣的表現(xiàn)也是很糟糕的抵怎》芫龋可以通過(guò)發(fā)放優(yōu)惠券、舉辦簽到活動(dòng)等方式來(lái)提升用戶粘度反惕。

3.增加收入

3.1 復(fù)購(gòu)率

#篩選有購(gòu)買行為用戶,并將同一用戶在同一天發(fā)生的交易合并為一次
create view repeat_purchase as
select dates,user_id,count(*) ct
from sales 
where event_type="purchase"
group by dates,user_id;

#復(fù)購(gòu)率計(jì)算(有兩次及以上購(gòu)買記錄的用戶數(shù)/有購(gòu)買記錄的所有用戶數(shù))
select concat(round((100*count(user_id)/(select count(distinct user_id)from repeat_purchase)),2),"%") 復(fù)購(gòu)率
FROM
(select user_id
from repeat_purchase
group by user_id
having count(dates)>=2)m

3.2 產(chǎn)品分析

#查詢最暢銷的10個(gè)產(chǎn)品
SELECT product_id 暢銷商品top10,count(user_id) 購(gòu)買次數(shù)
from sales
where event_type="purchase"
group by product_id
order by count(user_id) desc limit 10;
#查詢?yōu)g覽最多的10個(gè)產(chǎn)品
SELECT product_id 瀏覽商品top10,count(user_id) 瀏覽次數(shù)
from sales
where event_type="view"
group by product_id
order by count(user_id) desc limit 10;
#查詢銷售額最多的10個(gè)產(chǎn)品
SELECT product_id 銷售額top10產(chǎn)品,sum(price)銷售額
from sales
where event_type="purchase"
group by product_id
order by sum(price) desc limit 10;
  • 將銷售量和瀏覽量top10的產(chǎn)品做對(duì)比尝艘,針對(duì)3642540、4102739姿染、287525和246841這四個(gè)成交量高但瀏覽量低的產(chǎn)品背亥,需要加大其推廣力度。
  • 將銷售金額和瀏覽量top10的產(chǎn)品做對(duì)比盔粹,發(fā)現(xiàn)有四個(gè)產(chǎn)品銷售金額高但瀏覽量相對(duì)較低:4079420隘梨、4078916、4102739舷嗡、4079565。進(jìn)一步查詢后得知這四種產(chǎn)品價(jià)格都在兩百元以上嵌莉,屬于貴價(jià)商品进萄。可以有針對(duì)性的推送這些產(chǎn)品給重要價(jià)值客戶锐峭,以進(jìn)一步提升貴價(jià)商品的銷售額中鼠。

4. 用戶行為漏斗圖

select event_type,count(*)
from sales
group by event_type;

點(diǎn)擊——加購(gòu)轉(zhuǎn)化率低原因分析(假設(shè)檢驗(yàn)分析):
此處可以按照從用戶進(jìn)入網(wǎng)站到加購(gòu)的業(yè)務(wù)流程提出假設(shè)


假設(shè)一:網(wǎng)站商品數(shù)量和種類太少,對(duì)用戶缺乏吸引力

select count(distinct product_id)商品數(shù)量,count(distinct category_id)種類數(shù)量 from sales;

假設(shè)二:用戶搜不到感興趣的的商品

select concat(round(count(distinct product_id)*100/(select count(distinct product_id) from sales),2),"%") 加購(gòu)商品占總商品數(shù)比重 from sales where event_type="cart";;

假設(shè)三:網(wǎng)站推薦不符合用戶的口味
通過(guò)對(duì)比瀏覽量最高和購(gòu)買量最高的10個(gè)商品沿癞,來(lái)觀察網(wǎng)站的推薦是否精準(zhǔn)援雇,具體可見“3.2產(chǎn)品分析”這一章節(jié)。

  • 此電商網(wǎng)站商品共分716大類椎扬,其中包含商品52608個(gè)惫搏,有足夠的商品供用戶選擇,所以假設(shè)一不成立蚕涤。
  • 在52608個(gè)商品中筐赔,只有18.12%的商品曾被用戶加入到購(gòu)物車中,可以發(fā)現(xiàn)商品對(duì)用戶的吸引力較低揖铜,所以假設(shè)二成立茴丰。
  • 此電商網(wǎng)站瀏覽和銷售top10的商品中只有6項(xiàng)是重合的,也就是說(shuō)網(wǎng)站推送的精確度僅為60%天吓,所以假設(shè)三成立贿肩。

5.RFM用戶價(jià)值分析

create view RFM as
select r.user_id,r.Recency,f.Frequency,m.Monetary from
# R 
# 此處計(jì)算截至2021年2月28日的消費(fèi)間隔時(shí)間
(SELECT user_id,datediff(date("2021-02-28"),max(dates)) Recency
from sales
where event_type= "purchase"
group by user_id)r
left join 
# F 
(SELECT user_id,count(dates) Frequency
from sales
where event_type= "purchase"
group by user_id)f
on r.user_id=f.user_id
left join
# M
(SELECT user_id,sum(price) Monetary
from sales 
where event_type= "purchase"
group by user_id)m
on r.user_id=m.user_id

# 按各項(xiàng)中位數(shù)對(duì)最近1次消費(fèi)時(shí)間間隔(R),消費(fèi)頻率(F),消費(fèi)金額(M)進(jìn)行分類,大于中位數(shù)的記為”高“龄寞,低于中位數(shù)的記為”低“
select 客戶類別,count(user_id) from
(select *,
(case when Recency="高" and Frequency="高" and Monetary="高" then "重要價(jià)值用戶"
     when Recency="高" and Frequency="低" and Monetary="高" then "重要發(fā)展用戶"
         when Recency="低" and Frequency="高" and Monetary="高" then "重要保持用戶"
         when Recency="低" and Frequency="低" and Monetary="高" then "重要挽留用戶"
         when Recency="高" and Frequency="高" and Monetary="低" then "一般價(jià)值用戶"
         when Recency="高" and Frequency="低" and Monetary="低" then "一般發(fā)展用戶"
         when Recency="低" and Frequency="高" and Monetary="低" then "一般保持用戶"
         when Recency="低" and Frequency="低" and Monetary="低" then "一般挽留用戶"
         else 0 end) 客戶類別
from
(select user_id,
(case when Recency<=69 then "高" else "低" end)Recency,
(case when Frequency<=1 then "低" else "高" end)Frequency,
(case when Monetary<=93.48 then "低" else "高" end)Monetary
from RFM)a)b 
group by 客戶類別

五汰规、結(jié)論:

  • 在用戶構(gòu)成方面,平臺(tái)的主要用戶為新用戶萄焦,但同時(shí)新用戶留存率極低控轿,建議通過(guò)開展簽到有獎(jiǎng)活動(dòng)冤竹、增加折扣消息通知來(lái)提升用戶粘度。

  • 復(fù)購(gòu)率為7.67%茬射,針對(duì)長(zhǎng)時(shí)間不消費(fèi)的老用戶鹦蠕,可采取VIP積分抵現(xiàn)、發(fā)送優(yōu)惠券等方式刺激重復(fù)購(gòu)買在抛。同時(shí)可以通過(guò)問(wèn)卷調(diào)查探尋老用戶流失原因钟病。

  • 7:00-19:00是一天內(nèi)用戶最活躍的時(shí)間,且相比周末用戶更喜歡在工作日訪問(wèn)購(gòu)物網(wǎng)站刚梭,運(yùn)營(yíng)需可在黃金時(shí)間段進(jìn)行新品發(fā)布和折扣消息推送肠阱。

  • 對(duì)于銷售量極高但是瀏覽量低的商品3642540、4102739朴读、287525和246841屹徘,需要加大推廣度,提高其曝光率衅金;對(duì)于銷售額高但是瀏覽量低的貴價(jià)商品4079420噪伊、4078916、4102739和4079565氮唯,要將其有針對(duì)性的推送給高消費(fèi)金額用戶鉴吹。

  • 此電商平臺(tái)瀏覽-加購(gòu)轉(zhuǎn)化表現(xiàn)不佳,為6.86%惩琉,同時(shí)跳出率高達(dá)65.24%豆励,這是由用戶對(duì)商品缺乏興趣以及推送與用戶需求不匹配造成的,建議網(wǎng)站應(yīng)通過(guò)豐富商品詳情頁(yè)面來(lái)吸引用戶瞒渠,優(yōu)化推薦算法良蒸、增加暢銷商品曝光率來(lái)提升銷售量。

  • 通過(guò)RFM模型分析可知在孝,此電商平臺(tái)用戶群體最大的為一般挽留用戶(消費(fèi)間隔時(shí)間長(zhǎng)诚啃、消費(fèi)頻率低、消費(fèi)金額小)私沮,運(yùn)營(yíng)需要提防客戶流失始赎,并根據(jù)不同客戶價(jià)值分類施行針對(duì)性營(yíng)銷策略。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仔燕,一起剝皮案震驚了整個(gè)濱河市造垛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晰搀,老刑警劉巖五辽,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異外恕,居然都是意外死亡杆逗,警方通過(guò)查閱死者的電腦和手機(jī)乡翅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罪郊,“玉大人蠕蚜,你說(shuō)我怎么就攤上這事』陂希” “怎么了靶累?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)癣疟。 經(jīng)常有香客問(wèn)我挣柬,道長(zhǎng),這世上最難降的妖魔是什么睛挚? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任邪蛔,我火速辦了婚禮,結(jié)果婚禮上竞川,老公的妹妹穿的比我還像新娘店溢。我一直安慰自己,他們只是感情好委乌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荣回,像睡著了一般遭贸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上心软,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天壕吹,我揣著相機(jī)與錄音,去河邊找鬼删铃。 笑死耳贬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的猎唁。 我是一名探鬼主播咒劲,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诫隅!你這毒婦竟也來(lái)了腐魂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逐纬,失蹤者是張志新(化名)和其女友劉穎蛔屹,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豁生,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兔毒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年漫贞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片育叁。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡迅脐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擂红,到底是詐尸還是另有隱情仪际,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布昵骤,位于F島的核電站树碱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏变秦。R本人自食惡果不足惜成榜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蹦玫。 院中可真熱鬧赎婚,春花似錦、人聲如沸樱溉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)福贞。三九已至撩嚼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挖帘,已是汗流浹背完丽。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拇舀,地道東北人逻族。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骄崩,于是被迫代替她去往敵國(guó)和親聘鳞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容