数据分析:消费者数据分析

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

数据分析:消费者数据分析

作者:i阿极

作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

一、前言

随着互联网在经济活动中的广泛运用,人们对网络的依赖越来越强烈,网络正在不知不觉中改变着当今社会的生活状态和生活方式。电子商务的兴起,开创了全球性的商务革命和经营革命,并逐步成为一种极重要的商务方式。中国互联网信息中心的第15次中国互联网络发展状况统计显示,2004年庞大的网上用户群中,选择网上购物的人数仅占0.1%。这一方面反映了我国消费者网上购物仍有巨大的潜在市场;另一方面也表明我国网络营销还处于不成熟阶段。对企业而言,网上购物能提供增加收入的机会和吸引顾客的新手段,并能促进与原有顾客的关系。同传统营销一样,网络营销需要了解消费者行为,对消费者网上购买动机进行分析有利于企业针对性地开展市场营销活动。(数据来源于网络)

从本质上讲,消费者是由一个希望满足他们需求的欲望而驱动的。被人们感觉到的需求能够分为两大类:实用主义的需求,引导消费者去考虑目的,产品的功能属性;享乐的或经验的需求,引导消费者去考虑主观方面,产品的舒适性,美学等。在一个购买决定中,两类需求都被考虑是很普遍的。比如,一个消费者也许为了实用目的,驾车上下班,而去购买一辆车,但同时考虑到享乐目的,享受驾驶,最终会选择一辆跑车。当消费者存在未被满足的需求时,通常会产生一股力量,即动力——使一个人对需求做出反应的力量,它来自内部刺激,是由愿望状态到实际状态的趋势所引起的。有了力量,人们再通过恰当行动的学习,最终导致一种动机或一系列动机的发展。消费者期望基于动机上的行动能够产生结果,这就形成一个目标,最终导致一个能够完成此目标的行动。

二、数据准备

1.导入所需要用到的模块

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
%matplotlib inline
plt.style.use('ggplot')  #更改绘图风格,R语言绘图库的风格
plt.rcParams['font.sans-serif'] = ['SimHei']

2.导入数据。
user_id:用户ID,order_dt:购买日期,order_products:购买产品数量,order_amount:购买金额。

数据时间:1997年1月~1998年6月用户行为数据,约6万条。

columns = ['user_id','order_dt','order_products','order_amount']
df = pd.read_table(r"C:\Users\XWJ\Desktop\CDNOW_master.txt",names=columns,sep='\s+') 
df.head()

注意:sep=’\s+’:匹配任意个空格
消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言
为了方便后面对数据的处理方便,需要将日期格式需要转换,同时有数据得出,存在同一个用户一天内购买多次行为。

3.使用describe()函数,计算数据集中每列的总数、均值、标准差、最小值、25%、50%、75%分位数以及最大值。

df.describe()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

用户平均每笔订单购买2.4个商品,标准差2.3,稍微有点波动,属于正常。然而75%分位数的时候,说明绝大多数订单的购买量都不多,围绕在2~3个产品左右;
购买金额,反映出大部分订单消费金额集中在中小额,30~45左右

4.使用函数info():数据表的基本信息(维度,列名称,数据格式,所占空间等)

df.info()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

三、数据预处理

1.数据处理

df['order_date'] = pd.to_datetime(df['order_dt'],format='%Y%m%d')

df['month'] = df['order_date'].astype('datetime64[M]')  #[M] :控制转换后的精度
df.head()
  • format参数:按照指定的格式去匹配要转换的数据列。
  • %Y:四位的年份1994 %m:两位月份05 %d:两位月份31
  • %y:两位年份94 %h:两位小时09 %M:两位分钟15 %s:两位秒
  • 将order_date转化成精度为月份的数据列
  • [M] :控制转换后的精度

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

2.用户整体消费趋势分析,按月份统计产品购买数量,消费金额,消费次数,消费人数。

plt.figure(figsize=(20,15)) #单位时英寸
# 每月的产品购买数量
plt.subplot(221)  #两行两列,占据第一个位置
df.groupby(by='month')['order_products'].sum().plot()  #默认折线图
plt.title('每月的产品购买数量')
# 每月的消费金额
plt.subplot(222)  #两行两列
df.groupby(by='month')['order_amount'].sum().plot()  #默认折线图
plt.title('每月的消费金额')
# 每月的消费次数
plt.subplot(223)  #两行两列
df.groupby(by='month')['user_id'].count().plot()  #默认折线图
plt.title('每月的消费次数')
# 每月的消费人数(根据user_id进行去重统计,再计算个数)
plt.subplot(224)  #两行两列
df.groupby(by='month')['user_id'].apply(lambda x:len(x.drop_duplicates())).plot()  #默认折线图
plt.title('每月的消费人数')

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

