新闻中心
利用Python对电商销售进行数据分析
本次用一个电商销售数据作为操作对象,来完成数据分析案例。
1.数据集介绍
此次的数据集来自kaggle的关于在线零售业务的交易数据,该公司主要销售礼品,大部分出售对象是面向批发商。
2.数据集字段介绍
数据包含541910行,8个字段,字段内容为:
InvoiceNo: 订单编号,每笔交易有6个整数,退货订单编号开头有字母’C’。
StockCode: 产品编号,由5个整数组成。
Description: 产品描述。
Quantity: 产品数量,有负号的表示退货
InvoiceDate: 订单日期和时间。
UnitPrice: 单价(英镑),单位产品的价格。
CustomerID:客户编号,每个客户编号由5位数字组成。
Country: 国家的名称,每个客户所在国家/地区的名称。
3.分析内容
1.购买商品数前十的国家是?
2.交易额前十的国家是?
3.哪些月份销量较佳?
4.客单价多少?
5.用户消费行为分析?
4.数据处理分析过程
4.1数据清洗
利用Python语言进行数据分析,开发工具有Jupyter Notebook。
导入库,查看数据
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv(data.csv,encoding=ISO-8859-1)df.head() df.info()可以看出,CustomID存在部分缺失,无法进行填充,需要删除缺失的数据。InvoiceDate格式需要调整,方便后续分析。数据只有产品数量和单价,没有销售金额,要根据产品数量和单价建立一个销售金额的新字段。
删除缺失CustomID对应数据内容。
df1 = df.dropna(how=any)修改InvoiceDate格式,只取年月作为日期内容。
df1[InvoiceDate] = pd.to_datetime(df1[InvoiceDate]) #12/1/2010 8:26转换为2010-12-01df1[InvoiceDate] =df1[InvoiceDate].apply(lambda x: x.strftime(%Y-%m-%d)) #将datetime64[ns] 转为 object新建一个销售金额的字段,即用产品数量乘以单价。
df1[Price] = df1[Quantity]*df1[UnitPrice]完成以上数据清洗后,结果如下:
4.2数据分析
【第一个问题:购买商品数前十的国家是?】
获取产品数量大于0,按国家分组,对产品数量进行求和,从大到小进行排序,取前十的国家。
df1[df1[Quantity]>0].groupby(Country)[Quantity].sum().sort_values(ascending=False).head(10)英国购买商品数远远大于其他国家,这可能由于公司位于英国,英国是该公司商品销售的主要对象。
【第二个问题:交易额前十的国家是?】
获取产品数量大于0,按国家分组,对销售金额进行求和,从大到小进行排序.
df1[df1[Quantity]>0].groupby(Country)[Price].sum().sort_values(ascending=True).head(10)可以看出:英国的交易额最大,由于购买数最多,交易额理所当然也是最大。除此之外,荷兰,爱尔兰,德国,法国也是主要消费国家,需要重点关注。
【第三个问题:哪些月份销量较佳?】
df1[df1[Quantity]>0].groupby(InvoiceDate)[Quantity].sum().sort_values(ascending=False).head(20)销量最高的是12月份,其次是1月份,大部分销量较佳集中在下半年,这是由于该产品是礼品,在下半年节日较多,加上促销优惠,销量比上半年月份多。
【第四个问题:客单价多少?】
sumPrice=df1[df1[Quantity]>0][Price].sum()countID=df1[df1[Quantity]>0][InvoiceNo].count()avgPrice = sumPrice/countIDprint(avgPrice)客单价即平均交易金额,是指平均每个客户交易金额,客单价等于成交金额/成交用户数。
销售额是由客单价和用户数所决定的,要提升产品的销售额,除了尽可能多地吸引客流,增加顾客交易次数以外,提高客单价也是非常重要的途径。
【第五个问题:用户消费行为分析】
df1[df1[Quantity]>0].groupby(CustomerID).agg({InvoiceNo:nunique, Quantity:sum, Price:sum}).describe()用户消费行为分析主要从用户消费次数,用户消费金额,用户购买产品数量这三个维度进行分析。
5.总结
通过以上计算可看出:用户平均消费4次,有的客户甚至消费高达210次,是产品的忠诚客户。
用户平均消费金额为2053元,而75%的用户消费金额只有1661,可见,有些用户消费金额较大,属于非常有价值的用户,需要重点保持关注。
用户购买产品数量平均高达1194件,由于销售对象主要是批发商,算是正常的数量数。
转载|CSDN博客
END
往期精选
关注雷课
学习干货