python市场营销_黑色星期五销售分析PYTHON代码

这是一份某零售店在美国黑色星期五当天的销售数据。数据来自kaggle。本分析旨在回答以下三个问题,为今后销售进行预测。黑色星期五总体销售情况

不同类别产品的销售分析

消费者用户画像

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

%pylab inline

Populating the interactive namespace from numpy and matplotlib

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

一、观察数据

data.head()

User_ID Product_ID Gender Age Occupation City_Category Stay_In_Current_City_Years Marital_Status Product_Category_1 Product_Category_2 Product_Category_3 Purchase 0 1000001 P00069042 F 0-17 10 A 2 0 3 NaN NaN 8370 1 1000001 P00248942 F 0-17 10 A 2 0 1 6.0 14.0 15200 2 1000001 P00087842 F 0-17 10 A 2 0 12 NaN NaN 1422 3 1000001 P00085442 F 0-17 10 A 2 0 12 14.0 NaN 1057 4 1000002 P00285442 M 55+ 16 C 4+ 0 8 NaN NaN 7969

data.info()

RangeIndex: 537577 entries, 0 to 537576

Data columns (total 12 columns):

User_ID 537577 non-null int64

Product_ID 537577 non-null object

Gender 537577 non-null object

Age 537577 non-null object

Occupation 537577 non-null int64

City_Category 537577 non-null object

Stay_In_Current_City_Years 537577 non-null object

Marital_Status 537577 non-null int64

Product_Category_1 537577 non-null int64

Product_Category_2 370591 non-null float64

Product_Category_3 164278 non-null float64

Purchase 537577 non-null int64

dtypes: float64(2), int64(5), object(5)

memory usage: 49.2+ MB

data.describe()

User_ID Occupation Marital_Status Product_Category_1 Product_Category_2 Product_Category_3 Purchase count 5.375770e+05 537577.00000 537577.000000 537577.000000 370591.000000 164278.000000 537577.000000 mean 1.002992e+06 8.08271 0.408797 5.295546 9.842144 12.669840 9333.859853 std 1.714393e+03 6.52412 0.491612 3.750701 5.087259 4.124341 4981.022133 min 1.000001e+06 0.00000 0.000000 1.000000 2.000000 3.000000 185.000000 25% 1.001495e+06 2.00000 0.000000 1.000000 5.000000 9.000000 5866.000000 50% 1.003031e+06 7.00000 0.000000 5.000000 9.000000 14.000000 8062.000000 75% 1.004417e+06 14.00000 1.000000 8.000000 15.000000 16.000000 12073.000000 max 1.006040e+06 20.00000 1.000000 18.000000 18.000000 18.000000 23961.000000

数据共537577行,其中product_category_2和product_category_3缺失严重,分析中不使用,其他变量没有数据缺失。

二、分析数据黑色星期五总体销售情况

#订单用户量

data['User_ID'].nunique()

#一共有5891个用户购买商品

5891

data['User_ID'].value_counts()

1001680 1025

1004277 978

1001941 898

1001181 861

1000889 822

1003618 766

1001150 752

1001015 739

1002909 717

1001449 714

1002063 708

1004344 705

1003391 697

1003841 697

1000424 694

1004510 690

1001980 684

1005795 680

1001088 679

1004227 676

1003808 670

1005831 667

1004508 651

1000549 631

1003224 622

1003539 616

1001285 605

1004543 587

1003824 583

1001010 575

...

1004176 8

1005117 8

1004992 8

1004464 8

1001318 8

1002037 8

1002488 8

1002965 8

1004192 8

1005804 8

1004527 8

1000320 8

1003739 8

1005043 8

1003883 8

1000947 8

1005174 8

1000094 7

1002690 7

1003275 7

1005904 7

1003291 7

1003542 7

1002135 7

1004991 6

1005810 6

1005391 6

1005608 6

1002111 6

1000708 5

