(57)【特許請求の範囲】
【請求項１】
過去の複数の時点それぞれでの物品の供給数に基づいて、未来の所定区間中における合計需要量の上限値を予測する需要量予測装置において、
過去の各時点での物品の供給数を、当該過去の各時点に応じたデータ群の何れかに含まれるように分類して記憶すると共に、前記未来の所定区間を構成する未来の各時点で予測される物品の供給数が、前記データ群の何れに属するのかを記憶する記憶手段と、
前記過去の各時点の数をｐ，前記データ群の数をｌ，現時点をｔ０として、或る時点ｔにおける前記物品の供給数ｘｔが、一時点あたりの需要量の平均に相当するパラメータμと、前記過去の各時点が前記データ群の何れに含まれるかで決定されるダミー変数ｚｔと、モデル化誤差ｖｔとにより、次の線形回帰モデルで表わされるとして（但し、Ｔは転置行列を意味する）、前記記憶手段に記憶される各時点での物品の供給数ｘｔ０−１，ｘｔ０−２，…ｘｔ０−ｐを各要素とした行列Ｘと、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれについて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれているか否かで値が決定される前記ダミー変数Ｚｉｔを各要素とした行列Ｚとにより、前記パラメータμを推定するパラメータ推定手段と、
【数１】
0005093752.tif 000065
前記推定パラメータμ＾の値と、前記物品の供給数ｘｔと、前記ダミー変数ｚｔと、前記過去の各時点の数ｐとから、次の式により標本分散ｓ２を算出する標本分散算出手段と、
【数２】
0005093752.tif 000066
前記未来の各時点が前記データ群に属するのかを前記記憶手段から読み込み、ｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれる未来の時点数をｋｉとして、次の式に示す説明変数ｋの値を決定する説明変数決定手段と、
【数３】
0005093752.tif 000067
前記推定パラメータμ＾の値と、前記標本分散ｓ２と、前記説明変数ｋの値と、前記行列Ｚとにより、次の式により前記合計需要量の上限値Ｄを算出する上限値算出手段と（但し、Ｔｐ−１，１−α／２は、自由度ｐ−１のｔ分布に対する上側１−α／２パーセント点の値であり、αは危険率である）、
【数４】
0005093752.tif 000068
を備えたことを特徴とする需要量予測装置。
【請求項２】
前記パラメータ推定手段は、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれにおいて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれていれば、前記ダミー変数Ｚｉｔの値を１にし、そうでなければ前記ダミー変数Ｚｉｔの値を０にすると共に、これらのダミー変数Ｚｉｔによって、次の式にて行列Ｚの各要素を設定するものであることを特徴とする請求項１記載の需要量予測装置。
【数５】
0005093752.tif 000069
【請求項３】
前記データ群は、暦に依存して前記過去の各時点にそれぞれ与えられる第１データ群と、暦に依存することなく突発的に与えられる第２データ群からなり、
前記過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には前記第１データ群を割り当てるように構成したことを特徴とする請求項１または２記載の需要量予測装置。
【請求項４】
前記未来の時点で前記第２データ群が存在する場合に、当該第２データ群が存在する前記過去の時点を含むように、この過去の各時点の数ｐを可変させる構成としたことを特徴とする請求項３記載の需要量予測装置。
【請求項５】
過去の各時点での物品の供給数を、当該過去の各時点に応じたデータ群の何れかに含まれるように分類して記憶すると共に、未来の所定区間を構成する未来の各時点で予測される物品の供給数が、前記データ群の何れに属するのかを記憶するコンピュータに、前記過去の複数の時点それぞれでの物品の供給数に基づいて、前記未来の所定区間中における合計需要量の上限値を予測させるコンピュータプログラムであって、
前記過去の各時点の数をｐ，前記データ群の数をｌ，現時点をｔ０として、或る時点ｔにおける前記物品の供給数ｘｔが、一時点あたりの需要量の平均に相当するパラメータμと、前記過去の各時点が前記データ群の何れに含まれるかで決定されるダミー変数ｚｔと、モデル化誤差ｖｔとにより、次の線形回帰モデルで表わされるとして（但し、Ｔは転置行列を意味する）、前記コンピュータに記憶した各時点での物品の供給数ｘｔ０−１，ｘｔ０−２，…ｘｔ０−ｐを各要素とした行列Ｘと、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれについて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれているか否かで値が決定される前記ダミー変数Ｚｉｔを各要素とした行列Ｚとにより、前記パラメータμを推定するパラメータ推定手順と、
【数１１】
0005093752.tif 000070
前記推定パラメータμ＾の値と、前記物品の供給数ｘｔと、前記ダミー変数ｚｔと、前記過去の各時点の数ｐとから、次の式により標本分散ｓ２を算出する標本分散算出手順と、
【数１２】
0005093752.tif 000071
前記未来の各時点が前記データ群に属するのかを読み込み、ｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれる未来の時点数をｋｉとして、次の式に示す説明変数ｋの値を決定する説明変数決定手順と、
【数１３】
0005093752.tif 000072
前記推定パラメータμ＾の値と、前記標本分散ｓ２と、前記説明変数ｋの値と、前記行列Ｚとにより、次の式により前記合計需要量の上限値Ｄを算出する上限値算出手順と（但し、Ｔｐ−１，１−α／２は、自由度ｐ−１のｔ分布に対する上側１−α／２パーセント点の値であり、αは危険率である）、
【数１４】
0005093752.tif 000073
を前記コンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項６】
前記パラメータ推定手順では、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれにおいて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれていれば、前記ダミー変数Ｚｉｔの値を１にし、そうでなければ前記ダミー変数Ｚｉｔの値を０にすると共に、これらのダミー変数Ｚｉｔによって、次の式にて行列Ｚの各要素を設定することを特徴とする請求項５記載のコンピュータプログラム。
【数１５】
0005093752.tif 000074
【請求項７】
前記データ群は、暦に依存して前記過去の各時点にそれぞれ与えられる第１データ群と、暦に依存することなく突発的に与えられる第２データ群からなり、
前記過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には前記第１データ群を割り当てるようにしたことを特徴とする請求項５または６記載のコンピュータプログラム。
【請求項８】
前記未来の時点で前記第２データ群が存在する場合に、当該第２データ群が存在する前記過去の時点を含むように、この過去の各時点の数ｐを可変させることを特徴とする請求項７記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曜日などに依存して需要量が変化する物品の供給量に係るデータを適正に分類し、分類したデータを用いて未来の物品における合計需要量の上限値を予測する需要量予測装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
商品を販売する小売業においては、品切れによる商品の欠品が生じないように、また過剰な在庫を発生させないように、適切なタイミングと発注量で商品を発注できるような在庫管理方法の構築が望まれている。こうした在庫管理は、適切な時期に適当な量を発注及び補充することが重要であり、これらは現時点での在庫数や、需要の将来予測値を元にして決定される。
【０００３】
一つの例として、図９は、ある商品に関し、発注前と発注後における在庫数の経時的な推移をグラフで示したものである。ここでは説明のために、途中の納品・入荷や、季節性（季節指数）や、次回納品前の欠品や、隠し在庫がないものと仮定する。図９において、実線は現時点での初期在庫数から、途中で発注や納品が一切行なわれなかった場合に予測される発注前の在庫数の推移を示している。また、同図における波線は、今回発注日による発注を受けて、次回の納品日に所定の発注数で入荷が行なわれる場合に予測される発注後の在庫数の推移を示している。制御要素として操作量となる発注量は、次回の発注日に対応した次々回の納品日時点で、前記発注前の在庫数がどの程度不足するのかを示す表わす欠品数になる。また、制御要素として操作時刻となる発注タイミングは、次々回の納品日に、前記発注後の在庫数が零になる欠品が予測される時に設定される。
【０００４】
図１０は、図９に示す発注前の在庫数の推移を示したものであるが、ここで予測される販売量は、今回の発注日から次々回の納品日までの在庫数の変動すなわち販売数量となる。需要の予測値は、欠品や過剰な在庫を生じないような安全分を見込んで予測される。
【０００５】
従来知られている需要量の予測装置として、例えば特許文献１には、定量的に出荷がある商品のみならず、非定量的に出荷がある商品に対しても、出荷予測値を補正して発注数量を調整することができる発注数量計算装置が開示されている。また、別な特許文献２には、商品の属するカテゴリ毎に平均在庫週数を求め、そのカテゴリにおける平均在庫週数が、当該カテゴリの属する部門の目標在庫週数よりも大きい場合は過剰在庫として、逆に小さい場合は過小在庫として、各商品の目標在庫週数を平準化する自動発注勧告装置が開示されている。さらに特許文献３には、販売戦略，在庫状況，又はキャンペーンなどに応じて、平均販売量の何倍の販売量を見込むかをキャンペーン係数として導入し、特売などの特殊条件に応じて最適な在庫量や発注量を指示する発注指示システムが開示されている。
【０００６】
しかし、これらの特許文献１〜特許文献３に記載されたものは、商品のライフサイクルが短く、且つ商品の需要に強い曜日依存性がある業種への適用を考えた時に、日次需要の曜日変動を考慮した需要量の予測を行なうことができない。
【０００７】
一方、日次需要の曜日変動を考慮した需要量予測装置は、例えば特許文献４や特許文献５に開示されている。特許文献４では、今回の発注日から次回の発注日までの発注による納品日までの日数をｄ２日としたときに、発注日から各ｄ（＝１〜ｄ２）日間に販売される商品の需要量を予測する計算処理手段を備えている。また特許文献５では、例えば平日，土曜，及び日曜などの需要水準が類似するグループ毎に、販売量に係るデータを区分し、日別の需要量が各々独立な正規分布に従うと仮定して、各データ群に属する日別の需要量の平均と分散の推定値から、需要量の上限を予測する手法が提案されている。
【０００８】
ところで、従来例における需要量の予測方法は、統計学的視点に基づくものと、時系列解析の概念を用いたものとに大別される。統計学的アプローチとしては、前述した特許文献５のように、日別の需要量が正規分布に従うと仮定する古典的な方法の他に、正規分布以外の様々な分布関数を仮定するものや、特定の分布関数に依存しない系への拡張を行ない、予測の信頼性や頑健性を高めたものが知られている。一方、時系列解析に基づくアプローチでは、需要モデルとしてＡＲ（自己回帰）モデルを用いたものをベースに、季節性を有する場合の需要に対応できるように拡張したＳＡＲＩＭＡ（季節自己回帰移動平均）モデルに基づく方法などが提案されている。
【０００９】
統計学的アプローチによる方法は、パラメータ推定に要するデータのサンプル数が、比較的少ないという利点があるものの、需要の周期性やトレンドの変化など、時間軸からみた需要の規則性を考慮するのが難しい。それに対して、時系列解析に基づくアプローチは、時間軸の視点での性質を取り込むのには適しているが、パラメータ推定や販売量の予測に必要なサンプル数が多く、販売開始後直ぐに稼動できない虞れがあり、また元データに異常値が含まれる場合などに、十分な予測精度を確保できない難点がある。
【００１０】
ここで、統計学的アプローチによる従来の方法について簡単に説明する。需要量の周期性を考慮しない最も単純な場合を想定すると、日別の需要量は、μを平均とし、σ２を分散として、正規分布Ｎ（μ，σ２）にそれぞれ独立に従うものと仮定する。また、販売数の実績値すなわち販売実績値をｘｔ（但し、ｔは日付を表わす独立変数で、本日はｔ＝ｔｏとする）とすると、過去ｐ日分の販売実績値を用いて、日別の需要量の平均μ及び分散σ２を、次のように推定することができる。
【００１１】
【数１６】
0005093752.tif 000002
【００１２】
なお、各数式中において、記号の上に付したハット（＾）は推定量を意味するもので、数式以外では、便宜的に記号の後にハットを記す。
【００１３】
発注から納品までの納品リードタイム期間中の合計需要量は、正規分布の加法性を利用して予測することができる。すなわち、納品リードタイムをｋとしたときに、当該期間中における需要量の合計は、正規分布Ｎ（ｋ・μ，ｋ・σ２）に従う。納品リードタイム期間中の需要量が、過去の平均需要量よりも多い場合にも欠品を生じないようにするためには、当該期間中における合計需要量の上限値Ｄを見積もることが重要である。従来は、納品リードタイム期間中における合計需要量の上限値Ｄを、次のように予測することを提案している。
【００１４】
【数１７】
0005093752.tif 000003
【００１５】
但し、Ｆは安全係数、αは危険率である。実用上は、危険率α＝｛０．０１，０．０５，０．１｝の何れかが用いられ、また安全係数Ｆは、正規分布の上側１−α／２パーセントの点での値（確率変数）が使用される。したがって、危険率αを特定すれば、安全係数Ｆは標準正規分布表から簡単に決定できる。
【００１６】
上式による上限値Ｄの算出は、需要に周期性があまり伴わないような場合に、実用上十分な予測精度を得ることができる。しかし、商品のライフサイクルが短く、かつ需要が曜日によって大きく変動するような業種では、過剰在庫となりやすい。そこで、特許文献５では、需要の曜日依存性を考慮するために、需要水準が近い曜日どうしを、同じデータ群として一つのグループにまとめ、各グループ毎に需要分布の推定と予測を行なう方法を提案している。例えば、月曜〜金曜の平日のデータ群をグループ１とし、土曜日のデータ群をグループ２とし、日曜日のデータ群をグループ３として、日々の販売実績値（販売データ）を三つのグループに分割し、日別の需要がそれぞれのグループで正規分布Ｎ（μ１，σ１２），Ｎ（μ２，σ２２），Ｎ（μ３，σ３２）に独立に従うと仮定して、上記数１６を用いて、それぞれのグループに属する日別需要量の平均と分散を推定する。納品リードタイムをｋとし、当該期間中のグループ１〜３に属する日数が、それぞれｋ１，ｋ２，ｋ３であるとすると（ｋ＝ｋ１＋ｋ２＋ｋ３）、納品リードタイム期間中における合計需要量の上限値Ｄは、次の式にて予測できる。
【００１７】
【数１８】
0005093752.tif 000004
【特許文献１】特開平１１−３０６２５１号公報
【特許文献２】特開２００６−２９３５１４号公報
【特許文献３】特開２００７−２００１８５号公報
【特許文献４】特開２００６−１８７７７号公報
【特許文献５】特開２００６−１１９９３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上記数１８による需要量の上限値予測手法は、平日・土曜・日曜の販売実績値が異なる母集団からの標本であるとみなし、それぞれの分布のパラメータである平均や分散を別々に推定しており、時系列解析に基づくアプローチを利用した場合と比較して、推定に必要なサンプル数が少なく済む。しかし、各グループに属するデータが二サンプル以上必要であることから、例えば平日・土曜・日曜の三グループに分ける場合には、パラメータの推定に少なくとも二週間分以上の販売実績値が必要になる。これは、数１７における上限値Ｄの算出方法と比較すると、新たな商品を投入した後に、上限値Ｄを算出するアルゴリズムが適用可能になるまでの期間が長くなり、特にライフサイクルの短い商品を取り扱う業種において、新製品の導入後に、早い段階から納品ロードタイム期間中の合計需要量の上限値や、同期間中の在庫推移を予測したいという要望に応えられなかった。
【００１９】
本発明は上記の問題点に鑑みなされたもので、その目的は、新たな物品の導入後に、早い段階から所定期間中の合計需要量の上限値を算出することが可能な需要量予測装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明は、過去の複数の時点それぞれでの物品の供給数に基づいて、未来の所定区間中における合計需要量の上限値を予測する需要量予測装置において、
過去の各時点での物品の供給数を、当該過去の各時点に応じたデータ群の何れかに含まれるように分類して記憶すると共に、前記未来の所定区間を構成する未来の各時点で予測される物品の供給数が、前記データ群の何れに属するのかを記憶する記憶手段と、
前記過去の各時点の数をｐ，前記データ群の数をｌ，現時点をｔ０として、或る時点ｔにおける前記物品の供給数ｘｔが、一時点あたりの需要量の平均に相当するパラメータμと、前記過去の各時点が前記データ群の何れに含まれるかで決定されるダミー変数ｚｔと、モデル化誤差ｖｔとにより、次の線形回帰モデルで表わされるとして（但し、Ｔは転置行列を意味する）、前記記憶手段に記憶される各時点での物品の供給数ｘｔ０−１，ｘｔ０−２，…ｘｔ０−ｐを各要素とした行列Ｘと、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれについて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれているか否かで値が決定される前記ダミー変数Ｚｉｔを各要素とした行列Ｚとにより、前記パラメータμを推定するパラメータ推定手段と、
【００２１】
【数１９】
0005093752.tif 000005
【００２２】
前記推定パラメータμ＾の値と、前記物品の供給数ｘｔと、前記ダミー変数ｚｔと、前記過去の各時点の数ｐとから、次の式により標本分散ｓ２を算出する標本分散算出手段と、
【００２３】
【数２０】
0005093752.tif 000006
【００２４】
前記未来の各時点が前記データ群に属するのかを前記記憶手段から読み込み、ｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれる未来の時点数をｋｉとして、次の式に示す説明変数ｋの値を決定する説明変数決定手段と、
【００２５】
【数２１】
0005093752.tif 000007
【００２６】
前記推定パラメータμ＾の値と、前記標本分散ｓ２と、前記説明変数ｋの値と、前記行列Ｚとにより、次の式により前記合計需要量の上限値Ｄを算出する上限値算出手段と（但し、Ｔｐ−１，１−α／２は、自由度ｐ−１のｔ分布に対する上側１−α／２パーセント点の値であり、αは危険率である）、
【００２７】
【数２２】
0005093752.tif 000008
【００２８】
を備えている。
【００２９】
この場合の前記パラメータ推定手段は、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれにおいて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれていれば、前記ダミー変数Ｚｉｔの値を１にし、そうでなければ前記ダミー変数Ｚｉｔの値を０にすると共に、これらのダミー変数Ｚｉｔによって、次の式にて行列Ｚの各要素を設定するものであることを特徴とする。
【００３０】
【数２３】
0005093752.tif 000009
【００３１】
また前記データ群は、暦に依存して前記過去の各時点にそれぞれ与えられる第１データ群と、暦に依存することなく突発的に与えられる第２データ群からなり、
前記過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には前記第１データ群を割り当てるように構成される。
【００３２】
そして、前記未来の時点で前記第２データ群が存在する場合に、当該第２データ群が存在する前記過去の時点を含むように、この過去の各時点の数ｐを可変させる構成とするのが好ましい。
【００３３】
本発明は、過去の各時点での物品の供給数を、当該過去の各時点に応じたデータ群の何れかに含まれるように分類して記憶すると共に、未来の所定区間を構成する未来の各時点で予測される物品の供給数が、前記データ群の何れに属するのかを記憶するコンピュータに、前記過去の複数の時点それぞれでの物品の供給数に基づいて、前記未来の所定区間中における合計需要量の上限値を予測させるコンピュータプログラムであって、
前記過去の各時点の数をｐ，前記データ群の数をｌ，現時点をｔ０として、或る時点ｔにおける前記物品の供給数ｘｔが、一時点あたりの需要量の平均に相当するパラメータμと、前記過去の各時点が前記データ群の何れに含まれるかで決定されるダミー変数ｚｔと、モデル化誤差ｖｔとにより、次の線形回帰モデルで表わされるとして（但し、Ｔは転置行列を意味する）、前記コンピュータに記憶した各時点での物品の供給数ｘｔ０−１，ｘｔ０−２，…ｘｔ０−ｐを各要素とした行列Ｘと、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれについて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれているか否かで値が決定される前記ダミー変数Ｚｉｔを各要素とした行列Ｚとにより、前記パラメータμを推定するパラメータ推定手順と、
【００３４】
【数２９】
0005093752.tif 000010
【００３５】
前記推定パラメータμ＾の値と、前記物品の供給数ｘｔと、前記ダミー変数ｚｔと、前記過去の各時点の数ｐとから、次の式により標本分散ｓ２を算出する標本分散算出手順と、
【００３６】
【数３０】
0005093752.tif 000011
【００３７】
前記未来の各時点が前記データ群に属するのかを読み込み、ｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれる未来の時点数をｋｉとして、次の式に示す説明変数ｋの値を決定する説明変数決定手順と、
【００３８】
【数３１】
0005093752.tif 000012
【００３９】
前記推定パラメータμ＾の値と、前記標本分散ｓ２と、前記説明変数ｋの値と、前記行列Ｚとにより、次の式により前記合計需要量の上限値Ｄを算出する上限値算出手順と（但し、Ｔｐ−１，１−α／２は、自由度ｐ−１のｔ分布に対する上側１−α／２パーセント点の値であり、αは危険率である）、
【００４０】
【数３２】
0005093752.tif 000013
【００４１】
を前記コンピュータに実行させることを特徴とする。
【００４２】
この場合の前記パラメータ推定手順は、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれにおいて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれていれば、前記ダミー変数Ｚｉｔの値を１にし、そうでなければ前記ダミー変数Ｚｉｔの値を０にすると共に、これらのダミー変数Ｚｉｔによって、次の式にて行列Ｚの各要素を設定する。
【００４３】
【数３３】
0005093752.tif 000014
【００４４】
また前記データ群は、暦に依存して前記過去の各時点にそれぞれ与えられる第１データ群と、暦に依存することなく突発的に与えられる第２データ群からなり、
前記過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には前記第１データ群を割り当てるようになっている。
【００４５】
そして、前記未来の時点で前記第２データ群が存在する場合に、当該第２データ群が存在する前記過去の時点を含むように、この過去の各時点の数ｐを可変させるのが好ましい。
【発明の効果】
【００４６】
請求項１の装置及び請求項５のコンピュータプログラムによれば、需要量が暦に依存して周期的若しくは非周期的に変動するのを考慮して、過去の各時点での物品の供給数と、未来の各時点で予測される物品の供給数が、どのデータ群に属するのかを記憶したものにおいて、データ群毎に母分散の推定を行なうのではなく、データ群全体の標本分散ｓ２を用いることで、推定や予測に必要とされる過去の各時点での物品の供給数のサンプル数を少なくしつつ、未来の所定区間中における合計需要量の上限値を算出することができる。そのため、少なくとも各データ群に属する過去の各時点での物品の供給数が、一サンプルずつあればよく、需要の変化に対して素早く追従することができ、新たな物品の導入後に、早い段階から所定期間中の合計需要量の上限値を算出することが可能になる。
【００４７】
請求項２の装置及び請求項６のコンピュータプログラムによれば、行列Ｚの各要素となるダミー変数Ｚｉｔは、過去の各時点のそれぞれにおいて、時点ｔがｉ番目の前記データ群に含まれているか否かで、１または０の値を取る。そのため、簡単な処理で各ダミー変数Ｚｉｔの値を設定できる。
【００４８】
請求項３の装置及び請求項７のコンピュータプログラムによれば、曜日や祝日などのように、暦に依存した需要特性である第１データ群の他に、特売やフェアなどのように、どの第１データ群にも属さないような暦に依存しない特殊な条件である第２データ群を考慮し、過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には第１データ群を割り当てるようにすれば、特殊な条件に対しても、第２データ群に基づく新たなダミー変数を追加することで柔軟に対応することができる。
【００４９】
請求項４の装置及び請求項８のコンピュータプログラムによれば、未来の或る時点で第２データ群に関連した突発的な需要変動が見込まれる場合、同じ突発的な需要変動が生じた過去の時点における物品の供給数を、意図的にサンプルとして取り入れるようにすることで、こうした突発的な需要変動を考慮した所定期間中の合計需要量の上限値を、正しく予測することが可能になる。
【発明を実施するための最良の形態】
【００５０】
以下、添付図面に基づいて、本発明における好適な実施例を詳細に説明する。前提条件として、以下の記述では店舗で物品を販売（供給）する小売業で、本発明に係る物品である商品の発注を行なう場合を想定して説明する。なお、本実施例で適応対象業種となるのは、アイテム（ＳＫＵ；Stock Keeping Unit）数が非常に多く、全商品の人的管理がほぼ不可能な、多品種少量での在庫コントロール調整を必要とする小売業であるが、同様の特徴を有する他業種にも適用可能である。また、ここでは１ＳＫＵ当りの在庫保管スペースが小さく、日々の需要には大きな変動があり、且つ決められた時期にしか発注できない状況を想定している。このような制約条件は、１００円ショップ，ＤＩＹ，生活雑貨店の他に、コンビニエンスストア関連の業種でも多く見受けられ、商品の単価は比較的低いものの、競合する他社でも類似或いは同一の商品を入手できることが多い。従って、殆どの商品について、バックオーダー（入荷待ち）は許容できず、欠品の発生時には、販売機会のロスにつながることが多い。さらに、商品のライフサイクルは、数ヶ月から最大でも一年程度であると共に、曜日によって需要水準が異なり、短期の周期的変動がある状況を想定している。また、発注可能な回数は、一週間に１回〜３回程度を想定している。
【００５１】
図１は、本発明における物品の発注量決定装置１の機能構成を示すブロック図である。同図において、ここでの発注量決定装置１は、コンピュータを用いて構成されており、各種の演算処理を行なう演算部としてのＣＰＵ１１と、ＣＰＵ１１の演算処理に伴って発生する一時的な情報を記憶するＲＡＭ１２と、ＣＤ−ＲＯＭドライブ等の外部記憶装置１３と、ハードディスク等の記憶部としての内部記憶装置１４とを備えている。ＣＰＵ１１は、ＣＤ−ＲＯＭ等の記録媒体２から本発明のコンピュータプログラム２０を外部記憶装置１３にて読み取り、読み取ったコンピュータプログラム２０を内部記憶装置１４に記憶させる。コンピュータプログラム２０は必要に応じて内部記憶装置１４からＲＡＭ１２へロードされ、ロードされたコンピュータプログラム２０に基づいて、ＣＰＵ１１が発注量決定装置１に必要な処理を実行するようになっている。
【００５２】
なお、本実施例におけるコンピュータプログラム２０は、発注量決定装置１に接続された図示しない他のサーバ装置から発注量決定装置１へロードされて、内部記憶装置１４に記憶される形態であってもよい。
【００５３】
また発注量決定装置１は、外部からのデータの入力を受け付ける入力部１５と、外部へデータを出力する出力部１６とを備えている。入力部１５は、使用者の操作によりデータを受け付けるキーボード等の受付装置、または図示しない外部の機器から送信されるデータを受信するインタフェースである。出力部１６は、処理結果を表示するディスプレイ装置、処理結果を出力するプリンタ装置、または図示しない外部の機器へ処理結果を送信するインタフェースである。
【００５４】
ここで、図２をも参照しながら、内部記憶装置１４のデータ構造をより詳細に説明する。内部記憶装置１４は、店舗で販売する商品の基本情報を記録した商品マスタ１４ａを記憶している。具体的には、この商品マスタ１４ａは、商品を個別に特定付ける識別子としてのＰＯＳコードと、商品の名称である商品名と、商品の仕入単価と、商品がどのような種類に属するのかを階層的（例えば、大分類，中分類，小分類）に特定付ける分類コードと、商品の販売開始日及び販売終了日と、後述する予測計算アルゴリズムを、簡便法若しくは詳細法の何れで行なうのかを設定する予測方式と、商品毎に設定される前記危険率αを段階的なデータ（例えば、α＝０．０１ならばデータ「Ａ」，α＝０．０５ならばデータ「Ｂ」，α＝０．１ならばデータ「Ｃ」，α＝０．２ならばデータ「Ｄ」，α＝０．４ならばデータ「Ｅ」）として記憶する管理レベルと、商品の発注可能日と、商品の納品リードタイムとからなる商品の基本情報が、各商品毎に関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、前記基本情報の新規追加や削除の他に、必要に応じて基本情報内の各データを更新する機能を備えている。
【００５５】
内部記憶装置１４は、前記商品マスタ１４ａの他に、単品販売データ１４ｂと、需要特性データに相当するカレンダデータ１４ｃと、発注データ１４ｄと、納品予定データ１４ｅと、在庫データ１４ｆと、需要予測データ１４ｇと、ｔ分布表１４ｈをそれぞれ備えている。
【００５６】
単品販売データ１４ｂは、店舗で販売された商品の販売量の実績値を、各商品，各店舗，及び各日（販売期間）毎にそれぞれ販売実績情報として記録したもので、これは前記商品マスタ１４ａにも記憶されるＰＯＳコードおよび分類コードの他に、どの店舗であるのかを特定する店舗コードと、その商品の販売日及び販売数が、一つの販売実績情報として互いに関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、前記販売実績情報の新規追加や削除の他に、必要に応じて販売実績情報内の各データを更新する機能を備えている。
【００５７】
カレンダデータ１４ｃは、商品を販売する各店舗で、各日毎にどのような需要水準にあり、さらには特売などの特殊要因の有無を、需要特性情報として記録したもので、これは前記単品販売データ１４ｂにも記憶される店舗コードの他に、日付，曜日及び祝日などを示す暦データと、その店舗における日々の需要水準が、類似するどのグループに属するのかを特定する需要水準データと、特売や特殊な異常値などの不定期な需要変動の有無を記憶する特殊要因データが、一つの需要特性情報として互いに関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、前記需要特性情報の新規追加や削除の他に、必要に応じて需要特性情報内の各データを更新する機能を備えている。
【００５８】
ここで、カレンダデータ１４ｃの一例を図３に基づき説明する。同図において、ここに示すカレンダデータ１４ｃは、同じ店舗コード（図示せず）を有する複数の需要特性情報３１を、暦データ３２に含まれる日付順に並べている。３３は前述の需要水準データに相当し、ここではその店舗コード対応した店舗で取り扱う全商品を対象に、日々の需要水準を考慮して、祝日ではない月曜日〜金曜日をグループ１とし、祝日ではない土曜日をグループ２とし、日曜日または祝日をグループ３とした需要水準の属性が、「１」，「２」または「３」の数字で保存記憶される。なお、この需要水準データ３３は、ＣＰＵ１１がコンピュータプログラム２０に従った処理を行なうことにより、暦データ３２の各曜日および祝日から、自動的に設定できるようにしてもよい。
【００５９】
また３４は、当該店舗で取り扱う全商品を対象に、通常とは異なる特殊な需要変動があるか否かを示す第１需要変動データである。この例では、９月１５日，９月１６日，９月２４日の第１需要変動データ３４が、商品全体で需要の増加が見込まれる特売日として「１」になっており、それ以外の日の第１需要変動データ３４は、通常の需要水準に従う「０」になっている。
【００６０】
３５は、当該店舗で取り扱う同じ分類コードに属する商品を対象に、通常とは異なる需要変動があるか否かを示す第２需要変動データである。この例では、中分類としてキッチン用品に属する商品を対象に、毎週木曜日の第２需要変動データ３５が、需要の増加が見込まれるフェア（催し物）の日として「１」になっており、それ以外の日の第２需要変動データ３５は、通常の需要水準に従う「０」になっている。
【００６１】
３６は、当該店舗で取り扱う商品単位で、通常とは異なる需要変動があるか否かを示す第３需要変動データである。この例では、特定の商品を対象に、９月１５日にまとめ買いが発生したことを考慮して、その日の第３需要変動データ３６が、突発的に需要が増加した異常値として「１」になっており、それ以外の日の第３需要変動データ３６は、通常の需要水準に従う「０」になっている。
【００６２】
これらの需要変動データ３４〜３６は、前述したカレンダデータ１４ｃに含まれる特殊要因データに相当する。図３に示すカレンダデータ１４ｃはあくまでも一例であり、別な分類や商品を対象にして、一乃至複数の需要変動データを生成してもよい。
【００６３】
図１及び図２に戻って再度説明すると、発注データ１４ｄは、過去に発注した商品の発注量を含め、発注を決定した商品の発注量を記録したもので、これは例えば前記商品マスタ１４ａにも記憶されるＰＯＳコードの他に、そのＰＯＳコードに対応した発注日及び発注量が、一つの発注情報として互いに関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、前記発注情報の新規追加や削除の他に、必要に応じて発注情報内の各データを更新する機能を備えている。
【００６４】
納品予定データ１４ｅは、商品の納品予定日や納品予定量を記録したもので、これは例えば前記商品マスタ１４ａにも記憶されるＰＯＳコードの他に、そのＰＯＳコードに対応した納品予定日及び納品予定量と、納品が行なわれたか否かを記録する納品状況とを、一つの納品情報として互いに関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、発注データ１４ｄとして新規な発注情報が追加されると、自動的に納品の予定となる納品情報が納品予定データ１４ｅに新規追加され、その後、納品前までに納品予定日や納品予定量の変更があれば、入力部１５を介して例えば手動での修正を可能にする機能を備えており、納品状況で納品が行なわれた旨のデータを入力部１５から入力すると、ＣＰＵ１１は、前記納品予定日及び納品予定量を納品日及び納品量としてそれぞれ取り扱う。
【００６５】
在庫データ１４ｆは、各商品の在庫量を記録したもので、これは例えば前記商品マスタ１４ａにも記憶されるＰＯＳコードの他に、そのＰＯＳコードに対応した実棚日及び在庫量が、一つの在庫情報として互いに関連付けられて記憶保存される。ＣＰＵ１１は、コンピュータプログラム２０に従った処理を行なうことにより、前記在庫情報の新規追加や削除の他に、実棚時に入力部１５からの入力を受け付けて、在庫情報内の実棚日及び在庫量を更新する機能を備えている。
【００６６】
需要予測データ１４ｇは、後述するコンピュータプログラム２０に従った処理手順で、ＣＰＵ１１が算出した各商品の所定期間中における合計需要量の上限値や、そこから求められる所定期間中における合計需要量の予測値を記録したもので、これは例えば前記商品マスタ１４ａにも記憶されるＰＯＳコードの他に、そのＰＯＳコードに対応した合計需要量の上限値及び予測値が、一つの需要予測情報として互いに関連付けられて記憶保存される。この需要予測データ１４ｇは、最終的に内部記憶装置１４にではなくＲＡＭ１２に備えてもよい。
【００６７】
ｔ分布表１４ｈは、前記所定期間中における合計需要量の上限値を算出する際に読み出されるもので、このｔ分布表１４ｈを利用することで、自由度と上側確率からパーセント点を特定できるようになっている。
【００６８】
コンピュータプログラム２０は、所定期間中における合計需要量の上限値と予測値を算出する需要量予測計算処理を、ＣＰＵ１１が行なうためのプログラムを含んでいる。ＣＰＵ１１は、コンピュータプログラム２０に従って需要量予測計算処理を行なう機能を備え、発注量決定装置１は、その一部が本発明の需要量予測装置として機能することができる。またコンピュータプログラム２０は、前記需要量予測計算処理で算出された所定期間中における合計需要量の予測値から、商品の発注量を決定する発注量決定処理をＣＰＵ１１が行なうためのプログラムを含んでいる。ＣＰＵ１１は、コンピュータプログラム２０に従って発注量決定処理を行なう機能を備え、発注量決定装置１は、その一部が本発明の発注量決定処理として機能することができる。
【００６９】
次に、本実施例で新規に提案する需要量予測計算処理の方法について、その詳細を説明する。
【００７０】
ここで提案する方法は、日時需要の推計モデルとして、多変量の線形回帰モデルをベースにしたものを用いる。当該線形回帰モデルは切片が０で、目的変数としての販売数を縦軸とし、ダミー変数（説明変数）としての曜日特性を横軸に採用しており、異なる需要特性に対しては、ダミー変数を追加することで対応するようになっている。これにより、全ての日時需要を一つの回帰式で表現できる。
【００７１】
先ず、説明を簡単にするために、需要特性が一つだけの場合を考える。時点ｔ（ｔｏ−ｐ≦ｔ≦ｔｏ−１：すなわち時点ｔは、本日を起点として過去ｐ日分から昨日までの間とする）における日次の販売実績値ｘｔは、次のような線形回帰モデルで表わされると仮定する。
【００７２】
【数３４】
0005093752.tif 000015
【００７３】
但し、ｖｔはモデル化誤差であり、ｚｔは常に１とする。ここでのｚｔは、ダミー変数の役割を果たしており、推定や予測の対象となる日が異なる特性で表わされる場合には０となる。また、μは推定すべきパラメータであり、上記数３４の場合には、一日あたりの需要量の平均に相当する。ｘｔ＾＝μ＾・ｚｔの推計式を用いて推定を行なう時、数３５に示す残差平均和Σｅｔ２を最小にするように、推定すべきパラメータμ＾の値を求めると、数３６に示すようになる。
【００７４】
【数３５】
0005093752.tif 000016
【００７５】
【数３６】
0005093752.tif 000017
【００７６】
ここでΣは、ｔｏ−ｐ≦ｔ≦ｔｏ−１についての和を意味する。次に、数３７に示すようにｗｔを定義する。
【００７７】
【数３７】
0005093752.tif 000018
【００７８】
ｗｔは、次の性質を満たす。
【００７９】
【数３８】
0005093752.tif 000019
【００８０】
したがって、推定パラメータμ＾は次の式のようになる。
【００８１】
【数３９】
0005093752.tif 000020
【００８２】
推定パラメータμ＾はμの不変推定量であり、またモデル化誤差ｖｔの母分散をσ２とすると、次の式が成立する。
【００８３】
【数４０】
0005093752.tif 000021
【００８４】
なお、Ｅ［ａ］はａの期待値である。上記数４０から、推定パラメータμ＾の分散Ｖａｒ（μ＾）は、次の式のとおり見積もられる。
【００８５】
【数４１】
0005093752.tif 000022
【００８６】
次に、回帰式の説明変数の値がｚ＝ｚｏを取るときに、対応する目的変数の値ｘｏを、次の式のように予測することを考える。
【００８７】
【数４２】
0005093752.tif 000023
【００８８】
このとき、真の値ｘｏとの誤差εｏは、次の式のようになる。
【００８９】
【数４３】
0005093752.tif 000024
【００９０】
したがって、誤差εｏの分散は、次の式のように見積もられる。
【００９１】
【数４４】
0005093752.tif 000025
【００９２】
ここで、ｖｔの母分散σ２を次の式の標本分散ｓ２で置き換える。
【００９３】
【数４５】
0005093752.tif 000026
【００９４】
このとき、次の統計量ｔは自由度ｐ−１のｔ分布に従う。
【００９５】
【数４６】
0005093752.tif 000027
【００９６】
この性質を用いることで、納品リードタイム期間中における合計需要量の上限値を予測できる。ここで、回帰式の説明変数は前述した曜日特性に依存するダミー変数として扱っているので、ｚｔ＝１（ｔｏ−ｐ≦ｔ≦ｔｏ−１）となり、パラメータμ＾と標本分散ｓ２は、それぞれ次の式のようになる。
【００９７】
【数４７】
0005093752.tif 000028
【００９８】
前述したように、納品リードタイムがｋ日であるとしたとき、説明変数の値としてｚ０＝ｋを代入し、危険率αから信頼率が１−αのときの予想区間上限を、求める合計需要量の上限値Ｄとすると、当該上限値Ｄは次の式のようになる。
【００９９】
【数４８】
0005093752.tif 000029
【０１００】
ここで、Ｔｐ−１，１−α／２は、自由度ｐ−１のｔ分布に対する上側１−α／２パーセント点の値である。上記数４８において、サンプル数である過去の日数ｐが大きく、且つ納品リードタイムｋが過去の日数ｐとほぼ等しい（ｋ≒ｐ）場合には、前述の数１７の値に近づく。数１７の予測式では、母平均や母分散の推定誤差を考慮していないが、数４８では右辺第二項にこれが明示的に含まれている。そのため、推定や予測に利用可能な実績データのサンプル数が少ない場合には、数４８を利用した方が、より安全側での予測が可能になる。
【０１０１】
次に、上述した提案方法を、需要特性が複数存在する場合に拡張し、ｌ（ｌ≧１）個の需要特性ｉからなる場合を考える。上述の場合と同じく、時点ｔ（ｔｏ−ｐ≦ｔ≦ｔｏ−１）における日次の販売実績値ｘｔが、次のような線形回帰モデルで表わされると仮定する。
【０１０２】
【数４９】
0005093752.tif 000030
【０１０３】
ここで、［ｚｔ］ｉ（≡Ｚｉｔ）（１≦ｉ≦ｌ，ｔｏ−ｐ≦ｔ≦ｔｏ−１）は、ダミー変数の役割を果たしており、稼働日が需要特性ｉに属するときには１となり、属さないときには０となる。また、［μ］ｉ（≡μｉ）は推定すべきパラメータであり、μＴはμの転置行列を表わす。ｘｔ＾＝μ＾Ｔ・ｚｔの推計式を用いて推定を行なう時、残差平均和を最小にするような推定すべきパラメータμ＾の値は、次の式に示すようになる。
【０１０４】
【数５０】
0005093752.tif 000031
【０１０５】
ここで、ＺとＸはそれぞれ、次のような行列で表せる。
【０１０６】
【数５１】
0005093752.tif 000032
【０１０７】
上述した場合と同様な考察により、推定パラメータμ＾の分散Ｖａｒ（μ＾）は、次の式のとおり見積もられる。
【０１０８】
【数５２】
0005093752.tif 000033
【０１０９】
さらに、回帰式の説明変数の値がｚ＝ｚｏを取るときに、対応する目的変数の値ｘｏを、次の式のように予測することを考える。
【０１１０】
【数５３】
0005093752.tif 000034
【０１１１】
このとき、真の値ｘｏとの誤差εｏ＝ｘｏ−ｘｏ＾の分散は、次の式のようになる。
【０１１２】
【数５４】
0005093752.tif 000035
【０１１３】
ここで、ｖｔの母分散σ２を次の式の標本分散ｓ２で置き換える。
【０１１４】
【数５５】
0005093752.tif 000036
【０１１５】
このとき、次の統計量ｔは自由度ｐ−ｌのｔ分布に従う。
【０１１６】
【数５６】
0005093752.tif 000037
【０１１７】
この性質を用いることで、納品リードタイム期間中における合計需要量の上限値を予測できる。納品リードタイムがｋ日で、そのうち需要特性ｉ（１≦ｉ≦ｌ）に含まれる日数が、ｋｉ日であるとすると、次の式が成り立つ。
【０１１８】
【数５７】
0005093752.tif 000038
【０１１９】
ここで、説明変数ｚ０の値として次の式を代入する。
【０１２０】
【数５８】
0005093752.tif 000039
【０１２１】
すると、上記線形回帰モデルから予測される区間の上限値Ｄは、次のように算出される。
【０１２２】
【数５９】
0005093752.tif 000040
【０１２３】
ここで、Ｔｐ−ｌ，１−α／２は、自由度ｐ−ｌのｔ分布に対する上側１−α／２パーセント点の値である。数５９でｌ＝１とすると、前述した数４８と等しくなる。
【０１２４】
例として、需要特性ｉの個数ｌが３つあるとし（ｌ＝３）、各需要特性（１≦ｉ≦３）がそれぞれ平日，土曜，日曜を表わすものとすると、平日の月曜日〜金曜日の場合は、説明変数が｛ｚ１ｔ，ｚ２ｔ，ｚ３ｔ｝＝｛１，０，０｝となり、土曜日の場合は、説明変数が｛ｚ１ｔ，ｚ２ｔ，ｚ３ｔ｝＝｛０，１，０｝となり、日曜日の場合は、説明変数が｛ｚ１ｔ，ｚ２ｔ，ｚ３ｔ｝＝｛０，０，１｝となる。この場合の説明変数間には、次の関係が成り立つ。
【０１２５】
【数６０】
0005093752.tif 000041
【０１２６】
また、数５９に示すＺＴＺは対角行列となる、推定に用いる実績値のサンプル数すなわち過去の日数をｐとし、需要特性ｉのサンプル数をｐｉとする（ｐ１＋ｐ２＋ｐ３＝ｐｉ）。これにより、数５９の予測式は次のように表わせる。
【０１２７】
【数６１】
0005093752.tif 000042
【０１２８】
但し、推定パラメータμ＾ｉは次の式のように表わせる。
【０１２９】
【数６２】
0005093752.tif 000043
【０１３０】
また、上記数６２において、ｔ∈Ｐｉは需要特性ｉのみの日付を取り出すことを表わしている。
【０１３１】
本方法における数６１と、従来法における数１８とを比較したときの最も大きな違いの一つは、数１８では需要特性別に母分散の推定（σ１＾２〜σ３＾２）を行なっているのに対し、数６１では需要特性を考慮せず、全体の標本分散ｓ２のみを用いていることである。このため、推定や予測に必要な実績データのサンプル数を少なくすることができ、各需要特性に依存する実績値のサンプル数は１以上あればよい。従って、例えば一週間で曜日別の需要特性を考える場合には、同じ一週間以上の販売実績値があれば、予測区間における需要量の上限値Ｄを予測できる。
【０１３２】
さらに、より一般的な数５９の方法では、説明変数どうしに相関があってもよく、数６０を満たさなくてもよい点が注目される。これは例えば特売などを行なった時に、その特売を表わす新たな説明変数を新たに追加することで、特売の影響を取除いた推定を行なったり、納品リードタイム期間中に特売がある場合の推定を行なったりすることなどもできる。これに対して、従来法の数１８では、全ての稼働日が、何れかのグループに属することが求められており、こうした特売などを考慮した推定や予測を行なうことができない。
【０１３３】
次に、本実施例の発注量決定処理に関連して、発注可能なタイミングが離散的且つ周期的でない場合の、発注量の決定方法について検討する。ここでは、納品数と販売数が０から始まる自然数である非負整数値をとる場合の在庫推移モデルについて考え、そこから発注量決定に関する最適化問題を考える。その後、導かれた最適解に代入すべき需要量の予測値について検討する。
【０１３４】
ここでは、日付ｔにおける初期在庫をＩｔとし、また当該日付ｔの納品数と販売数を、それぞれｕｔとｘｔ〜とする。なお、記号の後に付したシンボル〜は、不確実性を含む予測値を意味するもので、数式では便宜的に記号の上にシンボル〜を記す。また、納品数ｕｔと予測される販売数ｘｔ〜は、何れも０以上であるとする（ｕｔ≧０，ｘｔ〜≧０）。納品日当日での販売はできないものとすると、明日ｔ＋１における初期在庫Ｉｔ＋１は、本日ｔの初期在庫Ｉｔに、本日ｔの納品数ｕｔを加算したものから、本日ｔの予測される販売数ｘｔ〜を差し引いて算出されることから、次の関係を満たす。
【０１３５】
【数６３】
0005093752.tif 000044
【０１３６】
なお、発注日と納品日は同一の順序関係を有するものとする。すなわち、ここでいう同一の順序関係とは、発注日が遅くなれば、対応する納品日もその分だけ後になることを意味する。本日ｔが発注可能な日ｔ０であるとし、その発注に対応する次回の納品日がｔ０＋Ｌ１であるとすると共に、次回の発注時に対応する次々回の納品日が、同じく発注可能な本日ｔ０を起点として、ｔ０＋Ｌ２（Ｌ１＜Ｌ２）であるとする。すると本日ｔ０の発注量は、次回の納品日ｔ０＋Ｌ１の翌日以降、次々回の納品日ｔ０＋Ｌ２までの日付ｔの範囲（ｔ０＋Ｌ１＋１≦ｔ≦ｔ０＋Ｌ２）で、商品の在庫量をコントロールすることができる。
【０１３７】
ここで目標とするのは、欠品を起こさず、且つできるだけ少ない水準で在庫量をコントロールすることにある。これを、下記の式で示される最適化問題に帰着させる。
【０１３８】
【数６４】
0005093752.tif 000045
【０１３９】
つまり上記数６４は、次回の納品日ｔ０＋Ｌ１の翌日以降、次々回の納品日ｔ０＋Ｌ２までの発注によって制御可能な期間の全ての日付ｔにおいて、本日ｔの予測される販売数ｘｔ〜が、その日ｔの初期在庫Ｉｔ以下になること（すなわち、欠品にならないこと）を条件として、上記期間の平均在庫水準（合計在庫数＝平均在庫水準×（Ｎ２−Ｎ１）の関係を考慮する）を最小にすることを意味する。
【０１４０】
さて、上記数６３を繰り返し用いると、ｋ≧Ｌ１であるとして、発注可能な日ｔ０からｋ＋１日以降の初期在庫Ｉｔ０＋ｋ＋１に関して、次の式が成り立つ。
【０１４１】
【数６５】
0005093752.tif 000046
【０１４２】
ここで、記号の上に付したシンボル−は制御可能な要素であることを意味し、数式以外では便宜的に記号の後にシンボル−を記す。このとき、発注可能な日ｔ＝ｔ０における最適な発注量、すなわち次回納品日ｔ＝ｔ０＋Ｌ１における最適な納品量ｕ−＊ｔ０＋Ｌ１は次の通り与えられる。
【０１４３】
【数６６】
0005093752.tif 000047
【０１４４】
なお、数６６のＳｔ０は、次の式で表わせる。
【０１４５】
【数６７】
0005093752.tif 000048
【０１４６】
但し、数６６の┌ｘ┐は、ｘを下回らない最小の整数を意味し、またｍａｘ（ａ，ｂ，…ｎ）は、引数ａ〜ｎの最大値を取り出すことを意味する。
【０１４７】
以下、数６６で得られた次回の納品日ｔ＝ｔ０＋Ｌ１における最適な納品量ｕ−＊ｔ０＋Ｌ１が、前記数６４の最適解となっていることを確認する。先ず、数６５を繰り返し用いることで、数６４における左辺の目的関数は、次のように表わせる。
【０１４８】
【数６８】
0005093752.tif 000049
【０１４９】
上記数６８において、制御可能な変数はｕ−ｔ０＋Ｌ１のみであるから、ここでの目的関数を最小にすることと、変数ｕ−ｔ０＋Ｌ１を最小化することは同義である。数６７におけるＳｔ０が０以下の場合、すなわちＳｔ０≦０のときには、次の式が成り立つ。
【０１５０】
【数６９】
0005093752.tif 000050
【０１５１】
よって、ｋの値がＬ１＋１≦ｋ≦Ｌ２に対して、次の式が成り立つ。
【０１５２】
【数７０】
0005093752.tif 000051
【０１５３】
これは、前記数６４の制約条件を満たしており、且つ納品数ｕｔはゼロ以上の値を取るので、数６９は数６４の最適解となっている。次に、Ｓｔ０が０よりも大きい場合（Ｓｔ０＞０）について考えると、このときは変数ｕ−ｔ０＋Ｌ１に関して次の式が成立する。
【０１５４】
【数７１】
0005093752.tif 000052
【０１５５】
また、ｋの値がＬ１＋１≦ｋ≦Ｌ２に対して、次の式が成り立つ。
【０１５６】
【数７２】
0005093752.tif 000053
【０１５７】
従って、これも前記数６４の制約条件を満足している。一方、上記数７１よりも１だけ発注量を小さくすると、ｋの値が次々回までの納品期間Ｌ２であるとすると（ｋ＝Ｌ２）、次の式が成り立つ。
【０１５８】
【数７３】
0005093752.tif 000054
【０１５９】
これは、数６４の制約条件に違反しており、結局上記数７１が最適解であることがわかる。
【０１６０】
因みに、前記数６６におけるＳｔ０の意味を考える。−Ｓｔ０は、次回の納品日ｔ＝ｔ０＋Ｌ１における納品量ｕ−ｔ０＋Ｌ１が０であるときに（ｕ−ｔ０＋Ｌ１＝０）、次々回の納品日の翌日ｔ＝ｔ０＋Ｌ２＋１における初期在庫Ｉｔ０＋Ｌ２＋１に相当することから、結局は発注可能な日ｔ＝ｔ０に発注を行なわなかった場合の、日付ｔ＝ｔ０＋Ｌ２＋１における在庫の不足分に相当する。以上のようにして、発注可能時期が離散的な場合の最適発注量を、上記数６６から算出することが可能になる。
【０１６１】
ところで、数６６や数６７を用いて最適な発注量を決定する際には、日付ｔにおける予測販売数ｘｔ〜をどのように決定するのかが重要になる。特に本実施例で想定するような業種では、需要に不確実を含むため、平均的な水準よりも売れた場合であっても欠品を起こさないように、より安全側で需要予測を行なう。そこでは、前述した数５９を用いて、予測区間における合計需要量の上限値Ｄを算出することにする。先ず、発注可能な日ｔ０からｋ日後までの期間中（ｔ０≦ｔ≦ｔ０＋ｋ）の合計需要量の予測上限値を、Ｄｔ０ｔ０＋ｋのように表わす。なお、これは数式以外での便宜的な表記であり、数式では記号Ｄの後の下付きと上付きの項を並べて記す。このとき、日付ｔ＝ｔ０＋ｋに予測される販売数ｘｔ０＋ｋ〜を、次の式のように定める。
【０１６２】
【数７４】
0005093752.tif 000055
【０１６３】
これは、例えばｋ＝１と置いたときに、明日ｔ＝ｔ０＋１に予想される販売数ｘｔ０＋１〜が、本日から明日までの期間中における合計需要量の予測上限値Ｄｔ０ｔ０＋１から、本日だけの合計需要量の予測上限値Ｄｔ０ｔ０を差し引いて算出できることを意味する。但し、発注可能な本日ｔ０から昨日ｔ０までの合計需要量の予測上限値Ｄｔ０ｔ０−１は０とする（Ｄｔ０ｔ０−１＝０）。上記数７４から、数６７の右辺第三項、すなわち発注可能な日ｔ０から、次々回の納品日ｔ０＋Ｌ２までの間に予測される販売数ｘｔの合計を、次のように計算できる。
【０１６４】
【数７５】
0005093752.tif 000056
【０１６５】
このことから、一商品の発注量を決定するには、上記数７６における在庫の不足分Ｓｔ０を算出すればよく、この在庫の不足分Ｓｔ０は、現在の在庫水準，納品予定数量，および合計需要量の予測上限値の一つのみを用いて求めることができる。
【０１６６】
一方、実際には数７４によって算出される需要量の予測値が外れ、欠品が発生する場合もある。現在の在庫数は低い水準にあり、次回の納品日までの範囲（ｔ≦ｔ０＋Ｌ１）で欠品が予測される場合でも、発注可能な日ｔ＝ｔ０の時点で発注量をいかに調整しても、欠品を防ぐことができない。そのため、バックオーダーを許容できない状況では、上記数７４や数７５を用いた予測が行なえず、別な予測方法を考える必要がある。この状況では、販売数が当日の初期在庫を上回ることはできないため、上記数７４を次のように修正する。
【０１６７】
【数７６】
0005093752.tif 000057
【０１６８】
但し、ｍｉｎ［ａ，ｂ，…ｎ］は、引数ａ〜ｎの最小値を取り出すことを意味する。上記数７６では、ｋの値の範囲に注意する。ｋの値が次回の納品日の翌日以降の範囲（ｋ≧ｔ０＋Ｌ１＋１）であれば、発注可能な日ｔ＝ｔ０に発注量を調整することで欠品を防止でき、数７４を適用できる。したがって、数６７の右辺第三項を次のように計算する。
【０１６９】
【数７７】
0005093752.tif 000058
【０１７０】
上記数７７において、右辺第一項は、発注可能な日ｔ０から、次回の納品日ｔ０＋Ｌ１までの間に予測される販売数ｘｔの合計であり、これは数７６から算出する。また、右辺第二項と右辺第三項は、次回の納品日ｔ０＋Ｌ１以降において、以後欠品は生じないと想定し、合計需要量の上限値Ｄを利用した簡易的な演算を行なっている。
【０１７１】
数７６と数７７は、非線形な演算を含むことから、数７５のような簡潔な形式で表現することができない。また、在庫数Ｉｔ０＋ｋと合計需要量の上限値Ｄｔ０ｔ０＋ｋの両方を、全てのｋ（０≦ｋ≦Ｌ１）に対して、数６３を用いて逐次的に計算する必要がある。このことは、需要量予測の上限値の計算だけでもＬ１＋１回行なわなければならないことを意味し、次回納品日までの期間Ｌ１が大きい時には、その分計算負荷は高くなる。一方、バックオーダーが許容できない状況で数７５を使用すると、現在の在庫水準が低く、日付ｔ≦ｔ０＋Ｌ１の範囲で欠品が予測される場合に、発注量が最適量よりも大きく算出されることになる。
【０１７２】
本実施例で検討対象とする業種では、バックオーダーが許容できない場合が多いと推定されるが、雑貨やＤＩＹ用品などでは商品の消費期限が長いため、多少過剰な発注を行なっても問題を生じないことが多い。そのため、簡便法である数７５若しくは詳細法である数７７の何れを用いるのかは、商品の単価や消費期限の長さ、在庫スペースの制約、或いは計算対象となる商品のアイテム数を考慮して決定し、前記商品マスタ１４ａの予測方式に記憶するのが好ましい。
【０１７３】
続いて、上記提案法を考慮した本実施例の発注量決定装置１について、図４〜図７の各フローチャートを参照しながら、その処理手順を詳しく説明する。
【０１７４】
図４および図５は、本実施例の発注量決定装置１が行なう需要量予測計算処理の手順を示すフローチャートである。発注量決定装置１には、日々の商品の販売量実績値が、当該商品を販売した店舗名と、販売した日付と共に、入力部１５を介して入力される。これを受けて発注量決定装置１は、その商品を特定するＰＯＳコードおよび分類コードと共に、入力した店舗名に対応する店舗コードと、販売した日付に対応する販売日と、商品の販売量実績値に対応する販売数とを関連付けた販売実績情報を、単品販売データ１４ｂに記録する。また発注量決定装置１は、少なくとも１週間以上に渡って販売数のデータが蓄積された状態で、後述する需要量予測計算処理や発注量決定処理を行なう。ＣＰＵ１１は、ＲＡＭ１２にロードしたコンピュータプログラム２０に従って、こうした各処理を実行する。
【０１７５】
ＣＰＵ１１は、先ずステップＳ１において、内部記憶装置１４に記憶している商品マスタ１４ａに含まれる各基本情報から、本日が「発注可能日」である全ての商品を抽出する。これは具体的には、商品マスタ１４ａに含まれる各基本情報の「発注可能日」が、内蔵するタイマ手段（図示せず）により決定される本日の日付と一致するか否かを検索し、「発注可能日」が本日の日付と一致していれば、その基本情報に含まれる「ＰＯＳコード」および「商品名」を、商品を特定する情報として抽出することで行なわれる。なお、このステップＳ１において、前述した「発注可能日」が本日の日付と一致していたとしても、基本情報に含まれる「販売開始日」が、所定期間である７日未満である場合には、サンプル数が少な過ぎて、需要量の予測分析が不可能であると判断して、その商品の抽出を行なわないようにＣＰＵ１１が処理している。
【０１７６】
こうして、本日が発注可能日（ｔ＝ｔ０）である全ての商品を抽出し終わると、次にＣＰＵ１１は、ステップＳ２の手順に移行し、線形回帰モデルとして考慮する１日前からｐ日前までの抽出範囲ｐの過去分（ｔ０−ｐ≦ｔ≦ｔ０−１）と、予測区間となる本日ｔ０から次々回納品日ｔ０＋Ｌ２までの未来分（ｔ０≦ｔ≦ｔ０＋Ｌ２）について、内部記憶装置１４に記憶しているカレンダデータ１４ｃから、ステップ１で抽出した商品に関連付けられた需要特性情報を抽出する。
【０１７７】
このときＣＰＵ１１は、次のステップＳ３で、前記過去分の抽出範囲ｐを修正するために、基本情報に含まれる「販売開始日」を基に算出される販売開始後の経過日数と、予め設定した日数とを比較して、いずれか大きい方の値を前記ｐの値とする。例として、販売開始後の経過日数が１４日未満の場合に、抽出範囲ｐを１４日間とし、そうでない場合には、抽出範囲ｐを販売開始後の経過日数としたい場合には、予め設定した日数を１４として、ｐ＝ｍａｘ｛１４，販売開始後の経過日数｝の式から、ＣＰＵ１１がｐの値を算出すればよい。また、ステップＳ２で抽出した需要特性情報において、未来分の予測区間中に「特殊要因データ」にイベントや特売などの不特定変動要因が存在する場合には、過去分の抽出範囲ｐで同じ不特定変動要因が「特殊要因データ」に存在するか否かをチェックし、抽出範囲ｐ内で不特定変動要因が「特殊要因データ」に存在しなければ、不特定変動要因が「特殊要因データ」に存在するまで、例えば１週間ずつ離散的に抽出範囲ｐを増加させる（ｐ＝２１，２８，３５，４２…）。これは、本日ｔｏを起点として未来に特売を行なう予定の場合、過去に特売を行なった販売実績値が含まれていないと、正確な需要予測ができなくなるからである。なお、抽出範囲ｐをどのような範囲でどのように修正させるのかは、特に限定しない。したがって、抽出範囲ｐを一日ずつ連続的に増加させてもよい。
【０１７８】
こうして、過去分と未来分のそれぞれについて、需要特性情報の抽出範囲が決定し、それに該当する需要特性情報を抽出したら、ＣＰＵ１１はステップＳ４の手順に移行して、前記需要特性情報に含まれる「需要水準データ」および「特殊要因データ」から、過去分（ｔ０−ｐ≦ｔ≦ｔ０−１）の抽出範囲ｐ内における各稼働日が、特売などの特殊要因をも含むどの需要特性ｉに属するのかを特定し、「１」または「０」の値を取る前記数５１に示す需要特性行列Ｚの各ダミー変数（特性フラグ）ｚｉｔを設定する。またＣＰＵ１１は、同じステップＳ４で、内部記憶装置１４に記憶している単品販売データ１４ｂから、過去分（ｔ０−ｐ≦ｔ≦ｔ０−１）の抽出範囲ｐ内で、対象となる商品の各稼働日における「販売数」を抽出し、これを前記数５１に示す日次販売実績値ｘｔとして設定する。なお、ダミー変数ｚｉｔと実績値ｘｔの設定順位は特に限定せず、先に実績値ｘｔを設定してから、ダミー変数ｚｉｔを設定しても構わない。
【０１７９】
ここで、カレンダデータ１４ｃから需要特性行列Ｚの各要素を得る手順を、図７に示すフローチャートに基づき説明すると、ここでは先ずステップＳ４１において、ＣＵＰ１１は図３に示す需要水準データ３３から、過去分（ｔ０−ｐ≦ｔ≦ｔ０−１）の抽出範囲ｐ内における各稼働日について、何個の需要特性を含む独立変数が存在するのかという独立変数の数を計算する。図３の例では、例えば本日ｔ０が９月２４日であるとして、過去分の例えば９月１３日から９月２３日の間に、需要水準データ３３として「１」，「２」，「３」の独立変数が存在するので、ステップＳ４１でＣＰＵ１１が判断した需要特性の数は３になる。
【０１８０】
次のステップＳ４２では、ＣＰＵ１１が各独立変数毎に、「０」または「１」のフラグを作成して、ダミー変数ｚｉｔを設定する。これは各稼働日ごとに、その日が需要特性（独立変数）ｉに属しているならば、ダミー変数ｚｉｔを「１」に設定し、そうでない場合にはダミー変数ｚｉｔを「０」に設定することで行なわれる。
【０１８１】
さらにステップＳ４３では、ＣＰＵ１１が過去分（ｔ０−ｐ≦ｔ≦ｔ０−１）の抽出範囲ｐ内における各稼働日について、需要変動データ３４〜３６の値を読取り、その読取り結果を需要特性行列Ｚにマージする手順を含んでいる。これは、当該需要変動データ３４〜３６の値が「１」であって、予測対象となる商品が通常の需要水準に従わないと判断した場合に、前記独立変数の数と、それに対応するダミー変数ｚｉｔを追加するもので、前述した例では、商品の分類に係らず、第１需要変動データ３４に基づき、９月１５日と９月１６日の特売日について別な独立変数を割り当てる。そして、需要特性を含む独立変数ｉの数が４として、ダミー変数ｚｉｔが「１」または「０」に設定される。また、「分類コード」の中分類として、特にキッチン用品を含む商品については、第２需要変動データ３５に基づき、９月１３日と９月２０日のフェア日について、さらに別な独立変数を割り当てる。そして、需要特性を含む独立変数ｉの数が５として、ダミー変数ｚｉｔが「１」または「０」に設定される。さらに特定の商品について、第３需要変動データ３６に基づき、９月１５日の異常日について、独立変数を割り当てることもできる。この場合は、需要特性を含む独立変数ｉの数が６になる。このように、曜日毎の需要特性ｉと全く同じ手順で、特売やフェアなどの通常とは異なる需要変動についても、需要特性行列Ｚの各要素であるダミー変数ｚｉｔを「１」または「０」に設定することができる。
【０１８２】
再度図４の手順に戻り、ＣＰＵ１１は続くステップＳ５で、推定パラメータμ＾を算出する。これは前記数５０の式を用いて算出できる。
【０１８３】
推定パラメータμ＾が算出されると、ＣＰＵ１１は続くステップＳ６で、数５５の式を用いて、標本分散ｓ２を算出する。
【０１８４】
次にＣＰＵ１１はステップＳ７に移行し、その商品の予測方式が簡便法若しくは詳細法の何れに属するのかを、商品マスタ１４ａに含まれる「予測方式」を読み出すことで決定する。そして、簡便法による予測方式では、ステップＳ８に移行して、需要の予測区間が本日ｔ０から次々回納品日ｔ０＋Ｌ２の間だけであるとＣＰＵ１１が判断する一方で、詳細法による予測方式では、ステップＳ９に移行して、需要の予測区間が本日ｔ０から次々回納品日ｔ０＋Ｌ２の間だけでなく、本日ｔ０から次回納品日ｔ０＋Ｌ１までの各稼働日であるとＣＰＵ１１が判断する。なお、商品マスタ１４ａに含まれる「予測方式」を、簡便法若しくは詳細法の何れにするかは、例えば商品マスタ１４ａに含まれる商品の「仕入単価」が、所定値（例えば３，０００円）以上であれば詳細法とし、そうでなければ簡便法にするなど、商品マスタ１４ａに含まれる「仕入単価」に応じて自動的にＣＰＵ１１が設定することで、入力の手間を省くようにしてもよい。
【０１８５】
ＣＰＵ１１は、次のステップＳ１１で、本日ｔ０からｋ日後までの間の予測区間における合計需要量の予測上限値Ｄｔ０ｔ０＋ｋを算出する。これは具体的には、前記ステップＳ２で抽出した需要特性情報から、前述した数５８を用いて、ステップＳ１２にて未来分の需要特性ベクトル（説明変数）ｋの各要素を決定する。例えば、需要特性ｉの個数ｌが３で、平日の需要特性１が３日，土曜日の需要特性２が１日，日曜日の需要特性３が１日である場合、需要特性ベクトルｋ＝（３，１，１）となる。次いで、ステップＳ１３では、前記ステップＳ２で抽出した基本情報に含まれる管理レベルから危険率αを決定し、この危険率αと、先に修正決定したサンプル数すなわち抽出範囲ｐと、需要特性ｉの個数ｌとを、内部記憶装置１４に記憶しているｔ分布表１４ｈと照合し、数５９に記述される安全係数Ｔｐ−ｌ，１−α／２を決定する。そして、ステップＳ１３で決定した安全係数Ｔｐ−ｌ，１−α／２の他に、ステップＳ４で設定した行列Ｚと、ステップＳ５で算出した推定パラメータμ＾と、ステップＳ６で算出した標本分散ｓ２とを用い、数５９を用いて本日ｔ０からｋ日後までの間の予測区間における合計需要量の予測上限値Ｄｔ０ｔ０＋ｋを算出する。
【０１８６】
なお、上記ステップＳ１１〜ステップＳ１４の算出に際して、簡便法では、本日ｔ０から次々回納品日ｔ０＋Ｌ２までの間の予測区間についてのみ、合計需要量の予測上限値Ｄｔ０ｔ０＋Ｌ２が算出される（ステップＳ１５）。すなわち、簡便法におけるｋの値は、次々回までの納品期間Ｌ２に等しく、ｋ＝Ｌ２となる。納品期間Ｌ２は、基本情報に含まれる「発注可能日」と、それに対応する「納品リードタイム」の関係から特定できる。
【０１８７】
一方、詳細法では、本日ｔ０から次々回納品日ｔ０＋Ｌ２までの間の予測区間だけでなく、本日ｔ０から次回納品日ｔ０＋Ｌ１に至る全ての予測区間に対しても、合計需要量の予測上限値Ｄが算出される（ステップＳ１６）。したがって、この場合のＣＰＵ１１は、ｋ＝０，１，２…Ｌ１と、ｋ＝Ｌ２の各予測区間について、ステップＳ１１〜ステップＳ１４の手順を繰り返し行ない、それぞれの予測区間での合計需要量の予測上限値Ｄを算出する。
【０１８８】
こうしてＣＰＵ１１が、決められた予測区間での合計需要量の予測上限値Ｄを算出すると、ステップＳ１７の手順に移行し、当該算出結果を「合計需要量上限値」として商品の「ＰＯＳコード」と関連付けて、需要予測データ１４ｇに格納する。
【０１８９】
図６は、図５に引き続いて本実施例の発注量決定装置１が行なう需要量予測計算処理と、それに続く発注量決定処理の手順を示している。同図において、ＣＰＵ１１はステップＳ２１で、同じ対象商品に関して、内部記憶装置１４に記憶している単品販売データ１４ｂに含まれる販売実績情報と、納品予定データ１４ｅに含まれる納品情報と、在庫データ１４ｆに含まれる在庫情報とを読み込んで、これらの各情報から本日ｔ０の在庫量すなわち現在庫Ｉｔ０を決定すると共に、前記納品予定データ１４ｅに含まれる納品情報の「納品予定日」と「納品予定数」に基づき、本日ｔ０から次回納品日の前日ｔ０＋Ｌ１−１までの期間（ｔ０≦ｔ≦ｔ０＋Ｌ１−１）の納品予定数ｕｔを読み込む。次のステップＳ２２で、ＣＰＵ１１は、ステップＳ２１で読み込んだ納品予定数ｕｔから、数６７の右辺第二項にある納品残Ｕを算出する。この納品残Ｕは、本日ｔ０から次回納品日の前日ｔ０＋Ｌ１−１までの期間における納品予定数ｕｔの合計に相当し、次の式で与えられる。
【０１９０】
【数７８】
0005093752.tif 000059
【０１９１】
次に簡便法では、前記ステップＳ１４およびステップＳ１５で算出した本日ｔ０から次々回納品日ｔ０＋Ｌ２までの予測区間における合計需要量の予測上限値Ｄｔ０ｔ０＋Ｌ２を利用して、ＣＰＵ１１が数６７の右辺第三項にある合計需要量の予測値を算出する（ステップＳ２３）。つまり、本日ｔ０から次々回納品日ｔ０＋Ｌ２までの所定期間中における合計需要量の予測値は、下記の式で計算される。
【０１９２】
【数７９】
0005093752.tif 000060
【０１９３】
一方、詳細法では、先ずＣＰＵ１１が数６３および数７６を利用して、翌日ｔ０＋Ｌ２から次回納品日ｔ０＋Ｌ１までの間における各在庫推移Ｉｔ０＋ｋと、需要予測値ｘｔ０＋ｋ〜を算出する。これは、先ずｋ＝０とおいて、前記ステップＳ１４およびステップＳ１６で算出した合計需要量の予測上限値Ｄから、数７６のＤｔ０ｔ０＋ｋ−Ｄｔ０ｔ０＋ｋ-１を算出し（但し、前述のようにＤｔ０ｔ０-１＝０である。）、その算出した値と、ステップＳ２１で決定した現在庫Ｉｔ０の値から、数７６を用いて本日ｔ０の需要予測値ｘｔ０〜を算出すると共に、この需要予測値ｘｔ０〜と、前記現在庫Ｉｔ０の値と、ステップＳ２１で読み込んだ本日ｔ０の納品予定数ｕｔ０とから、数６３を用いて翌日ｔ０＋１の在庫数Ｉｔ０＋１を算出する。次に、ｋ＝１とおいて、前記ステップＳ１４およびステップＳ１６で算出した合計需要量の予測上限値Ｄから、数７６のＤｔ０ｔ０＋ｋ−Ｄｔ０ｔ０＋ｋ-１を算出し、その算出した値と、数６３を用いて算出した翌日ｔ０＋１の在庫数Ｉｔ０＋１の値から、数７６を用いて翌日ｔ０＋１の需要予測値ｘｔ０＋１〜を算出すると共に、この需要予測値ｘｔ０＋１〜と、前記翌日ｔ０＋１の在庫数Ｉｔ０＋１と、ステップＳ２１で読み込んだ翌日ｔ０＋１の納品予定数ｕｔ０＋１とから、数６３を用いて翌々日ｔ０＋２の在庫数Ｉｔ０＋２を算出する。以下、同様の手順をｋ＝２〜Ｌ１になるまで繰り返すことで、翌日ｔ０＋１から次回納品日ｔ０＋Ｌ１までの日々の在庫推移Ｉｔ０＋ｋと、需要予測値ｘｔ０＋ｋ〜を、それぞれ算出できる。
【０１９４】
次にＣＰＵ１１は、ステップＳ２５において、数７７の右辺第一項である次の値を算出する。これは前記ステップＳ２４で、数７６を用いて算出された本日ｔ０から次回納品日ｔ０＋Ｌ１までの日々の需要予測値ｘｔ〜（ｔ０≦ｔ≦ｔ０＋Ｌ１）を累算することで算出できる。
【０１９５】
【数８０】
0005093752.tif 000061
【０１９６】
さらにＣＰＵ１１は、ステップＳ２５において、数７７を用いて、数６７の右辺第三項にある本日ｔ０から次々回納品日ｔ０＋Ｌ２までの所定期間中における合計需要量の予測値を算出する。この合計需要量の予測値は、前記ステップＳ１４およびステップＳ１６で算出した本日ｔ０から次回納品日ｔ０＋Ｌ１までの予測区間における合計需要量の予測上限値Ｄｔ０ｔ０＋Ｌ１と、同じくステップＳ１４およびステップＳ１６で算出した本日ｔ０から次々回納品日ｔ０＋Ｌ２までの予測区間における合計需要量の予測上限値Ｄｔ０ｔ０＋Ｌ２と、ステップＳ２５で算出した数８０の値とから、数７７を利用することで算出できる。
【０１９７】
こうして、簡便法および詳細法の何れの場合にあっても、本日ｔ０から次々回納品日ｔ０＋Ｌ２までの所定期間中における合計需要量の予測値が算出できれば、ＣＰＵ１１はそれまでの需要量予測計算処理を終了し、これに続く発注量決定処理により、数７６と数７７を利用して、次回納品日ｔ０＋Ｌ１における最適な納品量ｕ−＊ｔ０＋Ｌ１すなわち発注可能な本日ｔ０の最適な発注量を計算する（ステップＳ２７）。ＣＰＵ１１は、続くステップＳ２８で、ステップＳ１で抽出した全商品について、最適な納品量ｕ−＊ｔ０＋Ｌ１の計算が完了するまで、上述したステップＳ２〜Ｓ２７の各手順を繰り返し実行する。
【０１９８】
ＣＰＵ１１は、ステップＳ１で抽出した全商品について、最適な納品量ｕ−＊ｔ０＋Ｌ１の計算が完了すると、その計算結果を外部の発注支援システム（図示せず）に出力し、当該発注支援システムに表示または印刷させる。勿論、本実施例における発注量決定装置１の出力部１６で、こうした計算結果を表示または印刷させてもよい。
【０１９９】
また、こうした計算結果をユーザが閲覧・修正した後、ＣＰＵ１１は、内部記憶装置１４に記憶している発注データ１４ｄの発注情報と、納品予テーデータ１４ｅの納品情報として、対象商品における新たな最適な納品量ｕ−＊ｔ０＋Ｌ１を格納し（ステップＳ３０）、一連の処理を終了する。
【０２００】
次に、本実施例で提案する方法の有効性を確認するために、或る小売業Ａの販売実績値を用いて、上記発注量決定装置１により実際の数値シミュレーションを行なった結果を説明する。Ａ社は生活雑貨を主力商品とする小売業で、約７０の店舗数を有し、同時稼動のＳＫＵ数は約３５００である。使用したデータは１月７日〜９月１６日の２５３日間（そのなかで、４月１日から３日間は欠側）の日別販売実績値で、平日が祝日の日は、日曜日の需要特性を持つものとして扱っている。また、バックオーダーは許容せず、在庫ゼロの場合には販売ができないものとする。ここでは、本実施例で述べた前提条件を満たすものとし、連続需要である１２７ＳＫＵを実験対象とした。
【０２０１】
【表１】
0005093752.tif 000062
【０２０２】
上記表１は、一週間の発注及び納品のスケジュールを示している。平日，土曜日，日曜日（祝日）を、それぞれグループ番号１，２，３に分類する。「タスク」の項目における記号Ｏは発注日を示し、記号Ｄは納品日を示している。すなわちここでの発注日は、毎週月曜日，水曜日，金曜日の三回であり、それに対応する納品日は木曜日，土曜日，翌週月曜日となっている。
【０２０３】
【表２】
0005093752.tif 000063
【０２０４】
表２は、実験を行なった方式と、それぞれの方式で用いたパラメータを示している。方式１，２，４，５の需要予測に際しては、従来法である数１７または数１８を用い、また方式３，６の需要予測に際しては、本実施例で提案した数６１を用いている。また、方式１，２，３では予測式として数７５を用い、方式４，５，６では、バックオーダーを許容しない場合の修正予測式として数７７を用いている。パラメータ推定に必要な実績値の最低サンプル数は、方式１，３，４，６では７日分、方式２，５では１４日分とする。本シミュレーションでは、この期間に７日分を上乗せした値とし、初期在庫は２８日分持たせることとした。なお、危険率αは何れの方式も０．０５とする。
【０２０５】
図８は、２月１日から９月１６日までの間に、方式１〜３を用いた場合の、或る商品Ｂ（キッチン用品）の日次在庫推移を示している。曜日依存性を考慮しない方式１よりも、曜日依存性を考慮した方式２，３の方が、全体的に在庫水準が低く抑えられていることがわかる。ここで、丸で囲った部分に注目し、方式２と方式３とを比較すると、特に５月下旬と９月上旬に、方式２よりも方式３の方が、在庫水準が低くなっている。日本の慣習では、５月上旬と８月中旬に大型連休があり、この時期に売上水準が急激に高くなる。従来法による予測方法では、曜日依存性を考慮するためには、実績値のサンプル期間を長く取らなければならず、こうした大型連休の期間が過ぎても、暫くの間は需要を高く見積もり過ぎて、その結果在庫過剰を招いていることがわかる。一方、本実施例で提案する方法、すなわち数６１の予測式を用いた方法では、実績値のサンプル期間を短く取ることができるので、実需要の変化に対する応答を速くすることができる。
【０２０６】
【表３】
0005093752.tif 000064
【０２０７】
表３は、上記方式１〜６に対する当該機関中の平均在庫数の全商品合計と、機会ロス率を示したものである。ここで、販売実績数が在庫数を上回る時に、その差を機会ロス数と定義し、機会ロス数の合計値を全商品の販売数で除した値が、欠品の発生率である機会ロス率となる。全体を概観すると、在庫水準が低くなると、機会ロス率が高くなる傾向にある。しかし、方式２と方式４とを比較すると、機会ロス率はほぼ同水準であるものの、在庫水準は方式２の方が低くなっており、需要予測の際に数７７の修正予測式を用いることよりも、曜日依存性を考慮することの方が効果的であることがわかる。
【０２０８】
また、方式２と方式３とを比較すると、方式３の方が平均在庫水準は低いものの、その分だけ機会ロス率が高くなっており、予測性能としては大きな差がないように思われる。しかし、表３には時系列的な観点は入っておらず、前述したように、需要水準の変化に素早く追従できる点で、数６１を用いた提案法は有用であるといえる。なお、機会ロス率を下げるためには、有意水準を下げるなどのパラメータ調整を行なうことになる。方式４〜方式６は、在庫推移の予測として、数７６の修正予測式を用いているが、これは本来、販売数が予測数よりも大幅に上回り、直ちに在庫切れになりそうな時に、発注数量を差し引くための方法である。このような方法は、商品の納品リードタイムが長く、且つ消費期限が短い商品では有用であると思われるが、Ａ社のケースでは、目に見える改善効果があるとはいい難い。このため、数理的な厳密性という点では、数７６や数７７の修正予測式を用いるのが好ましいが、計算負荷量を軽減したり、在庫削減効果を得たりしたい場合には、数７４や数７５の予測式で実用上十分であるといえる。
【０２０９】
以上のように、本実施例では、過去の複数の時点それぞれでの商品の販売実績値すなわち物品の供給数に基づいて、未来の予測区間である所定区間中における合計需要量の上限値を予測する需要量予測装置を、発注量決定装置１の一部として備えたものにおいて、過去の各時点での物品の供給数を、当該過去の各時点に応じた少なくとも１以上のデータ群の何れかに含まれるように分類して記憶すると共に、未来の所定区間を構成する未来の各時点で予測される物品の供給数が、データ群の何れに属するのかを記憶する記憶手段としての内部記憶装置１４と、過去の各時点の数をｐ，前記データ群の数をｌ，現時点をｔ０として、或る時点ｔにおける物品の供給数ｘｔが、一時点あたりの需要量の平均に相当するパラメータμと、過去の各時点がデータ群の何れに含まれるかで決定されるダミー変数ｚｔと、モデル化誤差ｖｔとにより、数４９の線形回帰モデルで表わされるとして、内部記憶装置１４に記憶される各時点での物品の供給数ｘｔ０−１，ｘｔ０−２，…ｘｔ０−ｐを各要素とした行列Ｘと、前記過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれについて、その時点ｔがｉ（１≦ｉ≦ｌ）番目の前記データ群に含まれているか否かで値が決定されるダミー変数Ｚｉｔを各要素とした行列Ｚとにより、パラメータμを推定するパラメータ推定手段と、推定パラメータμ＾の値と、物品の供給数ｘｔと、ダミー変数ｚｔと、過去の各時点の数ｐとから、数５５の式により標本分散ｓ２を算出する標本分散算出手段と、未来の各時点が前記データ群に属するのかを内部記憶装置１４から読み込み、ｉ番目のデータ群に含まれる未来の時点数をｋｉとして、数５８の式により説明変数ｋの値を決定する説明変数決定手段と、推定パラメータμ＾の値と、標本分散ｓ２と、説明変数ｋの値と、行列Ｚとにより、数５９の式から合計需要量の上限値Ｄを算出する上限値算出手段とを、コンピュータプログラム２０の需要量予測計算処理を実行するＣＰＵ１１が備えている。
【０２１０】
こうすると、物品の需要量が暦に依存して周期的若しくは非周期的に変動するのを考慮して、過去の各時点での物品の供給数と、未来の各時点で予測される物品の供給数が、どのデータ群に属するのかを内部記憶装置１４に記憶したものにおいて、データ群毎に母分散の推定を行なうのではなく、データ群全体の標本分散ｓ２を用いることで、推定や予測に必要とされる過去の各時点での物品の供給数のサンプル数を少なくしつつ、未来の所定区間中における合計需要量の上限値を算出することができる。そのため、少なくとも各データ群に属する過去の各時点での物品の供給数が、一サンプルずつあればよく、需要の変化に対して素早く追従することができ、新たな物品の導入後に、早い段階から所定期間中の合計需要量の上限値を算出することが可能になる。
【０２１１】
そしてこれは、パラメータμを推定するパラメータ推定ステップと、標本分散ｓ２を算出する標本分散算出ステップと、説明変数ｋの値を決定する説明変数決定ステップと、合計需要量の上限値Ｄを算出する上限値算出ステップと、を有する需要量予測方法や、パラメータμを推定するパラメータ推定手順と、標本分散ｓ２を算出する標本分散算出手順と、説明変数ｋの値を決定する説明変数決定手順と、合計需要量の上限値Ｄを算出する上限値算出手順と、をコンピュータである発注量決定装置１に実行させるコンピュータプログラム２０であっても、同様の作用効果を発揮する。
【０２１２】
また、本実施例のパラメータ推定手段や、パラメータ推定ステップや、パラメータ推定手順では、過去の各時点（ｔｏ−ｐ≦ｔ≦ｔｏ−１）のそれぞれにおいて、その時点ｔがｉ（１≦ｉ≦ｌ）番目のデータ群に含まれていれば、ダミー変数Ｚｉｔの値を１にし、そうでなければダミー変数Ｚｉｔの値を０にすると共に、これらのダミー変数Ｚｉｔによって、数５１にて行列Ｚの各要素を設定している。
【０２１３】
こうすると、行列Ｚの各要素となるダミー変数Ｚｉｔは、過去の各時点のそれぞれにおいて、時点ｔがｉ番目の前記データ群に含まれているか否かで、１または０の値を取る。そのため、複雑な手順を伴わない簡単な処理で各ダミー変数Ｚｉｔの値を設定できる。
【０２１４】
また、ここでのデータ群は、暦に依存して前記過去の各時点にそれぞれ与えられる第１データ群と、暦に依存することなく突発的に与えられる第２データ群からなり、過去の各時点において、第２データ群が存在する場合にはこの第２データ群を割り当て、第２データ群が存在しない場合には第１データ群を割り当てるようになっている。
【０２１５】
つまり、曜日や祝日などのように、暦に依存した需要特性である第１データ群の他に、特売やフェアなどのように、どの第１データ群にも属さないような暦に依存しない特殊な条件である第２データ群を考慮し、過去の各時点において、第２データ群が存在する場合には当該第２データ群を割り当て、第２データ群が存在しない場合には第１データ群を割り当てるようにすれば、特殊な条件に対しても、第２データ群に基づく新たなダミー変数を追加することで柔軟に対応することができる。
【０２１６】
さらに、前記ステップＳ３で説明したように、未来の時点で第２データ群が存在する場合には、この第２データ群が存在する過去の時点を含むように、この過去の各時点の数ｐを可変させるようになっている。
【０２１７】
こうすると、未来の或る時点で第２データ群に関連した突発的な需要変動が見込まれる場合、同じ突発的な需要変動が生じた過去の時点における物品の供給数を、意図的にサンプルとして取り入れるようにすることで、こうした突発的な需要変動を考慮した所定期間中の合計需要量の上限値Ｄを、正しく予測することが可能になる。
【０２１８】
なお、本発明は上記実施例に限定されるものではなく、本発明の要旨の範囲において種々の変形実施が可能である。例えば、暦に依存した需要特性として、本実施例では平日，土曜日，日曜日の三分類と仮定したが、対象となる物品によっては、この分類以外であっても構わない。そのため、新たな需要特性を表わすダミー変数を考え、適切な変数の組み合わせを自動的に選択する手段や方法を構築するのが好ましい。
【０２１９】
また、上記実施例のような商品の他に、商行為を伴わないあらゆる対象品を、本発明でいう物品として含めることができる。さらに、実施例では一日を基本単位として過去および未来の時点を設定していたが、例えば一日の中で昼間または夜間の各時間帯を、それぞれ一つの時点としてもよいし、複数日（週，月など）を基本単位として一つの時点を設定してもよい。加えて、過去や未来の各時点における物品の供給数を、二つ以上のデータ群に含ませても構わない。
【図面の簡単な説明】
【０２２０】
【図１】本発明の一実施例における発注量決定装置の内部構成を示すブロック図である。
【図２】同上、内部記憶装置のデータ構造を模式的に示す概略図である。
【図３】同上、カレンダデータの内部構造の一例を示す概略図である。
【図４】同上、予測区間における合計需要量の予測上限値を算出する各処理手順を示すフローチャートである。
【図５】同上、図４に引き続いて、予測区間における合計需要量の予測上限値を算出する各処理手順を示すフローチャートである。
【図６】同上、図５に引き続いて、予測区間における合計需要量の予測値と最適発注量を算出する各処理手順を示すフローチャートである。
【図７】同上、カレンダデータから需要特性行列Ｚに変換するサブルーチンの処理手順を示すフローチャートである。
【図８】同上、或る商品の日次在庫推移を示すグラフである。
【図９】ある商品に関し、発注前と発注後における在庫数の経時的な推移を示すグラフである。
【図１０】図９に示す発注前の在庫数の推移を示すグラフである。
【符号の説明】
【０２２１】
１１  ＣＰＵ（パラメータ推定手段，標本分散算出手段，説明変数決定手段，上限値算出手段）
１４  内部記憶装置（記憶手段）
【図１】
0005093752.tif 000075
【図２】
0005093752.tif 000076
【図３】
0005093752.tif 000077
【図４】
0005093752.tif 000078
【図５】
0005093752.tif 000079
【図６】
0005093752.tif 000080
【図７】
0005093752.tif 000081
【図８】
0005093752.tif 000082
【図９】
0005093752.tif 000083
【図１０】
0005093752.tif 000084