本笔记宗旨在于多维度分析英国某电商平台的销售数据,了解平台的日常业务状况,辅助业务运营及业务策划提出相关建议。此数据列出了一年内(2010/12/01~2011/12/09)约4000名客户的购买内容。
数据来源:https://www.kaggle.com/carrie1/ecommerce-data
1.1读取数据
首先加载数据并查看了数据结构以及字段类型。
导包
导入数据
查看数据结构
查看字段结构
查看前5行数据
数据大小:541909行数据,8个字段。
字段说明:
- InvoiceNo :订单编号。一般为6位数,C开头表示退货订单。
- StockCode :产品代码。一般由5位整数组成。
- Description: 产品描述。
- Quantity :下单数量。
- InvoiceDate:下单时间。
- UnitPrice:产品单价(单位:英镑)。
- CustomerID:客户编号。
- Country:客户所在国家或地区。
1.2数据清洗
清洗数据,包括对缺失值,异常值以及重复值的处理。
- 缺失值处理
查看每个字段中空值所占比。
两个字段含有空值,分别为"CustomerID"和"Description"。将俩字段的空值用"NULL"字符串替换。
- 异常值处理
1.时间异常值检查
时间字段均在在2010年12月到2011年12月之间,故无异常值。
2.下单数量与产品单价异常值检查
查看"Quantity"字段是否有小于等于0的数据。
没有下单数量为0的数据,下单数量小于0的数据有10624条。在这里下单数量为负的订单,视为退货订单。
查看"UnitPrice"字段是否有小于等于0的数据。
产品单价小于0的数据有2条,等于0的数据有2515条。产品单价小于0视为异常值予以删除处理,产品单价为0视为赠品。
3.产品编号异常值检查
产品编号一般为5位整数或5位整数加一个字符构成。
可见本数据涉及产品编号共有4070种,其中4037种符合规范,33种为特殊编号。具体查看特殊编号。
查看特殊产品编号所对应的产品描述信息。
除了描述某具体产品的产品编号“DCG…”,“PADS”,以及折扣字段“D”以外其他类别不直接影响销售。因此可删除这些内容。
- 去重
删除重复数据。
1.3了解字段
- 统计字段唯一值
可知此数据涉及25361份订单,4055种产品,4363(除去客户编号为NULL的数据)名客户以及他们分布在38个不同国家。
- 增加订单总额字段
- 增加时间字段
- 增加订单状态字段
订单状态分为四种:销售订单,退货订单,赠品,退赠品。
此阶段从销售金额和销售数量两个角度分析平台每月的销售情况。其次查看每月以及每天不同时间段需要处理的订单数据数量,了解平台的繁忙程度,有助于安排人力。
2.1月销售情况
构造销售数据和退货数据
- 月销售金额
- 月退款金额
- 月销售收入 = 月销售金额 - 月退款金额 (退款金额本身为负,因此实际操作时用了加号。)