Name: User_ID, Length: 5891, dtype: int64

购买产品数量最多的用户买了1025件,最少的买了5件

#商品销售金额

data['Purchase'].sum()

5017668378

#商品销售量

data['Product_ID'].count()

537577

#客单价

data['Purchase'].sum()/data['User_ID'].nunique()

851751.5494822611

#件单价

data['Purchase'].sum()/data['Product_ID'].count()

9333.8598526350652

#产品种类

data['Product_ID'].nunique()

3623

总体销售情况:黑色星期五当天,该店商品销售量537577件(3623类),商品销售金额5017668378美元,订单用户量5891,客单价851751.5美元,件单价9333.86美元;购买产品数量最多的用户买了1025件,最少的买了5件。

2.不同类别产品的销售分析

plt.rcParams["figure.figsize"] = (12,6)

#产品类别排行

data['Product_Category_1'].value_counts().plot(kind='bar')

savefig("E:/15.jpg")

所有商品中,类别为5、1、8的销量最多,远远高于其他类别。

#商品类别与性别

sns.countplot(data['Product_Category_1'],hue=data['Gender'])

savefig("E:/16.jpg")

每个类别的商品,都是男性比女性购买的多。

#商品类别与年龄

sns.countplot(data['Product_Category_1'],hue=data['Age'])

#商品类别与城市

sns.countplot(data['Product_Category_1'],hue=data['City_Category'])

#商品类别与居住时间

sns.countplot(data['Product_Category_1'],hue=data['Stay_In_Current_City_Years'])

#商品类别与婚姻状态

sns.countplot(data['Product_Category_1'],hue=data['Marital_Status'])

#商品类别销售金额

data.groupby('Product_Category_1')['Purchase'].sum().sort_values(ascending=False).plot(kind='bar')

savefig("E:/17.jpg")

所有商品类别,按销售额排名,最高的是1类,几乎为类别5的二倍。

#商品销售量

data['Product_ID'].value_counts().head()

P00265242 1858

P00110742 1591

P00025442 1586

P00112142 1539

P00057642 1430

Name: Product_ID, dtype: int64

所有商品中,销量前五名是:P00265242、P00110742、P00025442、P00112142、P00057642,销售量都在1400件以上。

爆款是P00265242,销售量为1858件。

data['Product_ID'].value_counts(ascending=True).head()

P00301942 1

P00309042 1

P00314742 1

P00133042 1

P00291642 1

Name: Product_ID, dtype: int64

销量最差的5种产品每种只卖出一件。

#销售额

data.groupby('Product_ID')['Purchase'].sum().sort_values(ascending=False).head(20).plot(kind='barh')

savefig("E:/20.jpg")

销售额在2,000万美元以上的商品有16种。爆款产品第一名不在排行榜中,说明该产品价格较低,符合爆款以低价引流的特点。其他三名上榜。

#抽出男性用户数据

data_m=data[(data.Gender=='M')]

#男性购买商品销售量

data_m['Product_ID'].value_counts().head()

P00265242 1353

P00025442 1245

P00110742 1234

P00112142 1207

P00057642 1174

Name: Product_ID, dtype: int64

男性购买最多的产品是P00265242、P00025442、P00110742、P00112142、P00057642

#抽出女性用户数据

data_f=data[(data.Gender=='F')]

data_f['Product_ID'].value_counts().head()

P00265242 505

P00220442 427

P00058042 378

P00255842 366

P00034742 358

Name: Product_ID, dtype: int64

女性购买最多的产品P00265242、P00220442、P00058042、P00255842、P00034742。除了爆款产品男女都购买,剩下的四种产品都没有重复。

3.消费者用户画像

用户画像:由于每条数据为一个售出的商品,一个用户可能会买多件商品。所以,制作用户画像时要提取不重复的用户数据,也就是研究5891个用户,不是537577条商品数据。所以要用['User_ID'].nunique().

