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

article/2025/8/21 1:43:09

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

作者: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+’:匹配任意个空格
在这里插入图片描述
为了方便后面对数据的处理方便,需要将日期格式需要转换,同时有数据得出,存在同一个用户一天内购买多次行为。

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

df.describe()

在这里插入图片描述

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

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

df.info()

在这里插入图片描述

三、数据预处理

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] :控制转换后的精度

在这里插入图片描述

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('每月的消费人数')

在这里插入图片描述

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

图二可以看出,依然前三个月消费金额较高,与消费数量成正比例关系,三月份过后下降严重,并呈现下降趋势,思考原因?:跟月份有关,
在我国来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))

在这里插入图片描述

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

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

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

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

在这里插入图片描述

从图中可知,用户的消费金额与购买量呈现线性趋势,每个商品均价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)

在这里插入图片描述

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

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

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

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

在这里插入图片描述

每个用户消费金额累加

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

在这里插入图片描述

用户的总贡献率

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()

在这里插入图片描述

可视化

user_cumsum['prop'].plot()

在这里插入图片描述

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

五、用户消费行为

1.首次购买的时间

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

在这里插入图片描述

2.最后一次购买时间。

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

在这里插入图片描述

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

总结

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


http://chatgpt.dhexx.cn/article/rLmR1ZgJ.shtml

相关文章

消费者洞察:案例透视消费者洞察实践与收益

