数据分析-28-小红书消费情况分析(包含代码和数据)

news2024/11/15 19:44:28

文章目录

    • 0. 代码数据下载
    • 1. 项目介绍
    • 2. 数据说明
    • 3. 分析目的
      • 1. 提出问题:哪些消费群体更庞大,平均购买力更强?已知自变量能否准确预测用户购买金额?
        • a. 数据导入
        • b. 去除重复数值和缺失数值
        • c. 简化部分columns的命名, 方便之后绘图与处理
      • 2. 数据分析:哪些消费群体更庞大, 平均购买力更强
        • a. 先分析单一变量与利润的关系
        • b. categorical变量和quantitative变量的组合和利润的关系
          • (1)年龄与性别
          • (2)是否参加活动与先前消费金额
          • (3)注册时间与距离上一次下单时间
        • c. 用多线性模型分析数据集
    • 4. 结论及建议

0. 代码数据下载

关注公众号:『AI学习星球
回复:小红书消费情况分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述


1. 项目介绍

小红书是一个的生活方式平台和消费决策入口。与其他店商品台不同,在小红书可以购买商品,也可以分享各种攻略和日常。

本文包括以下几个部分:

  1. 数据来源及说明
  2. 分析思路
  3. 数据清洗
  4. 数据分析
  5. 结论

2. 数据说明

这是一个关于用户在小红书购买金额的数据集, 共有29452条数据, 7个变量。

字段名字字段介绍
Revenue用户下单的购买金额
3rd_party_stores用户过往在app中从第三方购买的数量,为0则代表只在自营商品中购买
Gender性别 1:男 0:女 未知则空缺
Engaged_last_30最近30天在app上有参与重点活动(讨论,卖家秀)
Lifecycle生命周期分为A,B,C (分别对应注册6个月内,1年内,2年内)
days_since_last_order最近一次下单距今的天数 (小于1则代表当天有下单)
previous_order_amount以往累积的用户购买金额

数据来源:某红书销售情况

3. 分析目的

假设用户购买金额(revenue)为因变量, 其它六个变量为自变量, 探寻不同特征的人群对总购买金额的贡献大小, 帮助企业定位消费人群并在营销推广等方面做出更好决策。 综合所有变量建立多线性数据模型并分析数据模型的准确性。 准确的数据模型能够帮助预测用户下单金额。

1. 提出问题:哪些消费群体更庞大,平均购买力更强?已知自变量能否准确预测用户购买金额?

数据整理:数据预处理

a. 数据导入
import pandas as pd
import numpy as np
import random
from matplotlib import pyplot as plt
from pyecharts.charts import Boxplot
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_boston
df= pd.read_csv("31 l2_week2.csv")
df.head(10)

在这里插入图片描述

b. 去除重复数值和缺失数值
df.drop_duplicates(inplace=True)
df.reset_index(drop=True,inplace=True)
df.replace('nan',np.nan,inplace=True)
###把性别、年龄、用户过往中为nan的数值分别用随机dummy variable、平均值、随机dummy variable替代
df.fillna(value={"gender":random.choice([1.0,0.0]),"age":round(df["age"].mean(),0),"engaged_last_30":random.choice([1.0,0.0])},inplace=True)
df.head(10)

在这里插入图片描述

c. 简化部分columns的命名, 方便之后绘图与处理
df=df.rename(columns={"engaged_last_30": "engage", df.keys()[5]: "last_order", "previous_order_amount":"accumulation", "3rd_party_stores":"3rd"})
df.head()

在这里插入图片描述

df.dtypes

在这里插入图片描述


关注公众号:『AI学习星球
回复:小红书消费情况分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述


2. 数据分析:哪些消费群体更庞大, 平均购买力更强

a. 先分析单一变量与利润的关系
###用matrix plot大致看一下变量之间的线性关系
import plotly.express as px
fig = px.scatter_matrix(df)
fig.show()
#从第一排的图像可以看出各个变量与利润的关系, 更详细的图如下:

在这里插入图片描述

通过变代码一一绘制每个单一变量与revenue的关系

