使用Python进行供应链分析

news2025/1/14 2:35:06

供应链是生产和向客户交付货物所涉及的生产和物流网络。供应链分析是指分析供应链的各个组成部分,以了解如何提高供应链的有效性,为客户创造更多价值。所以,如果你想学习如何分析供应链,这篇文章是给你的。文章中,将带你完成使用Python进行供应链分析的任务。

使用Python进行供应链分析

导入必要的Python库和数据集开始供应链分析的任务:

import pandas as pd
import plotly.express as px
import plotly.io as pio
import plotly.graph_objects as go
pio.templates.default = "plotly_white"

data = pd.read_csv("sup

输出

  Product type   SKU      Price  Availability  Number of products sold  \
0     haircare  SKU0  69.808006            55                      802   
1     skincare  SKU1  14.843523            95                      736   
2     haircare  SKU2  11.319683            34                        8   
3     skincare  SKU3  61.163343            68                       83   
4     skincare  SKU4   4.805496            26                      871   

   Revenue generated Customer demographics  Stock levels  Lead times  \
0        8661.996792            Non-binary            58           7   
1        7460.900065                Female            53          30   
2        9577.749626               Unknown             1          10   
3        7766.836426            Non-binary            23          13   
4        2686.505152            Non-binary             5           3   

   Order quantities  ...  Location Lead time  Production volumes  \
0                96  ...    Mumbai        29                 215   
1                37  ...    Mumbai        23                 517   
2                88  ...    Mumbai        12                 971   
3                59  ...   Kolkata        24                 937   
4                56  ...     Delhi         5                 414   

  Manufacturing lead time Manufacturing costs  Inspection results  \
0                      29           46.279879             Pending   
1                      30           33.616769             Pending   
2                      27           30.688019             Pending   
3                      18           35.624741                Fail   
4                       3           92.065161                Fail   

   Defect rates  Transportation modes   Routes       Costs  
0      0.226410                  Road  Route B  187.752075  
1      4.854068                  Road  Route B  503.065579  
2      4.580593                   Air  Route C  141.920282  
3      4.746649                  Rail  Route A  254.776159  
4      3.145580                   Air  Route A  923.440632  

[5 rows x 24 columns]

让我们来看看数据集的描述性统计:

print(data.describe())

输出

            Price  Availability  Number of products sold  Revenue generated  \
count  100.000000    100.000000               100.000000         100.000000   
mean    49.462461     48.400000               460.990000        5776.048187   
std     31.168193     30.743317               303.780074        2732.841744   
min      1.699976      1.000000                 8.000000        1061.618523   
25%     19.597823     22.750000               184.250000        2812.847151   
50%     51.239831     43.500000               392.500000        6006.352023   
75%     77.198228     75.000000               704.250000        8253.976921   
max     99.171329    100.000000               996.000000        9866.465458   

       Stock levels  Lead times  Order quantities  Shipping times  \
count    100.000000  100.000000        100.000000      100.000000   
mean      47.770000   15.960000         49.220000        5.750000   
std       31.369372    8.785801         26.784429        2.724283   
min        0.000000    1.000000          1.000000        1.000000   
25%       16.750000    8.000000         26.000000        3.750000   
50%       47.500000   17.000000         52.000000        6.000000   
75%       73.000000   24.000000         71.250000        8.000000   
max      100.000000   30.000000         96.000000       10.000000   

       Shipping costs   Lead time  Production volumes  \
count      100.000000  100.000000          100.000000   
mean         5.548149   17.080000          567.840000   
std          2.651376    8.846251          263.046861   
min          1.013487    1.000000          104.000000   
25%          3.540248   10.000000          352.000000   
50%          5.320534   18.000000          568.500000   
75%          7.601695   25.000000          797.000000   
max          9.929816   30.000000          985.000000   

       Manufacturing lead time  Manufacturing costs  Defect rates       Costs  
count                100.00000           100.000000    100.000000  100.000000  
mean                  14.77000            47.266693      2.277158  529.245782  
std                    8.91243            28.982841      1.461366  258.301696  
min                    1.00000             1.085069      0.018608  103.916248  
25%                    7.00000            22.983299      1.009650  318.778455  
50%                   14.00000            45.905622      2.141863  520.430444  
75%                   23.00000            68.621026      3.563995  763.078231  
max                   30.00000            99.466109      4.939255  997.413450  

现在,让我们开始分析供应链,通过查看产品价格与其产生的收入之间的关系:

fig = px.scatter(data, x='Price', 
                 y='Revenue generated', 
                 color='Product type', 
                 hover_data=['Number of products sold'], 
                 trendline="ols")

输出
在这里插入图片描述
因此,该公司从护肤产品中获得更多收入,护肤产品的价格越高,其产生的收入越多。现在让我们来看看按产品类型划分的销售情况:

sales_data = data.groupby('Product type')['Number of products sold'].sum().reset_index()

pie_chart = px.pie(sales_data, values='Number of products sold', names='Product type', 
                   title='Sales by Product Type', 
                   hover_data=['Number of products sold'],
                   hole=0.5,
                   color_discrete_sequence=px.colors.qualitative.Pastel)
                   
pie_chart.update_trace

输出
在这里插入图片描述
以上,45%的业务来自护肤产品,29.5%来自护发产品,25.5%来自化妆品。现在让我们来看看航运公司产生的总收入:

total_revenue = data.groupby('Shipping carriers')['Revenue generated'].sum().reset_index()
fig = go.Figure()
fig.add_trace(go.Bar(x=total_revenue['Shipping carriers'], 
                     y=total_revenue['Revenue generated']))
fig.update_layout(title='Total Revenue by Shipping Carrier', 
                  xaxis_title='Shipping Carrier', 
             

输出
在这里插入图片描述
该公司使用三家运营商进行运输,而运营商B帮助该公司创造更多收入。现在让我们来看看该公司所有产品的平均交货期和平均制造成本:

avg_lead_time = data.groupby('Product type')['Lead time'].mean().reset_index()
avg_manufacturing_costs = data.groupby('Product type')['Manufacturing costs'].mean().reset_index()
result = pd.merge(avg_lead_time, avg_manufacturing_costs, on='Product type')

result.rename(columns={'Lead time': 'Average Lead Time', 'Manufacturing costs': 'Average Manufacturing Costs'}, inplace=True)
print(result)

输出

  Product type  Average Lead Time  Average Manufacturing Costs
0    cosmetics          13.538462                    43.052740
1     haircare          18.705882                    48.457993
2     skincare          18.000000                    48.993157

分析SKU

数据集中有一列是SKU。SKU是Stock Keeping Units的缩写。它们就像特殊的代码,帮助公司跟踪他们销售的所有不同的东西。想象一下,你有一个很大的玩具店,里面有很多玩具。每个玩具都不一样,有它的名字和价格,但是当你想知道你还剩多少时,你需要一种方法来识别它们。所以你给予每个玩具一个唯一的代码,就像一个只有商店知道的代码。这个代码被称为SKU。

现在我们来分析一下每个SKU产生的收入:

revenue_chart = px.line(data, x='SKU', 
                        y='Revenue generated', 
                        title='Revenue Generated by SKU')
revenue_chart.show()

输出
在这里插入图片描述
数据集中还有一列是库存水平。库存水平是指商店或企业在其库存中的产品数量。现在让我们来看看每个SKU的库存水平:

stock_chart = px.line(data, x='SKU', 
                      y='Stock levels', 
                      title='Stock Levels by SKU')
stock_chart.show()

输出
在这里插入图片描述
现在让我们来看看每个SKU的订单数量:

order_quantity_chart = px.bar(data, x='SKU', 
                              y='Order quantities', 
                              title='Order Quantity by SKU')
order_quantity_chart.show()

输出
在这里插入图片描述

成本分析

现在让我们来分析运输商的运输成本:

shipping_cost_chart = px.bar(data, x='Shipping carriers', 
                             y='Shipping costs', 
                             title='Shipping Costs by Carrier')
shipping_cost_chart.show()

输出
在这里插入图片描述
在上面的一个可视化中,我们发现运营商B帮助公司获得更多收入。它也是这三家航空公司中成本最高的。现在让我们来看看按运输方式的成本分布:

transportation_chart = px.pie(data, 
                              values='Costs', 
                              names='Transportation modes', 
                              title='Cost Distribution by Transportation Mode',
                              hole=0.5,
                              color_discrete_sequence=px.colors.qualitative.Pastel)
transportation_chart.show()

输出
在这里插入图片描述
因此,该公司在公路和铁路运输方式上花费更多用于货物运输。

分析缺陷率

供应链中的缺陷率指的是产品出货后出现问题或被发现损坏的百分比。让我们来看看所有产品类型的平均缺陷率:

defect_rates_by_product = data.groupby('Product type')['Defect rates'].mean().reset_index()

fig = px.bar(defect_rates_by_product, x='Product type', y='Defect rates',
             title='Average Defect Rates by Product Type')
fig.show()

输出
在这里插入图片描述
因此护发产品的缺陷率较高。现在让我们看看运输方式的缺陷率:

pivot_table = pd.pivot_table(data, values='Defect rates', 
                             index=['Transportation modes'], 
                             aggfunc='mean')

transportation_chart = px.pie(values=pivot_table["Defect rates"], 
                              names=pivot_table.index, 
                              title='Defect Rates by Transportation Mode',
                              hole=0.5,
                              color_discrete_sequence=px.colors.qualitative.Pastel)
transportation_chart.show()

在这里插入图片描述
公路运输的缺陷率较高,航空运输的缺陷率最低。

总结

供应链分析是指分析供应链的各个组成部分,以了解如何提高供应链的有效性,为客户创造更多价值。以上是使用Python进行供应链分析的一个实践案例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1029915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

滑动窗口训练9.21

好久没有写博客了,自从上半年蓝桥杯结束后,就有点懈怠了 最近两三周才又慢慢刷起题来,也顺便记录下自己的成长! 今天是滑动窗口的章节,前两周刷了字符串、双指针、模拟。这些板块我都在leetcode上找了些题&#xff0…

【大学英语视听说上】Topic Presentation

(一些视听说的必要作业...) 展示,每人准备ppt文件,时长五分钟,第一分钟自我介绍,之后四分钟介绍一个主题。 例如:中秋节,英国地标建筑等等。 要求图文并茂,发音清楚标…

Intel汇编在VS下开发的环境配置

1. 创建一个C/C的空项目 2. 创建汇编源码文件, 就是C文件改后缀为asm 3. 在生成依赖项一栏中选择自定义 4. 选择masm 5. 在源文件上右击选择属性 6. 这么设置一下 7. 为了让代码看的更舒服一些, 添加一些高亮插件 8. 安装AsmHighligher和AsmDude插件(非必须), 其中前者主要是高…

RK3568驱动指南|第五期-中断-

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

债券风险价值类

声明 本文是学习GB-T 42815-2023 债券价格指标产品描述规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了债券价格指标产品各要素的定义、范围、框架及输出口径。 本文件适用于债券价格指标产品的编制发布机构及使用机构。 …

Rsync学习笔记1

企业架构Web服务器的文件及时同步: 1)能够理解为何要服务器的文件同步; 2)能够简单描述实现文件同步的几种方式; 3)能够实现服务器文件实时同步的案例; 服务器同步文件的必要性: …

