数据分析实战项目练习——物流行业数据分析

物流行业数据分析

数据来源:
某企业销售的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()

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

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

删除重复记录及结果显示:
数据分析实战项目练习——物流行业数据分析_第2张图片

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

删除带有NA的行及结果显示:
数据分析实战项目练习——物流行业数据分析_第3张图片
数据分析实战项目练习——物流行业数据分析_第4张图片

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

删除订单行的数据及结果显示
数据分析实战项目练习——物流行业数据分析_第5张图片

data

查看数据
数据分析实战项目练习——物流行业数据分析_第6张图片

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

数据分析实战项目练习——物流行业数据分析_第7张图片
观察到,销售金额列的数值单位存在不统一问题,需要进一步处理:
#取出销售金额列,对每一个数据进行清洗
#编写自定义过滤函数:删除逗号,转成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)

数据分析实战项目练习——物流行业数据分析_第8张图片
得到我们所需要的统一数据格式,方便后续处理。

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

数据分析实战项目练习——物流行业数据分析_第9张图片
通过观察发现数据右偏 平均值远远大于中位数

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

数据分析实战项目练习——物流行业数据分析_第10张图片
数据规整(增加辅助列)

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

数据分析实战项目练习——物流行业数据分析_第11张图片
增加辅助列:月份
数据分析并可视化
PART1 货品配送服务分析
#1.配送服务是否存在问题
(a.月份维度b.销售区域维度c.货品维度d.货品和销售区域结合)

a.月份维度

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

数据分析实战项目练习——物流行业数据分析_第12张图片

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

数据分析实战项目练习——物流行业数据分析_第13张图片
从按时交货率来看,第四季度低于第三季度,猜测可能是气候原因造成的。
b.销售区域维度

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

数据分析实战项目练习——物流行业数据分析_第14张图片

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

数据分析实战项目练习——物流行业数据分析_第15张图片
从数据知西北地区存在严重的交货延迟问题,急需解决。
c.货品维度

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

数据分析实战项目练习——物流行业数据分析_第16张图片
货品4的交货情况非常严重,其余货品相对交货状况较好
d.货品和销售区域结合

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

数据分析实战项目练习——物流行业数据分析_第17张图片
销售区域:最差在西北地区,货品有1和4,主要是货品4送货较晚导致
货品:最差的货品2,主要送往华东和马来西亚,主要是马来西亚送货较晚导致
同理我们可以分析货品和月份维度、销售区域和月份维度的关系。
PART2 销售区域潜力分析
2.是否存在尚有潜力的销售区域(a.月份维度b.销售区域维度c.月份和销售区域结合)
a 月份维度

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

数据分析实战项目练习——物流行业数据分析_第18张图片

data1.plot(kind='line')

数据分析实战项目练习——物流行业数据分析_第19张图片
货品2在10月和12月份,销量猛增,原因猜测有二:1.公司加大营销力度,2.开发了新的市场。
b 销售区域

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

数据分析实战项目练习——物流行业数据分析_第20张图片
从销售区域来看,每种货品销售区域为1~3个,货品1有3个销售区域,货品2有2个销售区域,其余货品均有1个销售区域。
c 月份和区域维度

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

数据分析实战项目练习——物流行业数据分析_第21张图片
数据分析实战项目练习——物流行业数据分析_第22张图片

data1['货品2']

数据分析实战项目练习——物流行业数据分析_第23张图片
数据分析实战项目练习——物流行业数据分析_第24张图片
货品2在10月,12月份销量猛增,主要发生在原有销售区域(华东地区)。
同样,分析出在7、8、9、11月份销售数量还有很大的提升空间,可以适当加大营销力度。
PART3 商品质量分析
3.商品是否存在质量问题?

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

数据分析实战项目练习——物流行业数据分析_第25张图片

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

数据分析实战项目练习——物流行业数据分析_第26张图片

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

数据分析实战项目练习——物流行业数据分析_第27张图片

print(data1.sum(axis=1))

数据分析实战项目练习——物流行业数据分析_第28张图片

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

数据分析实战项目练习——物流行业数据分析_第29张图片

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

数据分析实战项目练习——物流行业数据分析_第30张图片
1、货品3,6,5 合格率较高,返修率比较低,说明质量还可以
2、货品1,2,4,合格率较低,返修率较高,质量存在一定的问题,需要改善
3、货品2 在马来西亚的拒货率最高,同时货品2在马来西亚的按时交货率非常低。猜测马来西亚人对送货的时效性要求较高。
4、考虑到货品2主要在华东地区销售量大,可以考虑增大在华东的投资,适当减小马来西亚的投入。

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

你可能感兴趣的:(数据分析练习项目,python,数据分析)