分析结果:
图一可以看出,前三个月销量非常高,而以后销量较为稳定,并且稍微呈现下降趋势。

图二可以看出,依然前三个月消费金额较高,与消费数量成正比例关系,三月份过后下降严重,并呈现下降趋势,思考原因?:跟月份有关,
在我国来1,2,3月份处于春节前后。2.公司在1,2,3,月份的时候是否加大了促销力度。

图三可以看出,前三个月订单数在10000左右,后续月份的平均消费单数在2500左右。

图四可以看出,前三个月消费人数在8000~10000左右,后续平均消费消费在2000不到的样子。

总结:所有数据显示,97年前三月消费事态异常,后续趋于常态化。

四、个体消费者分析

1.用户消费金额,消费次数(产品数量)描述统计。

user_grouped = df.groupby(by='user_id').sum()
print(user_grouped.describe())
print('用户数量:',len(user_grouped))

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

从用户的角度:用户数量23570个,每个用户平均购买7个CD,但是中位数只有3,并且最大购买量为1033,平均值大于中位数,属于典型的右偏分布(替购买量<7的用户背锅)。

从消费金额角度:平均用户消费106,中位数43,并且存在土豪用户13990,结合分位数和最大值来看,平均数与75%分位数几乎相等,属于典型的右偏分布,说明存在小部分用户(后面的25%)高额消费(这些用户需要给消费金额<106的用户背锅,只有这样才能使平均数维持在106)。

绘制每个用户的产品的购买量与消费金额散点图。

df.plot(kind='scatter',x='order_products',y='order_amount')

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

从图中可知,用户的消费金额与购买量呈现线性趋势,每个商品均价15左右,
订单的极值点比较少(消费金额>1000,或者购买量大于60),对于样本来说影响不大,可以忽略不记。

2.用户消费分布图。

plt.figure(figsize=(12,4)) 
plt.subplot(121)
plt.xlabel('每个订单的消费金额')
df['order_amount'].plot(kind='hist',bins=50)  #bins:区间分数,影响柱子的宽度,值越大柱子越细。宽度=(列最大值-最小值)/bins
#消费金额在100以内的订单占据了绝大多数

plt.subplot(122)
plt.xlabel('每个uid购买的数量')
df.groupby(by='user_id')['order_products'].sum().plot(kind='hist',bins=50)

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

图二可知,每个用户购买数量非常小,集中在50以内。
两幅图得知,我们的用户主要是消费金额低,并且购买小于50的用户人数占据大多数(在电商领域是非常正常的现象)。

3.用户累计消费金额占比分析(用户的贡献度)。

进行用户分组,取出消费金额,进行求和,排序,重置索引

user_cumsum = df.groupby(by='user_id')['order_amount'].sum().sort_values().reset_index()
user_cumsum

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

每个用户消费金额累加

user_cumsum['amount_cumsum'] = user_cumsum['order_amount'].cumsum()
user_cumsum.tail()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

用户的总贡献率

amount_total = user_cumsum['amount_cumsum'].max() #消费金额总值
user_cumsum['prop'] = user_cumsum.apply(lambda x:x['amount_cumsum']/amount_total,axis=1)
user_cumsum.tail()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

可视化

user_cumsum['prop'].plot()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

由图分析可知,前20000名用户贡献总金额的40%,剩余3500名用户贡献了60%。

五、用户消费行为

1.首次购买的时间

df.groupby(by='user_id')['order_date'].min().value_counts().plot()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

2.最后一次购买时间。

df.groupby(by='user_id')['order_date'].max().value_counts().plot()

消费数据分析,数据分析案例,数据分析,数据挖掘,python,开发语言

大多数用户最后一次购买时间集中在前3个月,说明缺少忠诚用户。
随着时间的推移,最后一次购买商品的用户量呈现上升趋势,猜测:这份数据选择是的前三个月消费的用户在后面18个月的跟踪记录。

总结