求二维子数组的和(剖析)

文章目录 🐒个人主页🏅JavaSE系列专栏📖前言:本篇剖析一下二维子数组求和规则: 🐒个人主页 🏅JavaSE系列专栏 📖前言:本篇剖析一下二维子数组求和 规则: 这…

阿里员工曝光,跳槽提供流水,将28K改成38K,成功率高吗?

在这位员工的曝光中,他声称通过提供虚假简历,将自己的工作经验和技能水平夸大,以获得更高的薪资。此外,他还提供了虚假的流水,使自己的收入看起来更高。然而,这一行为无疑是违反道德和诚信原则的&#xff0…

向表中针对全部列插入数据

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: insert into 表名 values(); 我们来查看test01表里面有几列 mysql> show databases; -------------------- | Database …

学习记忆——宫殿篇——记忆宫殿——记忆桩——学校

教室 桶 走道 桌子 暖气 窗台 后背 窗帘 监视器 白盒子 教师 讲台 表 投影仪 音响 窗 喇叭 黑板 门 栏杆 椅子 食堂 桶 刷卡器 柱子 桌子 风扇 灯罩 一列椅子 地面 大门空间 电视 活动室 盘子 纸盒 油桶 称 水桶 展牌 帘子 消防栓 毯子 储物箱 宿舍 梯子 坐垫 挂件 吊兰 君子…

