大数据毕设项目 - 大数据电商用户行为分析 -python 大数据

这篇具有很好参考价值的文章主要介绍了大数据毕设项目 - 大数据电商用户行为分析 -python 大数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 基于大数据的淘宝用户行为分析

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:3分

1 背景描述

针对项目:淘宝用户分析使用。2014年是阿里巴巴集团移动电商业务快速发展的一年,例如2014双11大促中移动端成交占比达到42.6%,超过240亿元。相比PC时代,移动端网络的访问是随时随地的,具有更丰富的场景数据,比如用户的位置信息、用户访问的时间规律等。

本次大赛以阿里巴巴移动电商平台的真实用户-
商品行为数据为基础,同时提供移动时代特有的位置信息,而参赛队伍则需要通过大数据和算法构面向建移动电子商务的商品推荐模型。希望参赛队伍能够挖掘数据背后丰富的内涵,为移动用户在合适的时间、合适的地点精准推荐合适的内容。

2 项目背景

本数据报告以淘宝app平台为数据集,通过行业的指标对淘宝用户行为进行分析,从而探索淘宝用户的行为模式,具体指标包括:日PV和日UV分析,付费率分析,复购行为分析,漏斗流失分析和用户价值RFM分析。

3 提出问题

  1. 日PV有多少
  2. 日UV有多少
  3. 付费率情况如何
  4. 复购率是多少
  5. 漏斗流失情况如何
  6. 用户价值情况

4 理解数据

本数据集共有104万条左右数据,数据为淘宝APP2014年11月18日至2014年12月18日的用户行为数据,共计6列字段,列字段分别是:

user_id:用户身份,脱敏

item_id:商品ID,脱敏

behavior_type:用户行为类型(包含点击、收藏、加购物车、支付四种行为,分别用数字1、2、3、4表示)

user_geohash:地理位置

item_category:品类ID(商品所属的品类)

time:用户行为发生的时间

5 数据清洗

 import pandas as pd
    import numpy as py
    %matplotlib inline
    import matplotlib.pyplot as plt
    import seaborn as sns
    data_user = pd.read_csv('/home/kesci/input/taobao1920/tianchi_mobile_recommend_train_user.csv')

5.1缺失值处理

  #缺失值处理
    missingTotal = data_user.isnull().sum()
    missingExist = missingTotal[missingTotal>0]
    missingExist = missingExist.sort_values(ascending=False)
    print(missingTotal)

user_id 0
item_id 0
behavior_type 0
user_geohash 8334824
item_category 0
time 0
dtype: int64

存在缺失值的是User_geohash,有717785条,不能删除缺失值,因为地理信息在数据集收集过程中做过加密转换,因此对数据集不做处理。

5.2查看数据

 print(data_user.head())

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

5.3一致化处理

    #一致化处理
    import re
    #拆分数据集
    data_user['date'] = data_user['time'].map(lambda s: re.compile(' ').split(s)[0])
    data_user['hour']=data_user['time'].map(lambda s:re.compile(' ').split(s)[1])
    data_user.head()

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

5.4查看data_user数据集数据类型:


​ data_user.dtypes

user_id int64
item_id int64
behavior_type int64
user_geohash object
item_category int64
time object
date object
hour object
dtype: object

5.5数据类型转换

​ #发现time列和date列应该转化为日期类数据类型,hour列应该是整数数据类型。

​ #数据类型转化

data_user['date']=pd.to_datetime(data_user['date'])
data_user['time']=pd.to_datetime(data_user['time'])
data_user['hour']=data_user['hour'].astype('int64')
data_user.dtypes

user_id int64
item_id int64
behavior_type int64
user_geohash object
item_category int64
time datetime64[ns]
date datetime64[ns]
hour int64
dtype: object

5.6异常值处理

   #异常值处理
    data_user = data_user.sort_values(by='time',ascending=True)
    data_user = data_user.reset_index(drop=True)
    data_user.describe()

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

通过观察数据集的四分位数,总数,平均值,方差等,发现数据集并无异常值存在。

6用户行为分析

(1)pv和uv分析

PV(访问量):即Page View, 具体是指网站的是页面浏览量或者点击量,页面被刷新一次就计算一次。

UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。

6.1日访问量分析

   #pv_daily记录每天用户操作次数,uv_daily记录每天不同的上线用户数量
    pv_daily=data_user.groupby('date')['user_id'].count().reset_index().rename(columns={'user_id':'pv'})
    uv_daily=data_user.groupby('date')['user_id'].apply(lambda x:x.drop_duplicates().count()).reset_index().rename(columns={'user_id':'uv'})
    fig,axes=plt.subplots(2,1,sharex=True)
    pv_daily.plot(x='date',y='pv',ax=axes[0])
    uv_daily.plot(x='date',y='uv',ax=axes[1])
    axes[0].set_title('pv_daily')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

结果显示如上图所示,在双十二期间,pv和uv访问量达到峰值,并且可以发现,uv和pv两个访问量数值差距比较大,同时,因为数据集总人数大约是10000人左右,因此,通过nv值可以分析出双十二期间淘宝用户的日活跃大概是45%浮动。

