分析背景
CN公司是一家主營家電類目的電商公司,最近小家電類目的訂單數量、產品瀏覽量、搜索數量等都有所下降,目前計划對小家電類目進行一次季末促銷活動,從用戶畫像特征方向給營銷活動建議,以降低產品庫存,提高小家電類目的銷量。
促銷活動落地的方向:
活動的受眾群體定位
受眾群體的消費偏好
活動的推送時間
數據來源
數據主要來源於網站過去保存的用戶信息表和用戶在2014-11-18至2014-12-18間一個月的行為記錄,用戶信息表主要記錄了用戶ID、性別、年齡、省、市、婚姻狀況、學歷和職業信息,訂單表的主要字段有用戶ID,商品ID,行為類型,商品種類,發生時間。
數據來源:https://pan.baidu.com/s/12THYaix3Xoomj0LKa77QSQ
提取碼:m20o
一、用戶的基本屬性分析
1.1讀取用戶信息數據
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #作圖時正常顯示中文
df=pd.read_excel('user_data.xlsx')
print(df.head())
out:
print(df.info())
out:
總共記錄了222條用戶的信息,都沒有缺失值。
1.2用戶的性別分布
xb=df['user_id'].groupby(df['gender']).count()
print(xb)
out:
xb.plot.pie(autopct='%1.1f%%') #autopct='%1.1f%%'顯示占比
plt.show()
男性用戶占比52.7%,女性用戶占比47.3%,男性比女性稍多些。
1.3用戶的年齡分布
bins=[0,20,25,30,35,40,45,50,55,1000]
labels=["(0-20]","(20-25]","(25-30]","(30-35]","(35-40]","(40-45]","(45-50]","(50-55]","55歲以上"]
df['age_group']=pd.cut(df['age'],bins=bins,labels=labels)
print(df.head())
得到新的一列按年齡分組的情況
nl=df['user_id'].groupby(df['age_group']).count()
nl.plot.bar()
plt.show()
用戶主要集中在25-40歲之間,以中青年為主,20歲以下的年輕用戶和40歲以上的中老年用戶較少。
1.4用戶的地域分布
sf=df['user_id'].groupby(df['province']).count().sort_values()
print(sf)
out:
sf.plot.barh()
plt.show()
用戶最多的是廣東省,有52人,其次是北京,49人,上海有35人,用戶主要集中在北上廣等發達省市。
cs=df['user_id'].groupby(df['city']).count().sort_values()
print(cs)
out:
cs.plot.barh()
plt.show()
同樣,在城市方面用戶也主要集中在北上廣等主要發達城市中。
1.5用戶的婚育情況
hy=df['user_id'].groupby(df['marriage']).count()
print(hy)
out:
hy.plot.pie(autopct='%1.1f%%')
plt.show()
已婚用戶有139人,占62.6%,未婚用戶有83人,占37.4%,用戶以已婚用戶為主,說明小家電類目更受家庭用戶喜愛。
1.6用戶的學歷分布
xl=df['user_id'].groupby(df['eduction']).count()
print(xl)
xl.plot.bar()
plt.show()
用戶主要以本科學歷為主。
1.7用戶的職業分布
zy=df['user_id'].groupby(df['job']).count()
print(zy)
out:
zy.plot.bar()
plt.show()
用戶的職業一般為互聯網從業人員、公務員及白領,主要以消費水平較高、工作較穩定、對生活品質有一定要求的消費群體為主,這也跟城市、學歷有關。
二、用戶的購買行為屬性分析
2.1讀取訂單信息數據
data=pd.read_excel('order_data.xlsx')
print(data.head())
print(data.info())
有25萬多條數據,沒有缺失值。
data=data[data['behavior_type']==1] #我們需要查看購買數據,行為類型1為購買數據
2.2購買時間情況:按周幾及時間點統計
2.1.1
data['time']=pd.to_datetime(data['time']) #轉換為時間格式
data['hour']=data['time'].dt.hour #提取時間點
print(data[['time','hour']].head())
out:
sk=data['user_id'].groupby(data['hour']).count()
print(sk)
out:
sk.plot(xticks=range(0,24)) #xticks=range(0,24)設置x軸刻度
plt.show()
從圖中可以看出,晚上9點到10點的下單用戶是最多的。
2.1.2
data['week']=data['time'].dt.dayofweek+1 #提取周幾,默認周一是從0計算,所以我們加1
print(data[['time','week']].head())
out:
zj=data['user_id'].groupby(data['week']).count()
print(zj)
zj.plot()
plt.show()
周四的下單人數是最多的,達到38137,其他天的下單人數也能達到3萬以上。
2.3購買產品偏好:按商品和商品大類統計
2.3.1
sp=data['item_id'].value_counts()
print(sp.head(10))
out:
下單次數排名前三的三個商品ID為“258745390”,“147908099”,“15909257”,其中“258745390”的下單次數達到109次。
2.3.2
dl=data['item_category'].value_counts()
print(dl.head())
out:
最受歡迎的五大商品種類為“13230”,“5894”,“1863”,“6513”,“5027”,其中“13230”的下單次數達到10383次。
三、典型用戶畫像
由此,我們可以得到一個典型用戶畫像:
男性,年齡在30歲左右,一線城市居住,已婚,本科學歷,並且在一家互聯網公司任職,收入較高,注重追求生活品質,喜歡在周四到周五晚上的9點到10點下單,最喜歡的商品是“258745390”,最喜歡的商品大類為“13230”。(從性別、年齡、地區、婚育、學歷、職業、收入、下單時間、消費偏好、價格區間等方面分析)
所以對於此次營銷活動,可以在周四和周五晚上七點到八點的時間里,對相關用戶進行推送,主打商品大類“13230”里的相關產品。