本文根据Stratifyd资深解决方案经理段鑫龙(Bruce Duan)在“如何洞察您的消费者”直播课主题演讲整理。点击链接(https://live.vhall.com/534333188)查看完整演讲视频,关注Stratifyd微信公众号并在后台回复“粉丝群”,还可进群申领演讲课件,及时关注Stratifyd最新培训资讯…

消费者洞察:一文看懂消费者是如何做选择的

作者&#xff1a;付永承 全文共 4214 字&#xff0c;阅读需要 9 分钟 ———— / BEGIN / ———— “为什么有时候明明比对手更有优势&#xff0c;产品就是无人问津&#xff1f;” “为什么花了那么多广告费&#xff0c;销量怎么就是上不来&#xff1f;” “为什么之前的营销…

消费者洞察:数据化闭环洞察消费者

本文根据Stratifyd资深解决方案经理段鑫龙(Bruce Duan)在“如何洞察您的消费者”直播课主题演讲整理。上周我们通过“数据影响消费,消费营造数据”这篇文章了解了消费品行业的发展现状,新生代互联网消费者更乐于分享表达,然而消费者触点分散,对企业洞察消费者、了解消费者…

系统资源不足,无法完成请求服务。

使用visual studio 编译时&#xff1a; 清理了磁盘…重装了VS2019 没用… 后来一个学长说试试卸载McAfee well done!

win10突然提示系统资源不足,无法完成请求服务的解决方法(VS)win10跑代码变慢

大概率是McAfee搞得鬼 解决方法&#xff1a;点击PC安全-实时扫描-关闭 电脑也快多了&#xff0c;跑代码也快了很多 直接卸载McAfee也可

c语言无纸化软件系统资源不足,系统资源不足无法完成请求的服务怎么办_系统资源不足卸载迈克菲解决教程 - 系统家园...

最近很多用户在问小编系统资源不足无法完成请求的服务怎么解决&#xff0c;小编电脑没有遇到这个问题&#xff0c;但是看到了贴吧很多小伙伴都有这个问题&#xff0c;发现有个共性就是装了迈克菲McAfee杀毒防护软件&#xff0c;下面快点来看看怎么解决问题吧。 系统资源不足卸载…

windows远程拷贝和解压大文件异常:系统资源不足无法完成请求的服务

windows服务器异常&#xff1a;系统资源不足无法完成请求的服务 Insufficient system resources exist to complete the requested service. by qunying.liu(刘群英) 问题描述&#xff1a; 开发人员需要将线上环境windows的某些数据文件复制到开发环境windows用于测试&#xff…

c语言无纸化软件系统资源不足,win10系统安装软件显示“系统资源不足,无法完成请求的服务”的解决方法...

相信不少网友在win10系统安装软件时都遇到过“系统资源不足&#xff0c;无法完成请求的服务”的情况&#xff0c;到底是怎么回事&#xff1f;检查内存空间都足够大的&#xff0c;其实往往导致这一问题的不是存储空间不足问题&#xff0c;而是病毒问题。知道原因后&#xff0c;问…

c语言无纸化软件系统资源不足,win10系统安装软件显示“系统资源不足,无法完成请求的服务”的解决方法-系统城...

相信不少网友在win10系统安装软件时都遇到过“系统资源不足&#xff0c;无法完成请求的服务”的情况&#xff0c;到底是怎么回事&#xff1f;检查内存空间都足够大的&#xff0c;其实往往导致这一问题的不是存储空间不足问题&#xff0c;而是病毒问题。知道原因后&#xff0c;问…

打开U盘 提示 服务器无法运行,win10打开u盘提示“系统资源不足 无法完成请求的服务”怎么办...

一位用户在windows10系统电脑上连接U盘后&#xff0c;发现打开时总会弹出“位置不可用”的提示框&#xff0c;提示&#xff1a;无法访问X:\ 系统资源不足 无法完成请求的服务&#xff0c;这是怎么回事呢&#xff1f;其实&#xff0c;该问题是u盘损坏或内存配置过小所导致的。下…

瑞友服务器系统资源不足,win10/win7打开软件提示系统资源不足,无法完成请求服务的解决方法...

作者&#xff1a;陈俊 日期&#xff1a;2017-11-12 12:32 近期有些win7、win10用户莫名的遇到了一个问题&#xff0c;就是打开疯狂的美工软件的时候提示系统资源不足,无法完成请求服务&#xff0c;刚开始以为是系统缺少了某些组件&#xff0c;结果发现是国外杀毒 迈克菲(McA…

系统使用一段时间就出现“系统资源不足,无法完成请求的服务”

2019独角兽企业重金招聘Python工程师标准>>> 系统使用一段时间后&#xff0c;就会出现这个问题&#xff0c;导致电脑无法在打开软件&#xff0c;网络连接禁止使用&#xff0c;无法进行关机。只能强制关机。 经查证&#xff0c;发现System的句柄数在一直增加。增加到…

win10计算机资源不足无法登陆,win10电脑安装软件提示“系统资源不足,无法完成请求的服务”如何解决...

我们经常会在电脑中安装软件&#xff0c;不过有时候并没有那么顺利&#xff0c;比如有win10系统用户反映说在电脑中安装软件的时候&#xff0c;提示“系统资源不足&#xff0c;无法完成请求的服务”&#xff0c;导致无法安装软件&#xff0c;经过检查发现是病毒问题&#xff0c…

吃鸡显示服务器资源不足,win7系统玩吃鸡提示系统资源不足无法完成请求的服务如何解决...

有不少win7系统玩家反映说在电脑中玩吃鸡游戏的时候&#xff0c;却遇到提示系统资源不足无法完成请求的服务的情况&#xff0c;该怎么解决这样的问题呢&#xff0c;本文就给大家讲解一下win7系统玩吃鸡提示系统资源不足无法完成请求的服务的具体解决步骤吧。 情况一、 启动项加…

共享访问出错:系统资源不足,无法完成请求的服务

共享访问出错&#xff1a;系统资源不足,无法完成请求的服务 公司的PDM系统因业务需要&#xff0c;存放电子图纸的空间越来越小&#xff0c;为了不至于影响公司生产&#xff0c;特早早做了未来三到五年的扩展申请&#xff0c;大概是&#xff1a;公司原是七块300G的SAS硬盘组的RA…

win server服务器 关闭危险端口 135,137,138,139,445的方法

Windows默认开放135、137、138、139和445五个端口&#xff0c;都与文件共享和打印机共享有关的&#xff0c;若机器连接网络后会在用户不知道的情况下泄露本机部分信息&#xff0c;这样会给用户带来一部分危险&#xff0c;所以我们在工作中根据自己的需求定位一下是否需要关闭这…

计算机445 135 139端口,关闭445 135 137 138 139端口方法图文教程

近期永恒之蓝勒索病毒迅速传播&#xff0c;基本上都是通过135,137,138,139,445等端口入侵&#xff0c;关闭445 135 137 138 139端口是有效预防入侵的方式之一&#xff0c;同时更新微软最新补丁&#xff0c;及时备份重要数据&#xff0c;才能从容应对病毒侵袭&#xff0c;下面重…

怎么关闭计算机139端口,如何关闭135、139、138、137、445端口的方法 关闭电脑端口教程...

相信最近被永恒之蓝勒索病毒的消息刷屏了&#xff0c;全球多家医院、学校、个人等遭大范围网络攻击&#xff0c;电脑被锁定&#xff0c;文件被加密&#xff0c;内网被攻陷&#xff0c;受到攻击的地区还包括俄罗斯&#xff0c;西班牙、意大利等整个欧洲&#xff0c;包括中国也没…

udp 137端口发包

udp 137端口发包 检举|2006-12-12 16:31 jun830103 | 分类&#xff1a;网站使用 | 浏览7525次 局域网udp 137端口疯狂往外发数据包&#xff0c;求解决。 着急。。。。。。。。。。。。。。 ip策略好像不行。我的是大面积的。局域网堵塞了。全瘫痪了啊。求救 我有更好的答案 …

137/138/139/445端口

同属于UDP端口,用于提供netbios服务,此服务用于提供计算机名称的查询 使用者通过向某台计算机的137端口发起一个请求,就可以获取该计算机的名称、注册用户名&#xff0c;以及是否安装主域控制器、IIS是否运行等信息&#xff1b; Nbtstat –a ip 停止NetBIOS方法很简单&#x…