6.2小时访问量分析

    #小时访问量分析
    #pv_hour记录每小时用户操作次数,uv_hour记录每小时不同的上线用户数量
    pv_hour=data_user.groupby('hour')['user_id'].count().reset_index().rename(columns={'user_id':'pv'})
    uv_hour=data_user.groupby('hour')['user_id'].apply(lambda x:x.drop_duplicates().count()).reset_index().rename(columns={'user_id':'uv'})
    fig,axes=plt.subplots(2,1,sharex=True)
    pv_hour.plot(x='hour',y='pv',ax=axes[0])
    uv_hour.plot(x='hour',y='uv',ax=axes[1])
    axes[0].set_title('pv_hour')
    axes[0].set_title('uv_hour')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

图表显示:pv和uv在凌晨0-5点期间波动情况相同,都呈下降趋势,访问量都比较小,同时在晚上18:00左右,pv波动情况比较剧烈,相比来看uv不太明显,因此晚上18:00以后是淘宝用户访问app的活跃时间段。

6.3不同行为类型用户PV分析

   #不同行为类型用户pv分析
    pv_detail=data_user.groupby(['behavior_type','hour'])['user_id'].count().reset_index().rename(columns={'user_id':'total_pv'})
    fig,axes=plt.subplots(2,1,sharex=True)
    sns.pointplot(x='hour',y='total_pv',hue='behavior_type',data=pv_detail,ax=axes[0])
    sns.pointplot(x='hour',y='total_pv',hue='behavior_type',data=pv_detail[pv_detail.behavior_type!=1],ax=axes[1])
    axes[0].set_title('pv_different_behavior_type')
    axes[1].set_title('pv_different_behavior_type_except1')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

有图表显示:点击这一用户行为相比较于其他三类用户行为,pv访问量较高,同时四种用户行为的波动情况基本一致,因此晚上这一时间段不管哪一种用户行为,pv访问量都是最高的。从图2可以看出,加入购物车这一用户行为的pv总量高于收藏的总量,因此在后续漏斗流失分析中,用户类型3应该在2之前分析。

7 用户消费行为分析

7.1用户购买次数情况

    #(1)用户购买次数情况分析
    data_user_buy=data_user[data_user.behavior_type==4].groupby('user_id')['behavior_type'].count()
   sns.distplot(data_user_buy,kde=False)
    plt.title('daily_user_buy')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

图表显示:淘宝用户消费次数普遍在10次以内,因此需要重点关注购买次数在10次以上的消费者用户群体。

7.2日ARPPU

ARPPU(average revenue per paying user)是指从每位付费用户身上获得的收入,它反映的是每个付费用户的平均付费额度。

ARPPU=总收入/活跃用户付费数量

因为本数据集中没有消费金额,因此在计算过程中用消费次数代替消费金额

人均消费次数=消费总次数/消费人数

   data_use_buy1=data_user[data_user.behavior_type==4].groupby(['date','user_id'])['behavior_type'].count().reset_index().rename(columns={'behavior_type':'total'})
    data_use_buy1.groupby('date').apply(lambda x:x.total.sum()/x.total.count()).plot()
    plt.title('daily_ARPPU')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

图表显示:平均每天消费次数在1-2次之间波动,双十二期间消费次数达到最高值。

7.3 日ARPU

​ #ARPU(Average Revenue Per User) :平均每用户收入,可通过 总收入/AU 计算得出。它可以衡量产品的盈利能力和发展活力。

​ #活跃用户数平均消费次数=消费总次数/活跃用户人数(每天有操作行为的为活跃)

data_user['operation']=1
data_use_buy2=data_user.groupby(['date','user_id','behavior_type'])['operation'].count().reset_index().rename(columns={'operation':'total'})
data_use_buy2.groupby('date').apply(lambda x:x[x.behavior_type==4].total.sum()/len(x.user_id.unique())).plot()
plt.title('daily_ARPU')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

7.4付费率

    
    #(4)付费率
    
    #付费率=消费人数/活跃用户人数
    

    data_use_buy2.groupby('date').apply(lambda x:x[x.behavior_type==4].total.count()/len(x.user_id.unique())).plot()
    plt.title('daily_afford_rate')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

7.5 同一时间段用户消费数分布

  #(5)同一时间段用户消费次数分布
  
    data_user_buy3=data_user[data_user.behavior_type==4].groupby(['user_id','date','hour'])['operation'].sum().rename('buy_count')
    sns.distplot(data_user_buy3)
    print('大多数用户消费:{}次'.format(data_user_buy3.mode()[0]))

大多数用户消费:1次

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

8 复购情况分析

    #复购情况,即两天以上有购买行为,一天多次购买算一次
    #复购率=有复购行为的用户数/有购买行为的用户总数
    
    date_rebuy=data_user[data_user.behavior_type==4].groupby('user_id')['date'].apply(lambda x:len(x.unique())).rename('rebuy_count')
    print('复购率:',round(date_rebuy[date_rebuy>=2].count()/date_rebuy.count(),4))