sizes=data.groupby('Gender')['User_ID'].nunique()

labels=['Female','Male'] #先看看size出来的数据中female和male谁在前面,然后再写labels

plt.pie(sizes,labels=labels,autopct='%1.1f%%')

savefig("E:/1.jpg")

plt.show()

所有购物的用户中,男性占71.7%,女性占28.3%。

data.groupby('Gender')['Purchase'].sum().plot.pie(autopct='%1.1f%%')

savefig("E:/2.jpg")

男性消费金额占76.8%,女性占23.2%。

age=data.groupby('Age')['User_ID'].nunique()

age.plot(kind='bar')

savefig("E:/3.jpg")

男性的消费额占77%,女性占23%。

所有购物的用户中,26-35年龄段的人最多。

data.groupby('Age')['Purchase'].sum().plot(kind='bar')

savefig("E:/4.jpg")

26-35年龄段用户的消费金额也是最多。

sns.countplot(data['Age'],hue=data['Gender'])

savefig("E:/5.jpg")

每个年龄段的客户都是男性比女性多

data.groupby('Occupation')['User_ID'].nunique().sort_values(ascending=False).plot(kind='bar')

savefig("E:/6.jpg")

所有购物的用户中,职业代码为4、0、7的用户最多。

data.groupby('Occupation')['Purchase'].sum().sort_values(ascending=False).plot(kind='bar')

savefig("E:/7.jpg")

职业代码为4、0、7的用户消费金额也是最多。

#不同城市用户数

data.groupby('City_Category')['User_ID'].nunique().plot(kind='bar')

savefig("E:/8.jpg")

所有购物的用户中,住在C城市的用户最多,B城市排名第二,A城市最少。

#销售量

data.groupby('City_Category').size().plot(kind='bar')

savefig("E:/21.jpg")

B城市商品销售量高于C城市。

data.groupby('City_Category')['Purchase'].sum().plot(kind='bar')

savefig("E:/9.jpg")

C城市比B城市用户多,却比B城市消费金额少。说明B城市用户客单价高。

data.groupby('Stay_In_Current_City_Years')['User_ID'].nunique().plot(kind='bar')

savefig("E:/10.jpg")

所有购物的用户中,居住在当前地时间为1年的人最多。

data.groupby('Stay_In_Current_City_Years')['Purchase'].sum().plot(kind='bar')

savefig("E:/11.jpg")

在当前地居住一年的用户的消费金额也是最多的。

data.groupby('Marital_Status')['User_ID'].nunique().plot.pie(autopct='%1.0f%%')

savefig("E:/12.jpg")

所有购物的用户中,单身占58%,已婚占42%。

data.groupby('Marital_Status')['Purchase'].sum().plot.pie(autopct='%1.0f%%')

savefig("E:/13.jpg")

单身用户消费金额占59%,已婚占41%。

sns.countplot(data['Marital_Status'],hue=data['Gender'])

savefig("E:/14.jpg")

无论单身还是结婚,都是男性用户多于女性用户。

三、分析总结与建议

1. 黑五商品销售量537,577件,销售金额5,017,668,378美元,订单用户量5,891,客单价851,751.5美元,件单价9,333.9美元。

2. 类别为5、1、8的商品销量最多,分析成功经验,推广到其他商品上。努力增加第二梯队11、2、6、3类商品的销量。销量不佳的9、17类商品分析原因,可以考虑停止生产或进货。

3. 销量在1500件以上的爆款商品有4种,属于该店的明星商品,保持优势,开发更多的爆款。

4. 主要用户为26-35岁单身男性,住在C市,居住1年,职业为4、0、7。开发商品时注重这类人群的喜好,做市场营销时针对这群人。

5. C市用户多,但消费能力不如B市用户。B市客单价高,说明消费能力强,高价商品优先在B市推广和销售。B市销量高,当地仓库可以多备库存。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值