Call us: +1 (716) 989 6531 or email at:

RSS RSS

Navigation (jp)





Search the wiki
»

PoweredBy

販売予測による-在庫管理

RSS
Support » Here

売上げ予測による在庫管理

By Joannès Vermorel, December 2007(最終推敲日2012年1月)

この項では安全在庫レベルを調整することによって最適な在庫量を保つ方法についての説明します。このガイドは小売業および製造業に適しています。この理論には マイクロソフト・エクセルを使っています。カスタム・アプリケーションに、この理論を用いたいと考えるソフトウェア開発者の方には、詳細情報を差し上げます。


ターゲットとなる層: この資料は、主として小売業・製造業の物流部門に焦点を当てています。しかしまた、会計経理部門、ERP、eコマースのソフトウェアを編集して、在庫管理機能を強化したい場合にも有用です。

弊社では数学的な要求をできるだけ排除するよう努力していますが、すべての方程式を避けることはできません。この資料の目的は安全在庫を計算する方法を説明するガイドであることをご了承ください。

ダウンロード: calculate-safety-stocks.xls (Microsoft Excel Spreadsheet)

安全在庫について詳しく知る:

はじめに

在庫管理は在庫コストと欠品コストの経済的トレードオフということになります。 在庫が多ければ、より多くの運営資金が必要になり、するとその分在庫の減価償却費が発生するということになります。一方で、在庫が十分でないと、品切れという事態に陥り、販売可能量を十分に確保できず、全体的な生産プロセスに支障をきたす可能性もはらんでいます。

在庫量は原則的に以下の2つの要素に依ります。
  • 需要: 消費、購入されるアイテムの量
  • リードタイム: 再発注の決定から再入手までの期間(リードタイム)

しかし、これら二要素は不確実性に左右されます。
  • 需要の変動:お客様の行動が予測不可能な方向に展開する
  • リードタイムの変動:供給側や物流面で予期しない困難に直面する

安全在庫レベルを決定することは、これらの不確実性を考慮に入れたコストの相殺を行うことに等しいと言えるでしょう。

在庫管理コスト対欠品コストは、ビジネスによって非常に異なります。ですから、これらのコストを先に考えるよりも、まずは伝統的な「サービスレベル」の概念について紹介していきたいと思います。

サービスレベルとは、欠品を招かないある一定の安全在庫レベルの確率を表します。当然、安全在庫が増加するとサービスレベルも上昇します。安全在庫が非常に大きくなればサービスレベルは100%に近づく傾向にあります。(すなわち、欠品になる確率は0に近づきます)

サービスレベルを選択する、言い換えれば許容範囲の欠品率の決定については、このガイドでは触れませんが、別途ガイドがございます。最適なサービスレベルを計算するをご参照ください。

在庫補充モデル

弊社のウェブアプリ、セールスキャストを使って安全在庫を最適化させましょう。Lokadは需要予測を通した在庫最適化を専門としています。このチュートリアル(およびその他多数)の内容はセールスキャストのネイティブ機能です。

再発注ポイントとは、注文をする時点の在庫量を指します。もし、不確実性がなければ(すなわち将来の需要が完全に分かっており、供給面が完全に信頼できる)、再発注ポイントはリードタイム期間に予想される需要総量と単純に等しくなります。これはリードタイム需要とも呼ばれます。

Lokadでは、過去データから直接リードタイム需要を計算する数多くのツールをご提供しています。弊社サイトのマイクロソフトエクセルを使った予測方法と式をご覧ください。

実際には、不確実性があるため、このようになります。
再発注ポイント = リードタイム需要 + 安全在庫

もし予測の信頼度が高いもの(偏りのないもの)と仮定するとき、安全在庫を0とするとサービスレベルは50%となります。確かに、信頼度の高い予測といっても将来の需要がリードタイム需要を上回ったり下回ったりする可能性は十分にあります(リードタイム需要は予測値に過ぎません)。

注意: 予測は偏りがないもの(信頼度が高いもの)であっても正確でない場合があります。 unbiased without being exact. 偏りは予測モデルによる定誤差を示します。(例:常に需要を20%多く見積もる)

誤差の正規分布

ここでは、リードタイム需要における不確実性を表す方法が必要となります。以下に、誤差が 正規分布であると仮定しましょう。下の図をご覧ください。

Normal Distribution

統計学上の注記: この正規分布仮定は完全に任意なものではありません。ある状況下では、統計に基づく推定量は、中心極限定理に表される通りの正規分布に収束します。しかしこれらの項目についてはこのガイドでは扱いません。