zabbix学习3--zabbix6.x-proxy

文章目录 proxy proxy # 安装mysql 8.0# 获取源码包【https://www.zabbix.com/cn/download_sources】 mkdir -p /data/zabbix_proxy/{data,install,logs,php} mkdir -p /var/run/zabbix_proxy tar xf zabbix-6.4.3.tar.gz -C /data/zabbix_proxy/install/ cd /data/zabbix_pro…

华为坤灵再上新,助力中小企业转型“易”见未来

中小企业,堪称国民经济发展的毛细血管,数量众多、分布广泛却又无比重要。 随着数字经济成为各行各业的主战场,数字化转型已是中小企业打开高质量发展之门的那把关键钥匙。《数字中国建设整体布局规划》就明确指出,推动数字技术和…

argparse的用法

目录 一、使用argparse 二、参数详解 参考 一、使用argparse argparse 模块是 Python 内置的用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口,能够帮助程序员为模型定义参数。 argparse定义包括四个步骤&#xff…

线路中故障电弧产生了应该如何治理?-安科瑞黄安南

故障电弧的危害 故障电弧是指由于电气线路或设备中绝缘老化破损、电气连接松动、空气潮湿、电压电流急剧升高等原因引起空气击穿所导致的气体游离放电现象。故障电弧发生时,其中心温度可高达3000 ℃左右,并伴随有金属喷溅物,足以引燃任何可燃…

