项目背景
疫情使各行各业均受到不同的影响,物流也收到不同程度的影响。
对一个电商零售商来说,每月需要对大量的快递费进行对账。
本项目解决同时使用多个快递发货,部分隔离区域出现不同程度涨价等情形下,如何快速准确核对账单的问题。
项目目的
1.涨价的部分区域是哪里 2.是否存在费用不合理情况
数据简介
来源:Kesci
账单部分截图 不同快递邮费截图一、数据加载与清洗
数据“完全合一”的原则:
1、完整性:缺失值的处理
2、全面性:描述事务的属性(字段)数据是否齐全
3、合法性:合理的数据类型,规范字符(是否存在非ASCII码等)
4、唯一性:重复值的处理
加载数据后,观察数据,1,是否有缺失值,是否需要填充,如果填充不了,能否删除。2,查看字段类型是否有利于接下去的工作。3,是否存在重复值。
可以看到区市和包裹重量有缺失。快递公司配送价格只参照省份,区市数据对结果没有影响,缺失的可以忽略。价格是按照重量来计算,没有实际包裹重量,这个缺失值因为我没有实际物流单,只能填充平均值。
转化数据类型,包裹重量 为object 需处理,只能是int或float才能进行计算。
查看是否有异常值(包裹重量为<=0或者实际邮资为<=0)。发现实际资费为0的是顺丰到付。不能算异常。
最后查看账单表和报价表连接字段是否有异常值。
账单表的省份账单表和报价表不一样的是,大部分省份后面都有省字,或者自治区也是全称。为了之后关联方便,把账单表和各个快递公司的报价表全改成一样的省份名称。
对账单表州省名称修改原本是要对发货时间进行类型类型修改的,但项目目的中并未要求区分月份,暂不处理。
各个快递公司的报价表加载后也同样做数据清洗和字段类型修改。
二、添加核对计算字段
计算思路
思路: 不同的快递方式,有不同的计费方式,分别计算 4 种快递方式 '申通快递', '顺丰寄付', '顺丰到付', '德邦快递'
申通快递: 首重+续重
顺丰寄付: 首重+续重
顺丰到付: 快递费为0
德邦快递: 1-5kg时:5个重量区间分别一一对应运费 超过5kg:5kg首重 + 续重
添加‘计算邮资’ 作为通过报价单公式计算的结果。
为了明确每一笔有差价的单号,再添加一个字段‘差价’。
总结:
差价为负,表面实际物流价格已经涨价。通过上述可以看到,发往湖北武汉的申通价格涨了0.5元。是只有申通涨价吗?还是发往武汉的没有其他快递?
而那些差价为正的,数量较少,可能是快递员对此物件做了优惠,毕竟是老客户。
网友评论