サプライ チェーンと製造業における Python in Excel の活用

長年にわたり、Excel はオペレーション マネージャーやアナリストにとって必要不可欠なツールであり、データ管理、レポート作成、日々のタスク処理に強力なプラットフォームを提供してきました。しかし、高度な予測や最適化に関しては、Excel だけでは不十分な場合があります。オペレーション チームは、複雑な分析やモデリングを実行するため、Python や R などの追加ツールに頼らなければならないことがよくあります。

Python が Excel に直接統合されたことで、これらの高度な機能を数式だけで利用できるようになりました。この組み合わせにより、Python の強力なデータ処理と分析ツールが使い慣れた Excel 環境に導入され、在庫予測やルート最適化などのシームレスなワークフローが実現します。ソフトウェアを切り替えたり、データを何度もエクスポートしたり、多数のアドインを使用したりする必要はもうありません。Python は Excel の新たな可能性を引き出し、既存のスプレッドシートで高度な手法を直接利用できるようにします。

この記事では、Python in Excel が在庫管理やサプライ チェーン管理をどのように変革できるかを示す実例を紹介します。需要予測からルート最適化まで、Excel 内で Python の時系列モデリングとアルゴリズム機能を活用する実践的な方法を説明します。Python の堅牢なライブラリをスプレッドシートに統合することで、より深い洞察を得て、データに基づく意思決定を行い、操作を効率化できます。