正規分布は、2つのパラメータによってのみ定義されます。それらは平均分散です。今ここで予測は偏りのないものと仮定しているわけですから、エラー分布の平均が0と仮定し、それはエラーが0であると仮定しているわけではありません。

予測エラーの分散を決定するのは、さらにデリケートなタスクです。弊社は予測ツールキットとして、その予測に関連する MAPE estimations (Mean Absolute Percentage Error)をご提供しています。もう少し理解を深めるために、この問題を解決するために簡単なヒューリスティクスを説明しましょう。

特に過去データ内での分散は、予測エラー分散を推定するのによいヒューリスティックとなりえます。また、David Piaseckiは分散式において平均需要の代りに予測需要を使うよう提案しています。それは
σ2 = E[ (yt - y')2 ]
上記は、E平均 作用素、yt は、期間 t の過去需要(一般的には売上高)、そして y' は予測需要を表します。

この仮定に隠されているアイデアとは、予測エラーは非常に頻繁に予測分散の量と相関関係を持っているということです。分散が大きければ大きいほど、予測におけるエラーも大きくなると言えます

実際、このエラー分散の計算は微妙なことで、以下のような詳細に大きく影響します。

安全在庫を求める計算式

さて、平均と分散の両方について決定したので、エラー分布については分かりました。次はこの分布で許容できるエラーレベルを計算しなければなりません。それを行うために、記述の通りサービスレベル(パーセンテージ)についてご紹介しました。

注記:ここでは固定されたリードタイムを仮定しています。しかし、様々なリードタイムについて同様のアプローチを使うことができます。こちらを参照ください。
サービスレベルをエラーレベル(もしくはサービスファクターとも呼ばれる)に変換するために、逆累積正規分布(逆正規分布と呼ばれることもある)を使わなければなりません(対応するエクセル式についてはNORMSINV をご覧ください)。複雑そうに思われますが、そんなことはありません。視覚的に理解するために、まずこちらのA正規分布アプレットをご覧下さい。ご覧の通り、累積関数はパーセンテージを曲線から下の部分に変換し、X軸閾はサービスファクター値に一致していることが分かります。

このように計算します。
safety stock(安全在庫) = standard deviation of error(エラーの標準編差) * service factor(サービスファクター)

より形式的に書くならば安全在庫をS とし、
S = σ * icdf(P)
ここでは σ は標準偏差(すなわち上記で定義されている分散 σ2 の平方根) cdf正規の累積正規分布(平均は0、分散は1と等しい)、 P はサービスレベルを表します。

忘れてはいけないのが、
reorder point(再発注ポイント) = lead time demand(リードタイム需要) + safety stock(安全在庫)
Let R を再発注ポイントとすると、次のようになります。
R = y' + σ * icdf(P)

リードタイムの一致と予測期間

今まで、ひとつのリードタイムを想定してきたので、それに一致する将来需要を直接予測することができました。実際には、このようには行きません。過去データの分析はたいてい一定期間の集計から着手することになります (通常は週ごとや月ごと)。

しかし、選択する期間はリードタイムと完全に一致するわけではありません。そこで、リードタイム需要とその関連する分散を表すための計算をすることが必要です(前項で説明した予測エラーの正規分布を仮定していると考えます)。

直感的に、リードタイム需要は、リードタイムセグメントと交差する将来の期間の予測値の合計として計算されるだろうと考えます。前予測期間ときっちりと調整するよう気を付けてください。

形式的に表すと、 T が期間、 L がリードタイムとし、以下のようになります。
L = k * T + α * T
整数 k および 0 ≤ α < 1となります。 D をリードタイム需要とします。そして、リードタイム需要を最終式で表します。
D = (Σt=1..k y't) + αy'k+1
将来の期間 nth についての予測需要 y'n とします。

同じ正規分布を仮定して考えると、予測エラー分散を以下のように計算できます。C
σ2 = E[ (yt - y')2 ]
y' は期間ごとの平均予測です。
y'= D / (k + α)

しかし、 σ2 は、期間ごとの分散として計算されている一方、 私たちが必要とするのはリードタイムに一致する分散です。 σL2 を調整したリードタイム分散ごとに置き換えると、
σL2 = (k + α) σ2

最後に、再発注ポイントを以下のように表すことができます。
R = D + σL * cdf(P)

エクセルを使った再発注ポイントの計算

この項では マイクロソフト・エクセルを使ってどのように再発注ポイントを計算するかを詳しく述べます。上記にあるエクセルサンプルシートをご覧になることをお勧めします。

Image

サンプルシートは二つのセクションに分かれています。上部に仮定、下部に計算があることがお分かりでしょう。売上げ(または需要)はこのガイドでは取り扱いませんので、予測は仮定の一部としています。詳細は、弊社サイト エクセルを使った売上げ予測チュートリアルをご参照ください。

前項で紹介されている方程式のほとんどは非常に平易な演算で、マイクロソフト・エクセルで簡単に行うことができます。しかし、2つの関数に注目してください。
  • NORMSINV (Microsoft KB):累積正規分布を推定します。上述では cdf と表しています。
  • STDEV (Microsoft KB):標準偏差を推定します。上述では σ と表しています。標準偏差 σ 分散の平方根iσ2 であることを思い出してください。

簡易化するために、サービスファクターを計算する際、1番目のシートはヒューリスティック σ2 = E[ (yt - y')2 ] を実行しません。このアプローチは Sheet2 で実行されます。(エクセルドキュメントの2番目のスプレッドシートです)この例では固定された予測を仮定しているので、再発注ポイントをはこのヒューリスティックがあるなしにかかわらず同じものとなっています。

ソフトウェア開発者の皆さまへ

この項は、自動化された在庫管理に補充機能を追加して実行したいソフトウェア開発者のためのものです。

このガイドで説明した方程式のほとんどは、通常の開発ツールで何ら問題なく実行できます。もし、 .NETを使う場合、 Math.NET Iridium を使うことをお勧めします。これはオープンソースの数学ライブラリで C# 言語で書かれており、標準偏差作用素と累積正規分布機能を備えています。

もしくは、標準偏差はその定義に基づいて簡単に再実行することができます。the Wikipedia pageをご覧ください。累積正規分布はもう少し複雑になりますが、 Peter J. Acklam 氏が good algorithm を提供しており、多くの言語で実行されています。これら2つの方法に使われるコードは10行程度です。

売上げまたは需要予測は、Lokad time-series forecasting APIで計算できます。多くのプログラミング・チュートリアルが、製品のページで直接入手できます。

参考

inventoryops.com:David J. Piasecki 氏による素晴らしいオンライン資料です。同氏は、Inventory Accuracy: People, Processes, & Technology の著者でもあります。

セールスキャストを使って安全在庫を最適化する

Lokadは統計的売上げ予測を専門としています。弊社のウェブアプリであるセールスキャストはリード需要最適化した再注文ポイントなどのその他多くの主要な在庫最適化基準を提供します。

セールスキャストは貴社の社内アプリから履歴データをインポートします。通常はERPやアカウンティング・パッケージなどから行います。セールスキャストはすべての主要なデータベースシステムと互換性があります。データインポートはクリック1回で完了します。

次に、予測は弊社の 予測技術によって行われ、手作業の介入は必要ありません。予測プロセスはLokadによって包括的に管理されます。お客様は統計のスキルはまったく必要ありません。

最後に、お客様はセールスキャストからエクセル・レポートを取り出します。このレポートには需要予測と主要在庫最適化基準の両方が記載されています。もしデータが大きすぎる場合または完全自動化を希望する場合、セールスキャストは元のデータベースに再注入することが可能です。

お客様の声

従来の解決法では人手がかかりすぎ、何百何千という商品を正しく計算するのには不向きでした。LokadとWindows Azureはまさに私のビジネスに必要な解決策を提供してくれています。 Pierre-Noël Luiggi, CEO of Oscaro
Lokadの予測解決策は弊社の販売と在庫の最適化をそれぞれ適切に予測するのに大変役立っています。結果は明らかです。弊社の顧客満足度は99%に保たれ、弊社の商品が近所のペットショップのものよりも新鮮だということがしばしばあるからです。Anthony Holloway, CEO at k9cuisine
Lokadは我が社のプランニング・プロセスの精度を大きく向上させました。直ちに影響を与えたのは、毎月150€の費用でほぼ百万€分の在庫を削減させたこと。ここまで在庫レベルを下げられることを知ったのは恐るべきことでした!が、最も驚いたこは簡単に実行でき使えることです。統合プロセスには何の苦労もありませんでしたし、今ではクリック1回、10分で予測を入手することが出来るので、私の時間の節減に大幅に役立っています。Thomas Brémont, Head of Supply Chain Bizline

More success stories.