【AD】【规则设置】关于绿色报错的消除

关于绿色报错的消除 1、打开 在上面工具栏的 Tools - Design Rule Checker2、这两列,分别右键 选择 Batch DRC - All Off 取消掉所有的打钩3、再点击左侧的Electrical 把右边的这几个都打钩 每天进步一点点 如果我的学习记录有帮到你,可否赏点买辣条的钱…

提高接口自动化测试效率:使用 JMESPath 实现断言和数据提取!

前言 做接口自动化,断言是比不可少的。如何快速巧妙的提取断言数据就成了关键,当然也可以提高用例的编写效率。笔者在工作中接触到了JMESPath,那到底该如何使用呢?带着疑惑一起往下看。 JMESPath是啥? JMESPath 是一…

安达发APS|生产计划部门如何提升产量?

在当下制造业中,生产计划的制定和执行对于提高产量、降低成本、保证交货期等方面具有重要意义。随着科技的发展,越来越多的企业开始使用APS生产排程软件来优化生产计划,提高生产效率。本文将从以下几个方面介绍如何利用APS生产排程软件提升产…

外滩大会观察|重估蚂蚁!

点击关注 文丨刘雨琦,编丨王一粟 “不同品种的小狗排队通过‘实名认证’、刷脸识别不仅能识别人,还能识别狗”。“人脸、虹膜、掌纹都已经不算黑科技,脑纹识别才是真的不可替代。” 2023年上海外滩大会上,6G、无人安全检测实验室…

学Python的漫画漫步进阶 -- 第十四步.网络通信

学Python的漫画漫步进阶 -- 第十四步.网络通信 十四、网络通信14.1 基本的网络知识14.1.1 TCP/IP14.1.2 IP地址14.1.3 端口14.1.4 HTTP/HTTPS 14.2 搭建自己的Web服务器14.3 urllib.request模块14.3.1 发送GET请求14.3.2 发送POST请求 14.4 JSON数据14.4.1 JSON文档的结构14.4.…

方案:TSINGSEE青犀智能分析网关皮带撕裂算法的场景应用

在工地矿山等现实场景中,皮带运输在生产过程中是必不可少的,然而,由于长时间高强度的运转,皮带很容易发生撕裂、破损、跑偏等问题。这些问题会严重影响生产速度,甚至会导致严重的安全事故。为了有效预防此类安全事故发…