Python in Excel を使用するには、「=PY(」と入力するだけです。これで、Excel に埋め込まれた Python エディターが開き、Python 関数の適用、pandas や Matplotlib ライブラリの使用、データ分析などをスプレッドシートから行うことができます。需要の傾向を可視化する場合でも、最適化された配送ルートをプロットする場合でも、Python in Excel は高度なデータ分析をこれまで以上に身近なものにします。

需要予測の例

急成長中の小売企業のオペレーション マネージャーは、在庫レベルの維持、顧客のニーズへの対応、コスト管理といった要求を日々こなしています。製品ラインと顧客ベースが拡大するにつれて、コストのかかる在庫切れや過剰在庫を回避するため、需要を予測することが重要になります。ここで、高度な需要予測をスプレッドシートに直接組み込むことができる Python in Excel が役に立ちます。

Python in Excel の時系列分析機能を使用すると、過去の販売データを実用的な洞察に変換し、よりスマートな需要予測と在庫管理の意思決定を可能にします。この例では、Excel 内でシミュレートされた販売データを使用して将来の需要を予測するシンプルな需要予測モデルについて説明します。

まず、Excel でデータを時系列として設定します。Python を使用すると、Excel データに直接リンクされたデータフレームを簡単に作成および操作できます。以下に、わずか数行でデータの基本的なプロットを作成する方法を示します。

#Set up your time-series data in python
df = xl("A1:B366", headers=True)
df.set_index("Date", inplace=True)

#Make a plot
df.plot()
図 1. Python in Excel を使用してプロットした時系列データ

この最初のプロットにより、時間の経過に伴う売上傾向を視覚的にすばやく確認し、データの基本的な理解が得られます。これは、在庫を顧客の需要に合わせるためのシンプルながら強力なステップです。Python エディターを開いた状態で Excel でデータを選択するだけで、pandas データフレームを作成できることに注目してください。

小売業では、需要を正確に予測できるかどうかが、シーズンを成功に導くか、コストのかかる在庫切れになるかにつながります。在庫が多すぎると資本が固定され、保管コストが増加し、在庫が少なすぎると競合他社に顧客を奪われるリスクがあります。データを基に需要を予測することで、在庫レベルを売上に見合うように計画し、需供を最適化できます。

指数平滑法や ARIMA などの時系列予測モデルを使用することで、販売パターンを予測し、今後の需要を予測できます。これらのモデルは、データの傾向と季節の影響を捉えるのに特に効果的であり、信頼性の高い需要予測を作成するのに役立ちます。従来、これはサードパーティのプラグインなしに Excel だけで処理できるものではありませんでした。

この例では、単純な ARIMA モデルを作成します。このモデルでは、1 つの AR および MA ラグを許可します。

from statsmodels.tsa.arima.model import ARIMA

df.asfreq("D")

model_arima = ARIMA(df, order=(1, 1, 1), seasonal_order=(1, 1, 1, 7))

fitted_model_arima = model_arima.fit()
print(fitted_model_arima.summary())

モデルのトレーニングが完了したら、今後 90 日間の売上を予測し、在庫に関する意思決定の確固たる基盤を提供できます。この予測は、在庫を再注文するタイミングと、潜在的な在庫切れを防ぐ安全在庫レベルを決定するのに役立ちます。

# Forecast for the next 90 days
forecast = fitted_model_arima.forecast(90)
forecast

最後に、元のデータと予測を並べてプロットすることで、予測される需要の傾向を明確に確認できます。この視覚化により全体像がわかり、データに基づく在庫計画が可能になり、チームがプロアクティブな決定を下すのに役立ちます。

df.plot()
forecast.columns("Predicted Sales")
forecast.plot()
図 2. Python in Excel を使用して予測データとともにプロットした時系列データ

Excel 内で需要予測に Python を使用すると、複数のツールを切り替えたり、限られたアドインを扱う必要がなくなります。この統合により、高度なモデリング手法を活用して、使い慣れた Excel 環境内で需要計画を改善し、コストを削減し、在庫を販売予測に合わせることができます。

Python in Excel を活用することで、オペレーション チームはシームレスなワークフローで強力な予測方法を使用し、データに基づく意思決定をすぐに行うことができます。

ルート最適化の例

サプライ チェーン管理において、効率は非常に重要です。複数の拠点への配送に依存する企業にとって、ルート最適化は不可欠です。時間と燃料コストを削減するだけでなく、タイムリーな配送を保証します。Python in Excel を活用することで、プラットフォームを切り替えることなく、これらの複雑なロジスティクスの課題に取り組む強力なツールが得られます。

この例では、Python の最近傍アルゴリズムを使用したルート最適化の実用的なアプローチについて説明します。これは、各ステップで最も近い未訪問の場所を訪問することで効率的なルートを概算する簡単な方法です。この手法は、データセットが小さく、厳密な最適化が重要でない状況に最適です。配送センターが市内の 10 か所に配送しており、それらすべてをカバーする最短ルートを見つける必要があると仮定します。

ルート最適化の最初のステップは、各拠点間の距離を計算することです。Python の NumPy ライブラリを使用して、拠点間の各ペアのユークリッド距離を保持する距離行列を作成できます。この行列は、最近傍アルゴリズムの基礎となり、アルゴリズムが拠点間の最短経路を迅速に決定するのに役立ちます。

# Load location data (coordinates for each delivery location)
location_data = xl("LocationData[#All]", headers=True)
coordinates = location_data[['x', 'y']].values

# Calculate the Euclidean distance between two points
def euclidean_distance(point1, point2):
    return np.sqrt((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2)

距離行列の準備ができたら、最近傍アルゴリズムを適用します。このアプローチは、最初の場所から開始し、すべての拠点がカバーされるまで、最も近い未訪問の場所を反復的に訪問します。最後に、開始点に戻ってルートを完了します。

アルゴリズムを実行して、出力される最適な停止順序を確認します。

最適ルート計算
場所の順番 x y
Location_1 51 87
Location_8 86 87
Location_2 92 99
Location_10 74 37
Location_9 74 29
Location_5 60 21
Location_4 71 2
Location_7 82 1
Location_3 14 23
Location_6 20 52
Location_1 51 87

この表は、後戻りを最小限に抑え、すべての配送地点を効率的にカバーする明確なルート順序を提供します。

最後に、最適化されたルートをプロットして、配送ルートを視覚的に表現します。このプロットは、ルートを検証し、すべての場所が訪問されていることを確認するのに役立ちます。

# Plot the route
plt.figure(figsize=(10, 8))
plt.scatter(location_data['x'], location_data['y'], color='blue', label='Locations')
for i in range(len(route) - 1):
    plt.plot([coordinates[route[i]][0], coordinates[route[i+1]][0]],
            [coordinates[route[i]][1], coordinates[route[i+1]][1]], 'orange')
plt.title("Optimized Delivery Route (Nearest Neighbor)")
plt.xlabel("X Coordinate")
plt.ylabel("Y Coordinate")
plt.legend()
plt.show()
図 3. Python in Excel を使用して最近傍アルゴリズムで計算された最適な配送ルートを視覚化したもの

前述のように、配送ルートの最適化には、複雑なソフトウェアや特殊なツールは必要ありません。Excel でさらに使いやすくなった Python の直感的な構文と配列操作機能により、この例では、距離を簡単に計算し、最近傍アルゴリズムを実装して、効率的な配送ルートを生成できました。

Python の柔軟性と使いやすさは、物流の合理化を目指す中小企業にとって理想的なツールです。最近傍アルゴリズムのようなシンプルなアルゴリズムを使用することで、追加のソフトウェアを必要とせずに、Excel 内でルート最適化を開始できます。この例は、使い慣れた環境で Python が、配送効率の向上、コスト削減、顧客満足度の向上に役立つ迅速で効果的なソリューションを提供できることを示しています。

したがって、ルート管理やサプライ チェーンの最適化を簡単に行う方法をお探しなら、Python in Excel は非常に貴重な追加機能をもたらすでしょう。

まとめ

Python を Excel に組み込むことで、使い慣れた Excel 環境にいながらにしてデータ分析能力を高めたいオペレーション マネージャーやアナリストにとって、画期的なソリューションが提供されます。Python の高度な予測モデルと最適化アルゴリズムがあれば、需要予測やルート最適化などの複雑な課題に簡単に取り組むことができます。

在庫レベルの管理から効率的な配送ルートの確保まで、Python in Excel は、データを処理し、洞察を視覚化し、結果を予測するツールを提供することで、重要な意思決定の方法を変革します。この強力な統合により、複数のツールを切り替えたり、限られたアドインに依存する必要がなくなり、ワークフローが合理化され、生産性が向上します。

Python が初めての方でも、使い慣れた方でも、この統合により、洗練された手法を日常の業務タスクに簡単に適用できるようになります。わずか数行のコードで、より良いプランニング、コスト削減、サービス向上を促進する洞察を、使い慣れた Excel スプレッドシート内で得られます。

Python in Excel は、Excel の直感的なインターフェースと Python の堅牢な機能を組み合わせた、両方の長所を兼ね備えたツールキットであり、今日のデータ駆動型オペレーションに最適です。この強力な組み合わせが、オペレーション管理へのアプローチをどのように変革できるのか、ぜひお試しください。

2025 © Anaconda Inc. 「Python in Excel for the Supply Chain and Manufacturing Industry

タイトルとURLをコピーしました