(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022084757
(43)【公開日】2022-06-07
(54)【発明の名称】情報処理装置、方法及びコンピュータプログラム
(51)【国際特許分類】
G06Q 10/08 20120101AFI20220531BHJP
G06Q 10/04 20120101ALI20220531BHJP
G06Q 30/02 20120101ALI20220531BHJP
【FI】
G06Q10/08 330
G06Q10/04
G06Q30/02 310
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022040618
(22)【出願日】2022-03-15
(62)【分割の表示】P 2020156617の分割
【原出願日】2020-09-17
(71)【出願人】
【識別番号】520362310
【氏名又は名称】エムシーデジタル株式会社
(74)【代理人】
【識別番号】100114188
【弁理士】
【氏名又は名称】小野 誠
(74)【代理人】
【識別番号】100143823
【弁理士】
【氏名又は名称】市川 英彦
(74)【代理人】
【識別番号】100182132
【弁理士】
【氏名又は名称】河野 隆
(72)【発明者】
【氏名】久保長 礼
(72)【発明者】
【氏名】北村 寛
(72)【発明者】
【氏名】瀬川 晋作
(57)【要約】 (修正有)
【課題】卸売業者から小売業者に出荷される商品の数を予測する、情報処理装置、方法及びコンピュータプログラムを提供する
【解決手段】予測システムに含まれ、ネットワークを介して相互に接続される予測装置100、小売システム及び卸システム300は、製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に卸売業者から小売業者に出荷される商品の数に関する情報を生成する情報処理装置であって、商品について、商品のカテゴリと、対象日の1日前から7日前の夫々において卸売業者から小売業者に出荷された商品の数と、小売業者における在庫日数又は商品の平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに入力情報を入力することにより、対象日に卸売業者が小売業者に出荷する商品の数に関する予測情報を学習モデルから出力させる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを具備し、製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する情報処理装置であって、
前記少なくとも1つのプロセッサが、
前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、
教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる、
ことを特徴とする情報処理装置。
【請求項2】
前記少なくとも1つのプロセッサが、前記予測情報として、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数を出力する、請求項1に記載の情報処理装置。
【請求項3】
前記少なくとも1つのプロセッサが、前記予測情報として、前記卸売業者から前記小売業者に過去に出荷された前記商品の数の平均に対する、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数の変化率を出力する、請求項1に記載の情報処理装置。
【請求項4】
前記少なくとも1つのプロセッサが、
前記対象日として複数の対象日を用い、
前記予測情報として、前記複数の対象日の各々に前記卸売業者から前記小売業者に出荷される前記商品の数を出力する、請求項1に記載の情報処理装置。
【請求項5】
前記少なくとも1つのプロセッサが、
前記対象日として複数の対象日を用い、
前記予測情報として、前記複数の対象日のすべてにおいて前記卸売業者から前記小売業者に出荷される前記商品の数の合計を出力する、請求項1に記載の情報処理装置。
【請求項6】
前記少なくとも1つのプロセッサが、
前記商品のカテゴリと、特定日より前の過去少なくとも7日間のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者において前記商品の1日あたりの販売数の平均である平均販売数で前記商品の在庫数を割った値である在庫日数と、前記特定日に前記卸売業者から前記小売業者に出荷された前記商品の数と、を教師データとして用いた学習を実行することにより、前記学習モデルを生成する、請求項1から請求項5のいずれかに記載の情報処理装置。
【請求項7】
前記少なくとも1つのプロセッサが、
勾配ブースティング木、線形回帰又はニューラルネットワークを用いた教師あり学習を実行することにより、前記学習モデルを生成する、請求項6に記載の情報処理装置。
【請求項8】
前記少なくとも1つのプロセッサが、
前記対象日より前の複数の過去の参照日の各々について、前記卸売業者から前記小売業者に出荷された前記商品の数を用いて標準偏差を取得し、
複数のパラメータの各々について、該パラメータ、前記予測情報として出力された、各参照日に前記卸売業者から前記小売業者に出荷される前記商品の数、及び、該参照日について取得された前記標準偏差を用いて、前記卸売業者における該参照日の前記商品の在庫数に対する閾値であって、該在庫数が該閾値を下回った場合に前記製造業者に対して前記商品の発注を行うために用いられる閾値を各参照日について取得し、
前記複数のパラメータの各々について、各参照日について取得された前記閾値を用いて、前記複数の過去の参照日の全体にわたって、シミュレーションを実行することにより、前記複数の過去の参照日のうちの最終日での前記卸売業者における前記商品の在庫数、及び、前記複数の過去の参照日にわたって前記卸売業者において欠品が生ずる回数を取得し、
前記シミュレーションのうち、前記最終日での前記卸売業者における前記商品の在庫数及び前記回数に基づいて算出された基準値が最小となる特定シミュレーションにおいて用いられた前記パラメータを、最終的なパラメータとして決定し、
該最終的なパラメータと、前記予測情報として出力された前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数と、前記対象日について取得される標準偏差と、を用いて、前記卸売業者における前記対象日の前記商品の在庫数に対する最終閾値であって、該在庫数が該最終閾値を下回った場合に前記製造業者に対して前記商品の発注を行うために用いられる最終閾値を計算する、請求項2に記載の情報処理装置。
【請求項9】
前記少なくとも1つのプロセッサが、
α×前記最終日での前記卸売業者における前記商品の在庫数+前記回数という数式に従って前記基準値を算出する、請求項8に記載の情報処理装置。
【請求項10】
前記少なくとも1つのプロセッサが、
各シミュレーションにおいて、前記複数の過去の参照日の各々について、
当該参照日での前記卸売業者における前記商品の在庫数が前記卸売業者から前記小売業者に出荷された前記商品の数を下回っている場合に、前記卸売業者において欠品が生ずる回数を1つ増加させ、0を当該参照日での前記卸売業者における前記商品の在庫数として更新し、
当該参照日での前記卸売業者における前記商品の在庫数が前記卸売業者から前記小売業者に出荷された前記商品の数以上である場合に、該参照日での前記卸売業者における前記商品の在庫数から、前記卸売業者から前記小売業者に出荷された前記商品の数を減じた数を、当該参照日での前記卸売業者における前記商品の在庫数として更新し、
更新された前記卸売業者における前記商品の在庫数が、該シミュレーションに対応する前記閾値を下回っている場合に、更新された前記卸売業者における前記商品の在庫数と前記閾値との差を、前記卸売業者における前記商品の入荷予定数とし、
更新された前記卸売業者における前記商品の在庫数が、該シミュレーションに対応する前記閾値以上である場合に、0を前記卸売業者における前記商品の入荷予定数とし、
更新された前記卸売業者における前記商品の在庫数と前記商品の入荷予定数とを加えた数を、当該参照日の翌日での前記卸売業者における前記商品の在庫数とする、
という処理を、古い過去の参照日から新しい過去の参照日に向かって順次実行する、請求項9に記載の情報処理装置。
【請求項11】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項1から請求項10のいずれかに記載の情報処理装置。
【請求項12】
製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、
前記少なくとも1つのプロセッサが、前記命令を実行することにより、
前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、
教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる、ことを特徴とする方法。
【請求項13】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項12に記載の方法。
【請求項14】
製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、少なくとも1つのプロセッサにより実行されることにより、
前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、
教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる、
ように前記少なくとも1つのプロセッサを機能させる、ことを特徴とするコンピュータプログラム。
【請求項15】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項13に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本件出願において開示された技術は、物流において用いられる、情報処理装置、方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
特開2020-38535号公報(特許文献1)は、物流の全体像を
図8において示している。卸売業者に着目してこの全体像をみると、卸売業者は、商品を製造する製造業者に対してその商品を発注することにより、製造業者からその商品を入荷して在庫として保管する。また、卸売業者は、小売業者からその商品を受注することにより、在庫として保管されているその商品を小売業者に出荷する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的に、卸売業者においては、商品の在庫がなくなる事象(欠品)の生ずる確率を低減しつつ、その商品の在庫を可能な限り削減することが、望ましいとされることが多い。そのためには、小売業者からの受注に応じて卸売業者から小売業者に出荷される商品の数を予測することが望ましい。
【0005】
そこで、本件出願において開示された技術は、卸売業者から小売業者に出荷される商品の数を予測する、情報処理装置、方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0006】
一態様に係る情報処理装置は、「少なくとも1つのプロセッサを具備し、製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する情報処理装置であって、前記少なくとも1つのプロセッサが、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる」ことができる。
一態様に係る方法は、「製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記少なくとも1つのプロセッサが、前記命令を実行することにより、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる」ことができる。
一態様に係るコンピュータプログラムは、「製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、少なくとも1つのプロセッサにより実行されることにより、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、一実施形態に係る予測システムの概要の一例を示すブロック図である。
【
図2】
図2は、予測システム1に含まれる予測装置100(小売システム200、卸システム300)を構成する1又はそれ以上の相互に接続可能な情報処理装置の各々のハードウェア構成の一例を示すブロック図である。
【
図3】
図3は、
図1に示した予測システム1に含まれる予測装置100が有する機能の一例を示すブロック図である。
【
図4】
図4は、
図1に示した予測システム1に含まれる予測装置100の記憶部130により記憶される情報の一例を示す図である。
【
図5】
図5は、
図1に示した予測システム1に含まれる予測装置100の記憶部130により記憶される情報の別の例を示す図である。
【
図6】
図6は、
図1に示した予測システム1に含まれる予測装置100により行われる学習モデルの生成に関する動作の一例を示すフロー図である。
【
図7A】
図7Aは、
図1に示した予測システム1に含まれる予測装置100により行われる学習モデルの生成及び生成された学習モデルを用いた予測を説明するための図である。
【
図7B】
図7Bは、
図1に示した予測システム1に含まれる予測装置100により行われる学習モデルの生成及び生成された学習モデルを用いた予測を説明するための図である。
【
図8】
図8は、
図1に示した予測システム1に含まれる予測装置100により行われる予測に関する動作の一例を示すフロー図である。
【
図9】
図9は、
図1に示した予測システム1に含まれる予測装置100により商品の在庫日数の算出に利用する販売数の合計値を取得するために生成される学習モデルを説明するための図である。
【
図10】
図10は、一実施形態に係る発注点算出システムの概要の一例を示すブロック図である。
【
図11】
図11は、
図10に示した発注点算出システム2に含まれる発注点算出装置500が有する機能の一例を示すブロック図である。
【
図12】
図12は、
図10に示した発注点算出システム2に含まれる発注点算出装置500の記憶部530に記憶される情報の一例を示す図である。
【
図13】
図13は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により行われる全体的な動作の一例を示すフロー図である。
【
図14】
図14は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により行われる最適化計算の一例を示すフロー図である。
【
図15】
図15は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により最適化計算の際に行われるシミュレーションの一例を示すフロー図である。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
【0009】
1.予測システムの概要
図1は、一実施形態に係る予測システムの概要の一例を示すブロック図である。
図1に示すように、予測システム1は、予測装置100と、小売業者により運用及び管理され得る小売システム200と、卸売業者により運用及び管理され得る卸システム300と、を主に含むことができる。予測装置100、小売システム200及び卸システム300は、ネットワーク400を介して相互に接続され得る。
【0010】
ネットワーク400は、携帯電話網、無線LAN、固定電話網、インターネット、イントラネット及び/又はイーサネット(登録商標)等をこれらに限定することなく含むことができる。
【0011】
なお、
図1に示した例では、予測装置100が、小売システム200及び卸システム300とは独立して設けられているが、予測装置100又はその一部が、小売システム200、卸システム300及び/又はその他の装置に含まれることも可能である。
【0012】
また、
図1に示した例では、予測装置100は、1つの装置として設けられているが、相互に協働して動作する複数の装置により構成され得る。この場合にも、予測装置100を構成する複数の装置のうちの一部が、小売システム200、卸システム300及び/又はその他の装置に含まれることも可能である。
【0013】
図1に示す予測システム1では、簡潔にいえば、予測装置100が、卸システム300により記憶された情報のみを用いて、又は、卸システム300により記憶された情報と小売システム200により記憶された情報とを用いて、卸売業者から小売業者に出荷される商品の数に関する情報を、学習モデルを利用して予測することができる。予測装置100による予測結果(例えば卸売業者から小売業者に出荷される商品の数に関する情報)は、卸システム300及び/又は小売システム200に提供され得る。
【0014】
なお、本件出願において、「商品」とは、食品、衣料品、文房具、飲料品、書籍、化粧品、薬品、鉄鉱石、石油、自動車部品及び電機製品等を(これらに限定することなく)含む、売買の対象となり得る任意の物品をいう。
【0015】
また、本件出願において、「小売業者」とは、商品を需要者に提供する任意の業者をいい、商品を需要者に専ら販売する業者だけでなく、商品を需要者に販売する限りにおいてその商品を製造する業者(例えば部品製造業者)をも含み得る。
【0016】
1-1.小売システム200
小売システム200は、図示しない1又はそれ以上の相互に接続可能な情報処理装置により構成され得る。各情報処理装置が有するハードウェア構成は、予測装置100を構成する1又はそれ以上の情報処理装置の各々が有するハードウェア構成と同様である。このハードウェア構成については、「1-3(1)」において後述する。
【0017】
小売システム200は、例えば小売業者が有するシステムであって、売上履歴情報、在庫履歴情報及び特売情報等を含む様々な情報を記憶することができる。これらの情報のうちの少なくとも一部は、任意のタイミングにおいて又は周期的に、予測装置100に提供され記憶され得る。なお、これらの情報の詳細については、後に「1-3(2)」において説明する。なお、小売システム200は、必ずしも小売業者により運用及び管理される必要はなく、小売業者に関連する企業又は他の企業により運用及び管理されるものであってもよい。
【0018】
1-2.卸システム300
卸システム300は、図示しない1又はそれ以上の相互に接続可能な情報処理装置により構成され得る。各情報処理装置が有するハードウェア構成は、予測装置100を構成する1又はそれ以上の情報処理装置の各々が有するハードウェア構成と同様である。このハードウェア構成については、「1-3(2)」において後述する。なお、卸システム300は、必ずしも卸売業者により運用及び管理される必要はなく、卸売業者に関連する企業又は他の企業により運用及び管理されるものであってもよい。
【0019】
卸システム300は、例えば卸売業者が有するシステムであって、入出荷履歴情報及び商品情報を含む様々な情報を記憶することができる。これらの情報のうちの少なくとも一部は、任意のタイミングにおいて又は周期的に、予測装置100に提供され記憶され得る。なお、これらの情報の詳細については、後に「1-3(2)」において説明する。
【0020】
1-3.予測装置100
予測装置(情報処理装置)100は、任意の企業により運用及び管理され得る。任意の企業には、商社、卸売業者、小売業者、製造業者、これらに関連する企業、及び、他の企業が含まれ得る。
(1)ハードウェア構成
予測装置100は、図示しない1又はそれ以上の相互に接続可能な情報処理装置により構成され得る。
図2は、予測システム1に含まれる予測装置100(小売システム200、卸システム300)を構成する1又はそれ以上の相互に接続可能な情報処理装置の各々のハードウェア構成の一例を示すブロック図である。
【0021】
図2に示すように、各情報処理装置は、主に、中央処理装置11と、主記憶装置12と、入出力インタフェイス装置13と、入力装置14と、補助記憶装置15と、出力装置16と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0022】
中央処理装置11は、「CPU」と称され、主記憶装置12に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置12に記憶させることができる。さらに、中央処理装置11は、入出力インタフェイス装置13を介して、入力装置14、補助記憶装置15及び出力装置16等を制御することができる。各情報処理装置は、1又はそれ以上のこのような中央処理装置11を含むことが可能である。
【0023】
主記憶装置12は、「メモリ」と称され、入力装置14、補助記憶装置15及びネットワーク400から、入出力インタフェイス装置13を介して受信した命令及びデータ、並びに、中央処理装置11の演算結果を記憶することができる。主記憶装置12は、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)及び/又はフラッシュメモリ等をこれらに限定することなく含むことができる。
【0024】
補助記憶装置15は、主記憶装置12よりも大きな容量を有する記憶装置である。補助記憶装置は、オペレーティングシステム及び特定のアプリケーション等を構成する命令及びデータ(コンピュータプログラム)を記憶することができる。この特定のアプリケーションは、各情報処理装置により実行されることにより、各情報処理装置を全体として予測装置100として機能させることができる。さらに、補助記憶装置15は、中央処理装置11により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を入出力インタフェイス装置13を介して主記憶装置12に送信することができる。補助記憶装置15は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
【0025】
入力装置14は、外部からデータを取り込む装置であって、タッチパネル、ボタン、キーボード及び/又はマウス等をこれらに限定することなく含むことができる。
【0026】
出力装置16は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
【0027】
このようなハードウェア構成にあっては、中央処理装置11が、補助記憶装置15に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置12にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置11は、入出力インタフェイス装置13を介して出力装置16を制御し、或いはまた、入出力インタフェイス装置13及びネットワーク400を介して、他の装置(例えば、小売システム200及び/又は卸システム300)との間で様々な情報の送受信を行うことができる。
【0028】
なお、各情報処理装置は、中央処理装置11に代えて又は中央処理装置11とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことも可能である。
【0029】
なお、小売システム200及び/又は卸システム300を構成する1又はそれ以上の情報処理装置の各々が有するハードウェア構成もまた、
図2を参照して上述した予測装置100を構成する1又はそれ以上の情報処理装置の各々が有するハードウェア構成と同様であり得る。
【0030】
(2)機能
図3は、
図1に示した予測システム1に含まれる予測装置100が有する機能の一例を示すブロック図である。
図3に示すように、予測装置100は、主に、通信部110と、制御部120と、記憶部130と、を含むことができる。
【0031】
通信部110は、ネットワーク400に接続され、小売システム200及び/又は卸システム300との間において様々な情報を送受信することができる。
【0032】
制御部120は、卸売業者から小売業者に出荷される商品の数に関する情報を生成するために必要な処理を制御及び実行することができる。これを実現するために、制御部120は、取得部122と、生成部124と、予測部126と、提供部128と、を主に含むことができる。
【0033】
取得部122は、卸売業者から小売業者に出荷される商品の数に関する情報を生成するために必要な情報を、小売システム200及び/又は卸システム300から取得して記憶部130に記憶させることができる。
【0034】
生成部124は、取得部122により取得された(記憶部130に記憶された)情報を用いて学習モデルを生成して記憶部130に記憶させることができる。
【0035】
予測部126は、取得部122により取得された(記憶部130に記憶された)情報と、生成部124により生成された(記憶部130に記憶された)学習モデルと、を用いて、卸売業者から小売業者に出荷される商品の数に関する情報を生成することができる。
【0036】
提供部128は、予測部126により生成された情報等を卸システム300に送信することができる。
【0037】
記憶部130は、卸売業者から小売業者に出荷される商品の数に関する情報を生成するために必要な情報を記憶することができる。これを実現するために、記憶部130は、小売情報記憶部132と、卸情報記憶部134と、モデル情報記憶部136と、提供情報記憶部138と、を含むことができる。
【0038】
小売情報記憶部132は、小売システム200から受信した小売業者に関する情報を記憶することができる。
図4は、
図1に示した予測システム1に含まれる予測装置100の記憶部130により記憶される情報の一例を示す図である。
図4に例示されるように、小売情報記憶部132は、小売店の識別情報(店舗ID)に対応付けて、卸売業者の識別情報(センターID)、及び、集計を行った日(集計日)等を記憶することができる。
【0039】
さらに、小売情報記憶部132は、小売店の識別情報(店舗ID)に対応付けて、売上履歴情報、在庫履歴情報及び特売情報等を記憶することができる。小売情報記憶部132は、売上履歴情報として、小売店の識別情報(店舗ID)に対応付けて、商品の識別情報(商品ID)、その商品のカテゴリ及びその商品の売上等を記憶することができる。
【0040】
さらに、小売情報記憶部132は、在庫履歴情報として、小売店の識別情報(店舗ID)に対応付けて、その商品(売上履歴情報の商品IDにより識別される商品)の在庫数、その商品の販売数、その商品の入荷数及びその商品の廃棄数等を記憶することができる。さらにまた、小売情報記憶部132は、特売情報として、その商品(売上履歴情報の商品IDにより識別される商品)について特売が開始された日(開始日)、及び、その特売が終了した日(終了日)等を記憶することができる。
【0041】
次に、卸情報記憶部134は、卸システム300から受信した卸売業者に関する情報を記憶することができる。
図5は、
図1に示した予測システム1に含まれる予測装置100の記憶部130により記憶される情報の別の例を示す図である。
図5に例示されるように、小売業者の識別情報(小売業者ID)に対応付けて、卸売業者の識別情報(センターID)、集計を行った日(集計日)等を記憶することができる。
【0042】
さらに、卸情報記憶部134は、小売業者の識別情報(小売業者ID)に対応付けて、入出荷履歴情報及び商品情報等を記憶することができる。卸情報記憶部134は、入出荷履歴情報として、小売業者の識別情報(小売業者ID)に対応付けて、商品の入荷数、及び、その商品の出荷数等を記憶することができる。
【0043】
さらに、卸情報記憶部134は、商品情報として、その商品の仕入れ先の識別情報(仕入れ先ID)、その商品のカテゴリ、その商品のロット数、及び、その商品の販売が終了した日(終売日)等を記憶することができる。
【0044】
図3に戻り、モデル情報記憶部136は、生成部124に生成された学習モデル等を記憶することができる。
【0045】
提供情報記憶部138は、予測部126により生成され、卸システム300に提供される情報等を記憶することができる。
【0046】
2.予測システム1の動作
予測システム1に含まれる予測装置100は、学習モデルを生成した後、そのように生成した学習モデルを用いて予測を実行することができる。
【0047】
2-1.学習モデルの生成
図6は、
図1に示した予測システム1に含まれる予測装置100により行われる学習モデルの生成に関する動作の一例を示すフロー図である。
【0048】
まず、ステップ(以下「ST」という。)602において、予測装置100の制御部120における取得部122は、小売システム200から過去の小売に関する小売情報(例えば
図4に示された情報等)を取得して小売情報記憶部132に記憶させ、卸システム300から過去の卸に関する卸情報(例えば
図5に示された情報等)を取得して卸情報記憶部134に記憶させることができる。
【0049】
次に、ST604において、予測装置100の生成部124は、ST602において取得された小売情報及び卸情報に基づいて、学習モデルを生成することができる。
【0050】
図7A及び
図7Bは、
図1に示した予測システム1に含まれる予測装置100により行われる学習モデルの生成及び生成された学習モデルを用いた予測を説明するための図である。
図7A及び
図7Bにおいて、「学習」の列には、学習モデルを生成する際に、教師データとして使用される情報の例が示され、「予測」の列には、学習モデルを用いた予測を実行する際に、入力情報として使用される情報の例が示されている。
【0051】
なお、ここでは、説明を簡単にするために、「必須パラメータ」の行に示された情報を用いて学習モデルを生成する場合のみに着目する。「目的変数の変更」及び「オプション」については、
図7A及び
図7Bを参照して後述する。
【0052】
予測装置100の生成部124は、教師あり学習を実行することにより、学習モデルを生成することができる。具体的には、生成部124は、
図7Aに示されているように、次の情報を教師データ(質問データ及び解答データ)として用いて学習モデルを生成することができる。
(1)ある商品のカテゴリ(質問データ)
(2)特定日(当日)の1日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(3)特定日の2日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(4)特定日の3日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(5)特定日の4日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(6)特定日の5日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(7)特定日の6日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(8)特定日の7日前にその商品が卸売業者から小売業者に出荷された数(質問データ)
(9)その商品の商品在庫日数、又は、その商品の平均販売数(質問データ)
(10)特定日(当日)にその商品が卸売業者から小売業者に出荷された数(解答データ)
【0053】
上記(1)については、生成部124は、卸情報記憶部134に記憶された「商品情報」における「カテゴリ」を用いることができる。菓子、アイスなどの商品のカテゴリに依存して特性が異なるため、カテゴリに関する情報は必須である。なお、カテゴリに関する情報は、一例として、One Hotエンコーディングという手法を用いて加工可能である。
【0054】
上記(2)~上記(8)については、生成部124は、それぞれ、卸情報記憶部134に記憶された「入出荷履歴情報」における特定日の1日前~7日前の「出荷数」を用いることができる。商品の週単位の出荷数をみていくことが重要である。また、曜日ごとの傾向を捉えるために、過去1週間分の商品の出荷数は必須である。
【0055】
上記(10)については、生成部124は、卸情報記憶部134に記憶された「入出荷履歴情報」における特定日の「出荷数」を用いることができる。この特定日の出荷数は、目的変数ということもある。
【0056】
上記(9)については、その商品の商品在庫日数とは、卸売業者に紐づく小売店舗の、特定日の1日前の商品の在庫数を商品の1日あたりの平均販売数で割った値である。商品在庫日数は、例えば以下の手法により取得することが可能である。商品在庫日数の代替となるパラメータとして、その商品の平均販売数を用いることも可能である。その商品の平均販売数とは、卸売業者に紐づく小売店舗の、ある期間における商品の販売数の平均値となる。平均値を算出する期間は任意に定めることができる。
【0057】
(1)統計的な処理による手法
この商品在庫日数については、生成部124は、小売情報記憶部132に記憶された「在庫履歴情報」(
図4)における在庫数及び販売数を用いて、店舗単位及び商品単位で「在庫数/1日平均販売数」により計算することができる。ここで、「1日平均販売数」(ある期間の販売数の合計/その期間に含まれる日数の合計)を算出するために対象とされた当該期間は、上記(2)に対応する日~上記(8)に対応する日のうちの少なくとも1日と重複していてもよいし、当該少なくとも1日と異なっていてもよい。また、上記期間は、1日、1週間、1ヶ月、3ヶ月、半年、1年及び2年等を含む任意の期間とすることができ、対応する商品に依存して適切に定められてもよい。
【0058】
(2)機械学習を用いる手法
商品の在庫日数は、教師あり学習により生成された学習モデルを用いて、算出することが可能である。
図9は、
図1に示した予測システム1に含まれる予測装置100により商品の在庫日数の算出に利用する販売数の合計値を取得するために生成される学習モデルを説明するための図である。
【0059】
まず、予測装置100が、
図9に示す必須パラメータ(「オプション」の行に示されたパラメータを追加パラメータとして用いることも可能である)を用いて、学習モデルを生成することができる。なお、学習モデルの生成は、
図4に示した学習モデルの生成と同様の手法により、勾配ブースティング木、線形回帰又はニューラルネットワークを用いて、教師あり学習により実行可能である。
【0060】
次に、予測装置100は、生成された学習モデルを用いて、予測を行うことにより、(その学習モデルから目的変数として出力される)その商品のn日間の販売合計数を取得することができる。さらに、予測装置100は、「取得したn日間の販売合計数/n」を計算することにより、1日平均販売数の予測値を計算することができる。小売情報記憶部132に記憶された「在庫履歴情報」(
図4)における在庫数、及び計算した1日平均販売数の予測値を用いて、「在庫数/1日平均販売数の予測値」により商品在庫日数を計算することができる。
【0061】
なお、生成部124は、この商品在庫日数を計算することに代えて、小売システム200からこの商品在庫日数を受信して用いることも可能である。
【0062】
生成部124は、上記(1)~上記(10)を教師データとして学習を行うことにより、学習モデルを生成することができる。
【0063】
一実施形態では、生成部124は、勾配ブースティング木を用いて学習モデルを生成することができる。生成部124は、目的変数及び予測値から計算される目的関数を改善するように、決定木を作成して学習モデルに追加する。これを生成部124は、ハイパーパラメータで定めた決定木の本数の分だけ繰り返す。生成部124は、2本目以降の木については、目的変数とそれまでに作成した決定木による予測との差について学習を行うことができる。このようにして、生成部124は、それぞれの決定木の分岐及び葉のウェイトを定めることができる。すなわち、勾配ブースティング木では、各決定木は、教師データのうちの質問データを入力データとして決定木の各分岐を辿って到達する葉ノードの値を出力されるデータ(目的変数)とする。さらに、このデータ(目的変数)と、教師データのうちの解答データ(目的変数)(ただし、2本目以降の木については、解答データ(目的変数)とそれまでに作成した決定木による予測値との差)との誤差が小さくなるように、決定木の各分岐の方法及び各葉ノードの値を最適化することができる。
【0064】
別の実施形態では、生成部124は、線形回帰を用いて学習モデルを生成することができる。この線形回帰では、生成部124は、目的変数と予測値との誤差を改善するように、線形回帰モデルのパラメータを学習することができる。すなわち、線形回帰モデルは、入力層及び出力層に分かれており、教師データのうち質問データを入力データとして入力層に入力することによって出力層から出力されるデータ(目的変数)と、教師データのうち解答データ(目的変数)との誤差が小さくなるように、最小二乗法を用いて、線形回帰モデルに含まれるパラメータを最適化することができる。
【0065】
さらに別の実施形態では、生成部124は、入力層、中間層及び出力層を含むニューラルネットワークを用いることができる。具体的には、生成部124は、教師データのうちの質問データを入力層に入力することによって出力層から出力されるデータ(目的変数)と、教師データのうちの解答データ(目的変数)との誤差を小さくするように、誤差逆伝搬法を用いて、ニューラルネットワークに含まれる各パラメータ(ウェイト)を最適化(学習)することができる。
【0066】
なお、ここでは、好ましい実施形態として、予測装置100自体が学習モデルを生成する場合について説明した。しかし、予測装置100は、自らが学習モデルを生成することに代えて、他の装置により同様の手法により生成された学習モデルをネットワーク400を介して取得し、このように取得した学習モデルをモデル情報記憶部136に記憶させることも可能である。
【0067】
2-2.予測
図8は、
図1に示した予測システム1に含まれる予測装置100により行われる予測に関する動作の一例を示すフロー図である。
【0068】
まず、ST702において、予測装置100の制御部120における取得部122は、既に生成(又は他の装置からネットワーク400を介して取得)した学習モデルに入力すべき情報を、小売システム200及び卸システム300から取得することができる。例えば、
図7Aに示した例では、「予測」の列に挙げられた必須パラメータを学習モデルに入力する必要があるため、これらの必須パラメータを取得することができる。
【0069】
ST704において、予測装置100の予測部126は、ST702において取得部122により取得された情報を、学習モデルに入力することができる。例えば、
図7Aに示した例では、予測部126は、(イ)商品のカテゴリ、(ロ)対象日の1日前にその商品が出荷された数~対象日の7日前にその商品が出荷された数、及び、(ハ)その商品の商品在庫日数を、学習モデルに入力することができる。なお、上記(ハ)の商品在庫日数は、上述したように、小売業者における商品の1日あたりの販売数の平均である平均販売数で対象日の1日前の商品の在庫数を割った値である。また、上述したように、商品在庫日数に代えて、商品の平均販売数を用いることも可能である。
また、学習の場合と同様に、予測の場合においても、上記(ハ)商品在庫日数を算出するために対象とされた期間と、上記(ロ)商品が出荷された数に対応する対象日とは、重複していても異なっていてもよい。
【0070】
これにより、ST706において、予測部126は、学習モデルから目的変数として出力される出荷数(対象日に卸売業者から小売業者に出荷される商品の出荷数)を取得することができる。
【0071】
さらに、ST708において、提供部128は、ST706において予測部126により予測された出荷数を卸システム300に提供することができる。
【0072】
3.予測システム1の変形例
上述した実施形態では、学習及び予測の際において、目的変数として、その商品の当日の出荷数が用いられている。しかし、別の実施形態では、
図7Aの「目的変数の変更1」の行に示すように、学習及び予測の際において、目的変数として、「当日の出荷数/前日までのXか月間における出荷数の平均」にて算出される値を用いることができる。ここでXは任意の期間で定めることができる。
【0073】
一例として、対象日(当日)を2020年5月1日とし、過去3か月間における出荷数の平均を用いる場合、「2020年5月1日の出荷数/2020年2月1日から2020年4月30日までの期間における出荷数の平均」にて算出することができる。
【0074】
これは、その商品の当日の出荷数の、過去の出荷数の平均からの変化率(すなわち、目的変数として、卸売業者から小売業者に前日までに出荷されたその商品の数の平均に対する、対象日に卸売業者から小売業者に出荷されたその商品の数の変化率)を意味する。
【0075】
このような目的変数を用いることにより、商品間の販売量の平均の違いが大きい場合に、予測の精度を向上させることができる。
【0076】
さらに別の実施形態では、
図7Aの「目的変数の変更2」の行に示すように、学習及び予測の際において、目的変数として、複数の対象日の各々に卸売業者から小売業者に出荷される商品の数を用いることも可能である。
【0077】
さらに別の実施形態では、
図7Aの「目的変数の変更3」の行に示すように、学習及び予測の際において、目的変数として、複数の対象日(N日間)のすべてにおいて卸売業者から小売業者に出荷される商品の数の合計を用いることも可能である。
【0078】
上述した実施形態では、学習及び予測の際において、必須パラメータとして、対象日の1日前~7日前の商品の出荷数が用いられている。しかし、別の実施形態では、これに加えて、
図7Aの「オプション1」の行に示すように、T+7日前の商品の出荷数、T週間前から起算してU週間分の商品の合計出荷数を、追加パラメータ(入力データ)として利用することができる。ここでTは1以上の任意の自然数として定めることができる。Uは、T≧Uを満たす任意の自然数とする。
【0079】
また、別の実施形態では、追加パラメータとして、
図7Aの「オプション2」の行に示すように、出荷差分の情報を用いることができる。出荷差分の情報には、例えば、最終出荷日から対象日までの経過日数、及び/又は、(T-1)週間前の商品の合計出荷数とT週間前の商品の合計出荷数との差分を、追加パラメータ(入力データ)として利用することができる。ここでTは2以上の任意の自然数として定めることができる。
【0080】
さらに、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション3」の行に示すように、商品の出荷数に対する直近X日間の平均、分散、中央値をパラメータとすることができる。ここでXは任意の自然数と定めることができる。
【0081】
さらにまた、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション4」の行に示すように、7日、14日、28日、56日又は128日の移動窓関数をメーカー(製造業者)のリードタイムで合計した商品の出荷数に適用することにより得られた値を用いることができる。
【0082】
ここでは2020年5月1日にメーカーへ発注Aを行なったとする。リードタイムを3日とすると同年5月1日から同年5月4日までの期間に出荷した商品数の合計Aを算出する。同様に、同年5月2日に発注Bを行なったとする。リードタイムを3日とすると同年5月2日から同年5月5日までの期間に出荷した商品数の合計Bを算出する。同様に5月3日の発注C~5月7日の発注Gまで繰り返す。この場合、合計Aから合計Gまでの合計値が「7日の移動窓関数をメーカーのリードタイムで合計した商品の出荷数に適用することにより得られた値」となる。
【0083】
さらにまた、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション5」の行に示すように、グループにおいて計算された統計値(グループにおける商品の出荷数の合計、平均、中央値)を用いることができる。グループはセンター(卸売業者)又は商品のカテゴリを含むことができる。センター(卸売業者)ごとに計算されたこのような統計値、商品のカテゴリごとに計算されたこのような統計値、又は、商品ごとに計算されたこのような統計値を用いることも可能である。
【0084】
さらにまた、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション6」の行に示すように、商品の出荷数に関する年間の周期を捉えるために、1月1日から対象日までの日数/365をSin又はCosに変換した値を用いることも可能である。
【0085】
上記変換した値は、1つの例として、
により計算することができる。
【0086】
さらにまた、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション7」の行に示すように、商品の出荷数に関する曜日の周期を捉えるために、月曜日から対象日までの日数/7をSin又はCosに変換した値を用いることも可能である。
【0087】
上記変換した値は、1つの例として、
により計算することができる。
【0088】
さらにまた、別の実施形態では、追加パラメータ(入力データ)として、
図7Bの「オプション8」の行に示すように、特売の有無及びその特売のカテゴリを用いることも可能である。
【0089】
以上のように、本件出願に開示された予測装置100によれば、商品の小売及び在庫に関する情報を用いることにより、卸売業者から小売業者に出荷されるその商品の数をより正確に予測することができる。
【0090】
4.発注点算出システムの概要
図10は、一実施形態に係る発注点算出システムの概要の一例を示すブロック図である。
図10に示すように、発注点算出システム2は、上述した予測システム1(
図1)に含まれる、予測装置100、小売システム200及び卸システム300に加えて、これらに対してネットワーク400を介して接続可能な発注点算出装置500をさらに含むことができる。予測装置100、小売システム200、卸システム300及びネットワーク400については、
図1等を算出して上述したとおりであるので、その詳細な説明を省略する。
【0091】
図10には、一例として、発注点算出装置500が、小売システム200、卸システム300及び予測装置100とは独立して設けられているが、発注点算出装置500又はその一部が、予測装置100、小売システム200、卸システム300及び/又はその他の装置に含まれることも可能である。
【0092】
また、
図10に示した例では、発注点算出装置500は、1つの装置として設けられているが、相互に協働して動作する複数の装置により構成され得る。この場合にも、発注点算出装置500を構成する複数の装置のうちの一部が、予測装置100、小売システム200、卸システム300及び/又はその他の装置に含まれることも可能である。
【0093】
発注点算出装置500は、商品に関する発注点を算出することができる。発注点とは、卸売業者における商品の在庫数に対する閾値であって、この在庫数がこの閾値を下回った場合に製造業者に対してこの商品の発注を行うために用いられる閾値を意味する。発注点算出装置500は、算出した発注点を、ネットワーク400を介して卸システム300に提供することができる。これにより、卸売業者により運用及び管理される卸システム300は、その商品の在庫数が、発注点算出装置500から提供されたその商品に対する発注点を下回った場合に、その商品を製造業者に対して発注することができる。
【0094】
4-1.発注点算出装置500
発注点算出装置(情報処理装置)500は、任意の企業により運用及び管理され得る。任意の企業には、商社、卸売業者、小売業者、製造業者、これらに関連する企業、及び、他の企業が含まれ得る。
(1)ハードウェア構成
発注点算出装置500は、予測装置100と同様に図示しない1又はそれ以上の相互に接続可能な情報処理装置により構成され得る。各情報処理装置は、
図2に例示したハードウェア構成を有することができる。
【0095】
(2)機能
図11は、
図10に示した発注点算出システム2に含まれる発注点算出装置500が有する機能の一例を示すブロック図である。
図11に示すように、発注点算出装置500は、主に、通信部510と、制御部520と、記憶部530と、を含むことができる。
【0096】
通信部510は、ネットワーク400に接続され、予測装置100、小売システム200及び/又は卸システム300との間において様々な情報を送受信することができる。
【0097】
制御部520は、卸売業者において用いられる商品に関する発注点を算出するために必要な処理を制御及び実行することができる。これを実現するために、制御部520は、取得部522と、計算部524と、提供部526と、を主に含むことができる。
【0098】
取得部522は、卸売業者において用いられる商品に関する発注点を算出するために必要な情報を、予測装置100、小売システム200及び/又は卸システム300から取得して記憶部530に記憶させることができる。
【0099】
計算部524は、取得部522により取得され(記憶部530に記憶された)情報を用いて商品に関する発注点を算出して記憶部530に記憶させることができる。
【0100】
提供部526は、計算部524により算出され(記憶部530により記憶された)商品に関する発注点等を卸システム300に送信することができる。
【0101】
記憶部530は、卸売業者において用いられる商品に関する発注点を算出するために必要な情報を記憶することができる。これを実現するために、記憶部530は、出荷予測情報記憶部532と、提供情報記憶部534と、を含むことができる。
【0102】
出荷予測情報記憶部532は、予測装置100から受信した出荷予測情報等を記憶することができる。
【0103】
図12は、
図10に示した発注点算出システム2に含まれる発注点算出装置500の記憶部530に記憶される情報の一例を示す図である。
図12に示すように、出荷予測情報記憶部532は、例えば、商品の識別情報(商品ID)に対応付けて、卸売業者の識別情報(センターID)と、メーカー情報と、商品情報と、センター情報と、出荷予測情報と、を含むことができる。
【0104】
メーカー情報は、上記商品IDにより識別される商品を製造する製造業者に関する情報であり、例えば、メーカーリードタイム(卸売業者が製造業者に商品を発注してから製造業者からこの商品を入荷するまでにかかる時間)、及び、休配日に関する情報を含むことができる。
【0105】
商品情報は、上記商品IDにより識別される商品に関するロット数を示す情報である。
【0106】
センター情報は、上記商品IDにより識別される商品に関する卸売業者の休配日を示す情報等を含むことができる。
【0107】
出荷予測情報は、予測装置100から取得される情報等を含むことができる。出荷予測情報は、例えば、上記商品IDにより識別される商品が、対象日(1日後)に卸売業者から小売業者に出荷される数(予測装置100により予測された商品の出荷数)、及び、その出荷数の標準偏差等を記憶することができる。
【0108】
提供情報記憶部534は、計算部524により算出された商品に関する発注点等を記憶することができる。
【0109】
5.発注点算出システムの動作
図13は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により行われる全体的な動作の一例を示すフロー図である。
【0110】
ここでは、対象日としての2020年6月1日に卸売業者における商品Pに関する発注点を算出する場合に、発注点算出装置500により行われる動作について説明する。
【0111】
まず、ST802において、発注点算出装置500は、予測装置100により予測された、対象日である2020年6月1日より前の日の商品Pの出荷数(例えば
図12における「1日後出荷数」)を取得することができる。
【0112】
次に、ST804において、発注点算出装置500は、ST802にて取得した対象日より前の日の商品Pの出荷数を用いて、在庫数及び欠品回数を最小化させる最適化計算を実行することにより、最適なパラメータを算出することができる。発注点算出装置500は、前記パラメータを用いて、対象日における商品Pに対する発注点を算出することができる。なお、最適化計算の詳細については、後に
図14及び
図15を参照して説明する。
【0113】
最後に、ST806において、発注点算出装置500は、ST804にて算出した発注点を卸システム300に送信することができる。
【0114】
次に、ST804において発注点算出装置500により行われる動作の具体例について、
図14及び
図15を参照して説明する。
図14は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により行われる最適化計算の一例を示すフロー図である。
図15は、
図10に示した発注点算出システム2に含まれる発注点算出装置500により最適化計算の際に行われるシミュレーションの一例を示すフロー図である。
【0115】
図14を参照すると、ST902において、発注点算出装置500は、最適パラメータを計算するための期間のデータを取得することができる。ここでは、上述したように、対象日は2020年6月1日であるため、発注点算出装置500は、この対象日より前の任意の期間、例えば、2020年2月1日~同年5月31日という4ヶ月の期間のデータを取得することができる(なお、2月1日より前のデータを取得してもよい)。この4ヶ月の期間のデータは、例えば、この期間に含まれる各日(各参照日)について、卸売業者における商品Pの在庫数及びこの卸売業者から小売業者に出荷された商品Pの数を含むことができる。このデータは、発注点算出装置500が、卸システム300からネットワーク400を介して受信可能なものである。
【0116】
次に、ST904において、発注点算出装置500は、複数のパラメータの候補を生成することができる。
【0117】
一実施形態では、卸売業者における商品Pの出荷数をガウス分布でモデリングする。平均及び分散が未知であるため、その平均及び分散の事前分布としてガウス-ガンマ分布を仮定する。この事前分布に対して過去の商品Pの出荷数を用いてベイズ更新を行うことにより得られる予測分布の分散及び標準偏差を求める。
【0118】
例えば、上記4ヵ月の期間のうち、任意の期間(ここでは、例えば、5月1日~5月31日)を、シミュレーションの対象とされる期間(以下「シミュレーション期間」という。)とすることができる。まず、シミュレーション期間に含まれる各々の日に対応する標準偏差が以下のように計算される。
【0119】
具体的には、平均及び分散が未知であるガウス分布の分散は、以下のように求められる。
ここでは、
と定める。
シミュレーション期間のうち、例えば5月1日に対応する標準偏差を算出する場合(過去が2020年2月1日~同年4月30日という3ヶ月の期間のデータの場合)、過去の出荷の回数とは上記3か月の期間に商品Pが出荷された回数を指す。商品Pが出荷された回数は、商品Pの出荷が発生した日数に一致し、出荷数を意味しない。上記3か月の期間において2020年2月1日及び、同年2月2日、及び同年2月3日のみ出荷を行なった場合は、nは3となる。
【0120】
更にここでは
と定める。上記3か月の期間において2020年2月1日及び、同年2月2日、及び同年2月3日のみ出荷を行なった場合、1回目の出荷日は2020年2月1日となる。すなわち、d
1は2020年2月1日を表し、2回目の出荷日であるd
2は2020年2月2日を表し、d
3は2020年2月3日を指す。ここで2020年2月1日(すなわちd
1)に出荷した商品Pの数が10であった場合、s
1は10である。
【0121】
この場合、n及び、以下にて算出される値bを用いて
分散であるσ
2は以下の通り算出することができる。
また、標準偏差σは分散σ
2の平方根を計算することで算出できる。
【0122】
このように、シミュレーション期間の初日である5月1日に対応する標準偏差は、2月1日~4月30日までのデータを用いて、上記のように計算され得る。さらに、シミュレーション期間に含まれる5月2日に対応する標準偏差は、2月1日~5月1日までのデータを用いて、上記のように計算され、シミュレーション期間の最終日である5月31日に対応する標準偏差は、2月1日~5月30日までのデータを用いて、上記のように計算され得る。このように、シミュレーション期間に含まれる各日に対応する標準偏差は、2月1日~当該日の前日までのデータを用いて、同様に計算され得る。
【0123】
その上で、シミュレーション期間に含まれる各々の日のx%の確率で指定した値よりも小さくなる商品Pの出荷数(=発注点)は、当該日の出荷数(予測装置100により当該日を基準として過去1週間分のデータを用いてST706において予測された当該日の出荷数)+「パラメータ」×当該日に対応する標準偏差、により算出され得る。例えば、x=95%の信頼区間の計算を行う場合には、パラメータとして1.64が使用され得る。同様に、x%を変化させることにより、そのように変化させたxに対応したパラメータが得られる。
【0124】
一実施形態では、ST904において、発注点算出装置500は、1から10まで0.01で刻まれた数値(1、1.01、1.02、…、9.98、9.99、10)を、複数のパラメータの候補として使用することができる。
【0125】
次に、発注点算出装置500は、上記複数のパラメータの各々について、後述するST906~ST910を実行することができる。ここでは説明を簡単にするために、上記複数のパラメータの総数がNであると仮定する。この場合、発注点算出装置500は、パラメータ1~パラメータNの各々について、後述するST906~ST910を実行することができる。
【0126】
ST906において、発注点算出装置500は、上記複数のパラメータのうち対応するパラメータを用いて、後述するシミュレーションに用いられる発注点を算出することができる。例えば、パラメータ1に対応するST9061では、発注点算出装置500は、パラメータ1を用いて、シミュレーション期間(ここでは、例えば5月1日~5月31日)に含まれる各々の日の発注点を算出することができる。同様に、パラメータNに対応するST906Nでは、発注点算出装置500は、パラメータNを用いて、シミュレーション期間(ここでは、例えば5月1日~5月31日)に含まれる各々の日の発注点を算出することができる。
【0127】
発注点は、上述したように、シミュレーション期間に含まれる各々の日の出荷数(予測装置100により当該日を基準として過去1週間分のデータを用いてST706において予測された当該日の出荷数)+「パラメータ」×当該日に対応する標準偏差、により算出される。
具体的には、例えば、シミュレーション期間の初日である5月1日の発注点は、5月1日の商品の出荷数(5月1日を基準とした過去1週間分(4月25日~4月30日)のデータを用いて予測装置100によりST706において予測された5月1日の出荷数)+パラメータ×5月1日に対応する標準偏差、により算出され得る。また、シミュレーション期間に含まれる5月2日の発注点は、5月2日の商品の出荷数(5月2日を基準とした過去1週間分のデータを用いて予測装置100によりST706において予測された出荷数)+パラメータ×5月2日に対応する標準偏差、により算出され得る。同様に、シミュレーション期間の最終日である5月31日の発注点は、5月31日の商品の出荷数(5月31日を基準とした過去1週間分のデータを用いて予測装置100によりST706において予測された出荷数)+パラメータ×5月31日に対応する標準偏差、により算出され得る。
【0128】
ST908
1~ST908
Nにおいて、発注点算出装置500は、それぞれ、ST906
1~ST906
Nにて算出されたシミュレーション期間に含まれる各々の日の発注点を用いて、シミュレーションを実行することができる。このシミュレーションについては、
図15を参照して後述する。
【0129】
ST9101~ST910Nにおいて、発注点算出装置500は、それぞれ、ST9081におけるシミュレーション~ST908Nにおけるシミュレーションにて得られた残在庫及び欠品回数を抽出することができる。
【0130】
最後に、ST912において、発注点算出装置500は、複数のパラメータの各々についてST9101~ST910Nにて得られた残在庫及び欠品回数を用いて、上記複数のパラメータのうち、基準値(α×「シミュレーション期間の最終日(5月31)の残在庫」+「シミュレーション期間(5月1日~5月31日)に発生した欠品の回数(欠品回数)」)が最小となるパラメータを最終的なパラメータとして抽出することができる。別言すれば、発注点算出装置500は、ST9081におけるシミュレーション~ST908Nにおけるシミュレーションのうち、基準値が最小となる特定シミュレーションにおいて用いられたパラメータを、最終的なパラメータとして抽出することができる。なお、αは、システム利用者が欠品回数と残在庫とのバランスを考慮して適宜決定可能な任意の数であり得る。
【0131】
さらに、発注点算出装置500は、このように抽出されたパラメータを用いて算出される対象日である6月1日の発注点(最終閾値)を、以下の数式により算出することができる。
「対象日である6月1日を基準とした過去1週間分(5月25日~5月31日)のデータに基づいて予測装置100によりST706において予測された6月1日の商品の出荷数」+「ST912において抽出されたパラメータ」×「6月1日に対応する標準偏差(2月1日~5月31日のデータに基づいて上記のとおり計算される標準偏差)」
【0132】
また、発注点算出装置500は、対象日である6月2日の発注点(最終閾値)を、以下の数式により算出することができる。
「対象日である6月2日を基準とした過去1週間分(5月26日~6月1日)のデータに基づいて予測装置100によりST706において予測された6月2日の商品の出荷数」+「ST912において抽出されたパラメータ」×「6月2日に対応する標準偏差(2月1日~6月1日のデータに基づいて上記のとおり計算される標準偏差)」
【0133】
さらに、発注点算出装置500は、対象日である6月3日以降の発注点についても、同様に算出することができる。
【0134】
卸売業者における商品Pの欠品を減少させるためには、卸売業者における商品Pの在庫の数を増加させる必要がある。しかし、商品Pの在庫の数を増加させ過ぎると、商品Pの廃棄数が増加することに繋がる可能性が高くなる。そのため、ST912において、発注点算出装置500は、「α×シミュレーション期間の最終日の残在庫+シミュレーション期間に発生した欠品の回数(欠品回数)」を最小化させるパラメータを抽出することにより、残在庫及び欠品回数を最小化させるような、パラメータ、ひいては、発注点を選択することができる。
【0135】
なお、発注点算出装置500は、ST912において、商品Pの発注回数を加えて、「α×シミュレーション期間の最終日の残在庫+β×シミュレーション期間に発生した欠品の回数(欠品回数)+シミュレーション期間に発生した発注の回数(発注回数)」を最適化するパラメータ、ひいては、発注点を選択することも可能である。なお、α及びβは、システム利用者が欠品回数と残在庫と発注回数とのバランスを考慮して適宜決定可能な任意の数であり得る。
【0136】
次に、ST908において行われるシミュレーションの具体例について、
図15を参照して説明する。なお、発注点算出装置500は、後述するST1002~ST1024における処理を、上述したST904(
図14)において抽出された複数のパラメータの各々について実行することができる。
【0137】
まず、ST1002において、発注点算出装置500は、シミュレーション期間(ここでは、上述したように2020年5月1日~同年5月31日)の初日(同年5月1日)の在庫数及び出荷数を取得することができる。
【0138】
ST1004において、発注点算出装置500は、上記在庫数(ST1002で取得された5月1日の在庫数)が上記出荷数(ST1002で取得された5月1日の出荷数)を下回っているかを判定することができる。上記在庫数が上記出荷数を下回っていると判定した場合には、発注点算出装置500は、ST1006において、欠品回数を1つ増加させ、在庫数を0に更新することができる。一方、上記在庫数が上記出荷数を下回っていないと判定した場合には、発注点算出装置500は、ST1008において、「在庫数-出荷数」を新たな在庫数として更新することができる。ST1006及びST1008の後、処理はST1010に移行する。
【0139】
ST1010において、発注点算出装置500は、在庫数が5月1日の発注点を下回っているかを判定することができる。ここで、5月1日の発注点は、上述したように、ST906において、上記複数のパラメータのうち対応するパラメータを用いて算出されたものであり得る。例えば、
図15に示す処理が、パラメータNについて行われている場合には、ST906
Nにおいて、パラメータNを用いて算出された5月1日の発注点であり得る。
【0140】
在庫数が5月1日の発注点を下回っていると判定した場合には、発注点算出装置500は、ST1012において「5月1日の発注点-在庫数(更新された在庫数)」を入荷量として計算することができる。一方、在庫数が5月1日の発注点を下回っていないと判定した場合には、発注点算出装置500は、ST1014において、入荷量を0に設定することができる。ST1012及びST1014の後、処理はST1016に移行する。
【0141】
ST1016において、発注点算出装置500は、翌日(ここでは2020年5月2日)のデータが存在するかを判定することができる。翌日(5月2日)のデータが存在すると判定した場合には、発注点算出装置500は、ST1018において、「在庫数(更新された在庫数)+入荷量」を翌日(5月2日)の在庫数として設定することができる。ST1018の後、処理はST1022に移行する。
【0142】
一方、翌日のデータが存在しないと判定した場合には、発注点算出装置500は、ST1020において、在庫数(更新された在庫数)をシミュレーション期間の最終日の残在庫として設定することができる。発注点算出装置500は、シミュレーション期間の最終日の残在庫及びシミュレーション期間に発生した欠品の回数(欠品回数)を対応するパラメータについての出力データとして用いることができる(この後、上述したST910に戻ることになる)。
【0143】
ST1022において、発注点算出装置500は、シミュレーション期間の2日目である5月2日の出荷数を取得し、翌日(5月2日)の在庫数(ST1018で設定された「翌日の在庫数」)を、期間の2日目である5月2日の在庫数として設定することができる。
【0144】
ST1024において、発注点算出装置500は、期間の2日目(5月2日)についても、上述したST1004~ST1020を同様に実行することができる。この場合に、ST1010及びST1012において用いられる発注点は、5月2日の発注点である。5月2日の発注点は、上述したように、ST906において、上記複数のパラメータのうち対応するパラメータを用いて算出されたものであり得る。
【0145】
さらに、発注点算出装置500は、期間の3日目(2020年5月3日)~期間の最終日(2020年5月31日)まで同様の処理を実行することができる。この結果、最終的には、ST1020において、発注点算出装置500は、上述したように、シミュレーション期間の最終日(5月31日)の残在庫及びシミュレーション期間(5月1日~5月31日)に発生した欠品の回数(欠品回数)を対応するパラメータについての出力データとして用いることができる(この後、上述したST910に戻ることになる)。
【0146】
以上のように、本件出願に開示された発注点算出装置500によれば、商品の出荷数が対象日に信頼区間に収まる複数の確率の各々に対応する複数のパラメータを用意し、各パラメータを用いたシミュレーションを実行してその商品の残在庫及び欠品回数を算出し、上記複数のパラメータのうち残在庫及び欠品回数を最小化するパラメータを用いてその商品に関する発注点(最終閾値)を算出する。これにより、より最適化されたその商品に関する発注点を取得することができる。したがって、この発注点を提供される卸売業者は、その商品の在庫数がその発注点(最終閾値)を下回ったときに、その商品を製造業者に発注することにより、その商品の在庫及び欠品回数をより効果的に抑えることができる。
【0147】
7.様々な態様
第1の態様に係る情報処理装置は、「少なくとも1つのプロセッサを具備し、製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する情報処理装置であって、前記少なくとも1つのプロセッサが、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる」ことができる。
【0148】
第2の態様に係る情報処理装置は、上記第1の態様において「前記少なくとも1つのプロセッサが、前記予測情報として、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数を出力する」することができる。
【0149】
第3の態様に係る情報処理装置は、上記第1の態様において「前記少なくとも1つのプロセッサが、前記予測情報として、前記卸売業者から前記小売業者に過去に出荷された前記商品の数の平均に対する、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数の変化率を出力する」ことができる。
【0150】
第4の態様に係る情報処理装置は、上記第1の態様において「前記少なくとも1つのプロセッサが、前記対象日として複数の対象日を用い、前記予測情報として、前記複数の対象日の各々に前記卸売業者から前記小売業者に出荷される前記商品の数を出力する」ことができる。
【0151】
第5の態様に係る情報処理装置は、上記第1の態様において「前記少なくとも1つのプロセッサが、前記対象日として複数の対象日を用い、前記予測情報として、前記複数の対象日のすべてにおいて前記卸売業者から前記小売業者に出荷される前記商品の数の合計を出力する」ことができる。
【0152】
第6の態様に係る情報処理装置は、上記第1の態様から上記第5の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、前記商品のカテゴリと、特定日より前の過去少なくとも7日間のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、前記特定日に前記卸売業者から前記小売業者に出荷された前記商品の数と、を教師データとして用いた学習を実行することにより、前記学習モデルを生成する」ことができる。
【0153】
第7の態様に係る情報処理装置は、上記第6の態様において「前記少なくとも1つのプロセッサが、勾配ブースティング木、線形回帰又はニューラルネットワークを用いた教師あり学習を実行することにより、前記学習モデルを生成する」ことができる。
【0154】
第8の態様に係る情報処理装置は、上記第2の態様において「前記少なくとも1つのプロセッサが、前記対象日より前の複数の過去の参照日の各々について、前記卸売業者から前記小売業者に出荷された前記商品の数を用いて標準偏差を取得し、複数のパラメータの各々について、該パラメータ、前記予測情報として出力された、各参照日に前記卸売業者から前記小売業者に出荷される前記商品の数、及び、該参照日について取得された前記標準偏差を用いて、前記卸売業者における該参照日の前記商品の在庫数に対する閾値であって、該在庫数が該閾値を下回った場合に前記製造業者に対して前記商品の発注を行うために用いられる閾値を各参照日について取得し、前記複数のパラメータの各々について、各参照日について取得された前記閾値を用いて、前記複数の過去の参照日の全体にわたって、シミュレーションを実行することにより、前記複数の過去の参照日のうちの最終日での前記卸売業者における前記商品の在庫数、及び、前記複数の過去の参照日にわたって前記卸売業者において欠品が生ずる回数を取得し、前記シミュレーションのうち、前記最終日での前記卸売業者における前記商品の在庫数及び前記回数に基づいて算出された基準値が最小となる特定シミュレーションにおいて用いられた前記パラメータを、最終的なパラメータとして決定し、該最終的なパラメータと、前記予測情報として出力された前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数と、前記対象日について取得される標準偏差と、を用いて、前記卸売業者における前記対象日の前記商品の在庫数に対する最終閾値であって、該在庫数が該最終閾値を下回った場合に前記製造業者に対して前記商品の発注を行うために用いられる最終閾値を計算する」ことができる。
【0155】
第9の態様に係る情報処理装置は、上記第8の態様において「前記少なくとも1つのプロセッサが、α×前記最終日での前記卸売業者における前記商品の在庫数+前記回数という数式に従って前記基準値を算出する」ことができる。
【0156】
第10の態様に係る情報処理装置は、上記第9の態様において「前記少なくとも1つのプロセッサが、各シミュレーションにおいて、前記複数の過去の参照日の各々について、当該参照日での前記卸売業者における前記商品の在庫数が前記卸売業者から前記小売業者に出荷された前記商品の数を下回っている場合に、前記卸売業者において欠品が生ずる回数を1つ増加させ、0を当該参照日での前記卸売業者における前記商品の在庫数として更新し、当該参照日での前記卸売業者における前記商品の在庫数が前記卸売業者から前記小売業者に出荷された前記商品の数以上である場合に、該参照日での前記卸売業者における前記商品の在庫数から、前記卸売業者から前記小売業者に出荷された前記商品の数を減じた数を、当該参照日での前記卸売業者における前記商品の在庫数として更新し、更新された前記卸売業者における前記商品の在庫数が、該シミュレーションに対応する前記閾値を下回っている場合に、更新された前記卸売業者における前記商品の在庫数と前記閾値との差を、前記卸売業者における前記商品の入荷予定数とし、更新された前記卸売業者における前記商品の在庫数が、該シミュレーションに対応する前記閾値以上である場合に、0を前記卸売業者における前記商品の入荷予定数とし、更新された前記卸売業者における前記商品の在庫数と前記商品の入荷予定数とを加えた数を、当該参照日の翌日での前記卸売業者における前記商品の在庫数とする、という処理を、古い過去の参照日から新しい過去の参照日に向かって順次実行する」ことができる。
【0157】
第11の態様に係る情報処理装置は、上記第1の態様から上記第10の態様のいずれかにおいて「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」ことができる。
【0158】
第12の態様に係る方法は、「製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、前記少なくとも1つのプロセッサが、前記命令を実行することにより、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる」ことができる。
【0159】
第13の態様に係る方法は、上記第12の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」ことができる。
【0160】
第14の態様に係るコンピュータプログラムは、「製造業者から商品を入荷して小売業者に出荷する卸売業者に関連して用いられ、対象日に該卸売業者から前記小売業者に出荷される前記商品の数に関する情報を生成する、少なくとも1つのプロセッサにより実行されることにより、前記商品について、該商品のカテゴリと、前記対象日の1日前から7日前のそれぞれにおいて前記卸売業者から前記小売業者に出荷された前記商品の数と、前記小売業者における前記商品の1日あたりの販売数の平均である平均販売数で前記対象日の1日前の前記商品の在庫数を割った値である在庫日数、又は、前記商品の前記平均販売数と、を入力情報として取得し、教師あり学習を実行することにより生成された学習モデルに前記入力情報を入力することにより、前記対象日に前記卸売業者から前記小売業者に出荷される前記商品の数に関する予測情報を前記学習モデルから出力させる、ように前記少なくとも1つのプロセッサを機能させる」ことができる。
【0161】
第15の態様に係るコンピュータプログラムは、上記第14の態様において「前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む」ことができる。
【0162】
以上のように、様々な態様によれば、卸売業者から小売業者に出荷される商品の数を予測する、情報処理装置、方法及びコンピュータプログラムを提供することができる。
【符号の説明】
【0163】
1 予測システム
2 発注点算出システム
100 予測装置
110 通信部
120 制御部
122 取得部
124 生成部
126 予測部
128 提供部
130 記憶部
132 小売情報記憶部
134 卸情報記憶部
136 モデル情報記憶部
138 提供情報記憶部
200 小売システム
300 卸システム
400 ネットワーク