复购率: 0.8717

    #所有复购时间间隔消费次数分布
    data_day_buy=data_user[data_user.behavior_type==4].groupby(['user_id','date']).operation.count().reset_index()
    data_user_buy4=data_day_buy.groupby('user_id').date.apply(lambda x:x.sort_values().diff(1).dropna())
    data_user_buy4=data_user_buy4.map(lambda x:x.days)
   data_user_buy4.value_counts().plot(kind='bar')
    plt.title('time_gap')
    plt.xlabel('gap_day')
    plt.ylabel('gap_count')

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

多数用户复购率为0.4693,消费次数随着消费时间间隔的增加而不断下降,在1-10天之内复购次数比较多,10天之后复购次数淘宝用户很少在进行复购,因此需要重视10天之内的淘宝用户复购行为,增加用户复购。不同用户平均复购时间呈正态分布,但是总体来看,呈现逐渐下降趋势。多数淘宝用户平均复购时间集中在1-5天时间间隔内。

9 漏斗流失分析

漏斗分析是一套流程式数据分析,它能够科学反映用户行为状态以及从起点到终点各阶段用户转化率情况的重要分析模型。

    data_user_count=data_user.groupby(['behavior_type']).count()
    data_user_count.head()
    pv_all=data_user['user_id'].count()
    print(pv_all)

10 用户行为与商品种类关系分析

    #不同用户行为类别的转化率
 data_category=data_user[data_user.behavior_type!=2].groupby(['item_category','behavior_type']).operation.count().unstack(1).rename(columns={1:'点击量',3:'加入购物车量',4:'购买量'}).fillna(0)
  data_category.head()

大数据毕设项目 - 大数据电商用户行为分析 -python 大数据,python,算法

最后

🧿 选题指导, 项目分享: https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md文章来源地址https://www.toymoban.com/news/detail-840978.html

到了这里,关于大数据毕设项目 - 大数据电商用户行为分析 -python 大数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Python电商用户行为的数据分析、机器学习、可视化研究

    有需要本项目的源码以及全套文档和相关资源,可以私信博主!!! 在数字化和互联网技术飞速发展的推动下,消费者的购买能力和消费观念呈现不断升级和变迁的趋势。用户消费数据的爆炸式增长,为我们提供了寻找潜在价值信息的机会。 本研究使用了阿里巴巴提供的淘

    2024年02月04日
    浏览(37)
  • python毕设选题 - flink大数据淘宝用户行为数据实时分析与可视化

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月01日
    浏览(48)
  • 大数据毕设分享 flink大数据淘宝用户行为数据实时分析与可视化

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月21日
    浏览(43)
  • SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据...

    假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢? ( 点击文末“阅读原文”获取完整文档、 数据 ) 相关视频 这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功能。 将分为三个部分来演示

    2024年02月16日
    浏览(43)
  • 基于Spark的电商用户行为分析系统的设计与实现

    项目架构 Flume–Kafka–Spark Streaming–Mysql–FineReport 10 数据可视化使用第三方软件FineReport支持 1. 数据采集:利用Java线程模拟行为数据写入被监控的文件 模拟电商网站用户行为数据(也可与阿里云天池开源数据集:真实的淘宝或天猫用户行为数据) flume实时监控数据文件,并将

    2024年02月04日
    浏览(27)
  • 基于Spark+Springboot的电商用户行为分析系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作 ✌ 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年01月17日
    浏览(40)
  • 【数据分析项目实战】篇1:游戏数据分析——新增、付费和用户行为评估

    目录 0 结论 1 背景介绍 1.1 游戏介绍 1.2 数据集介绍 2 分析思路 3 新增用户分析 3.1 新增用户数: 3.2 每日新增用户数: 3.3 分析 4 活跃度分析 4.1 用户平均在线时长 4.2 付费用户平均在线时长 4.3 日活跃用户(日平均在线时长10min)数及占比 4.4 分析与建议 5 游戏行为分析 5.1 对比

    2023年04月08日
    浏览(83)
  • 【Hive+MySQL+Python】淘宝用户购物行为数据分析项目

    user_data.csv是一份用户行为数据,时间区间为2017-11-25到2017-12-03,总计29132493条记录,大小为1.0G,包含5个字段。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下: 用户行为类型共

    2024年02月07日
    浏览(32)
  • 数仓用户行为数据分析

    分层优点:复杂的东西可以简单化、解耦(屏蔽层作用)、提高复用、方便管理 SA 贴源  数据组织结构与源系统保持一致 shm 历史层  针对不同特征的数据做不同算法,目的都是为了得到一份完整的数据 PDM 明细层 做最细粒度的数据明细,最高扩展性和灵活性,企业级的数据

    2024年02月08日
    浏览(29)
  • 大数据实战 --- 淘宝用户行为数据分析

    目录 开发环境  数据描述 功能需求 数据准备 数据清洗 用户行为分析 找出有价值的用户 Hadoop+Hive+Spark+HBase 启动Hadoop :start-all.sh 启动zookeeper :zkServer.sh start 启动Hive : nohup hiveserver2 1/dev/null 21 beeline -u jdbc:hive2://192.168.152.192:10000 启动Hbase : start-hbase.sh hbase shell 启动Spark :s

    2023年04月22日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包