(57)【要約】【課題】販売機会損失を評価し、発注計画を最適化する。【解決手段】  本発明の発注計画最適化装置１は、購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に基づいて販売機会損失スコアを算出し、販売機会損失データベース４７のある対象商品について、対象商品以外の非対象商品であって、自販売店において販売機会損失スコアが発生せず、発注計画データベース４８において発注数量を有する非対象商品を特定し、特定された非対象商品の前記発注数量の減分と非対象商品の単価の積が、対象商品の発注数量の増分と対象商品の単価の積以上となるように、非対象商品の発注数量の減分を決定し、増分と決定された減分に基づいて、発注計画データベース４８の発注数量を更新する。【選択図】図１
2011134043.tif 000002
【特許請求の範囲】
【請求項１】
商品の購買履歴と前記商品の欠品時間を使用して計画された前記商品の発注数量を修正する発注計画最適化装置であって、
販売店毎かつ商品毎に仕入れとして発注する予定である前記商品の発注数量を記憶した発注計画データベースと、
前記商品が欠品することによる販売数量減に対応した販売機会損失スコアを前記販売店毎かつ前記商品毎に記憶した販売機会損失データベースと、
を格納する記憶部と、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に基づいて前記販売機会損失スコアを算出し、
前記販売機会損失データベースのある対象商品について、前記対象商品以外の非対象商品であって、前記自販売店において販売機会損失スコアが発生せず、前記発注計画データベースにおいて発注数量を有する非対象商品を特定し、
前記特定された非対象商品の前記発注数量の減分と前記非対象商品の単価の積が、前記対象商品の前記発注数量の増分と前記対象商品の単価の積以上となるように、前記非対象商品の発注数量の減分を決定し、
前記増分と前記決定された減分に基づいて、前記発注計画データベースの前記発注数量を更新する制御部と、
を備えること、
を特徴とする発注計画最適化装置。
【請求項２】
前記記憶部は、
前記商品の在庫が存在しなくなった時刻を前記販売店毎かつ前記商品毎に記憶した欠品時間データベースを格納し、
前記制御部は、
時間帯の指定を受け付け、
前記時間帯に基づいて、在庫が存在しなくなった時刻に購買された前記商品と前記販売店を特定し、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に対し、前記特定された販売店において前記特定された商品が購買された数量を乗じて前記販売機会損失スコアを算出すること、
を特徴とする請求項１に記載の発注計画最適化装置。
【請求項３】
商品の購買履歴と前記商品の欠品時間を使用して計画された前記商品の発注数量を修正する発注計画最適化装置を用いた発注計画最適化方法であって、
前記発注計画最適化装置の記憶部は、
販売店毎かつ商品毎に仕入れとして発注する予定である前記商品の発注数量を記憶した発注計画データベースと、
前記商品が欠品することによる販売数量減に対応した販売機会損失スコアを前記販売店毎かつ前記商品毎に記憶した販売機会損失データベースと、
を格納しており、
前記発注計画最適化装置の制御部は、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に基づいて前記販売機会損失スコアを算出し、
前記販売機会損失データベースのある対象商品について、前記対象商品以外の非対象商品であって、前記自販売店において販売機会損失スコアが発生せず、前記発注計画データベースにおいて発注数量を有する非対象商品を特定し、
前記特定された非対象商品の前記発注数量の減分と前記非対象商品の単価の積が、前記対象商品の前記発注数量の増分と前記対象商品の単価の積以上となるように、前記非対象商品の発注数量の減分を決定し、
前記増分と前記決定された減分に基づいて、前記発注計画データベースの前記発注数量を更新すること、
を特徴とする発注計画最適化方法。
【請求項４】
前記記憶部は、
前記商品の在庫が存在しなくなった時刻を前記販売店毎かつ前記商品毎に記憶した欠品時間データベースを格納し、
前記制御部は、
時間帯の指定を受け付け、
前記時間帯に基づいて、在庫が存在しなくなった時刻に購買された前記商品と前記販売店を特定し、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に対し、前記特定された販売店において前記特定された商品が購買された数量を乗じて前記販売機会損失スコアを算出すること、
を特徴とする請求項３に記載の発注計画最適化方法。
【請求項５】
商品の購買履歴と前記商品の欠品時間を使用して計画された前記商品の発注数量を修正する発注計画最適化装置を機能させる発注計画最適化プログラムであって、
前記発注計画最適化装置の記憶部に対し、
販売店毎かつ商品毎に仕入れとして発注する予定である前記商品の発注数量を記憶した発注計画データベースと、
前記商品が欠品することによる販売数量減に対応した販売機会損失スコアを前記販売店毎かつ前記商品毎に記憶した販売機会損失データベースと、
を格納させ、
前記発注計画最適化装置の制御部に対し、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に基づいて前記販売機会損失スコアを算出し、
前記販売機会損失データベースのある対象商品について、前記対象商品以外の非対象商品であって、前記自販売店において販売機会損失スコアが発生せず、前記発注計画データベースにおいて発注数量を有する非対象商品を特定し、
前記特定された非対象商品の前記発注数量の減分と前記非対象商品の単価の積が、前記対象商品の前記発注数量の増分と前記対象商品の単価の積以上となるように、前記非対象商品の発注数量の減分を決定し、
前記増分と前記決定された減分に基づいて、前記発注計画データベースの前記発注数量を更新する処理を実行させること、
を特徴とする発注計画最適化プログラム。
【請求項６】
前記記憶部に対し、
前記商品の在庫が存在しなくなった時刻を前記販売店毎かつ前記商品毎に記憶した欠品時間データベースを格納させ、
前記制御部に対し、
時間帯の指定を受け付け、
前記時間帯に基づいて、在庫が存在しなくなった時刻に購買された前記商品と前記販売店を特定し、
購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に対し、前記特定された販売店において前記特定された商品が購買された数量を乗じて前記販売機会損失スコアを算出する処理を実行させること、
を特徴とする請求項５に記載の発注計画最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発注計画最適化装置、発注計画最適化方法及び発注計画最適化プログラムに関する。
【背景技術】
【０００２】
商品の販売店において、顧客が購買を希望する商品が欠品となっている場合には、販売機会損失が発生する。ＰＯＳ（Point of Sale）システムと連携して、この販売機会損失を定量的に表す技術が提案されている（例えば特許文献１）。特許文献１においては、商品が欠品となっていたことにより、売場に立ち寄ったけれども商品を購買できなかった顧客の数を販売機会損失として収集して、時系列グラフを出力することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３３１８７５号公報（段落０００７〜００１１、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、顧客が売場に立ち寄った回数を収集するため、例えば、顧客が１個の商品を購買できなかった場合でも、１０個の商品を購買できなかった場合でも、同様に１回の販売機会損失として扱われる。また、顧客が代替として他の販売店に行った場合も、同じ販売店で他の商品を購買した場合も、同様に１回の販売機会損失として扱われる。したがって、重大な販売機会損失を見過ごしてしまう可能性がある。
また、特許文献１の技術においては、販売機会損失の時系列グラフを出力するにとどまり、その時系列グラフを使用して、最終目的である最適な発注計画を作成することはできない。
【０００５】
そこで、本発明は、販売機会損失を評価し、発注計画を最適化することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の発注計画最適化装置は、購買された商品の総数のうち、自販売店以外の他販売店において購買された商品の数が占める割合に基づいて販売機会損失スコアを算出し、販売機会損失データベースのある対象商品について、対象商品以外の非対象商品であって、自販売店において販売機会損失スコアが発生せず、発注計画データベースにおいて発注数量を有する非対象商品を特定し、特定された非対象商品の前記発注数量の減分と非対象商品の単価の積が、対象商品の発注数量の増分と対象商品の単価の積以上となるように、非対象商品の発注数量の減分を決定し、増分と決定された減分に基づいて、発注計画データベースの発注数量を更新する。
【発明の効果】
【０００７】
本発明によれば、販売機会損失を評価し、発注計画を最適化することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る発注計画最適化装置の構成図である。
【図２】（ａ）は、本実施形態に係る在庫データベースの一例を示す図である。（ｂ）は、本実施形態に係る取引履歴データベースの一例を示す図である。
【図３】（ａ）は、本実施形態に係る欠品時間データベースの一例を示す図である。（ｂ）は、本実施形態に係る商品単価データベースの一例を示す図である。（ｃ）は、本実施形態に係る時間帯設定の一例を示す図である。
【図４】本実施形態に係る購買傾向データベースの一例を示す図である。
【図５】（ａ）は、本実施形態に係る販売機会損失重みデータベースの一例を示す図である。（ｂ）は、本実施形態に係る販売機会損失データベースの一例を示す図である。（ｃ）は、本実施形態に係る発注計画データベースの一例を示す図である。
【図６】本実施形態に係る在庫管理処理手順のフローチャートである。
【図７】本実施形態に係る発注計画最適化処理手順のフローチャートである。
【図８】本実施形態に係る発注計画最適化処理手順のステップＳ５０２の詳細フローチャートである。
【図９】本実施形態に係る発注計画最適化処理手順のステップＳ５０３の詳細フローチャートである。
【図１０】本実施形態に係る発注計画最適化処理手順のステップＳ５０４の詳細フローチャートである。
【図１１】（ａ）は、本実施形態に係る分割後購買傾向データベースの一例を示す図である。（ｂ）は、本実施形態に係る分割後購買傾向データベース（重み算出過程）の一例を示す図である。
【図１２】（ａ）は、本実施形態に係る分割後購買傾向データベースの一例を示す図である。（ｂ）は、本実施形態に係る分割後購買傾向データベース（重み算出過程）の一例を示す図である。
【図１３】（ａ）は、本実施形態に係る分割後購買傾向データベースの一例を示す図である。（ｂ）は、本実施形態に係る分割後購買傾向データベース（重み算出過程）の一例を示す図である。
【発明を実施するための形態】
【０００９】
以降、本発明を実施するための形態（「本実施形態」という）を、図等を参照しながら詳細に説明する。
【００１０】
（発注計画最適化装置）
図１に沿って、発注計画最適化装置１を説明する。
発注計画最適化装置１は、ネットワーク３を介してクライアント端末装置２に対してアクセス可能である。
発注計画最適化装置１は、ＰＯＳサーバ４とバッチサーバ５を有する。
ＰＯＳサーバ４は、一般的なコンピュータであり、主記憶装置１１、補助記憶装置１２、入力装置１３、出力装置１４、中央制御装置１５及び通信装置１６を有する。これらはバスによって相互に接続されている。
【００１１】
補助記憶装置１２は、在庫データベース４１、取引履歴データベース４２、欠品時間データベース４３及び商品単価データベース４４（詳細後記）を格納している。
取引登録部３１、欠品時間登録部３２及び商品入庫登録部３３はプログラムである。以降、「○○部は」と主体を記した場合は、中央制御装置１５が、補助記憶装置１２から各プログラムを読み出し、主記憶装置１１にロードしたうえで、各プログラムの機能（詳細後記）を実現するものとする。
【００１２】
バッチサーバ５もまた、一般的なコンピュータであり、主記憶装置２１、補助記憶装置２２、入力装置２３、出力装置２４、中央制御装置２５及び通信装置２６を有する。これらはバスによって相互に接続されている。
【００１３】
補助記憶装置２２は、購買傾向データベース４５、販売機会損失重みデータベース４６、販売機会損失データベース４７及び発注計画データベース４８（詳細後記）を格納している。
購買傾向導出部３４、販売機会損失重み導出部３５、販売機会損失導出部３６及び発注計画最適化部３７はプログラムである。以降、「○○部は」と主体を記した場合は、中央制御装置２５が、補助記憶装置２２から各プログラムを読み出し、主記憶装置２１にロードしたうえで、各プログラムの機能（詳細後記）を実現するものとする。
【００１４】
クライアント端末装置２もまた、一般的なコンピュータであり、主記憶装置、補助記憶装置、入力装置、出力装置、中央制御装置及び通信装置を有する。これらはバスによって相互に接続されている（図示せず）。
【００１５】
クライアント端末装置２は、１又は複数台存在し、典型的には、販売店毎に１台又は数台設置される。クライアント端末装置２は、販売店の人員が操作するものであってもよいし、自動販売機内に組み込まれているものであってもよい。さらに、インターネット上の仮想店舗を管理するコンピュータそのものであってもよい。
図１では、発注計画最適化装置１は、リアルタイムで在庫状況等を管理するＰＯＳサーバ４と、例えば夜間のバッチ処理で発注計画を最適化するバッチサーバ５に分かれて構成されている。しかしながら、両者は１つのサーバであってもかまわない。また、ＰＯＳサーバ４とバッチサーバ５とは、ネットワーク３を介して接続されているものとしたが、両者の間で通信が確保されればよく、例えば専用回線（図示せず）で直接接続されていてもよい。
【００１６】
（在庫データベース）
図２（ａ）に沿って在庫データベース４１を説明する。
在庫データベース４１においては、販売店ＩＤ欄１０１に記憶された販売店ＩＤに関連付けて、商品ＩＤ欄１０２には商品ＩＤが、数量欄１０３には数量が、記憶されている。
【００１７】
販売店ＩＤ欄１０１の販売店ＩＤは、商品を販売する店舗（販売店）を一意に特定する識別子である。
商品ＩＤ欄１０２の商品ＩＤは、商品の種類を一意に特定する識別子である。
数量欄１０３の数量は、販売店に在庫として存在する、販売可能な商品の数量である。在庫が全く存在しない場合は「０」が記憶される。
在庫データベース４１のレコードは、販売店ＩＤと商品ＩＤの組合せの数だけ存在する。
【００１８】
（取引履歴データベース）
図２（ｂ）に沿って取引履歴データベース４２を説明する。
取引履歴データベース４２においては、販売店ＩＤ欄１１１に記憶された販売店ＩＤに関連付けて、顧客ＩＤ欄１１２には顧客ＩＤが、取引日時欄１１３には取引日時が、商品ＩＤ欄１１４には商品ＩＤが、数量欄１１５には数量が、記憶されている。
【００１９】
販売店ＩＤ欄１１１の販売店ＩＤは、図２（ａ）の販売店ＩＤと同様である。
顧客ＩＤ欄１１２の顧客ＩＤは、商品を購買する顧客を一意に特定する識別子である。
取引日時欄１１３の取引日時は、顧客が販売店において商品を購買した時刻（年月日時分秒）である。
商品ＩＤ欄１１４の商品ＩＤは、図２（ａ）の商品ＩＤと同様である。
数量欄１１５の数量は、顧客が購買した商品の数量である。
取引履歴データベース４２のレコードは、販売店ＩＤ、顧客ＩＤ、取引日時及び商品ＩＤの組合せの数だけ存在する。
【００２０】
（欠品時間データベース）
図３（ａ）に沿って欠品時間データベース４３を説明する。
欠品時間データベース４３においては、販売店ＩＤ欄１２１に記憶された販売店ＩＤに関連付けて、商品ＩＤ欄１２２には商品ＩＤが、欠品時間ＦＲＯＭ欄１２３には欠品開始時刻が、欠品時間ＴＯ欄１２４には欠品終了時刻が、記憶されている。
【００２１】
販売店ＩＤ欄１２１の販売店ＩＤは、図２（ａ）の販売店ＩＤと同様である。
商品ＩＤ欄１２２の商品ＩＤは、図２（ａ）の商品ＩＤと同様である。
欠品時間ＦＲＯＭ欄１２３の欠品開始時刻は、その取引が行われることによって商品の在庫が「０」になった取引の取引日時（年月日時分秒）である。
欠品時間ＴＯ欄１２４の欠品終了時刻は、「０」であった商品の在庫がある正の数になった時刻（年月日時分秒）である。商品の在庫が「０」になった後、商品の入庫が行われるまでの間は、欠品時間ＴＯ欄１２４は空白になっている。
【００２２】
ちなみに、１行目のレコードは、販売店「Ｈ００１」において、商品「Ｓ００１」の在庫が「2009/08/01  13：00：00」に「０」となり、その後「2009/08/01  13：30：00」に、「０」であった在庫がある正の数になったことを示している。
３行目のレコードは、販売店「Ｈ００３」において、商品「Ｓ００３」の在庫が「2009/08/01  15：00：00」に「０」となり、その後商品の入庫が行われないまま現在に至っていることを示している。
販売店ＩＤ及び商品ＩＤが同じであるレコードは複数存在し得る。例えば、午前中に欠品が生じその後まもなく入庫があり、さらに午後に欠品が生じその後まもなく入庫があった、という場合があり得るからである。
また、欠品時間ＴＯ欄１２４が空白であるレコードは、販売店ＩＤと商品ＩＤの組合せ毎に最大１つしか存在しない。
【００２３】
（商品単価データベース）
図３（ｂ）に沿って商品単価データベース４４を説明する。
商品単価データベース４４においては、商品ＩＤ欄１３１に記憶された商品ＩＤに関連付けて、単価欄１３２には単価が記憶されている。
商品ＩＤ欄１３１の商品ＩＤは、図２（ａ）の商品ＩＤと同様である。
単価欄１３２の単価は、商品の単価である。本来、販売単価と発注（仕入れ）単価は異なるはずであるが、ここでは単純化のために、両者を同じ単価として考える。
【００２４】
（時間帯設定）
図３（ｃ）に沿って時間帯設定４９を説明する。
時間帯設定４９においては、１日を複数の連続する期間に分割した時間帯が記憶されている。図１には図示していないが、補助記憶装置１２、２２に時間帯設定４９が格納されているものとする。
時間帯は、商品の販売情報等を集計等する場合の基準となる期間を設定したものである。１日をいくつの時間帯に分割するかは任意である。また、各時間帯の長さが同じである必要もない。本実施形態では、１日２４時間を２時間ずつに等分して、１２の時間帯とした。
【００２５】
（購買傾向データベース）
図４に沿って、購買傾向データベース４５を説明する。
購買傾向データベース４５においては、顧客ＩＤ欄１６１に記憶された顧客ＩＤに関連付けて、時間帯欄１６２には時間帯が、販売店ＩＤ欄１６３には販売店ＩＤが、商品ＩＤ欄１６４には商品ＩＤが、数量欄１６５には数量が、記憶されている。
【００２６】
顧客ＩＤ欄１６１の顧客ＩＤは、図２（ｂ）の顧客ＩＤと同様である。
時間帯欄１６２の時間帯は、図３（ｃ）の時間帯と同様である。ここでは、取引日時が含まれる時間帯を示している。
販売店ＩＤ欄１６３の販売店ＩＤは、図２（ａ）の販売店ＩＤと同様である。
商品ＩＤ欄１６４の商品ＩＤは、図２（ａ）の商品ＩＤと同様である。
数量欄１６５の数量は、図２（ｂ）の数量と同様である。
購買傾向データベース４５は、取引履歴データベース４２のレコードのうち、共通の顧客ＩＤ、販売店ＩＤ及び商品ＩＤの組合せを有するレコードを、同じ時間帯に含まれる取引日時を有するレコード同士で集計したものである。
【００２７】
（販売機会損失重みデータベース）
図５（ａ）に沿って、販売機会損失重みデータベース４６を説明する。
販売機会損失重みデータベース４６においては、販売店ＩＤ欄１７１に記憶された販売店ＩＤに関連付けて、商品ＩＤ欄１７２には商品ＩＤが、販売機会損失重み欄１７３には
販売機会損失重みが、記憶されている。
販売店ＩＤ欄１７１の販売店ＩＤは、図２（ａ）の販売店ＩＤと同様である。
商品ＩＤ欄１７２の商品ＩＤは、図２（ａ）の商品ＩＤと同様である。
【００２８】
販売機会損失重み欄１７３の販売機会損失重みは、図１１（ｂ）等を用いて詳しく後記するが、以下のように算出される数値である。
・当該販売店で当該商品を購買する数量を「ｐ」とする。
・すべての販売店で当該商品を購買する数量を「ｑ」とする。
・他の販売店で当該商品を購買する数量を「ｒ」とする。
・「ｐ×ｒ／ｑ」の値を、販売店ＩＤと商品ＩＤの組合せ毎に合計して販売機会損失重みとする。
【００２９】
販売機会損失重みが大きいほど、当該販売店にとって当該商品を欠品させた場合の販売機会損失は大きい。したがって、当該販売店は、他の商品の入庫（発注）を減らしてもなお、当該商品の入庫（発注）を増やすことが売上最大化のために望ましい（詳細後記）。
なお、販売機会損失重みは、時間帯及び顧客の指定の仕方によって値が変化する（詳細後記）。
【００３０】
（販売機会損失データベース）
図５（ｂ）に沿って、販売機会損失データベース４７を説明する。
販売機会損失データベース４７は、販売機会損失スコア欄１８３を除いて、販売機会損失重みデータベース４６（図５（ａ））と同様の構成を有している。
販売機会損失スコア欄１８３の販売機会損失スコアは、商品を販売することによって欠品を生じさせた（在庫が「０」になった）時間帯の販売にかかる数量を、販売機会損失重みに乗じた数値である（詳細後記）。
本実施形態においては、販売機会損失スコアを、追加的に発注すれば殆ど売れ残る可能性なく販売することができる商品の数量と看做している。
【００３１】
（発注計画データベース）
図５（ｃ）に沿って、発注計画データベース４８を説明する。
発注計画データベース４８は、在庫データベース４１（図２（ａ））と同様の構成を有している。
しかしながら、発注計画データベース４８の数量欄１９３の数量は、入庫すべき商品の発注予定数量である。
経験値に基づき、ユーザが当該数量を設定し終えた発注計画データベース４８が所与のものとして存在するものとする。本実施形態の発注計画最適化装置１は、当該数量を見直し最適化する（詳細後記）。
【００３２】
（処理手順）
処理手順には、取引又は商品入庫がある都度実行される在庫管理処理手順と、例えば夜間等のバッチ処理として実行される発注計画最適化処理手順とがある。
【００３３】
（在庫管理処理手順）
図６に沿って、在庫管理処理手順を説明する。
ステップＳ４０１において、ＰＯＳサーバ４は、クライアント端末装置２から、取引データ又は商品入庫データを受け付ける。
取引データとは、顧客が商品を購買した際に作成されるデータであり、販売店ＩＤ、顧客ＩＤ、取引日時、商品ＩＤ及び数量を含む。取引データは、顧客が商品を購買する都度、クライアント端末装置２からＰＯＳサーバ４へ送信される。
商品入庫データとは、発注した商品が入庫された際に作成されるデータであり、販売店ＩＤ、商品ＩＤ及び数量を含む。商品入庫データは、商品が入庫される都度、クライアント端末装置２からＰＯＳサーバ４へ送信される。
【００３４】
ステップＳ４０２において、ＰＯＳサーバ４は、受け付けたデータに応じて処理を分岐する。
具体的には、ＰＯＳサーバ４は、ステップＳ４０１において受け取ったデータが「取引データ」である場合（ステップＳ４０２“取引”）はステップＳ４０３に進み、「商品入庫データ」である場合（ステップＳ４０２“商品入庫”）は、ステップＳ４０７に進む。
【００３５】
ステップＳ４０３において、ＰＯＳサーバ４の取引登録部３１は、取引データを在庫データベース４１に登録する。
具体的には、取引登録部３１は、ステップＳ４０１において受け付けた販売店ＩＤ及び商品ＩＤを検索キーとして、在庫データベース４１を検索し該当したレコードの数量からステップＳ４０１において受け付けた数量を減算した値を数量欄１０３に上書きする。
ステップＳ４０１において受け付けた数量（Ａ）が、在庫データベース４１の数量（Ｂ）を超過している場合もある。この場合は、受け付けた数量が「Ｂ」であったものとみなし、数量欄１０３に「０」を上書きする。例えば、ある商品の在庫が「５」であるとき、ある顧客がその商品を「７」個購買することを希望したとする。この場合、クライアント端末装置２からの取引データの数量は「７」である。そして、ＰＯＳサーバ４は、受け付けた「７」を「５」に読み替えて処理する一方、クライアント端末装置２に「５」を返信する。販売店では、顧客に対し当該商品を「５」個販売する。
【００３６】
ステップＳ４０４において、取引登録部３１は、在庫の数量が「０」であるか否かを判断する。
具体的には、取引登録部３１は、ステップＳ４０３において上書きした値が「０」である場合（ステップＳ４０４“ＹＥＳ”）は、ステップＳ４０５に進み、「０」でない場合（ステップＳ４０４“ＮＯ”）はステップＳ４０６に進む。
【００３７】
ステップＳ４０５において、ＰＯＳサーバ４の欠品時間登録部３２は、欠品時間データベース４３のレコードを作成する。
具体的には、欠品時間登録部３２は、第１に、欠品時間データベース４３の新たなレコードを作成する。
第２に、ステップＳ４０１において受け付けた販売店ＩＤ、商品ＩＤ及び取引日時を、作成したレコードの販売店ＩＤ欄１２１、商品ＩＤ欄１２２及び欠品時間ＦＲＯＭ欄１２３にそれぞれ記憶する。
【００３８】
ステップＳ４０６において、取引登録部３１は、取引データを取引履歴データベース４２に登録する。
具体的には、取引登録部３１は、第１に、取引履歴データベース４２の新たなレコードを作成する。
第２に、ステップＳ４０１において受け付けた販売店ＩＤ、顧客ＩＤ、取引日時、商品ＩＤ及び数量を、作成したレコードの販売店ＩＤ欄１１１、顧客ＩＤ欄１１２、取引日時欄１１３、商品ＩＤ欄１１４及び数量欄１１５に記憶する。
【００３９】
ステップＳ４０７において、ＰＯＳサーバ４の商品入庫登録部３３は、商品入庫データを在庫データベース４１に登録する。
具体的には、商品入庫登録部３３は、ステップＳ４０１において受け付けた販売店ＩＤ及び商品ＩＤを検索キーとして、在庫データベース４１を検索し、該当したレコードの数量に対しステップＳ４０１において受け付けた数量を加算した値を数量欄１０３に上書きする。
【００４０】
ステップＳ４０８において、欠品時間登録部３２は、欠品時間データベース４３のレコードを更新する。
具体的には、欠品時間登録部３２は、ステップＳ４０１において受け付けた販売店ＩＤ及び商品ＩＤを検索キーとし、かつ「欠品時間ＴＯ欄１２４が空欄であること」を条件として、欠品時間データベース４３を検索し、該当したレコードを取得する。そして取得したレコードの欠品時間ＴＯ欄１２４に、現在の時刻（年月日時分秒）を記憶する。
【００４１】
ステップＳ４０９において、ＰＯＳサーバ４は、クライアント端末装置２に完了通知を送信する。
具体的には、ＰＯＳサーバ４は、「ステップＳ４０２“取引”」のパスを経由した場合は取引データを登録した旨のメッセージを、「ステップＳ４０２“商品入庫”」のパスを経由した場合は商品入庫データを登録した旨のメッセージを、クライアント端末装置２に送信する。
その後、在庫管理処理手順を終了する。
【００４２】
（発注計画最適化処理手順）
図７に沿って、発注計画最適化処理手順を説明する。
発注計画最適化処理手順は、例えば１日１回、夜間のバッチ処理によって実行される。したがって、以下のステップＳ５０１〜Ｓ５０３において、各データベースを「作成」するのは、１日分のレコードを作成する、という意味である。
ステップＳ５０１において、バッチサーバ５の購買傾向導出部３４は、購買傾向データベース４５を作成する。
具体的には、購買傾向導出部３４は、第１に、時間帯設定４９のある時間帯を取得する。
第２に、ＰＯＳサーバ４の取引履歴データベース４２にアクセスして、「第１」において取得した時間帯を検索キーとして、取引日時のうちの時分秒を検索し、該当したすべてのレコードを取得する。取引日時のうちの時分秒が時間帯（例えば10：00：00〜12：00：00）に含まれる場合に該当するものとする。
第３に、顧客ＩＤ、販売店ＩＤ及び商品ＩＤの組合せ毎に「第２」において取得したレコードを集計し、購買傾向データベース４５の１つのレコードを作成する。このとき、作成されたレコードの数量欄１６５には、集計対象となった取引履歴データベース４２の各レコードの数量の合計が記憶され、時間帯欄１６２には、「第１」において取得された時間帯が記憶されるものとする。
なお、ステップＳ５０１の処理は、すべての時間帯毎に繰り返す。
【００４３】
ステップＳ５０２において、バッチサーバ５の販売機会損失重み導出部３５は、販売機会損失重みデータベース４６を作成する。
ステップＳ５０２の詳細は後記する。
【００４４】
ステップＳ５０３において、バッチサーバ５の販売機会損失導出部３６は、販売機会損失データベース４７を作成する。
ステップＳ５０３の詳細は後記する。
【００４５】
ステップＳ５０４において、バッチサーバ５の発注計画最適化部３７は、発注計画データベース４８を更新する。
ステップＳ５０４の詳細は後記する。
その後、発注計画最適化処理手順を終了する。
【００４６】
（発注計画最適化処理手順のステップＳ５０２の詳細）
図８に沿って、ステップＳ５０２の詳細を説明する。
ステップＳ６０１において、バッチサーバ５の販売機会損失重み導出部３５は、顧客毎の購買傾向データベースを作成する。
具体的には、販売機会損失重み導出部３５は、第１に、購買傾向データベース４５からすべてのレコードを取得する。
この段階で、販売機会損失重み導出部３５は、入力装置２３を介してユーザが時間帯を指定するのを受け付け、取得したレコードを、当該時間帯を有するレコードに絞り込んでもよい。しかしながら、ここでは単純化のために、当該指定は受け付けないものとして（全時間帯が対象になるものとして）以降の説明を続ける。
第２に、取得したレコードを顧客ＩＤ毎に分割し、時間帯欄１６２を削除する。
この段階で、分割された購買傾向データベース４５は、例えば顧客が３名である場合は、図１１（ａ）、図１２（ａ）及び図１３（ａ）のような状態になっている。この状態の分割された購買傾向データベース４５を「分割後購買傾向データベース」という。
【００４７】
ステップＳ６０２において、販売機会損失重み導出部３５は、顧客ＩＤをエントリとして取得する。
取得する顧客ＩＤは任意の顧客ＩＤでよい。ここでは、「Ｋ００１」を取得したとして以下の説明を続ける。「Ｋ００１」が特定する顧客を「当該顧客」という。
【００４８】
ステップＳ６０３において、販売機会損失重み導出部３５は、販売店ＩＤ及び商品ＩＤの組合せをエントリとして取得する。
具体的には、販売機会損失重み導出部３５は、ステップＳ６０２において取得した顧客ＩＤを有する分割後購買傾向データベースの任意のレコードの、販売店ＩＤ及び商品ＩＤの組合せを取得する。
ここでは、「Ｈ００１」及び「Ｓ００１」の組合せ（図１１（ａ）のレコード３０１）が取得されたとする。「Ｈ００１」が特定する販売店を「当該販売店」、「Ｓ００１」が特定する商品を「当該商品」という。
【００４９】
ステップＳ６０４において、販売機会損失重み導出部３５は、販売機会損失重みを算出する。
具体的には、販売機会損失重み導出部３５は以下の処理を以下の順序で行う（例えば図１１（ｂ）参照）。
（１）当該顧客が当該販売店（「自販売店」に相当する）で当該商品を購買する数量「ｐ」を取得する。
実際に取得される数量は「１」（レコード３０１の欄２０４）である。
（２）すべての販売店で当該顧客が当該商品を購買する数量「ｑ」を取得する。
実際に取得される数量は「３」（レコード３０１、３０２、３０３の欄２０４の合計）である。
（３）当該顧客が他の販売店（「他販売店」に相当する）で当該商品を購買する数量「ｒ」を取得する。
実際に取得される数量は「２」（レコード３０２、３０３の欄２０４の合計）である。
（４）当該販売店の当該商品が欠品となっていることにより、当該顧客が他の販売店「Ｈｎ」で当該商品を購買する確率「ｓ（＝ｒ／ｑ）」を取得する。
実際に取得される数値は「Ｈ００２」について「０.３３」、「Ｈ００３」について「０.３３」である。
（５）当該顧客が他の販売店で当該商品を購買するために発生する販売機会損失の重み「ｔ（＝ｐ×ｓ）」を取得する。
実際に取得される数値は「Ｈ００２」について「０.３３」、「Ｈ００３」について「０.３３」である。
【００５０】
ステップＳ６０３及びＳ６０４の処理は、すべての販売店ＩＤ及び商品ＩＤの組合せについて繰り返す。当該繰り返しが終了した後、ステップＳ６０２に戻り、新たな顧客ＩＤについてステップＳ６０３及びＳ６０４の処理を、未処理の顧客ＩＤがなくなるまで繰り返す。
【００５１】
図１１（ｂ）、図１２（ｂ）及び図１３（ｂ）は、ステップＳ６０２〜Ｓ６０４の処理が実行されていく過程で主記憶装置２１において作成される分割後購買傾向データベース（重み算出過程）である。
図１１（ｂ）のレコード３０４〜３０６は、図１１（ａ）のレコード３０１に対応している。ステップＳ６０４の（１）、（２）、（３）、（４）及び（５）の処理が進行するにつれ、欄２１４、欄２１５、欄２１６、欄２１７及び欄２１８に、それぞれ数値が記憶されていく。なお「−」は「自店なので処理対象外」を示している。
【００５２】
内側のループ（ステップＳ６０３、Ｓ６０４）が繰り返されるにつれて、図１１（ｂ）のレコードは、２回目のループでレコード３０７〜３０９、３回目のループでレコード３１０〜３１２というように、下に追加され伸びていく。
内側のループを一旦抜け出し、ステップＳ６０２に戻ると、当該顧客が替わり、その直後のステップＳ６０３、Ｓ６０４において、図１２（ｂ）が作成される。さらに再度ステップＳ６０２に戻ると、同様に図１３（ｂ）が作成される。
外側のループを抜け出した時点で、図１１（ｂ）のような分割後顧客傾向データベース（重み算出過程）が顧客の数だけ作成されていることになる。
【００５３】
ステップＳ６０５において、販売機会損失重み導出部３５は、販売機会損失重みデータベース４６を作成する。
具体的には、販売機会損失重み導出部３５は、第１に、すべての顧客についての分割後購買傾向データベース（重み算出過程）のすべてのレコードを、販売店ＩＤ及び商品ＩＤの組合せ毎にソートし、販売機会損失重み「ｔ」を合計する。
第２に、販売機会損失重みデータベース４６（図５（ａ））の新たなレコードを、販売店ＩＤ及び商品ＩＤの組み合わせの数だけ作成し、販売店ＩＤ欄１７１及び商品ＩＤ欄１７２に、販売店ＩＤ及び商品ＩＤの組合せを記憶する。
第３に、販売機会損失重み欄１７３に、販売機会損失重み「ｔ」の合計値を、販売店ＩＤ及び商品ＩＤの組み合わせに対応するように記憶する。
【００５４】
例えば、図１１（ｂ）、図１２（ｂ）及び図１３（ｂ）のすべてのなかで、「Ｈ００１」及び「Ｓ００１」の組合せを有するレコードは、図１１（ｂ）のレコード３０４〜３０６、図１２（ｂ）のレコード３１３〜３１５である。これらのレコードの欄２１８の数値を合計すると、（「−」は除いて）「０．３３＋０．３３＋１．３３＋０．００＝２．００」となる。この「２．００」が、販売機会損失重みデータベース４６（図５（ａ））の１行目のレコードの販売機会損失重み欄１７３に記憶されている。
ステップＳ６０５の処理が終了すると、発注計画最適化処理手順のステップＳ５０３に戻る。
【００５５】
（発注計画最適化処理手順のステップＳ５０３の詳細）
図９に沿って、ステップＳ５０３の詳細を説明する。
ステップＳ６１１において、バッチサーバ５の販売機会損失導出部３６は、欠品時間データベース４３のレコードを取得する。
具体的には、販売機会損失導出部３６は、第１に、入力装置２３を介して任意の時間帯の入力を受け付ける。
第２に、「第１」において受け付けた時間帯を検索キーとして、ＰＯＳサーバ４の欠品時間データベース４３（図３（ａ））にアクセスして、該当したレコードを取得する。欠品時間ＦＲＯＭの時分秒から欠品時間ＴＯの時分秒までの時間帯と、受け付けた時間帯との間に重複する部分があれば該当したものと判断する。欠品時間ＴＯが空白である場合は、現在の時分秒が記憶されているものと看做す。
第３に、該当したレコードの販売店ＩＤ及び商品ＩＤの組合せを取得する。このとき、同じ組合せが複数取得される場合は、２つめ以降の重複分は無視する。
【００５６】
ステップＳ６１２において、販売機会損失導出部３６は、購買傾向データベース４５から数量を取得する。
具体的には、販売機会損失導出部３６は、第１にステップＳ６１１の「第３」において取得した販売店ＩＤ及び商品ＩＤの組合せのうちの１つをエントリとして取得する。
第２に、エントリとして取得した販売店ＩＤ及び商品ＩＤの組合せと、ステップＳ６１１において受け付けた時間帯を検索キーとして、購買傾向データベース４５（図４）を検索し、該当したすべてのレコードを取得する。そして取得した各レコードの数量を合計し「ｕ」とする。
【００５７】
ステップＳ６１３において、販売機会損失導出部３６は、販売機会損失重みを取得する。
具体的には、販売機会損失導出部３６は、エントリとして取得した販売店ＩＤ及び商品ＩＤの組合せを検索キーとして販売機会損失重みデータベース４６（図５（ａ））を検索し、該当したレコードの販売機会損失重みを取得し「ｖ」とする。なお、ステップＳ６０１において、時間帯を受け付け、購買傾向データベース４５のレコードを、当該時間帯を有するレコードに絞り込んだ場合は、さらに当該時間帯も検索キーとする。
【００５８】
ステップＳ６１４において、販売機会損失導出部３６は、販売機会損失スコアを算出する。
具体的には、販売機会損失導出部３６は、「ｗ（＝ｕ×ｖ）」を算出する。
【００５９】
ステップＳ６１５において、販売機会損失導出部３６は、販売機会損失データベース４７のレコードを作成する。
具体的には、販売機会損失導出部３６は、第１に、販売機会損失データベース４７（図５（ｂ））の新たなレコードを作成する。
第２に、作成したレコードの販売店ＩＤ欄１８１、商品ＩＤ欄１８２及び販売機会損失スコア欄１８３に、エントリとして取得した販売店ＩＤ及び商品ＩＤと、ステップＳ６１４において算出した「ｗ」をそれぞれ記憶する。
【００６０】
ステップＳ６１２〜ステップＳ６１５の処理は、未処理の販売店ＩＤ及び商品ＩＤの組合せがなくなるまで繰り返す。
その後、発注計画最適化処理手順のステップＳ５０４に戻る。
【００６１】
（発注計画最適化処理手順のステップＳ５０４の詳細）
図１０に沿って、ステップＳ５０４の詳細を説明する。
最初に、大まかにステップＳ５０４の処理内容を言えば、予め定めた発注数量を修正するに際し、販売機会損失スコアが発生している商品の発注数量を増加させ、予算捻出のために、販売機会損失スコアが発生していない商品の発注数量を減少させる、ということである。
【００６２】
ステップＳ６２１において、バッチサーバ５の発注計画最適化部３７は、販売機会損失データベース４７のレコードを取得する。
具体的には、発注計画最適化部３７は、第１に、入力装置２３を介して販売店ＩＤの入力を受け付ける。ここでは、例えば「Ｈ００１」を受け付けたとして以降の説明を続ける。
第２に、受け付けた販売店ＩＤを検索キーとして販売機会損失データベース４７（図５（ｂ））を検索し、該当したレコードをすべて取得する。該当するレコードが存在しない場合は、再度別の販売店ＩＤを受け付けて、検索しなおす。
ここでは、図５（ｂ）のレコード３３１が取得されることになる。なお、ここで取得されたレコードの商品ＩＤが特定する商品を「増加商品」ということがある。
なお、「対象商品」には、当該「増加商品」が相当する。
【００６３】
ステップＳ６２２において、発注計画最適化部３７は、増加商品の商品ＩＤを１つエントリとして取得する。
具体的には、発注計画最適化部３７は、ステップＳ６２１において取得されたレコードの内から任意の１つを選択し、エントリとしてその商品ＩＤを取得する。
【００６４】
ステップＳ６２３において、発注計画最適化部３７は、発注計画データベース４８のレコードを取得する。
具体的には、発注計画最適化部３７は、第１に、ステップＳ６２１において受け付けた販売店ＩＤを検索キーとして、発注計画データベース４８（図５（ｃ））を検索し、該当したレコードをすべて取得する。
ここでは、図５（ｃ）のレコード３２１〜３２３が取得されることになる。
【００６５】
ステップＳ６２４において、発注計画最適化部３７は、減少商品を特定する。
具体的には、発注計画最適化部３７は、第１に、ステップＳ６２３において取得した発注計画データベース４８のレコードのなかから、商品ＩＤがステップＳ６２１の「第２」において取得したレコードの商品ＩＤ欄１８２に存在せず、かつ、数量が「０」ではないレコードを選択する。
第２に、選択したレコードの商品ＩＤを取得する。当該商品ＩＤが特定する商品を「減少商品」ということがある。
なお、「非対象商品」には、当該「減少商品」が相当する。
【００６６】
図５（ｃ）のレコード３２１〜３２３には、「Ｓ００１」、「Ｓ００２」及び「Ｓ００３」が記憶されているが、このうち「Ｓ００１」は、図５（ｂ）のレコード３３１に記憶されている。そして、レコード３２２、３２３の数量は「０」ではない。したがって、ここで特定される商品ＩＤは「Ｓ００２」及び「Ｓ００３」である。
この場合、「増加商品」は「Ｓ００１」であり、「減少商品」は「Ｓ００２」及び「Ｓ００３」である。このように、１つ又は複数の「増加商品」について１つ又は複数の「減少商品」が特定される。そして、以降では、増加商品を追加発注するための予算確保のために、減少商品の発注をどれだけ減少させるか、を決定する。
【００６７】
ステップＳ６２５において、発注計画最適化部３７は、増加商品の発注金額増分を算出する。
具体的には、発注計画最適化部３７は、第１に、エントリとして取得した増加商品の商品ＩＤを検索キーとして、ＰＯＳサーバ４の商品単価データベース４４（図３（ｂ））にアクセスし、該当したレコードの単価を取得する。取得される単価は「１０００」である（図３（ｂ）のレコード３４１）。
第２に、エントリとして取得した増加商品の商品ＩＤを検索キーとして、販売機会損失データベース４７（図５（ｂ））を検索し、該当したレコードの販売機会損失スコアを取得する。
この例では、「２．００」が取得される（図５（ｂ）のレコード３３１）。
第３に、単価と販売機会損失スコアを乗じて発注金額増分「ｋ」とする。
この例では、ｋ＝１０００×２.００＝２０００となる。
【００６８】
ステップＳ６２６において、発注計画最適化部３７は、減少商品の発注金額減分を算出する。
具体的には、発注計画最適化部３７は、第１に、減少商品の商品ＩＤを検索キーとして商品単価データベース４４（図３（ｂ））を検索し、該当したレコードの単価を取得する。
この例では、「Ｓ００２」について単価「２００」（図３（ｂ）のレコード３４２）が、「Ｓ００３」について単価「３００」（図３（ｂ）のレコード３４３）が取得される。
第２に、取得した単価をすべて合計し、合計した数値を発注金額減分「ｊ」とする。
この例では、ｊ＝２００＋３００＝５００となる。
「ｊ」は、各減少商品の発注数量を１ずつ減少させたとき、節約できる金額を示している。
【００６９】
ステップＳ６２７において、発注計画最適化部３７は、減少商品の減少数量を算出する。
具体的には、発注計画最適化部３７は、発注数量の減少分を示す「ｍ」を１から１ずつインクリメントさせていき、初めて「ｊ×ｍ≧ｋ」となったときの「ｍ」を減少商品の減少数量として決定する。
この例では減少数量「ｍ」＝４となる。
なお、インクリメントさせた「ｍ」の最大値は、減少商品の発注の数量（図５（ｃ）の欄１９３）であるものとする。また、減少商品が複数ある場合は、複数の数量のうちの最小値であるものとする。この例では、「１０」である。
「ｍ」が最大値までインクリメントされてもなお「ｊ×ｍ≧ｋ」となる「ｍ」が決定できない場合は、ステップＳ６２２に戻るものとする（図１０には図示せず）。
【００７０】
ステップＳ６２８において、発注計画最適化部３７は、発注計画データベース４８を更新する。
具体的には、発注計画最適化部３７は、第１に、ステップＳ６２１において受け付けた販売店ＩＤとエントリとした増加商品の商品ＩＤを検索キーとして発注計画データベース４８（図５（ｃ））を検索し、該当したレコードの数量に対して、ステップＳ６２５の「第２」において取得した販売機会損失スコアを加算して上書きする。
第２に、ステップＳ６２１において受け付けた販売店ＩＤと減少商品の商品ＩＤを検索キーとして発注計画データベース４８を検索し、該当したレコードの数量から、ステップＳ６２７において決定した減少数量「ｍ」を減じた数値を上書きする。
【００７１】
ステップＳ６２２〜Ｓ６２８の処理は、未処理の増加商品がなくなるまで繰り返す。
繰り返しが終了した後、発注計画最適化処理手順を終了する。
【００７２】
（本実施形態の効果）
本実施形態の発注計画最適化装置１によれば、販売機会損失スコアに基づいて、販売店毎に、どの商品の発注をどれだけ増加させ、どの商品の発注をどれだけ減少させればよいかを決定することができる。
さらに、販売機会損失スコアは、顧客毎の他店における購買数量や時間帯毎の欠品商品が反映されるので、発注計画をより高い精度で最適化することができる。
【００７３】
本発明は、前記した実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で、変更実施が可能である。
【符号の説明】
【００７４】
１      発注計画最適化装置
２      クライアント端末装置
３      ネットワーク
４      ＰＯＳサーバ
５      バッチサーバ
１１、２１    主記憶装置（記憶部）
１２、２２    補助記憶装置（記憶部）
１３、２３    入力装置
１４、２４    出力装置
１５、２５    中央制御装置（制御部）
１６、２６    通信装置
３１    取引登録部
３２    欠品時間登録部
３３    商品入庫登録部
３４    購買傾向導出部
３５    販売機会損失重み導出部
３６    販売機会損失導出部
３７    発注計画最適化部
４１    在庫データベース
４２    取引履歴データベース
４３    欠品時間データベース
４４    商品単価データベース
４５    購買傾向データベース
４６    販売機会損失重みデータベース
４７    販売機会損失データベース
４８    発注計画データベース
【図１】
2011134043.tif 000003
【図２】
2011134043.tif 000004
【図３】
2011134043.tif 000005
【図４】
2011134043.tif 000006
【図５】
2011134043.tif 000007
【図６】
2011134043.tif 000008
【図７】
2011134043.tif 000009
【図８】
2011134043.tif 000010
【図９】
2011134043.tif 000011
【図１０】
2011134043.tif 000012
【図１１】
2011134043.tif 000013
【図１２】
2011134043.tif 000014
【図１３】
2011134043.tif 000015