日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

某宝移动端用户行为分析---PYTHON

發布時間:2024/3/26 python 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 某宝移动端用户行为分析---PYTHON 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 數據來源說明

數據來源:下載于天池數據集–< User Behavior Data on Taobao App> https://tianchi.aliyun.com/dataset/dataDetail?dataId=46
這份數據是15年天池大賽的比賽數據,內容包括了14年雙十一之后到雙十二結束這段時間內用戶的行為痕跡,共6個指標12256906個用戶,本文將使用PYTHON對整體用戶購物情況進行分析。
數據指標說明如下表:

columndescription
user_id用戶身份,脫敏
item_id商品id,脫敏
behavior_type用戶行為類型(包括點擊,收藏,加購物車和付款四種行為,相應的值分別為1,2,3和4。)
user_geohash地理位置
item_category品類ID(商品所屬的品類)
time用戶行為發生的時間

2 研究目標

  • 基本數據統計
    總PV、總UV、有購買行為的用戶數量、復購率、跳失率

  • 用戶行為轉化漏斗
    點擊–收藏–加購物車–支付各環節轉化率如何?

  • 購買次數占前80%的品類有多少?

  • 從時間維度了解用戶的行為習慣
    每天的PV、UV

3 數據預處理

3.1數據抽樣

導入數據,看看數據的具體情況

import pandas as pd data=pd.read_csv(r'E:\DATA\tianchi_mobile_recommend_train_user.csv') print(data.head()) data.info() print(data.describe())


由于數據較為龐大,進行抽樣處理–隨機抽樣
抽取100萬條數據

#隨機、可放回抽樣 data=data.sample(n=10000,replace=True,axis=0) data.to_csv(r"E:\DATA\user.csv")

3.2 數據清洗

數據一致化處理
通過查看數據可得知,time字段的時間包含年-月-日和小時,為方便分析,將該字段分為2個字段:一個日期列,一個小時列
用Excel實現 將該字段的小時列刪除,將數據名字保存為user_

#將數據處理為時間格式 data=pd.read_csv(r'E:\DATA\user_.csv') data['time']=pd.to_datetime(data['time'])

缺失值處理
user_geohash地理位置列,多數為NULL,且信息被加密處理,后面便不做地理位置的研究。

數據處理,將行為提取

#將behavior_type的四種行為類型分別用1,2,3,4代表,為方便查看現將數字轉為pv,collect,cart,buy data.loc[data['behavior_type']==1,'behavior_type']='pv' data.loc[data['behavior_type']==2,'behavior_type']='collect' data.loc[data['behavior_type']==3,'behavior_type']='cart' data.loc[data['behavior_type']==4,'behavior_type']='buy'

4 整體用戶購物情況

4.1 基礎數據統計

4.1.1 計算PV

pv(總訪問量)為:942396 PV即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次。

print(data.groupby(['behavior_type']).count())
4.1.2 計算UV

UV(用戶總數):9869 UV(獨立訪客):即Unique Visitor,訪問您網站的一臺電腦客戶端為一個訪客。00:00-24:00內相同的客戶端只被計算一次。

print(data.drop_duplicates('user_id').count())
4.1.3計算有購買行為的用戶數

有購買行為的用戶數:3595

data2=data[data['behavior_type']=='buy'] print(data2.drop_duplicates('user_id').count())
4.1.4 計算重復購買率

復購率=65.7% 復購率=購買2次或以上的用戶/購買用戶總數

data3=data[data['behavior_type']=='buy'] df=data3.groupby('user_id').count() df[df['behavior_type']>=2].count() print(2362/3595)

4.2 分析用戶行為習慣----時間維度

4.2.1 每周的用戶行為數量變化趨勢


可以看到,周一到周二的用戶行為逐漸增加,周二-周四達到一個穩定值,周四到-周六用戶行為明顯減少,周六為一周最低,周六后開始逐漸增加。

data['time1']=[i.weekday() for i in data['time']] df1=data.groupby('time1').count() df1.index=[1,2,3,4,5,6,7]import matplotlib.pyplot as plt import numpy as np import matplotlib.dates as mdate fig=plt.figure(figsize=(20,6)) plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif']=['SimHei'] #顯示中文標簽 plt.xticks(df1.index) ax=fig.add_subplot(111) ax.plot(df1.index,df1['user_id'])
4.2.2 日PV


結論:在12月份開始,用戶行為逐漸有增多趨勢,尤其在12月9日開始,用戶行為明顯高于其他時期,這幾天用戶行為增多是因為淘寶的“雙十二”活動。

