物流数据分析

物流数据分析报告

一、项目背景&分析思路:

项目背景:某公司共向6个地区售卖6种货品,该项目以该公司2016年7月至12月的销售数据为数据集,通过分析找到其可能存在的问题和可以优化的地方。

分析思路:根据“人货场”的分析方法,提出以下三个问题:
1)从人的维度,配送服务是否存在问题?
2)从货的维度,货品质量是否存在问题?
3)从场的维度,是否存在具有潜力的区域?

二、结论先行:

1.货品4销往西北、货品2销往马来西亚的路线时效性存在较大问题,急需提升时效性;
2.货品1、2、4的质量存在较大问题,需要增加抽检比例,规范质检流程和标准;
3.可加强向华东地区推广货品2的力度和投入,同时货品2在马来西亚的时效性差导致拒收率较高,考虑到成本原因,可减少投入;

三、数据清洗

#数据读入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] =False #显示符号
from PIL import Image
from IPython.display import display

df = pd.read_csv(r'C:\Users\13779\Desktop\物流.csv', encoding='gbk')
df.head()
订单号订单行销售时间交货时间货品交货状况货品货品用户反馈销售区域数量销售金额
0P096311102016/7/302016/9/30晚交货货品3质量合格华北2.01052,75元
1P096826102016/8/302016/10/30按时交货货品3质量合格华北10.011,50万元
2NaN202016/8/302016/10/30按时交货货品3质量合格华北10.011,50万元
3P097435102016/7/302016/9/30按时交货货品1返修华南2.06858,77元
4P097446602016/11/262017/1/26晚交货货品3质量合格华北15.0129,58元
#查看表信息
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1161 entries, 0 to 1160
Data columns (total 10 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   订单号     1159 non-null   object 
 1   订单行     1161 non-null   int64  
 2   销售时间    1161 non-null   object 
 3   交货时间    1161 non-null   object 
 4   货品交货状况  1159 non-null   object 
 5   货品      1161 non-null   object 
 6   货品用户反馈  1161 non-null   object 
 7   销售区域    1161 non-null   object 
 8   数量      1161 non-null   float64
 9   销售金额    1161 non-null   object 
dtypes: float64(1), int64(1), object(8)
memory usage: 90.8+ KB
#1.删除无用列
del df['订单行']
#2.整理列--时间列
df['销售时间'] = pd.to_datetime(df['销售时间'])
df['交货时间'] = pd.to_datetime(df['交货时间'])
df.head()
订单号销售时间交货时间货品交货状况货品货品用户反馈销售区域数量销售金额
0P0963112016-07-302016-09-30晚交货货品3质量合格华北2.01052,75元
1P0968262016-08-302016-10-30按时交货货品3质量合格华北10.011,50万元
2NaN2016-08-302016-10-30按时交货货品3质量合格华北10.011,50万元
3P0974352016-07-302016-09-30按时交货货品1返修华南2.06858,77元
4P0974462016-11-262017-01-26晚交货货品3质量合格华北15.0129,58元
#2.整理列--销售金额列
#去掉','
df['销售金额'] = df['销售金额'].str.replace(',','')
#将单位万元转换为元,并将销售额转换为float类型
df['销售金额'] = df['销售金额'].apply(lambda x: float(x[:-2])*10000 if x.endswith('万元') else float(x[:-1]))
df.head()
订单号销售时间交货时间货品交货状况货品货品用户反馈销售区域数量销售金额
0P0963112016-07-302016-09-30晚交货货品3质量合格华北2.0105275.0
1P0968262016-08-302016-10-30按时交货货品3质量合格华北10.011500000.0
2NaN2016-08-302016-10-30按时交货货品3质量合格华北10.011500000.0
3P0974352016-07-302016-09-30按时交货货品1返修华南2.0685877.0
4P0974462016-11-262017-01-26晚交货货品3质量合格华北15.012958.0
#2.整理列--数量列
df['数量'] = df['数量'].astype(int)
#3.检查并删除重复值
df.duplicated().sum()
87
#共87条重复值,数量不多,进行删除
df.drop_duplicates(inplace=True)
#4.缺失值处理
df.isnull().sum()
订单号       2
销售时间      0
交货时间      0
货品交货状况    2
货品        0
货品用户反馈    0
销售区域      0
数量        0
销售金额      0
dtype: int64
#订单号、货品交货状况分别缺失2、2个,数量不多进行删除
df.dropna(inplace=True)
df.isnull().sum()
订单号       0
销售时间      0
交货时间      0
货品交货状况    0
货品        0
货品用户反馈    0
销售区域      0
数量        0
销售金额      0
dtype: int64
#5.异常值检查--数据正常,无需处理
df.describe()
数量销售金额
count1070.0000001.070000e+03
mean79.5317761.293545e+05
std609.5287161.153181e+06
min1.0000000.000000e+00
25%1.0000003.093750e+03
50%1.0000009.624500e+03
75%4.0000003.635475e+04
max11500.0000003.270000e+07
#重置索引
df = df.reset_index().drop('index', axis=1)
#处理后的数据预览
df.head()
订单号销售时间交货时间货品交货状况货品货品用户反馈销售区域数量销售金额
0P0963112016-07-302016-09-30晚交货货品3质量合格华北2105275.0
1P0968262016-08-302016-10-30按时交货货品3质量合格华北1011500000.0
2P0974352016-07-302016-09-30按时交货货品1返修华南2685877.0
3P0974462016-11-262017-01-26晚交货货品3质量合格华北1512958.0
4P0974462016-11-262017-01-26晚交货货品3拒货华北153239.0
#将文件存为wuliu.csv
df.to_csv(r'C:\Users\13779\Desktop\wuliu.csv', index=False)

四、可视化分析(借助Tableau软件)

1.配送服务分析

图表数据解释:
以时间维度这个图为例,条形图代表某月份的按时交货(晚交货)的单量;
比例数据代表某月份的按时交货(晚交货)的单量占该月总交货单量的比例;

在这里插入图片描述

配送服务分析结果汇总:
从时间维度来看,第四季度的晚交货率明显高于第三季度的晚交货率,猜测是由于季节原因导致的;
从货品维度来看,货品4的晚交货情况极其严重,晚交货率达到75.86%;
从销售区域维度来看,西北地区的晚交货率十分严重,晚交货率达到72.13%;
结合货品和区域维度来看,货品4只销往西北且晚交货率极其严重,急需解决;

2.货品质量分析

在这里插入图片描述

货品质量分析结果汇总:
货品1、2、4的不合格率较高,1和4的返修率极高,2的返修率和拒货率都较高,质量存在一定问题,需要及时改善;
货品2共销往马来西亚12单,质量合格的仅1单,返修3单,拒货8单,同时结合配送服务分析,货品2在马来西亚的晚交货率也极高,由此可推得马来西亚人对物流时效性要求较高;

3.潜力区域分析

在这里插入图片描述

注:以上3个图表中的数量均是指商品数量

潜力区域分析结果汇总:
从时间维度来看,货品2在10月和12月的销量有了显著增长,但在其他月份的销量较低,可能是因为开发了新市场或是加强了营销力度;
结合时间&区域维度的分析来看,推断是加大了营销力度,而非开发了新市场;
从销售区域维度来看,货品1有三个销售区域,货品2对应两个销售区域,货品3、4、5、6均只有一个销售区域;
结论:华东地区具有潜力,后续可加强向华东地区推广货品2的力度,同时货品2在马来西亚的时效性较差,导致拒收率较高,可适当减少投入来节约成本;