黑色星期五数据分析

2019-04-27  本文已影响0人  d5a0ebd3d020

1.数据准备

本次黑色星期五数据集来自kaggle,关于零售商店中黑色星期五的55万观察数据集,它包含不同类型的数字或分类变量和缺失值。利用Jupyter Notebook对数据集进行清洗处理、可视化操作。一共12个字段,538k条数据。

数据来源:

黑色星期五数据集

字段说明:

2. 数据分析内容

对于商品销售类的数据分析方向可以从 销售画像,用户画像、商品画像 三个维度展开分析。

销售画像主要针对以下几个方面:

用户画像主要针对以下几个方面:

商品画像主要针对以下几个方面:

3.数据清洗

加载数据,查看数据情况:

import numpy as np

import pandas as pd

import matplotlib.pyplot  as plt

data = pd.read_csv('BlackFriday.csv')

data.info()

因产品分类存在缺失值,无法填补,故去掉产品分类字段,不作为分析的内容。

4.数据分析

【1】销售画像

销售总额

用户总数,用户人均消费金额

商品总量

【2】用户画像

用户性别分布和消费情况

用户性别分布情况 男女消费金额分布情况

import seaborn as sns

plt.style.use("fivethirtyeight")

sns.set_style({'font.sans-serif':['simhei','Arial']}) #设置字体

labels = ['Male','Female']

x = [M,F]

explode = (0.1,0)

plt.pie(x,labels=labels,autopct='%.0f%%',textprops = {'fontsize':10,'color':'k'},

      explode=explode,shadow=True,startangle=60,pctdistance = 0.5)

plt.axis('equal')

plt.title('用户性别分布情况')

plt.show()

可以看出,本次黑色星期五用户中,男性用户约为女性用户的2.5倍,男性消费水平是女性消费水平的3.3倍,男性在数量和消费金额上都比女性多。

用户年龄分布和消费情况

dt.drop_duplicates('User_ID').groupby('Age')['User_ID'].count()

用户年龄分布情况

dt.groupby('Age')['Purchase'].sum()

不同年龄消费金额分布

用户年龄主要集中在18-45之间,其中26-35用户数占比总用户数的34.9%,消费金额占总销售额的40%,可见这个年龄段是本次活动的主力军。

用户职业分布和消费情况

用户职业分布 不同职业消费金额分布

4,0,7三个职业用户数占总用户数的35.6%,其消费金额前三也是4,0,7,可见,这三个职业的消费人数和消费金额大于其他职业。

用户婚姻分布和消费情况

dt.drop_duplicates('User_ID').groupby('Marital_Status')['User_ID'].count()

用户婚姻分布

dt.groupby('Marital_Status')['Purchase'].sum()

不同婚姻状态的消费情况

dt.groupby('Marital_Status')['Purchase'].sum()/dt.groupby('Marital_Status')['User_ID'].count()

未婚和已婚的人均消费情况

未婚在本次活动中占比大于已婚,但是未婚和已婚在人均消费情况下基本一致,可见婚姻状态对消费金额影响不是很大。

用户城市居住时间分布和消费情况

dt.drop_duplicates('User_ID').groupby('Stay_In_Current_City_Years')['User_ID'].count()

用户在当前城市居住时间分布

dt.groupby('Stay_In_Current_City_Years')['Purchase'].sum()

不同用户在当前城市居住时间消费情况

当前城市居住时间大部分是在1年,消费水平在四个类别中最高。

【商品画像】

最受喜爱的商品分布和消费情况

dt.groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

最受喜爱的商品前十分布

dt.groupby('Product_ID')['Purchase'].sum().sort_values(ascending=False).head(10)

成交金额最多的商品前十分布情况

最受喜爱的商品前十分布和成交金额最多的商品重叠部分比较少,不过也是正常,成交数量最多若是单价不高,成交金额也就不是最多。

男女消费者喜爱的商品分布和消费情况

男性消费者在哪些商品比较受欢迎 女性消费者在哪些商品比较受欢迎

喜爱的商品在男女消费者之间差距比较大,重复的商品数不多。

不同年龄段喜欢的商品分布和消费情况

不同年龄段喜欢的商品分布 不同年龄段喜欢的消费情况

未婚和已婚喜欢的商品分布和消费情况

未婚用户最受喜爱前十的商品名 已婚用户最受喜爱前十的商品名  

未婚用户和已婚用户最受喜爱前十商品中有7个是一样的,可以大致看出在是否结婚对商品的需求影响不明显。

不同职业喜欢的商品分布和消费情况

以4,0,7三个职业进行分析

dt[dt['Occupation']==4].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['Occupation']==0].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['Occupation']==7].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['Occupation']==4].groupby('Product_ID')['Purchase'].sum().sort_values(ascending=False).head(10)

dt[dt['Occupation']==0].groupby('Product_ID')['Purchase'].sum().sort_values(ascending=False).head(10)

dt[dt['Occupation']==7].groupby('Product_ID')['Purchase'].sum().sort_values(ascending=False).head(10)

4,0,7三职业喜欢的商品分布和消费情况总体大致一样,喜欢商品重复率高。

不同城市喜欢的商品分布和消费情况

dt[dt['City_Category']=='A'].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['City_Category']=='B'].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['City_Category']=='C'].groupby('Product_ID')['User_ID'].count().sort_values(ascending=False).head(10)

dt[dt['City_Category']=='A'].groupby('City_Category')['Purchase'].sum()

dt[dt['City_Category']=='B'].groupby('City_Category')['Purchase'].sum()

dt[dt['City_Category']=='C'].groupby('City_Category')['Purchase'].sum()

A,B,C三城市最受欢迎的商品都是P00265242,其他商品三座城市的重叠率高,可见,ABC城市的人群在商品需求方面比较类似。

5.总结

本文利用实际数据进行分析,从 销售画像,用户画像、商品画像三个维度展开,基于Python的数据处理,可视化展示等技术分析数据的内在特性。

上一篇下一篇

猜你喜欢

热点阅读