数据分析实战项目练习 您所在的位置:网站首页 hadoop天气数据分析实战实践报告 数据分析实战项目练习

数据分析实战项目练习

2023-09-17 19:18| 来源: 网络整理| 查看: 265

物流行业数据分析

数据来源: 某企业销售的6种商品所对应的送货及用户反馈数据。

本文从人—货—场对物流数据进行对应的分析:

人:人指的是消费者。随着消费等级的升级,消费者的认知有明显的升级。同时形成了我们判断产品或服务好坏的三个维度,即功能维度,内容维度,服务维度。通俗来讲就是产品的用户体验感。

货:货指的是商品。商品的功能不再是单一的,而是多边延伸,商品的价值需要多方面满足消费者的需求。对于物流行业,产品的创新,可以是专线路线的延伸拓展,可以是时效的提升,可以是服务的优化扩展,可以是安全的保障!

场:场是为了交易提供的场所。无论线上平台,还是线下门店,场的本质并没有变。深入到市场中去,了解客户需求,并以客户需求为导向进行经营理念、方式、范围的合理优化,将会吸引到更多的客户,拓宽客户群体。

总而言之,最终货和场将紧密围绕人而升级,以提升消费体验为最关键的目标。

待解决问题: 人:客户体验中的配送服务是否存在问题? 货: 商品是否存在质量问题? 场:是否存在尚有潜力的销售区域?

具体分析过程如下: 1、 数据清洗 2、 数据规整 3、数据分析并可视化

数据清洗(重复值、缺失值、异常值处理、格式调整)

import os import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' #设置中文显示

导入相应的数据分析模块

data = pd.read_csv('E:\BaiduNetdiskDownload\data_wuliu.csv',encoding='gbk') data.info()

数据读取及显示: 在这里插入图片描述通过info()可以看出,包括10列数据,名字,数据量,格式等,可以得出: 1.订单号,货品交货情况,数量:存在缺失值,但是缺失量不大,可以删除 2.订单行,对分析无关紧要,可以考虑删除 3.销售金额格式不对(万元、元、逗号问题)数据类型需要转换成int或者float。

data.drop_duplicates(keep='first',inplace=True) #删除重复记录 data.info()

删除重复记录及结果显示: 在这里插入图片描述

data.dropna(axis=0,how='any',inplace=True) #删除带有NA的行 data.info()

删除带有NA的行及结果显示: 在这里插入图片描述 在这里插入图片描述

data.drop(columns='订单行',inplace=True,axis=1) #删除订单行的数据 data.info()

删除订单行的数据及结果显示 在这里插入图片描述

data

查看数据 在这里插入图片描述

data.reset_index(drop=True,inplace=True) #更新索引,drop=True:是把原来的索引index列删除,重置index data

在这里插入图片描述 观察到,销售金额列的数值单位存在不统一问题,需要进一步处理: #取出销售金额列,对每一个数据进行清洗 #编写自定义过滤函数:删除逗号,转成float,如果是万元则*10000,否则,删除元

def data_deal(number): if number.find('万元')!= -1: #找到带有万元的,取出数字,去掉逗号,转成float,*10000 number_new = float(number[:number.find('万元')].replace(',','')) pass else: #找到带有元的,删除元,删除逗号,转成float number_new = float(number.replace('元','').replace(',','')) pass return number_new data['销售金额'].map(data_deal)

在这里插入图片描述 得到我们所需要的统一数据格式,方便后续处理。

data.describe() #数据的描述性分析

在这里插入图片描述 通过观察发现数据右偏 平均值远远大于中位数

其中销售金额==0,采用删除方法,因为数据量很小 data = data[data['销售金额']!=0] data 销售金额和销售数量存在严重右偏现象,在电商领域2/8很正常,无需处理。

在这里插入图片描述 数据规整(增加辅助列)

data['销售时间']=pd.to_datetime(data['销售时间']) data['月份']= data['销售时间'].apply(lambda x:x.month) data

在这里插入图片描述 增加辅助列:月份 数据分析并可视化 PART1 货品配送服务分析 #1.配送服务是否存在问题 (a.月份维度b.销售区域维度c.货品维度d.货品和销售区域结合)

a.月份维度

data['货品交货状况']=data['货品交货状况'].str.strip() data1= data.groupby(['月份','货品交货状况']).size().unstack() data1

在这里插入图片描述