人生很短,不要看轻自己,努力一些;人生不公,不要折磨自己,看淡一些;人生的谷底,变成我重建人生的坚实基石。所以不要畏惧失败;只要活着就必然要面对失败,除非你小心翼翼到仿佛一生都没有活过。如果这样,你的失败将来自于放弃生活。文章来源地址https://www.toymoban.com/news/detail-791712.html

到了这里,关于数据分析:消费者数据分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Kafka入门, 消费者组案例(十九)

    在消费者API代码中,必须配置消费者id。命令行启动消费者不填写消费者组id会被自动填写随机得消费者组id 发送的信息 消费信息(因为我发了好多次) 发送信息发现只消费0分区的信息 复制三分,然后运行

    2024年02月12日
    浏览(30)
  • 数据分析与数据挖掘实战案例本地房价预测(716):

    2022 年首届钉钉杯大学生大数据挑战赛练习题目 练习题 A:二手房房价分析与预测 要点: 1、机器学习 2、数据挖掘 3、数据清洗、分析、pyeahcrs可视化 4、随机森林回归预测模型预测房价 1、读入数据、清洗数据: 2、解决相关问题: (一) 根据附件中的数据集,将二手房数据

    2024年02月07日
    浏览(37)
  • Kafka-消费者-KafkaConsumer分析

    与KafkaProducer不同的是,KafkaConsumer不是一个线程安全的类。 为了便于分析,我们认为下面介绍的所有操作都是在同一线程中完成的,所以不需要考虑锁的问题。 这种设计将实现多线程处理消息的逻辑转移到了调用KafkaConsumer的代码中,可以根据业务逻辑使用不同的实现方式。

    2024年01月18日
    浏览(46)
  • 基于数据挖掘技术的手机消费行为分析的研究与实现(论文+源码)_jsp_236

    摘要 本文首先研究并介绍国内外目前的背景和现状,在此基础上给出论文的主要研究内容,其次,对数据挖掘技术手机消费行为系统的需求进行了分析。再次,对数据挖掘技术手机消费行为系统进行了总体设计,根据其总体设计、软件架构和总体功能模块进行了详细设计,作

    2024年02月04日
    浏览(35)
  • Python数据挖掘实用案例——自动售货机销售数据分析与应用

    🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:C++STL,感兴趣的小伙伴可以看看。 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️万物从心起,心动则万物动🏄

    2024年02月08日
    浏览(53)
  • 大数据教材推荐|Python数据挖掘入门、进阶与案例分析

      主   编: 卢滔,张良均,戴浩,李曼,陈四德 出版社: 机械工业出版社 内容提要 本书从实践出发,结合11个 “泰迪杯” 官方推出的赛题,按照赛题的难易程度进行排序,由浅入深地介绍数据挖掘技术在 商务、教育、交通、传媒、旅游、电力、制造业等行业的应用 。因

    2024年02月10日
    浏览(25)
  • 图解大数据 | 综合案例-使用Spark分析挖掘音乐专辑数据

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-detail/178 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 文娱影音是目前大数据与AI应用最广泛的场景之一,本案例以音乐专辑发行数据为背景

    2024年02月09日
    浏览(39)
  • Kafka-消费者-KafkaConsumer分析-PartitionAssignor

    Leader消费者在收到JoinGroupResponse后,会按照其中指定的分区分配策略进行分区分配,每个分区分配策略就是一个PartitionAssignor接口的实现。图是PartitionAssignor的继承结构及其中的组件。 PartitionAssignor接口中定义了Assignment和Subscription两个内部类。 进行分区分配需要的两方面的数

    2024年01月20日
    浏览(36)
  • Kafka-消费者-KafkaConsumer分析-SubscriptionState

    KafkaConsumer从Kafka拉取消息时发送的请求是FetchRequest(具体格式后面介绍),在其中需要指定消费者希望拉取的起始消息的offset。 为了消费者快速获取这个值,KafkaConsumer使用SubscriptionState来追踪TopicPartition与offset对应关系。 图展示了SubscriptionState依赖的类以及其核心字段。 Subscrip

    2024年01月18日
    浏览(30)
  • Kafka-消费者-KafkaConsumer分析-ConsumerCoordinator

    在前面介绍了Kafka中Rebalance操作的相关方案和原理。 在KafkaConsumer中通过ConsumerCoordinator组件实现与服务端的GroupCoordinator的交互,ConsumerCoordinator继承了AbstractCoordinator抽象类。 下面我们先来介绍AbstractCoordinator的核心字段,如图所示。 - heartbeat:心跳任务的辅助类,其中记录了两

    2024年01月18日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包