IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立物流の特許一覧

特許7406447計算機システム及びアイテムの需要予測方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】計算機システム及びアイテムの需要予測方法
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20231220BHJP
【FI】
G06Q10/04
【請求項の数】 10
(21)【出願番号】P 2020080764
(22)【出願日】2020-04-30
(65)【公開番号】P2021174475
(43)【公開日】2021-11-01
【審査請求日】2022-12-21
(73)【特許権者】
【識別番号】000153546
【氏名又は名称】ロジスティード株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】陳 成
(72)【発明者】
【氏名】尾白 大知
(72)【発明者】
【氏名】平山 淳一
(72)【発明者】
【氏名】荒 宏視
【審査官】岡北 有平
(56)【参考文献】
【文献】特開2004-157625(JP,A)
【文献】特開2008-123371(JP,A)
【文献】特開2013-191099(JP,A)
【文献】特開2016-146037(JP,A)
【文献】国際公開第2019/097694(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
少なくとも一つの計算機を備え、予測期間におけるアイテムの需要を予測する計算機システムであって、
複数のアイテムの各々の第1単位期間あたりの出荷に関する履歴を格納する履歴情報と、前記アイテムの需要を予測するための予測モデルの定義情報と、を格納する記憶部と、
第1アイテムの前記履歴及び前記第1アイテムと関連性を有する第2アイテムの前記履歴を用いて、前記予測期間の一部であって、前記第1アイテムの出荷量が閾値より大きくなる期間である繁忙期を算出する繁忙期算出部と、
前記予測モデルの定義情報、前記第1アイテムの前記履歴、及び前記繁忙期に基づいて、前記予測期間の第2単位期間あたりの前記第1アイテムの予測出荷量を示す時系列データを需要予測情報として生成する予測部と、
前記予測期間における、第3単位期間あたりのアイテムの出荷量が閾値より大きくなるピークの発生回数の分布であるピーク分布を算出するピーク分布算出部と、
を備え
前記ピーク分布算出部は、
前記第1アイテムの前記履歴を用いて、第1ピーク分布を算出し、
前記第2アイテムの前記履歴を用いて、第2ピーク分布を算出し、
前記繁忙期算出部は、
前記第1ピーク分布及び前記第2ピーク分布に基づいて、混合ピーク分布を算出し、
前記混合ピーク分布に基づいて、前記繁忙期を算出し、
前記予測部は、
前記予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記需要予測情報を生成し、
前記第2ピーク分布を用いて、前記繁忙期に含まれる前記時系列データを補正することによって前記需要予測情報を更新し、
前記更新された需要予測情報を出力することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記繁忙期算出部は、前記混合ピーク分布を参照し、前記ピークの発生回数が繁忙期閾値より大きくなる連続区間を、前記繁忙期として算出することを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記繁忙期算出部は、前記混合ピーク分布を用いて算出される統計値に基づいて、前記繁忙期閾値を算出することを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
更新前の前記需要予測情報、更新後の前記需要予測情報、及び前記繁忙期を補正根拠として提示する表示部を備えることを特徴とする計算機システム。
【請求項5】
請求項1に記載の計算機システムであって、
前記記憶部は、前記繁忙期の前記アイテムの需要を予測するための第1予測モデルの定義情報と、通常期間の前記アイテムの需要を予測するための第2予測モデルの定義情報とを格納し、
前記予測部は、
前記第1予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記繁忙期の前記時系列データを算出し、
前記第2予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記通常期間の前記時系列データを算出し、
前記繁忙期の前記時系列データ及び前記通常期間の前記時系列データを、前記需要予測情報として生成することを特徴とする計算機システム。
【請求項6】
少なくとも一つの計算機を含む計算機システムが実行する、予測期間におけるアイテムの需要予測方法であって、
前記計算機システムは、複数のアイテムの各々の第1単位期間あたりの出荷に関する履歴を格納する履歴情報と、前記アイテムの需要を予測するための予測モデルの定義情報と、を管理し、
前記アイテムの需要予測方法は、
前記計算機システムが、
第1アイテムの前記履歴及び前記第1アイテムと関連性を有する第2アイテムの前記履歴を用いて、前記予測期間の一部であって、前記第1アイテムの出荷量が閾値より大きくなる期間である繁忙期を算出する第1のステップと、
前記予測モデルの定義情報、前記第1アイテムの前記履歴、及び前記繁忙期に基づいて、前記予測期間の第2単位期間あたりの前記第1アイテムの予測出荷量を示す時系列データを需要予測情報として生成する第2のステップと、を含み、
前記第1のステップは、
前記第1アイテムの前記履歴を用いて、前記予測期間における、第3単位期間あたりの前記第1アイテムの出荷量が閾値より大きくなるピークの発生回数の分布である第1ピーク分布を算出する第3のステップと、
前記第2アイテムの前記履歴を用いて、前記予測期間における、前記第3単位期間あたりの前記第2アイテムの出荷量が閾値より大きくなるピークの発生回数の分布である第2ピーク分布を算出する第4のステップと、
前記第1ピーク分布及び前記第2ピーク分布に基づいて、混合ピーク分布を算出する第5のステップと、
前記混合ピーク分布に基づいて、前記繁忙期を算出する第6のステップと、を含み、
前記第2のステップは、
前記予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記需要予測情報を生成する第7のステップと、
前記第2ピーク分布を用いて、前記繁忙期に含まれる前記時系列データを補正することによって前記需要予測情報を更新する第8のステップと、
前記更新された需要予測情報を出力する第9のステップと、を含むことを特徴とするアイテムの需要予測方法。
【請求項7】
請求項6に記載のアイテムの需要予測方法であって、
前記第6のステップは、前記混合ピーク分布を参照し、前記第3単位期間あたりの出荷量が閾値より大きくなるピークの発生回数が繁忙期閾値より大きくなる連続区間を、前記繁忙期として算出するステップを含むことを特徴とするアイテムの需要予測方法。
【請求項8】
請求項7に記載のアイテムの需要予測方法であって、
前記第6のステップは、前記混合ピーク分布を用いて算出される統計値に基づいて、前記繁忙期閾値を算出するステップを含むことを特徴とするアイテムの需要予測方法。
【請求項9】
請求項6に記載のアイテムの需要予測方法であって、
更新前の前記需要予測情報、更新後の前記需要予測情報、及び前記繁忙期を補正根拠として提示するステップを含むことを特徴とするアイテムの需要予測方法。
【請求項10】
請求項6に記載のアイテムの需要予測方法であって、
前記計算機システムは、前記繁忙期の前記アイテムの需要を予測するための第1予測モデルの定義情報と、通常期間の前記アイテムの需要を予測するための第2予測モデルの定義情報とを管理し、
前記第7のステップは、
前記第1予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記繁忙期の前記時系列データを算出するステップと、
前記第2予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記通常期間の前記時系列データを算出するステップと、
前記繁忙期の前記時系列データ及び前記通常期間の前記時系列データを、前記需要予測情報として生成するステップと、を含むことを特徴とするアイテムの需要予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アイテムの需要を予測するシステム及び方法に関する。
【背景技術】
【0002】
取引対象のオブジェクトの需要を予測する方法としては、取引に関する履歴等の入力データを、線形回帰及びニューラルネットワーク等の数学的モデル(予測モデル)に入力して、将来のオブジェクトの需要を予測する方法が知られている(例えば、特許文献1を参照)。
【0003】
特許文献1には、「将来の需要量を予測する需要予測方法は、需要量の実測値と需要量の増減に影響を及ぼす外部要因である説明変数とに基づいて構築された予測モデルに過去の説明変数の実測値を入力することにより算出された過去の需要量の予測値と、過去の需要量の実測値との誤差を算出するステップと、算出された誤差が異常値に該当するか否かを判断するステップと、誤差が異常値に該当すると判断された場合、新たな説明変数を取得するステップと、取得された新たな説明変数に基づいて予測モデルを更新するステップと、更新された予測モデルを用いて新たに将来の需要量を予測するステップとを含む。」ことが記載されている。
【0004】
一般的に、予測モデルは、学習データを用いた機械学習によって生成される。ある特徴を示す学習データの量が少ない場合、当該特徴は予測モデルでは無視される。すなわち、当該特徴は予測モデルに反映されない。したがって、予測モデルは、繁忙期におけるオブジェクトの需要を正確に予測することが難しい。なぜならば、急激なオブジェクトの需要の変化はあまり発生せず、繁忙期のオブジェクトの需要に関する学習データの量は、通常期のオブジェクトの需要に関する学習データの量より十分少ないためである。これに対して、繁忙期の需要を予測する手法として、特許文献2に記載の技術が知られている。
【0005】
特許文献2には、「電力需要ピーク予測装置1は、過去日における時刻毎の電気使用量と過去日の特徴情報とが対応付けられた過去データを記憶する過去データ記憶部12と、予測対象日の特徴情報を取得する特徴情報取得部11と、予測対象日の特徴情報と同一又は類似する特徴情報を含む一以上の過去データを過去データ記憶部12から抽出する過去データ抽出部13と、過去データ抽出部13によって抽出された各過去データについて、電力需要ピーク値又は電力需要ピーク時間帯を特定するピーク特定部14と、各過去データの電力需要ピーク値又は電力需要ピーク時間帯に基づいて、予測対象日の電力需要ピーク値又は電力需要ピーク時間帯の予測値を算出する予測部15と、予測部15により算出された予測値を出力する出力部16と、を備える。」ことが記載されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-16632号公報
【文献】特開2015-139283号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献2に記載されているように、過去のデータを学習データとして用いた機械学習により生成された予測モデルは学習データに強く依存する。一方、物流等の多くのフィールドでは、需要のピークは周期的に発生するが、異なる時期にずれることがしばしばある。
【0008】
そのため、従来の予測モデルでは、学習データには表れない繁忙期のズレを考慮したアイテムの需要を予測することは難しい。なぜならば、従来の予測モデルでは繁忙期の発生時期は固定的に扱われているためである。
【0009】
本発明は、入力データから繁忙期を特定し、繁忙期及びその他の期間におけるアイテムの需要を高い精度で予測可能なシステム及び方法を実現することを目的とする。
【課題を解決するための手段】
【0010】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一つの計算機を備え、予測期間におけるアイテムの需要を予測する計算機システムであって、複数のアイテムの各々の第1単位期間あたりの出荷に関する履歴を格納する履歴情報と、前記アイテムの需要を予測するための予測モデルの定義情報と、を格納する記憶部と、第1アイテムの前記履歴及び前記第1アイテムと関連性を有する第2アイテムの前記履歴を用いて、前記予測期間の一部であって、前記第1アイテムの出荷量が閾値より大きくなる期間である繁忙期を算出する繁忙期算出部と、前記予測モデルの定義情報、前記第1アイテムの前記履歴、及び前記繁忙期に基づいて、前記予測期間の第2単位期間あたりの前記第1アイテムの予測出荷量を示す時系列データを需要予測情報として生成する予測部と、前記予測期間における、第3単位期間あたりのアイテムの出荷量が閾値より大きくなるピークの発生回数の分布であるピーク分布を算出するピーク分布算出部と、を備え、前記ピーク分布算出部は、前記第1アイテムの前記履歴を用いて、第1ピーク分布を算出し、前記第2アイテムの前記履歴を用いて、第2ピーク分布を算出し、前記繁忙期算出部は、前記第1ピーク分布及び前記第2ピーク分布に基づいて、混合ピーク分布を算出し、前記混合ピーク分布に基づいて、前記繁忙期を算出し、前記予測部は、前記予測モデルの定義情報及び前記第1アイテムの前記履歴を用いて、前記需要予測情報を生成し、前記第2ピーク分布を用いて、前記繁忙期に含まれる前記時系列データを補正することによって前記需要予測情報を更新し、前記更新された需要予測情報を出力する
【発明の効果】
【0011】
本発明によれば、アイテムの繁忙期を特定し、繁忙期を含む予測期間におけるアイテムの需要を高い精度で予測できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0012】
図1】実施例1の需要予測システムの構成の一例を示す図である。
図2】実施例1の出荷履歴管理情報のデータ構造の一例を示す図である。
図3】実施例1の計算機の機能部の詳細を説明する図である。
図4】実施例1の予測部が実行する処理の概要を説明するフローチャートである。
図5】実施例1の予測部が実行するピーク分布算出処理の一例を説明するフローチャートである。
図6A】実施例1のピーク分布情報のデータ構造の一例を示す図である。
図6B】実施例1のピーク分布情報のデータ構造の一例を示す図である。
図7A】実施例1のピーク分布を視覚化したグラフの一例を示す図である。
図7B】実施例1のピーク分布を視覚化したグラフの一例を示す図である。
図8】実施例1の予測部が実行する繁忙期算出処理の一例を説明するフローチャートである。
図9】実施例1の繁忙期情報のデータ構造の一例を示す図である。
図10】実施例1の予測部が実行する需要予測処理の一例を説明するフローチャートである。
図11】実施例1の需要予測情報のデータ構造の一例を示す図である。
図12】実施例1の予測部が実行する予測補正処理の一例を説明するフローチャートである。
図13】実施例1の表示部によって表示される需要予測画面の一例を示す図である。
図14】実施例1の表示部によって表示される補正根拠画面の一例を示す図である。
図15】実施例2の需要予測システムの構成の一例を示す図である。
図16】実施例2の計算機の機能部の詳細を説明する図である。
図17】実施例2の予測部が実行する需要予測処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例1】
【0014】
図1は、実施例1の需要予測システムの構成の一例を示す図である。
【0015】
需要予測システムは、少なくとも一つの計算機100から構成される計算機システムである。計算機100は、CPU110、IOインタフェース111、ネットワークインタフェース112、主記憶装置113、及び副記憶装置114を有する。各ハードウェアはバスを介して互いに接続される。
【0016】
CPU110は、主記憶装置113に格納されるプログラムを実行する。CPUがプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、CPUが当該機能部を実現するプログラムを実行していることを示す。
【0017】
IOインタフェース111は外部装置と接続するためのインタフェースである。計算機100は、IOインタフェース111を介して入力装置101及び出力装置102と接続する。入力装置101は、キーボード、マウス、及びタッチパネル等である。出力装置102は、ディスプレイ及びプリンタ等である。
【0018】
ネットワークインタフェース112は、ネットワーク103を介して外部装置と接続するためのインタフェースである。ネットワーク103は、WAN(Wide Area Network)及びLAN(Local Area Network)等である。ネットワーク103の接続形式は有線及び無線のいずれでもよい。
【0019】
主記憶装置113は、CPU110が実行するプログラム及びプログラムが使用するデータを格納する。また、主記憶装置113は、プログラムが一時的に使用するワークエリアを含む。主記憶装置113は、例えば、DRAM(Dynamic Random Access Memory)等である。
【0020】
主記憶装置113は、入力部120、予測部121、及び表示部122を実現するプログラムを格納する。なお、主記憶装置113は、OS(Operating System)等、図示しないプログラムを格納しているが、本実施例では省略している。
【0021】
入力部120は、入力装置101又はネットワーク103を介して、ユーザからの各種入力を受け付ける。予測部121は、予測期間におけるアイテムの需要を予測し、予測の結果を出力する。予測期間は、アイテムの需要を予測する時間範囲であり、例えば、年、月、及び週である。なお、予測期間はこれらに限定されない。予測期間は予め設定されているものとする。表示部122は、出力装置102を介して、ユーザに対して予測の結果等を提示する。なお、計算機100は、ネットワーク103を介して通信可能に接続されたユーザ端末からデータを受信することで、ユーザからの入力を受付け、かつ、出力装置102で出力すべき出力をユーザ端末に送信することで、ユーザ端末にデータを出力してもよい。
【0022】
副記憶装置114は、データを永続的に格納する。副記憶装置114は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等である。
【0023】
副記憶装置114は、出荷履歴管理情報130及び予測モデル管理情報131を格納する。なお、副記憶装置114には、アイテムの特性を管理する情報等、図示しない情報を格納しているが、本実施例では省略している。
【0024】
出荷履歴管理情報130は、過去のアイテムの出荷に関するデータ(出荷履歴)を格納する。出荷履歴には計測期間におけるアイテムの出荷量等が含まれる。計測期間は、例えば、日、週、及び月等である。なお、計測期間はこれらに限定されない。出荷履歴管理情報130のデータ構造については図2を用いて説明する。予測モデル管理情報131は、出荷履歴からアイテムの需要を予測する数学的モデル(予測モデル)の定義情報を格納する。予測モデルは、例えば、決定木及びニューラルネットワーク等である。なお、予測モデル管理情報131には、アイテムの種別及びアイテムのカテゴリ等、アイテムの特性毎に異なるモデルの定義情報が格納されてもよい。なお、本発明は、予測モデルの種別及び構造に限定されない。
【0025】
なお、需要予測システムは、複数の計算機100から構成されてもよい。この場合、複数の計算機100に機能部が分散して配置される。例えば、一つの計算機100に入力部120が配置され、一つの計算機100に予測部121が配置され、一つの計算機100に表示部122が配置される。
【0026】
なお、主記憶装置113に格納されるプログラム及びデータは副記憶装置114に格納されてもよい。この場合、CPU110は、副記憶装置114からプログラム及びデータを読み出し、主記憶装置113に格納する。
【0027】
図2は、実施例1の出荷履歴管理情報130のデータ構造の一例を示す図である。
【0028】
出荷履歴管理情報130は、複数のアイテムの出荷履歴を格納する。具体的には、出荷履歴管理情報130は、アイテムID201、出荷日202、及び出荷量203から構成されるエントリを格納する。一つのエントリが一つの出荷履歴に対応する。図2に示す出荷履歴管理情報130には、計測期間が一日(第1単位期間)である出荷履歴が格納される。
【0029】
アイテムID201は、アイテムの識別情報を格納するフィールドである。出荷日202は、アイテムの出荷日を格納するフィールドである。出荷量203は、アイテムの出荷量を格納するフィールドである。
【0030】
図3は、実施例1の計算機100の機能部の詳細を説明する図である。
【0031】
入力部120は、対象アイテムの需要予測の出力要求を受け付ける。出力要求には、対象アイテムの識別情報が含まれる。
【0032】
入力部120は、対象アイテムの特性に基づいて、対象アイテムと関連性を有する関連アイテムを特定する。例えば、カテゴリ、保管場所(倉庫)、製造メーカ、及び出荷先の少なくともいずれかが対象アイテムと類似又は同一のアイテムが関連アイテムとして特定される。なお、アイテムの関連性の観点はこれらに限定されない。なお、特定される関連アイテムの数は一つでもよいし、二つ以上でもよい。
【0033】
入力部120は、出荷履歴管理情報130から、任意の処理期間の対象アイテムの出荷履歴群から構成されるデータセットと、任意の処理期間の関連アイテムの出荷履歴群から構成されるデータセットとを読み出す。入力部120は、読み出したデータセットを格納する出荷履歴情報310、311を予測部121に入力する。出荷履歴情報310には、複数のデータセット(例えば、三年分の対象アイテムの出荷履歴群)が格納され、出荷履歴情報311には、複数のデータセット(例えば、三年分の関連アイテムの出荷履歴群)が格納される。処理期間は、予測部121が使用する出荷履歴の時間範囲であり、例えば、年、月、及び週である。なお、本発明は処理期間に限定されない。処理期間は予め設定されているものとする。本実施例では、処理期間及び予測期間は同一であるものとする。
【0034】
予測部121は、対象アイテムの出荷履歴情報310及び関連アイテムの出荷履歴情報311を用いて、予測期間における対象アイテムの需要(出荷量)を予測し、予測結果を表示部122に出力する。
【0035】
ここで、予測部121の詳細について説明する。予測部121は、ピーク分布算出部300、繁忙期算出部301、需要予測部302、及び補正部303を含む。
【0036】
ピーク分布算出部300は、対象アイテムの出荷履歴情報310を用いて、対象アイテムのピーク分布を算出し、算出結果をピーク分布情報320として出力する。また、ピーク分布算出部300は、関連アイテムの出荷履歴情報311を用いて、関連アイテムのピーク分布を算出し、算出結果をピーク分布情報321として出力する。
【0037】
ここで、ピーク分布は、処理期間におけるピークの発生回数の分布である。ピーク分布はアイテムの需要の傾向を示す情報として用いることができる。ピークは、単位期間あたりのアイテムの出荷量が需要閾値より大きい状態を表す。単位期間は、処理期間より小さく、かつ、計測期間より大きい期間であって、例えば、月及び週である。なお、単位期間はこれらに限定されない。単位期間は予め設定されているものとする。
【0038】
繁忙期算出部301は、ピーク分布情報320、321を用いて繁忙期を算出し、算出結果を繁忙期情報330として出力する。
【0039】
需要予測部302は、予測モデル管理情報131及び対象アイテムの出荷履歴情報310に基づいて、予測期間における対象アイテムの需要(予測出荷量)を予測し、予測結果を需要予測情報340として出力する。
【0040】
補正部303は、ピーク分布情報321及び繁忙期情報330を用いて、需要予測情報340に格納される対象アイテムの予測出荷量を修正し、修正結果を需要予測情報350として出力する。
【0041】
表示部122は、予測部121から出力された需要予測情報350に基づいて、対象アイテムの需要予測に関する情報を提示する。
【0042】
なお、計算機100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、需要予測部302が補正部303の機能を有してもよい。
【0043】
まず、図4から図12を用いて予測部121が実行する処理について説明する。
【0044】
図4は、実施例1の予測部121が実行する処理の概要を説明するフローチャートである。
【0045】
予測部121は、入力部120から出荷履歴情報310、311が入力された場合、処理を開始する。なお、予測部121は、入力された出荷履歴情報310、311をワークエリアに格納する。まず、予測部121は、ピーク分布算出処理を実行する(ステップS101)。当該処理によって、ピーク分布情報320、321が生成される。ピーク分布算出処理の詳細は図5を用いて説明する。
【0046】
次に、予測部121は、繁忙期算出処理を実行する(ステップS102)。当該処理によって、繁忙期情報330が生成される。繁忙期算出処理の詳細は図8を用いて説明する。
【0047】
次に、予測部121は、需要予測処理を実行する(ステップS103)。当該処理によって、需要予測情報340が生成される。需要予測処理の詳細は図10を用いて説明する。
【0048】
次に、予測部121は、予測補正処理を実行する(ステップS104)。当該処理によって、需要予測情報350が生成される。予測補正処理の詳細は図12を用いて説明する。
【0049】
次に、予測部121は、需要予測情報350を表示部122に出力し(ステップS105)、処理を終了する。
【0050】
図5は、実施例1の予測部121が実行するピーク分布算出処理の一例を説明するフローチャートである。図6A及び図6Bは、実施例1のピーク分布情報のデータ構造の一例を示す図である。図7A及び図7Bは、実施例1のピーク分布を視覚化したグラフの一例を示す図である。
【0051】
ピーク分布算出部300は、ワークエリアから対象アイテムの出荷履歴情報310を取得する(ステップS201)。
【0052】
次に、ピーク分布算出部300は、出荷履歴情報310に含まれる各データセットの出荷履歴群を単位期間毎に集計することによって需要時系列データを生成する(ステップS202)。
【0053】
例えば、ピーク分布算出部300は、出荷日の時系列にしたがって、出荷履歴情報310に含まれる、日単位の出荷量を格納する出荷履歴を週単位に集計することによって需要時系列データを生成する。需要時系列データには処理期間における時系列の順番を示す識別情報が付与される。処理期間が一年である場合、需要時系列データには1から52までの番号が識別情報として付与される。データセット毎に需要時系列データが生成される。
【0054】
次に、ピーク分布算出部300は、複数のデータセットの中から一つのデータセットを選択する(ステップS203)。ここでは、時系列順にデータセットが選択されるものとする。
【0055】
次に、ピーク分布算出部300は、選択されたデータセットの需要時系列データに基づいて、処理期間におけるピークを特定する(ステップS204)。
【0056】
具体的には、ピーク分布算出部300は、需要時系列データに含まれる出荷履歴の出荷量の合計値(一週間のアイテムの出荷量)と需要閾値とを比較し、出荷量の合計値が需要閾値より大きい場合、ピークの発生と判定する。ピーク分布算出部300は、ピークとして特定された需要時系列データの識別情報から構成される集計データをワークエリアに格納する。
【0057】
需要閾値は、例えば、アイテムの平均出荷量及びアイテムの出荷量標準偏差の合計である。ただし、需要閾値は前述のものに限定されない。
【0058】
次に、ピーク分布算出部300は、全てのデータセットの処理が完了したか否かを判定する(ステップS205)。
【0059】
全てのデータセットの処理が完了していない場合、ピーク分布算出部300は、ステップS203に戻り、同様の処理を実行する。
【0060】
全てのデータセットの処理が完了した場合、ピーク分布算出部300は、ワークエリアに格納される集計データに基づいて、処理期間におけるピークの発生回数の分布(ピーク分布)を算出し(ステップS206)、ピーク分布情報320として出力する。ピーク分布情報320はワークエリアに格納される。
【0061】
例えば、図6Aに示すようなピーク分布情報320が出力される。ピーク分布情報320は、時系列番号601及びピーク発生回数602から構成されるエントリを格納する。一つのエントリが、一つの単位期間のピークの発生回数の算出結果に対応する。時系列番号601は、需要時系列データの識別情報を格納するフィールドである。ピーク発生回数602は、ピークの発生回数を格納するフィールドである。
【0062】
ピーク分布情報320は、図7Aに示すようなグラフとして表すことができる。図7Aの横軸は処理期間の時系列を表し、縦軸はピークの発生回数を表す。
【0063】
次に、ピーク分布算出部300は、ワークエリアから関連アイテムの出荷履歴情報311を取得する(ステップS207)。
【0064】
次に、ピーク分布算出部300は、出荷履歴情報311に含まれる各データセットの出荷履歴群を単位期間毎に集計することによって需要時系列データを生成する(ステップS208)。ステップS208の処理はステップS202の処理と同一である。
【0065】
次に、ピーク分布算出部300は、複数のデータセットの中から一つのデータセットを選択する(ステップS209)。ここでは、時系列順にデータセットが選択されるものとする。
【0066】
次に、ピーク分布算出部300は、選択されたデータセットの需要時系列データに基づいて、処理期間におけるピークを特定する(ステップS210)。ステップS210の処理はステップS204の処理と同一である。
【0067】
次に、ピーク分布算出部300は、全てのデータセットの処理が完了したか否かを判定する(ステップS211)。
【0068】
全てのデータセットの処理が完了していない場合、ピーク分布算出部300は、ステップS209に戻り、同様の処理を実行する。
【0069】
全てのデータセットの処理が完了した場合、ピーク分布算出部300は、ワークエリアに格納される集計データに基づいて、処理期間におけるピークの発生回数の分布(ピーク分布)を算出し(ステップS212)、ピーク分布情報321として出力する。ピーク分布情報321はワークエリアに格納される。
【0070】
例えば、図6Bに示すようなピーク分布情報321が出力される。ピーク分布情報321はピーク分布情報320と同一のデータ構造である。
【0071】
ピーク分布情報321は、図7Bに示すようなグラフとして表すことができる。図7Bの横軸は処理期間の時系列を表し、縦軸はピークの発生回数を表す。
【0072】
なお、関連アイテムが複数存在する場合、ピーク分布算出部300は、各関連アイテムについてステップS207からステップS211までの処理を実行し、各関連アイテムのピーク分布を算出する。また、ピーク分布算出部300は、各関連アイテムのピーク分布を重ね合わせた分布を、ピーク分布情報321として出力する。
【0073】
図8は、実施例1の予測部121が実行する繁忙期算出処理の一例を説明するフローチャートである。図9は、実施例1の繁忙期情報330のデータ構造の一例を示す図である。
【0074】
繁忙期算出部301は、ワークエリアから、対象アイテムのピーク分布情報320及び関連アイテムのピーク分布情報321を取得する(ステップS301)。
【0075】
次に、繁忙期算出部301は、ピーク分布情報320、321を用いて、混合ピーク分布を算出する(ステップS302)。
【0076】
例えば、繁忙期算出部301は、各ピーク分布を用いて、各単位期間のピークの発生回数の平均値を算出することによって、混合ピーク分布を算出する。なお、混合ピーク分布の算出方法は前述の方法に限定されない。
【0077】
次に、繁忙期算出部301は、混合ピーク分布に基づいて繁忙期閾値を算出する(ステップS303)。
【0078】
例えば、繁忙期算出部301は、混合ピーク分布におけるピークの発生回数の平均値を繁忙期閾値として算出する。なお、繁忙期閾値の算出方法は前述の方法に限定されない。
【0079】
次に、繁忙期算出部301は、混合ピーク分布及び繁忙期閾値に基づいて、処理期間における繁忙期を検索する(ステップS304)。
【0080】
具体的には、繁忙期算出部301は、混合ピーク分布において、ピークの発生回数が繁忙期閾値より大きく、かつ、時系列が連続する区間(需要時系列データの集合)を検索する。当該区間が繁忙期となる。繁忙期算出部301は、検索された区間及び識別情報から構成される検索データをワークエリアに格納する。複数の区間が検索された場合、複数の検索データがワークエリアに格納される。
【0081】
次に、繁忙期算出部301は、少なくとも一つの繁忙期が存在するか否かを判定する(ステップS305)。
【0082】
繁忙期が存在しない場合、繁忙期算出部301は繁忙期算出処理を終了する。
【0083】
少なくとも一つの繁忙期が存在する場合、繁忙期算出部301は、繁忙期情報330を生成する(ステップS306)。その後、繁忙期算出部301は繁忙期算出処理を終了する。
【0084】
例えば、図9に示すような繁忙期情報330が出力される。繁忙期情報330は、アイテムID901、繁忙期ID902、及び区間903から構成されるエントリを格納する。一つのエントリが、一つの繁忙期に対応する。アイテムID901は、対象アイテムの識別情報を格納するフィールドである。繁忙期ID902は、繁忙期の識別情報を格納するフィールドである。区間903は、繁忙期に対応する区間の情報を格納するフィールドである。区間903には、時系列の識別番号を用いて指定される区間の情報が格納される。
【0085】
対象アイテムと関連アイテムのピーク分布を用いることによって、関連アイテムの需要を考慮した対象アイテムの繁忙期を求めることができる。これによって、繁忙期の流動性を実現できる。
【0086】
図10は、実施例1の予測部121が実行する需要予測処理の一例を説明するフローチャートである。図11は、実施例1の需要予測情報340のデータ構造の一例を示す図である。
【0087】
需要予測部302は、ワークエリアから対象アイテムの出荷履歴情報310を取得する(ステップS401)。
【0088】
次に、需要予測部302は、出荷履歴情報310に含まれる出荷履歴を単位期間毎に集計することによって需要時系列データを生成する(ステップS402)。ステップS402の処理はステップS202の処理と同一である。
【0089】
次に、需要予測部302は、需要時系列データを用いて、予測モデルに入力する特徴量を算出する(ステップS403)。
【0090】
例えば、需要予測部302は、出荷の年、シーズン、及び週等を特徴量として算出する。なお、算出する特徴量の種別及び特徴量の算出方法に限定されない。
【0091】
次に、需要予測部302は、予測モデル管理情報131を取得し(ステップS404)、予測モデル管理情報131及び特徴量を用いて予測期間における対象アイテムの需要を予測する(ステップS405)。
【0092】
具体的には、需要予測部302は、予測モデル管理情報131にて定義される予測モデルを構築し、当該予測モデルに特徴量を入力することによって、対象アイテムの需要の予測結果を出力する。例えば、一週(第2単位期間)あたりの対象アイテムの予測出荷量を示す予測データが、週間隔で52個だけ出力される。複数の予測データは時系列データとして出力される。
【0093】
次に、需要予測部302は、予測結果に基づいて、需要予測情報340を生成し(ステップS406)、ワークエリアに格納する。
【0094】
例えば、図11に示すような需要予測情報340が生成される。需要予測情報340は、アイテムID1101、日付1102、出荷量1103から構成されるエントリを格納する。一つのエントリが、処理期間のある週の対象アイテムの予測出荷量を示す予測データに対応する。アイテムID1101は、対象アイテムの識別情報を格納するフィールドである。日付1102は、予測された週を特定する日時を格納するフィールドである。本実施例では週単位の予測出荷量が算出される。したがって、一週間のうちの特定の曜日の日付が日付1102に設定される。出荷量1103は、対象アイテムの予測出荷量を格納するフィールドである。
【0095】
図12は、実施例1の予測部121が実行する予測補正処理の一例を説明するフローチャートである。
【0096】
補正部303は、繁忙期が存在するか否かを判定する(ステップS501)。
【0097】
具体的には、補正部303は、ワークエリアに繁忙期情報330が格納されているか否かを判定する。ワークエリアに繁忙期情報330が格納されている場合、補正部303は繁忙期が存在すると判定する。
【0098】
繁忙期が存在しない場合、補正部303は予測補正処理を終了する。この場合、補正されていない需要予測情報340が表示部122に出力される。
【0099】
繁忙期が存在する場合、補正部303は、ワークエリアから需要予測情報340を取得する(ステップS502)。
【0100】
次に、補正部303は、ワークエリアから関連アイテムのピーク分布情報321を取得する(ステップS503)。
【0101】
次に、補正部303は、繁忙期及びピーク分布情報321に基づいて、需要予測情報340を更新する(ステップS504)。その後、補正部303は予測補正処理を終了する。具体的には、以下のような処理が実行される。
【0102】
(処理A1)補正部303は、繁忙期情報330にて管理される繁忙期の中から、対象の繁忙期を選択する。
【0103】
(処理A2)補正部303は、需要予測情報350から、日付1102が対象の繁忙期に含まれる予測データを特定する。
【0104】
(処理A3)補正部303は、ピーク分布情報321にて管理される関連アイテムのピーク分布における繁忙期のピークの発生回数に基づいて、特定された予測データの出荷量1103を補正する。例えば、補正部303は、繁忙期のピークの発生回数に応じて、出荷量1103の値を増加させる。増加量は任意に設定できる。なお、補正の方法はこれに限定されない。
【0105】
(処理A4)補正部303は、全ての繁忙期について処理が完了したか否かを判定する。全ての繁忙期について処理が完了していない場合、補正部303は、処理A1に戻り、同様の処理を実行する。全ての繁忙期について処理が完了した場合、補正部303は、繁忙期の予測データが補正された需要予測情報350をワークエリアに格納する。
【0106】
次に、図13及び図14を用いて、表示部122が実行する処理について説明する。
【0107】
図13は、実施例1の表示部122によって表示される需要予測画面1300の一例を示す図である。図14は、実施例1の表示部122によって表示される補正根拠画面1400の一例を示す図である。
【0108】
表示部122は、予測部121から、需要予測情報350とともに、需要予測情報340、繁忙期情報330、ピーク分布情報320、及び出荷履歴情報310を取得する。
【0109】
表示部122は、需要予測情報350、需要予測情報340、繁忙期情報330、ピーク分布情報321、及び出荷履歴情報310に基づいて、需要予測画面1300を表示するための表示情報を生成する。
【0110】
需要予測画面1300は、需要予測を提示するための画面であり、需要予測表示欄1310及び予測根拠表示ボタン1320を含む。
【0111】
需要予測表示欄1310は、対象アイテムの需要予測を示すグラフを表示する欄である。グラフの横軸は処理期間における予測データの時系列の識別情報を表し、縦軸は出荷量を表す。
【0112】
図13の需要予測表示欄1310には、複数の処理期間の需要予測を連結したグラフが表示されている。処理期間は一年であり、単位期間は一週である。この場合、処理期間は52個の単位期間に分割され、各単位期間には1から52までの識別情報が付与される。
【0113】
また、需要予測表示欄1310には、補正前の需要予測のグラフ(一点鎖線のグラフ)、補正後の需要予測のグラフ(実線のグラフ)、及び実際の需要のグラフ(点線のグラフ)が表示される。また、需要予測表示欄1310には、繁忙期を示す枠1330が表示される。
【0114】
予測根拠表示ボタン1320は、補正根拠画面1400を表示するためのボタンである。ユーザが予測根拠表示ボタン1320を操作した場合、補正根拠画面1400が表示される。
【0115】
表示部122は、需要予測情報350、需要予測情報340、及び繁忙期情報330に基づいて、補正根拠画面1400を表示するための表示情報を生成する。
【0116】
補正根拠画面1400は、需要予測の補正根拠を提示する画面であり、需要予測表示欄1410、ピーク分布表示欄1420、需要予測(補正後)表示欄1430を含む。
【0117】
需要予測表示欄1410は、対象アイテムの処理期間の需要予測を示すグラフを表示する欄である。需要予測表示欄1410は、需要予測情報340及び繁忙期情報330に基づいて表示される。グラフの横軸は処理期間における予測データの時系列の識別情報を表し、縦軸は出荷量を表す。需要予測表示欄1410のドット部分は繁忙期を示す。
【0118】
ピーク分布表示欄1420は、関連アイテムのピーク分布を示すグラフを表示する欄である。ピーク分布表示欄1420は、ピーク分布情報321及び繁忙期情報330に基づいて表示される。グラフの横軸は処理期間における需要時系列データの時系列の識別情報を表し、縦軸はピークの発生回数を表す。ピーク分布表示欄1420のドット部分は繁忙期を示す。
【0119】
需要予測(補正後)表示欄1430は、対象アイテムの処理期間の補正後の需要予測を示すグラフを表示する欄である。需要予測(補正後)表示欄1430は、需要予測情報350及び繁忙期情報330に基づいて表示される。グラフの横軸は処理期間における予測データの時系列の識別情報を表し、縦軸は出荷量を表す。需要予測(補正後)表示欄1430のドット部分は繁忙期を示す。また、需要予測(補正後)表示欄1430には、需要予測が補正された部分及び補正理由が表示される。
【0120】
実施例1によれば、需要予測システムは、関連アイテムのピーク分布(需要傾向)を用いて対象アイテムの繁忙期を特定し、また、関連アイテムのピーク分布(需要傾向)を用いて繁忙期の対象アイテムの需要の予測値を補正する。これによって、繁忙期を含む予測期間の対象アイテムの需要の予測精度を高めることができる。
【0121】
なお、予測部121は、複数のデータセットを用いてピーク分布を算出していたが、一つのデータセットを用いてピーク分布を算出してもよい。この場合、ピーク分布算出処理を以下のように変更すればよい。
【0122】
ステップS202では、ピーク分布算出部300は、一つのデータセットの出荷履歴群から需要時系列データを生成する。ステップS203では、ピーク分布算出部300は、複数の需要時系列データの中から一つの需要時系列データを選択する。
【0123】
ステップS204では、ピーク分布算出部300は日単位のピークを特定する。すなわち、一日の出荷量が需要閾値より大きい日をピークと特定する。ピーク分布算出部300は、時系列データの識別情報及びピークの数から構成される集計データをワークエリアに格納する。すなわち、一週間におけるピークの回数が集計データとして保存される。
【0124】
ステップS205では、ピーク分布算出部300は、全ての需要時系列データの処理が完了したか否かを判定する。全ての需要時系列データの処理が完了していない場合、ピーク分布算出部300はステップS203に戻り、全ての需要時系列データの処理が完了した場合、ピーク分布算出部300は、ステップS206に進む。関連アイテムについても同様の処理が実行される。
【実施例2】
【0125】
実施例2は、需要予測処理の内容が実施例1と異なる。以下、実施例1との差異を中心に実施例2について説明する。
【0126】
図15は、実施例2の需要予測システムの構成の一例を示す図である。
【0127】
需要予測システムは一つの計算機100から構成される。実施例2の計算機100のハードウェア構成は実施例1と同一である。実施例2の計算機100が有する機能部の構成は実施例1と同一である。実施例2の計算機100は、出荷履歴管理情報130、及び二つの予測モデル管理情報1500、1501を保持する。なお、出荷履歴管理情報130は、実施例1と同一である。
【0128】
予測モデル管理情報1500は、通常期間のアイテムの需要を予測するための予測モデルの定義情報を格納する。当該予測モデルは通常期間の出荷履歴を用いた学習処理によって生成される。予測モデル管理情報1501は、繁忙期のアイテムの需要を予測するための予測モデルの定義情報を格納する。当該モデルは繁忙期の出荷履歴を用いた学習処理によって生成される。
【0129】
図16は、実施例2の計算機100の機能部の詳細を説明する図である。
【0130】
実施例2の入力部120は実施例1の入力部120と同一である。
【0131】
実施例2の予測部121は、ピーク分布算出部300、繁忙期算出部301、及び需要予測部302を含む。
【0132】
実施例2のピーク分布算出部300及び繁忙期算出部301は、実施例1と同一の機能である。
【0133】
需要予測部302は、予測モデル管理情報1500、1501、繁忙期情報330、及び対象アイテムの出荷履歴情報310に基づいて、対象アイテムの需要を予測し、予測結果を需要予測情報340として出力する。
【0134】
表示部122は、予測部121から出力された需要予測情報340に基づいて、対象アイテムの需要予測に関する情報を提示する。
【0135】
実施例2の予測部121は、予測補正処理を実行しない点が実施例1と異なる。実施例2のピーク分布算出処理は実施例1と同一である。実施例2の繁忙期算出処理は実施例1と同一である。
【0136】
実施例2の需要予測処理は実施例1と異なる。図17は、実施例2の予測部121が実行する需要予測処理の一例を説明するフローチャートである。
【0137】
ステップS401からステップS403までの処理は実施例1と同一である。
【0138】
需要予測部302は、繁忙期が存在するか否かを判定する(ステップS451)。ステップS451の処理はステップS501の処理と同一である。
【0139】
繁忙期が存在する場合、需要予測部302は、予測モデル管理情報1500、1501を取得する(ステップS452)。
【0140】
需要予測部302は、予測モデル管理情報1500、1501及び特徴量を用いて予測期間における対象アイテムの需要を予測し(ステップS453)、その後、ステップS406に進む。
【0141】
具体的には、需要予測部302は、予測モデル管理情報1501にて定義される予測モデルを構築し、当該予測モデルに繁忙期の需要時系列データから算出された特徴量を入力する。また、需要予測部302は、予測モデル管理情報1500にて定義される予測モデルを構築し、当該予測モデルに通常期間の需要時系列データから算出された特徴量を入力する。
【0142】
繁忙期が存在しない場合、需要予測部302は、予測モデル管理情報1500を取得する(ステップS454)。
【0143】
需要予測部302は、予測モデル管理情報1500及び特徴量を用いて処理期間における対象アイテムの需要を予測し(ステップS455)、その後、ステップS406に進む。
【0144】
具体的には、需要予測部302は、予測モデル管理情報1500にて定義される予測モデルを構築し、当該予測モデルに特徴量を入力する。
【0145】
ステップS406の処理は実施例1と同一である。
【0146】
実施例2によれば、需要予測システムは、関連アイテムのピーク分布(需要傾向)を用いて対象アイテムの繁忙期を特定し、また、繁忙期及び通常期間のそれぞれで予測モデルを切り替えて、それぞれの期間の対象アイテムの需要を予測する。これによって、繁忙期を含む予測期間の対象アイテムの需要の予測精度を高めることができる。
【0147】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0148】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0149】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0150】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0151】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0152】
100 計算機
101 入力装置
102 出力装置
103 ネットワーク
110 CPU
111 IOインタフェース
112 ネットワークインタフェース
113 主記憶装置
114 副記憶装置
120 入力部
121 予測部
122 表示部
130 出荷履歴管理情報
131、1500、1501 予測モデル管理情報
300 ピーク分布算出部
301 繁忙期算出部
302 需要予測部
303 補正部
310 出荷履歴情報
311 出荷履歴情報
320、321 ピーク分布情報
330 繁忙期情報
340、350 需要予測情報
350 需要予測情報
1300 需要予測画面
1400 補正根拠画面
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17