data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货']) data1

在这里插入图片描述 从按时交货率来看,第四季度低于第三季度,猜测可能是气候原因造成的。 b.销售区域维度

data1= data.groupby(['销售区域','货品交货状况']).size().unstack() data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货']) data1

在这里插入图片描述

对区域的按时交货率进行排序 print(data1.sort_values(by='按时交货率',ascending=False))

在这里插入图片描述 从数据知西北地区存在严重的交货延迟问题,急需解决。 c.货品维度

data1= data.groupby(['货品','货品交货状况']).size().unstack() data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货']) data1 # 对货品维度的按时交货率进行排序 print(data1.sort_values(by='按时交货率',ascending=False))

在这里插入图片描述 货品4的交货情况非常严重,其余货品相对交货状况较好 d.货品和销售区域结合

data1= data.groupby(['销售区域','货品','货品交货状况']).size().unstack() data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货']) print(data1.sort_values(by='按时交货率',ascending=False))

在这里插入图片描述 销售区域:最差在西北地区,货品有1和4,主要是货品4送货较晚导致 货品:最差的货品2,主要送往华东和马来西亚,主要是马来西亚送货较晚导致 同理我们可以分析货品和月份维度、销售区域和月份维度的关系。 PART2 销售区域潜力分析 2.是否存在尚有潜力的销售区域(a.月份维度b.销售区域维度c.月份和销售区域结合) a 月份维度

data1=data.groupby(['月份','货品'])['数量'].sum().unstack() data1

在这里插入图片描述

data1.plot(kind='line')

在这里插入图片描述 货品2在10月和12月份,销量猛增,原因猜测有二:1.公司加大营销力度,2.开发了新的市场。 b 销售区域

data1=data.groupby(['销售区域','货品'])['数量'].sum().unstack() data1

在这里插入图片描述 从销售区域来看,每种货品销售区域为1~3个,货品1有3个销售区域,货品2有2个销售区域,其余货品均有1个销售区域。 c 月份和区域维度

data1=data.groupby(['月份','销售区域','货品'])['数量'].sum().unstack() data1

在这里插入图片描述 在这里插入图片描述

data1['货品2']

在这里插入图片描述 在这里插入图片描述 货品2在10月,12月份销量猛增,主要发生在原有销售区域(华东地区)。 同样,分析出在7、8、9、11月份销售数量还有很大的提升空间,可以适当加大营销力度。 PART3 商品质量分析 3.商品是否存在质量问题?

data['货品用户反馈']= data['货品用户反馈'].str.strip() ##去除字符串首尾空格 data['货品用户反馈']

在这里插入图片描述

data1=data.groupby(['货品','销售区域'])['货品用户反馈'].value_counts() data1

在这里插入图片描述

data1=data.groupby(['货品','销售区域'])['货品用户反馈'].value_counts().unstack() data1

在这里插入图片描述

print(data1.sum(axis=1))

在这里插入图片描述

data1['拒货率']= data1['拒货']/data1.sum(axis=1) data1['返修率']= data1['返修']/data1.sum(axis=1) data1['合格率']= data1['质量合格']/data1.sum(axis=1) data1

在这里插入图片描述

data1.sort_values(['合格率','返修率','拒货率'],ascending = False) #降序排序

在这里插入图片描述 1、货品3,6,5 合格率较高,返修率比较低,说明质量还可以 2、货品1,2,4,合格率较低,返修率较高,质量存在一定的问题,需要改善 3、货品2 在马来西亚的拒货率最高,同时货品2在马来西亚的按时交货率非常低。猜测马来西亚人对送货的时效性要求较高。 4、考虑到货品2主要在华东地区销售量大,可以考虑增大在华东的投资,适当减小马来西亚的投入。

总结:在本次分析中,主要利用了人货场分析思路进行分析,1、针对配送服务问题:通过计算按时交货率,发现货品4→西北,货品2→马来西亚两条线路存在较大问题,运输时效性方面需要大幅度的改进提升。2、销售区域潜力分析:发现货品2在华东地区还有较大的市场空间,适合加大投入,同时货品2在西北存在配送慢、用户拒收率高的问题,从投资成本考虑,应减少投入。3、商品质量问题分析:对商品的合格率,返修率,拒货率等指标进行了量化分析。货品1,2,4质量存在问题,建议扩大抽检范围,增大质检力度。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有