(57)【特許請求の範囲】
【請求項１】
演算処理部を備えた発注監視装置であって、
前記演算処理部が、商品別の日別売上数を記憶するデータベースから、発注対象商品の一定期間における日別売上数を読み出し、その読み出した日別売上数の平均値を算出する平均値演算手段と、
前記演算処理部が、前記平均値演算手段により算出された日別売上数平均値の標準偏差を算出する標準偏差演算手段と、
前記演算処理部が、前記平均値演算手段により算出された日別売上数平均値に、前記標準偏差演算手段により算出された標準偏差を加算し、この加算値に所定の発注間隔日数を乗じた値を発注数の上限閾値として算出する上限閾値演算手段と、
前記発注対象商品の発注数が前記上限閾値を上回るか否かを監視する発注数監視手段と、
を具備したことを特徴とする発注監視装置。
【請求項２】
前記発注数監視手段により発注数が前記上限閾値を上回ると警告する警告手段、
をさらに具備したことを特徴とする請求項１記載の発注監視装置。
【請求項３】
前記演算処理部が、前記平均値演算手段により算出された日別売上数平均値から、前記標準偏差演算手段により算出された標準偏差を減算し、この減算値に所定の発注間隔日数を乗じた値を発注数の下限閾値として算出する下限閾値演算手段、をさらに具備し、
前記発注数監視手段は、前記発注対象商品の発注数が前記下限閾値を下回るか否かをさらに監視することを特徴とする請求項１記載の発注監視装置。
【請求項４】
前記発注数監視手段により発注数が前記上限閾値を上回るか、前記下限閾値を下回ると警告する警告手段、
をさらに具備したことを特徴とする請求項３記載の発注監視装置。
【請求項５】
コンピュータに、
商品別の日別売上数を記憶するデータベースから、発注対象商品の一定期間における日別売上数を読み出し、その読み出した日別売上数の平均値を算出させる平均値演算機能と、
前記平均値演算機能により算出された日別売上数平均値の標準偏差を算出させる標準偏差演算機能と、
前記平均値演算機能により算出された日別売上数平均値に、前記標準偏差演算機能により算出された標準偏差を加算させ、この加算値に所定の発注間隔日数を乗じた値を発注数の上限閾値として算出させる上限値演算機能と、
前記発注対象商品の発注数が前記上限閾値を上回るか否かを監視させる発注数監視機能と、
を実現させるための発注監視プログラム。
【請求項６】
コンピュータに、
前記発注数監視機能により発注数が前記上限閾値を上回ると警告させる警告機能、
をさらに実現させたるための請求項５記載の発注監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、商品発注数の異常有無を監視する発注監視技術に関する。
【背景技術】
【０００２】
ＰＯＳ（Point Of Sales）システムが構築される商店では、商品毎に納品数と売上数とから理論上の在庫数を算出し、この在庫数を基に発注数を商品毎に算出して発注している。この際、商品毎に１回に発注できる最大数を定めることで、この最大数を超える異常な数で過剰発注をしてしまうミスを未然に防止している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０４９９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
過剰発注を防ぐために従来は、商品毎に発注数の閾値を人為的に設定する必要がある。  
本発明が解決しようとする課題は、商品毎に発注数の閾値を設定する手間を簡略化しつつ過剰発注を未然に防ぐことができる発注監視装置を提供しようとするものである。
【課題を解決するための手段】
【０００５】
一実施形態において、発注監視装置は、演算処理部と発注数監視手段とを備えている。演算処理部は、商品別の日別売上数を記憶するデータベースから、発注対象商品の一定期間における日別売上数を読み出し、その読み出した日別売上数の平均値を算出する。また、日別売上数平均値の標準偏差を算出する。そして、日別売上数平均値に標準偏差を加算し、この加算値に所定の発注間隔日数を乗じた値を発注数の上限閾値として算出する。発注数監視手段は、発注対象商品の発注数が前記上限閾値を上回るか否かを監視する。
【図面の簡単な説明】
【０００６】
【図１】一実施形態であるＰＯＳシステムの全体構成を示すブロック図。
【図２】同ＰＯＳシステムのストアサーバが管理する商品データベースにて保存される商品データレコードのデータ構造を示す模式図。
【図３】同ストアサーバが管理する発注データベースにて保存される発注データレコードのデータ構造を示す模式図。
【図４】同ストアサーバの要部構成を示すブロック図。
【図５】同ストアサーバのＲＡＭに形成される発注監視テーブルのエリア構成を示す模式図。
【図６】同ストアサーバのＣＰＵが自動発注プログラムに従って実行する処理手順の要部を示す流れ図。
【図７】同ストアサーバのＣＰＵが発注監視プログラムに従って実行する処理手順の要部を示す流れ図。
【図８】同ストアサーバのディスプレイに表示される発注数監視リスト画面の一例を示す図。
【発明を実施するための形態】
【０００７】
以下、発注監視装置の一実施形態について、図面を用いて説明する。なお、この実施形態は、スーパーマーケットやコンビニエンスストア等の小売店に構築されるＰＯＳシステム１のストアサーバ２に、発注監視装置としての機能を実現させる。
【０００８】
図１は、ＰＯＳシステム１の全体構成を示すブロック図である。ＰＯＳシステム１は、ストアサーバ２と、複数台のＰＯＳ端末３とを備える。そして、ストアサーバ２と各ＰＯＳ端末３とを、ＬＡＮ（Local Area Network）等の店内ネットワーク４で接続している。また、ＰＯＳシステム１は、店内ネットワーク４にルータ５を接続し、このルータ５に、インターネット等の汎用ネットワーク６を接続している。そして、ストアサーバ２または各ＰＯＳ端末３が、ルータ５を介して汎用ネットワーク６上のコンピュータシステムと、データ通信ができるようになっている。
【０００９】
上記コンピュータシステムには、当該小売店を統轄する本部の発注システムが含まれる。また、図示しないがＰＯＳシステム１は、検品端末と発注端末とを店内ネットワーク４に接続可能である。検品端末は、入荷した商品の納品数入力業務に供せられる。発注端末は、発注対象商品の発注数入力業務に供せられる。
【００１０】
各ＰＯＳ端末３は、客が購入する各商品の販売データを登録処理するもので、登録された各商品の販売データは、店内ネットワーク４を介してストアサーバ２に送信される。ストアサーバ２は、各ＰＯＳ端末３から収集した各商品の販売データを、日単位で例えば商品別，部門別、取引別あるいはキャッシャ別に集計することで、営業日毎の売上実績データを管理する。また、ストアサーバ２は、検品端末から入力されるデータを基に納品実績データも管理しており、商品毎の納品実績データと日々の売上実績データとから、理論上の在庫数を商品毎に算出している。
【００１１】
ストアサーバ２は、商品データベース７と発注データベース８とを備える。商品データベース７は、店で販売する全商品の納品及び売上に関するデータを商品別に記憶する。発注データベース８は、全商品の発注に関するデータを商品別に記憶する。
【００１２】
商品データベース７に記憶される１商品分のデータレコードの構造を図２の模式図で示す。図２に示すように、商品データレコードは、商品コード、商品名、単価等の商品固有データに、日別納品実績データと日別売上実績データとが付加されている。日別納品実績データは、対応する商品固有データの商品コードで識別される商品の例えば最新１年間分の日々の納品数である。日別売上実績データは、対応する商品設定データの商品コードで識別される商品の例えば最新１年間分の日々の売上数である。
【００１３】
発注データベース８に記憶される１商品分のデータレコードの構造を図３の模式図で示す。図３に示すように、発注データレコードは、商品コード、商品名、原価、理論在庫数、適正在庫数、発注間隔、パラメータｐ、最終発注日等の発注管理データに、日別発注実績データが付加されている。日別発注実績データは、対応する発注管理データの商品コードで識別される商品の例えば最新１年間分の日々の発注数である。
【００１４】
発注管理データの項目において、理論在庫数は、対応する商品の納品数合計から売上数合計を減算して算出される値である。この理論在庫数が適正在庫数となるように、ストアサーバ２は、対応する商品の発注数を決定する。発注間隔は、対応する商品を発注する間隔の日数である。最終発注日から発注間隔の日数が経過すると、ストアサーバ２は、対応する商品を発注対象商品として選択する。パラメータｐは、後述する上限閾値と下限閾値の重み付けとなる値であり、商品毎に任意に設定される。
【００１５】
図４は、ストアサーバ２の要部構成を示すブロック図である。ストアサーバ２は、コンピュータの中枢を担うＣＰＵ（Central Processing Unit）１１を搭載している。そしてこのＣＰＵ１１に、アドレスバス，データバス等のバスライン１２を介して、主記憶部を構成するＲＯＭ（Read Only Memory）１３及びＲＡＭ（Random Access Memory）１４と、補助記憶部を構成するＨＤＤ（Hard Disk Drive）１５と、現在の日時を計時する時計部１６と、通信インターフェース１７、キーボードコントローラ１８、表示コントローラ１９、プリンタインターフェース２０及びＵＳＢ（Universal Serial Bus）インターフェース２１の各種の入出力部と、を接続している。
【００１６】
通信インターフェース１７は、前記店内ネットワーク４を介して接続されるＰＯＳ端末３等の機器との間のデータ通信を司る。プリンタインターフェース２０は、外付けのプリンタ（不図示）との間のデータ通信を司る。ＵＳＢインターフェース２１は、ＵＳＢ接続の周辺機器（ＵＳＢメモリ、マウス、外付けＨＤＤ等）との間のデータ通信を司る。
【００１７】
キーボードコントローラ１８は、入力デバイスであるキーボード２２から操作キーに対応したキー信号を取り込む。表示コントローラ１９は、表示デバイスであるディスプレイ２３の画面表示を制御する。
【００１８】
かかる構成のストアサーバ２は、前記商品データベース７と発注データベース８とをＨＤＤ１５に保存する。また、発注監視装置としての機能を実現するために、図５に示すエリア構造の発注監視テーブル３０を、ＲＡＭ１４に形成している。図５に示すように、発注監視テーブル３０は、“１”から始まる一連のテーブル番号に関連付けて、商品コード、発注数、上限閾値、下限閾値及び警告フラグの各データを記憶するためのエリアを有する。
【００１９】
ストアサーバ２は、自動発注プログラムと発注監視プログラムとをＲＯＭ１３に記憶している。そして、毎日の予め設定された発注時刻になると、自動発注プログラムが起動する。
【００２０】
自動発注プログラムが起動すると、ＣＰＵ１１は、図６の流れ図に示す手順の処理を開始する。先ず、ＣＰＵ１１は、第１カウンタＡと第２カウンタＢとをいずれも“０”にリセットする（ＳＴ１）。第１カウンタＡと第２カウンタＢは、例えばＲＡＭ１４に形成されている。
【００２１】
次に、ＣＰＵ１１は、第１カウンタＡを“１”だけカウントアップする（ＳＴ２）。そしてＣＰＵ１１は、第１カウンタＡが発注データベース８に保存されている発注データレコードの総数を超えたか否かを判断する（ＳＴ３）。
【００２２】
第１のカウンタＡが発注データレコードの総数を超えていない場合（ＳＴ３のＮＯ）、ＣＰＵ１１は、発注データベース８から先頭よりＡ番目（Ａは第１カウンタの値）の発注データレコードを読み出す（ＳＴ４）。そしてＣＰＵ１１は、読み出したレコードの最終発注日及び発注間隔から、時計部１６にて計時されている現在日付が、当該商品、つまりはＡ番目の発注データレコードの商品コードで特定される商品の発注日であるか否かを判断する（ＳＴ５）。
【００２３】
現在日付が発注日でない場合（ＳＴ５のＮＯ）、当該商品は、発注対象ではない。この場合、ＣＰＵ１１は、ステップＳＴ２の処理に戻り、第１カウンタＡをさらに“１”だけカウントアップする。そして、ステップＳＴ３以降の処理を再度実行する。
【００２４】
これに対し、現在日付が発注日である場合には（ＳＴ５のＹＥＳ）、当該商品は、発注対象である。この場合、ＣＰＵ１１は、Ａ番目の発注データレコードの適正在庫数から理論在庫数を減算して、当該商品の発注数ＮＮＮを算出する（ＳＴ６）。また、ＣＰＵ１１は、第２カウンタＢを“１”だけカウントアップする（ＳＴ７）。そしてＣＰＵ１１は、発注監視テーブル３０のテーブル番号Ｂ（Ｂは第２カウンタの値）のエリアに、当該商品の商品コードと発注数ＮＮＮとを格納する（ＳＴ８）。しかる後、ＣＰＵ１１は、ステップＳＴ２の処理に戻り、第１カウンタＡをさらに“１”だけカウントアップする。そして、ステップＳＴ３以降の処理を再度実行する。
【００２５】
こうして、ＣＰＵ１１は、第１カウンタＡが発注データレコードの総数を超えるまで、第１カウンタＡをカウントアップする毎にＳＴ４以降の処理を繰り返す。そして、第１カウンタＡが発注データレコードの総数を超えたならば（ＳＴ３のＹＥＳ）、発注監視プログラムが起動する（ＳＴ９）。
【００２６】
発注監視プログラムが起動すると、ＣＰＵ１１は、図７の流れ図に示す手順の処理を開始する。先ず、ＣＰＵ１１は、第３カウンタＣを“０”にリセットする（ＳＴ１１）。第３カウンタＣは、例えばＲＡＭ１４に形成されている。
【００２７】
次に、ＣＰＵ１１は、第３カウンタＣを“１”だけカウントアップする（ＳＴ１２）。そしてＣＰＵ１１は、第３カウンタＡが第２カウンタＢの値を越えたか否かを判断する（ＳＴ１３）。
【００２８】
第３カウンタＡが第２カウンタＢの値を越えていない場合（ＳＴ１３のＮＯ）、ＣＰＵ１１は、発注監視テーブル３０のテーブル番号Ｃ（Ｃは第３カウンタの値）のエリアから、商品コードを検出する（ＳＴ１４）。
【００２９】
次に、ＣＰＵ１１は、この商品コードで商品データベース７を検索して、当該商品コードを含む商品データレコードの日別売上実績データから、現在日付よりｎ（ｎは２以上の任意の整数）日前までのｎ日分の売上数Ｌ（１），Ｌ（２），…，Ｌ（ｎ）を読み出す（ＳＴ１５）。そして、次の（１）式により、ｎ日分の日別売上数Ｌ（１），Ｌ（２），…，Ｌ（ｎ）の移動平均値Ｘを算出する（ＳＴ１６：平均値演算手段）。
【数１】
0005308469.tif 000002
【００３０】
続いて、ＣＰＵ１１は、次の（２）式により、移動平均値Ｘの標準偏差Ｙを算出する（ＳＴ１７：標準偏差演算手段）。
【数２】
0005308469.tif 000003
【００３１】
続いて、ＣＰＵ１１は、発注監視テーブル３０のテーブル番号Ｃのエリアから検出した商品コードで発注データベース８を検索して、当該商品コードを含む発注データレコードから、発注間隔日数Ｚとパラメータｐとを読み出す（ＳＴ１８）。そして、ＣＰＵ１１は、この発注間隔日数Ｚ及びパラメータｐと、算出された移動平均値Ｘ及び標準偏差Ｙとを用いて、次の（３）式及び（４）により、上限閾値ＵＴと下限閾値ＢＴとを算出する（ＳＴ１９）。
【００３２】
ＵＴ＝（Ｘ＋Ｙ＋ｐ）×Ｚ        …（３）
ＢＴ＝（Ｘ−Ｙ＋ｐ）×Ｚ        …（４）
すなわちＣＰＵ１１は、日別売上数平均値Ｘに標準偏差Ｙを加算し、この加算値にパラメータｐを加算した値に所定の発注間隔日数Ｚを乗じた値を発注数の上限閾値ＵＴとして算出する（上限閾値演算手段）。また、ＣＰＵ１１は、日別売上数平均値Ｘから標準偏差Ｙを減算し、この減算値にパラメータｐを加算した値に所定の発注間隔日数Ｚを乗じた値を発注数の下限閾値ＢＴとして算出する（下限閾値演算手段）。
【００３３】
ＣＰＵ１１は、算出した上限閾値ＵＴと下限閾値ＢＴとを、発注監視テーブル３０のテーブル番号Ｃのエリアに格納する。しかる後、ＣＰＵ１１は、発注監視テーブル３０のテーブル番号Ｃのエリアに格納されている発注数ＮＮＮが、同エリアの上限閾値ＵＴと下限閾値ＢＴとの範囲内にあるか否かを判断する（ＳＴ２０：発注数監視手段）。
【００３４】
発注数ＮＮＮが上限閾値ＵＴと下限閾値ＢＴとの範囲内にある場合（ＳＴ２０のＹＥＳ）、ＣＰＵ１１は、発注監視テーブル３０のテーブル番号Ｃのエリアにおける警告フラグを“０”とする（ＳＴ２１）。これに対し、発注数ＮＮＮが上限閾値ＵＴを上回るか、下限閾値ＢＴを下回る場合（ＳＴ２０のＮＯ）、ＣＰＵ１１は、同警告フラグを“１”とする（ＳＴ２２）。
【００３５】
その後、ＣＰＵ１１は、ステップＳＴ１２の処理に戻り、第３カウンタＣをさらに“１”だけカウントアップする。そして、ステップＳＴ１３以降の処理を再度実行する。
【００３６】
こうして、ＣＰＵ１１は、第３カウンタＣが第２カウンタＢの値を超えるまで、第３カウンタＣをカウントアップする毎にＳＴ１４以降の処理を繰り返す。そして、第３カウンタＣが第２カウンタＢの値を超えたならば（ＳＴ１３のＹＥＳ）、ＣＰＵ１１は、発注監視テーブル３０のデータで発注数監視リスト４０を編集する。そして、このリスト４０をディスプレイ２３に表示出力する（ＳＴ２３：警告手段）。以上で、発注監視プログラムが終了する。
【００３７】
発注数監視リスト４０の一出力例を、図８に示す。このリスト４０において、警告欄の黒星マーク４１は、対応する商品「ＡＡＡＡＡＡＡＡ」の発注数ＮＮＮが上限閾値ｍｍｍを越えた異常値であることを警告する。同様に、警告欄の白星マーク４２は、対応する商品「ＤＤＤＤＤＤＤＤ」の発注数ＮＮＮが下限閾値ｎｎｎを越えた異常値であることを警告する。
【００３８】
発注監視プログラムが終了すると、ＣＰＵ１１は、自動発注プログラムに従い、発注監視テーブル３０の警告フラグをチェックする。そして、“１”の状態の警告フラグが１つも存在しない場合、ＣＰＵ１１は、発注監視テーブル３０の商品コードと発注数のデータを本部の発注システムに送信する。また、発注データベース８の日別発注実績データを更新する。以上で、自動発注プログラムが終了する。
【００３９】
これに対し、“１”の状態の警告フラグが１つでもあった場合には、ＣＰＵ１１は、発注数修正画面をディスプレイ２３に表示させて、異常値である発注数が修正されるのを待機する。そしてキーボード２２のキー入力により、異常値である発注数が上限閾値ＵＴと下限閾値ＢＴとの範囲内に全て修正されたならば、ＣＰＵ１１は、発注監視テーブル３０の商品コードと発注数のデータを本部の発注システムに送信する。また、発注データベース８の日別発注実績データを更新する。以上で、自動発注プログラムが終了する。
【００４０】
このように本実施形態によれば、発注対象商品の発注数が、その商品に対して定められた上限閾値ＵＴを上回るか下限閾値ＢＴを下回る場合に警告が発せられるので、過剰発注または発注不足を未然に防ぐことができる。この場合において、各商品の上限閾値ＵＴと下限閾値ＢＴは、各商品の日別売上数の移動平均値に基づいて商品別に自動的に算出されるので、商品毎に発注数の閾値を設定する手間を省略することができる。
【００４１】
以下、前記実施形態の変形例について説明する。  
例えば前記実施形態では、商品毎に上限閾値ＵＴと下限閾値ＢＴとを算出したが、上限閾値ＵＴのみを算出して発注数ＮＮＮと比較し、発注数ＮＮＮが上限閾値ＵＴを上回るか監視するものであってもよい。
【００４２】
また、前記実施形態では、発注数監視リスト４０を表示出力することによって、発注数が上限閾値を上回るか下限閾値を下回る場合に警告を発したが、警告手段はこれに限定されるものではない。例えば、発注数監視リスト４０をプリンタで印字出力してもよい。あるいは、発注数が上限閾値を上回るか下限閾値を下回る商品の情報だけを表示または印字出力して、警告してもよい。
【００４３】
また、必ずしも警告しなくてもよい。例えば、発注数が上限閾値を上回る商品があった場合、自動的に発注数を上限閾値の数に変更して発注するようにしてもよい。同様に、下限閾値を下回る商品があった場合、自動的に発注数を下限閾値の数に変更して発注するようにしてもよい。
【００４４】
また、前記実施形態では、自動発注プログラムに従い自動的に算出された発注数に対して監視する場合を示したが、発注端末から手動入力される発注数に対しても同様な監視処理を実施することができる。
【００４５】
さらに、前記実施形態は、ストアサーバ２の内部のプログラム記憶部であるＲＯＭ１３に発明の機能を実現させる発注監視プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークからストアサーバ２にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、ストアサーバ２にインストールされてもよい。記録媒体は、ＣＤ−ＲＯＭ，メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００４６】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４７】
１…ＰＯＳシステム、２…ストアサーバ、７…商品データベース、８…発注データベース、１１…ＣＰＵ、３０…発注監視テーブル、４０…発注数監視リスト。
【図１】
0005308469.tif 000004
【図２】
0005308469.tif 000005
【図３】
0005308469.tif 000006
【図４】
0005308469.tif 000007
【図５】
0005308469.tif 000008
【図６】
0005308469.tif 000009
【図７】
0005308469.tif 000010
【図８】
0005308469.tif 000011