我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

作者:i阿极

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

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

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

文章目录

一、前言

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

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

二、数据准备

导入所需要用到的模块

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

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

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

df.describe()

在这里插入图片描述

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

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

df.info()

在这里插入图片描述

三、数据预处理

数据处理

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

在这里插入图片描述

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

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年前三月消费事态异常,后续趋于常态化。

四、个体消费者分析

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

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),对于样本来说影响不大,可以忽略不记。

用户消费分布图。

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的用户人数占据大多数(在电商领域是非常正常的现象)。

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

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

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%。

五、用户消费行为

首次购买的时间

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

在这里插入图片描述

最后一次购买时间。

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

在这里插入图片描述

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

总结

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

来源地址:https://blog.csdn.net/AOAIYI/article/details/129083917

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据分析

是利用数据提取见解和发现趋势的过程。它在各种行业中至关重要,可以推动数据驱动的决策和提高效率。本文将探讨的基础知识,包括数据收集、处理、分析和可视化。
数据分析
2024-03-04

数据分析-python

数据分析参考python数据分析与挖掘实战-张良均著数据探索数据质量分析缺失值分析异常值分析一致性分析利用箱线图检验异常值,可以看出数据的分布范围大致情况,和1/4值、1/2值、3/4值得情况。代码:# -*- coding: utf-8 -*-import
数据分析-python
2021-04-03

数据分析——pyecharts

导入类库1 from pyecharts import Pie, Bar, Gauge, EffectScatter, WordCloud, Map, Grid, Line, Timeline2 import randommake_poin
2023-01-30

数据分析——matplotlib

基础 1 # coding=utf-8 2 import matplotlib.pyplot as pt 3 import numpy as np 4 from matplotlib import font_manager # 字体管理
2023-01-30

数据分析应该分析什么?

  欢迎各位阅读本篇,数据分析是指用适当的统计方法对收集来的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用。本篇文章讲述了数据分析应该分析什么?  很多时候我们走的走的就会忘记当初为什么而出发。  我们有的时候在拿到数据以后不知道该怎么进行分析,该去分析什么,其实这些在我们以前的统计
数据分析应该分析什么?
2024-04-23

数据分析见解

是利用数据挖掘和分析来提取有价值的信息,帮助企业做出明智的决策。通过解读和解释数据,企业可以获得对业务绩效的深入理解,识别机会和解决问题。
数据分析见解
2024-03-03

数据分析之matplotlib.pypl

首先都得导模块。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame  一、绘制单线图
2023-01-30

java中生产者和消费者问题实例分析

这篇“java中生产者和消费者问题实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java中生产者和消费者问题实例分析
2023-06-29

python数据分析之pandas数据选

Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用。本文主要介绍Pandas的几种数据选取的方法。  Pandas中,数据主要保存为Dataframe和Series是数据结构,这两种数据结构数据选取的方式
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录