plt.scatter(df['gender'], df['revenue'], color='purple')
plt.title('gender Vs revenue', fontsize=14)
plt.xlabel('gender', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()

在这里插入图片描述

plt.scatter(df['age'], df['revenue'], color='lightgreen')
plt.title('gender Vs revenue', fontsize=14)
plt.xlabel('age', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()

在这里插入图片描述

plt.scatter(df['engage'], df['revenue'], color='orange')
plt.title('engagement in the last 30 days Vs revenue', fontsize=14)
plt.xlabel('engage', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()
###参与活动的人群总体购买金额更高

在这里插入图片描述

plt.scatter(df['lifecycle'], df['revenue'], color='pink')
plt.title('lifecycle Vs revenue', fontsize=14)
plt.xlabel('lifecycle', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()

在这里插入图片描述

plt.scatter(df['last_order'], df['revenue'], color='lightblue')
plt.title('days from the last order Vs revenue', fontsize=14)
plt.xlabel('last_order', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()

在这里插入图片描述

plt.scatter(df['accumulation'], df['revenue'], color='grey')
plt.title('previous amount of consumption Vs revenue', fontsize=14)
plt.xlabel('accumulation', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()

在这里插入图片描述

plt.scatter(df['3rd'], df['revenue'], color='red')
plt.title('3rd party consumption Vs revenue', fontsize=14)
plt.xlabel('3rd party', fontsize=14)
plt.ylabel('revenue', fontsize=14)
plt.grid(True)
plt.show()
###图像呈现两个极端, 从不购买第三方产品和购买第三方产品数量最多的人群的购买金额更高

在这里插入图片描述

df.head()

在这里插入图片描述

b. categorical变量和quantitative变量的组合和利润的关系
(1)年龄与性别
df[df['gender'] == 1.0].age.plot(kind='hist', color='blue', edgecolor='black', alpha=0.5, figsize=(10, 7))
df[df['gender'] == 0.0].age.plot(kind='hist', color='magenta', edgecolor='black', alpha=0.5, figsize=(10, 7))
plt.legend(labels=['Males', 'Females'])
plt.title('Distribution of age', size=24)
plt.xlabel('age', size=18)
plt.ylabel('revenue', size=18)
###60岁年龄段的女性对利润的贡献远大于同年龄段的男性, 但其它年龄段中男性对利润的贡献均比女性大

在这里插入图片描述

发现:60岁年龄段的女性对利润的贡献远大于同年龄段的男性, 但其它年龄段中男性对利润的贡献均比女性大

(2)是否参加活动与先前消费金额
df[df['lifecycle'] == 'A'].accumulation.plot(kind='hist', color='blue', edgecolor='black', alpha=0.5, figsize=(10, 7))
df[df['lifecycle'] == 'B'].accumulation.plot(kind='hist', color='magenta', edgecolor='black', alpha=0.5, figsize=(10, 7))
plt.legend(labels=['engage', 'not engage'])
plt.title('Distribution of previous order amount', size=24)
plt.xlabel('previous order amount', size=18)
plt.ylabel('revenue', size=18)

acdiff=df.groupby("engage")['revenue'].mean().sort_values()
acdiff

在这里插入图片描述

结论:从图中看出未参与活动人群对利润的总体贡献更大, 但随着先前消费数额的增加, 差距逐渐减少。 参与活动的人群比未参与活动的人群平均购买力更强, 可见是因为参加活动的人群数量少才导致总体贡献不如未参加活动人群高

(3)注册时间与距离上一次下单时间
df[df['lifecycle'] == 'A'].last_order.plot(kind='hist', color='red', edgecolor='black', alpha=0.5, figsize=(10, 7))
df[df['lifecycle'] == 'B'].last_order.plot(kind='hist', color='blue', edgecolor='black', alpha=0.5, figsize=(10, 7))
df[df['lifecycle'] == 'C'].last_order.plot(kind='hist', color='pink', edgecolor='black', alpha=0.5, figsize=(10, 7))
plt.legend(labels=['A','B','C'])
plt.title('Distribution of days since last order', size=24)
plt.xlabel('last order', size=18)
plt.ylabel('revenue', size=18)
#A: 注册六个月内, B:注册一年内, C:注册两年内
cyclediff= df.groupby("lifecycle")['revenue'].mean().sort_values()
cyclediff

在这里插入图片描述

结论:越新注册的用户平均购买力更高且下单率更频繁; 注册两年的用户数量更庞大, 所以对利润总体贡献高

c. 用多线性模型分析数据集

与其它变量不同的是, lifecycle是object, 把它转变为dummy variable(0,1)能方便之后分析多线性关系和绘图

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
array_out = mlb.fit_transform(df["lifecycle"])#把原本的a,b,c转变成0,1, 将原本dataframe中的一个column变为a,b,c三个columns
df_out = pd.DataFrame(data=array_out, columns=mlb.classes_)
df_out

在这里插入图片描述

df = pd.concat([df_out, df], axis=1)#将两个dataframe合并
df1= df.drop(columns=['lifecycle'])#移除原先的lifecycle column
df1.head()

在这里插入图片描述

from sklearn import linear_model
X = df[['gender','age', 'engage', 'accumulation', '3rd', 'A','B','C', 'last_order']] 
Y = df['revenue']
regr = linear_model.LinearRegression()
result = regr.fit(X, Y)
print('Intercept: \n', regr.intercept_)
print('Coefficients: \n', regr.coef_)
###模型:其中x1到x8 分别对应性别到第三方购买数量, lifecycle c。 只要已知性别, 年龄, 参与活动, 以往购买金额, 第三方购买数量, a,b,c这八个变量就能预测该用户的购买金额

在这里插入图片描述

from sklearn import datasets, linear_model
from sklearn.linear_model import LinearRegression
import statsmodels.api as sm
from scipy import stats

X2 = sm.add_constant(X) 
est = sm.OLS(Y, X2)
est2 = est.fit()
print("summary()\n",est2.summary())
print("pvalues\n",est2.pvalues)
print("tvalues\n",est2.tvalues)
print("rsquared\n",est2.rsquared)
print("rsquared_adj\n",est2.rsquared_adj)

在这里插入图片描述

  • adjusted r squared等于0.03, 表示只有百分之三的利润变化能用这些变量去解释, 所以这个模型对预测利润的作用很小
  • 从这张总结图中看出, 除了性别和第三方购买量的p-value值很大之外, 其它的变量的p-value都为0, 可见这个模型存在很大的multicolinearity问题

4. 结论及建议

  1. 小红书上的男性消费者相对女性消费者不光群体更庞大且平均购买力更高, 可以面向男性消费者推出更多产品或加大宣传力度
  2. 经常购买第三方产品和从不购买第三方产品的消费者群体不光更庞大且平均购买力更高
  3. 未参加活动的群体对消费金额的贡献更大, 但参加活动的消费者群体的平均购买力比为参加的群体高很多, 建议扩大活动影响范围, 增加参加活动的群体
  4. 年龄60左右的女性消费者群体对总体消费金额贡献相比同龄男性大很多, 需要更重视这个年龄段的群体对产品的喜好

关注公众号:『AI学习星球
回复:小红书消费情况分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

15EG使用vivado2021.1实现LWIP的网络传输

创建工程模板在hello_world中已经介绍过了,这里直接从配置完zynq ip核开始,由于使用vivado的版本不同,配置ZYNQ时需要用到的tcl文件我会放在工程文件夹下的file文件夹中 配置好IP核后,右键设计模块,点击Generate Outpu…

实际项目中的SpringAOP实现日志打印

目录 一、AOP实现日志 1.1 需求分析: 1.2 定义切面类和切点: 扩展:finally中的代码块一定会执行吗? 扩展 总结 1.3 定义环绕通知 1.4 handleBefore 的具体实现 1.4.1 获取url 1.4.2 获取接口描述信息 1.4.3 后续获取 1.5…

【美赛获奖必看】史上最强最全美赛论文模板,word+latex

大家好呀,现在是1.30日,距离2024美赛只有短短两天时间啦,众所周知,美赛对于论文排版是非常看重的,一个好的论文排版往往可以起到事半功倍的效果,而如果论文不美观,即便建模求解等都不错&#xf…

u盘文件防止拷贝的方法

在企业的日常运营中,U盘作为一种常用的移动存储设备,常常被用于数据的传输和备份。然而,U盘的不当使用也可能导致企业数据的泄露,给企业带来巨大的风险。 为了保护企业数据的安全,使用域智盾等软件工具进行U盘文件防拷…

【优选算法系列】【专题三二分查找】第二节.852. 山脉数组的峰顶索引和162. 寻找峰值

文章目录 前言一、山脉数组的峰顶索引 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、寻找峰值 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写 …

【Coding】寒假每日一题Day.8. 超级胶水

题目来源 题目来自于AcWing平台:https://www.acwing.com/problem/content/2871/。 以blog的形式记录程序设计算法学习的过程,仅做学习记录之用。 题目描述 输入输出格式 范围 样例 思路 思路参考自闫总的视频题解。 与区间合并不同,此处…

为爱穿针 用冬日针爱温暖孩子——Home尧泰汉海慈善专项基金“益起暖冬”公益行动圆满结束

2024年1月15日,Home尧泰汉海四季有爱•益路向阳之“益起暖冬”公益行动圆满结束,本次公益活动由重庆市慈善总会、Home尧泰汉海慈善专项基金、重庆市渝中区红樱桃义工协会主办。 千丝万缕汇针爱 五湖四海显温情 用公益的针线编织爱的温暖 让孩子的冬日沐…

字符串转码-第11届蓝桥杯国赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第35讲。 字符串转码&#…

PawSQL更新 | 新增18个SQL性能审核重写规则

PawSQL最新版本针对DML和DQL新增了审核和重写优化规则共计33个,整体的规则数目达到了83个,覆盖了正确性,安全性、可维护性、性能四个方面的SQL质量问题,并提供了优化建议,已经形成比较完善的针对数据操作的SQL质量审查…

动态规划之买卖股票问题(篇三)(买卖股票的最佳时机)

本篇博客主要讲解309.最佳买卖股票时机含冷冻期和714.买卖股票的最佳时机含手续费,这也是股票系列的最后一篇讲解。 309.最佳买卖股票时机含冷冻期 题目: 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算…

SpringBoot---创建项目

介绍 此项目SpringBoot使用的是2.6.1版本,由于这个项目使用的是maven聚合方式创建的,所以第二步是我在聚合方式下需要添加的依赖,完整的pom.xml内容放到了最下面。 第一步:创建Maven项目 这个里什么也不勾选,直接点…

<网络安全>《9 入侵防御系统IPS》

1 概念 IPS( Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的补充。 入侵预防系统(Intrusio…

PMP成绩查询及电子版证书下载

PMP项目管理--学习专栏https://blog.csdn.net/xmws_it/category_10954848.html?spm1001.2014.3001.5482 2023年11月25日PMP考试成绩今日凌晨开始发布,按照往年的情况,成绩都是分批出的,如果暂时没查到成绩的同学请耐心等待,预计…

【webrtc】m98 : vs2019 直接构建webrtc及moduletest工程 2

字数有限制,我们继续 【webrtc】m98 : vs2019 直接构建webrtc及unitest工程 1modules_unittests 构建 Build started... 1>------ Build started: Project: modules_unittests, Configuration: GN Win32 ------ 1>ninja: Entering directory `G:\CDN\rtcCli\m98\src\o…

Git怎样用?(下载到本地,和在本地初始化)

全局设置: 点击第二个 输入: 例如;邮箱是随意地 git config --global user.name "名字" git config --global user.email "邮箱" 获取git仓库 本地初始化: 创建仓库 右键第二个 输入 git init 克隆&#…

力扣hot100 子集 回溯 超简洁

Problem: 78. 子集 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: 添加时间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) Code class Solution {List<Li…

wsl-ubuntu 安装 nginx

wsl-ubuntu 安装 nginx 1. 安装 nginx2. 确认 nginx 启动状态3. 重启 nginx4. 停止 nginx 1. 安装 nginx sudo apt install nginx2. 确认 nginx 启动状态 systemctl status nginx3. 重启 nginx systemctl restart nginx4. 停止 nginx systemctl stop nginx完成&#xff01;…

网络安全防御保护 Day4

要点一&#xff1a;防火墙的智能选路 就近选路&#xff1a; 在访问不同运营商的服务器时直接通过对应运营商的链路&#xff0c;以此来提高通信效率&#xff0c;避免绕路。 策略路由&#xff08;PBR&#xff09;&#xff1a; 这是一种基于用户定义的策略&#xff08;如业务需求、…

【云上建站】快速在云上构建个人网站1——概述及获取虚拟机

快速在云上构建个人网站1——概述及获取虚拟机 前言-个人建站一、云服务简介1、云服务2、优点首先&#xff0c;云服务器是按需租赁的&#xff0c;其次&#xff0c;云服务器公司会负责服务器的维护管理&#xff0c; 3、主流应用网站建设测试学习数据管理制图渲染 二、获取ECS1、…

PetaPixel专访尼康工程师 深度解读尼康相机的设计之道

值此尼克尔镜头成立90周年之际&#xff0c;国外知名媒体PetaPixel采访了尼康设计中心前川明哉&#xff08;Akiya Maekawa&#xff09;先生和尼康UX企划部&#xff08;影像事业部&#xff09;日野光輝&#xff08;Mitsuteru Hino&#xff09;先生&#xff0c;通过与他们的对话&a…