data1=data[data['behavior_type']=='pv'] day_pv=data1.groupby(['time']).count() print(day_pv)

#可視化 import matplotlib.pyplot as plt import numpy as np import matplotlib.dates as mdatedata1=data[data['behavior_type']=='pv'] day_pv=data1.groupby(['time']).count() day_pvfig=plt.figure(figsize=(20,6)) plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif']=['SimHei'] #顯示中文標簽 plt.title(u'每天PV圖') ax=fig.add_subplot(111) ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')) plt.xticks(pd.date_range(day_pv.index[0],day_pv.index[-1],freq='D'),rotation=45)#用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False ax.plot(day_pv.index,day_pv['user_id'])
4.2.3 日UV

結論:用戶總數變化趨勢與PV量變化趨勢類似,周末的數量逐漸增加,到工作日又逐漸降低。在雙十二期間,用戶總數明顯上升,活動過后,人數明顯下降至平穩狀態。

day_uv=data.groupby('time')['user_id'].nunique() day_uvfig=plt.figure(figsize=(20,6)) plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif']=['SimHei'] plt.title(u'每天UV量') ax=fig.add_subplot(111) ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')) plt.xticks(pd.date_range(day_uv.index[0],day_uv.index[-1],freq='D'),rotation=45)#用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False ax.plot(day_uv.index,day_uv)
4.2.4 購買轉化率

轉化率=1.06%
用戶行為轉化漏斗如下圖

結論:用戶點擊后,收藏或者加購物車的概率在5%左右,而最后真正的購買率在1%,已經收藏或者加購物車到最終購買的轉化率為21.03%,購買轉化率很低,后面可以采取活動提高購買轉化率。

pv_count=data[data['behavior_type']=='pv'].count() buy_count=data[data['behavior_type']=='buy'].count() pv_to_buy=buy_count/pv_count print(pv_to_buy)

pv_num=data[data['behavior_type']=='pv']['user_id'].count() collect_num=data[data['behavior_type']=='collect']['user_id'].count() cart_num=data[data['behavior_type']=='cart']['user_id'].count() buy_num=data[data['behavior_type']=='buy']['user_id'].count() far_num=collect_num+cart_numdata1={'環節':['pv','far','buy'],'人數':[pv_num,far_num,buy_num]} frame=pd.DataFrame(data1) frame#計算單環節轉化率 temp1=np.array(frame['人數'][1:]) temp2=np.array(frame['人數'][0:-1]) temp1,temp2 single_convs=temp1/temp2 single_convs=list(single_convs) single_convs.insert(0,1) single_convs=[round(x,4) for x in single_convs] frame['單一環節轉化率']=single_convs#求總體轉化率 temp3=np.array(frame['人數']) temp4=np.ones(len(frame['人數']))*frame['人數'][0] total_convs=list(temp3/temp4) total_convs=[round(x,4) for x in total_convs] frame['總體轉化率']=total_convs frame#繪制漏斗圖 from pyecharts import Funnel attrs=frame['環節'].tolist() attr_value=(np.array(frame['總體轉化率']*100)).tolist()funnel1=Funnel("總體轉化漏斗圖",width=400,height=200,title_pos='center') funnel1.add(name='商品交易環節',attr=attrs,value=attr_value,is_label_show=True,label_formatter='ozvdkddzhkzd%',label_pos="inside",legend_orient='vertical',legend_pos='left', is_legend_show=True) funnel1.render('文件路徑')

4.2.5 品類銷售次數TOP10
df=data[data['behavior_type']=='buy'] print(df.groupby('item_category').count().sort_values('user_id',ascending=False))

結論:購買次數最多的品類是6344,購買次數為162.

5 總結

  • 大部分用戶的主要活躍時間段為9:00-22:00,其中18:00-22:00開始逐漸增加,達到一天之中的頂峰。每周的主要活躍時間為周二至周四,運營人員可根據活躍時間進行相關的活動。
  • 收藏或者加購物車的概率在5%左右,而最后真正的購買率在1%,購買轉化率與行業的標準進行比較,后面可以采取活動(用戶細分,轉化路徑細查)提高購買轉化率。
  • 針對不同品類的購買轉化率采取不同的策略,提高已購品類的轉化率,一方面,對未被購買的品類進行分析,找出原因,促成購買。
  • 總結

    以上是生活随笔為你收集整理的某宝移动端用户行为分析---PYTHON的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。