説明

データ監視装置及びデータ監視プログラム

【課題】日計集計データの異常値を自動的に検出する。
【解決手段】サーバは、一日の商品売買取引から派生する金額項目または数量項目の値を記憶する記憶部から、チェック対象項目の一定期間に亘る日毎の値を読出し、その読出した値の平均値を算出する。また、この平均値の標準偏差を算出する。そして、この平均値に標準偏差を加算した値をチェック対象項目の上限閾値として算出する。サーバは、外部から取得した金額項目または数量項目の値のなかのチェック対象項目の値が上限閾値を上回るか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、一日の商品売買取引から派生する金額項目または数量項目の値の異常を監視するデータ監視装置及びコンピュータを当該データ監視装置として機能させるためのデータ監視プログラムに関する。
【背景技術】
【0002】
チェーン展開された小売店を本部が統括する形式の小売業では、本部に本部サーバを設置するとともに各小売店にそれぞれストアサーバを設置し、本部サーバと各ストアサーバとをネットワークで接続してなる本部・店舗システムが構築されている。
【0003】
このようなシステムにおいて、各小売店のストアサーバは、その店での一日の商品売買取引から派生する各種の金額項目(例えば、単品売上金額,部門売上金額,値引金額,返品金額等)や数量項目(例えば単品売上点数,部門売上点数,値引回数,返品点数等)の値を集計する。そして、ストアサーバは、毎営業日の閉店後(24時間営業の小売店の場合は設定時刻)に実施される精算業務において、集計した金額項目または点数項目の値を日計精算データとしてまとめて本部サーバに送信する。本部サーバは、各小売店のストアサーバから受信した日計精算データを蓄積して、各小売店の実績等を管理する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−249918号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ストアサーバで集計される金額項目または数量項目の値のなかには、例えば人為的なミスに起因して異常な値が集計される可能性がある。しかしながら、ストアサーバで異常な値が集計され、そのまま本部サーバに送信されたとしても、この異常値を本部サーバが自動的に検出することは困難であり、解決が望まれている。
【課題を解決するための手段】
【0006】
一実施形態において、データ監視装置は、取得手段と、平均値演算手段と、標準偏差演算手段と、上限閾値算出手段と、上限判定手段とを備える。取得手段は、一日の商品売買取引から派生する金額項目または数量項目の値を取得する。平均値演算手段は、一日の商品売買取引から派生する金額項目または数量項目の値を記憶する記憶手段から、金額項目または数量項目のなかのチェック対象項目の一定期間に亘る日毎の値を読出し、その読出した値の平均値を算出する。標準偏差演算手段は、平均値演算手段により算出された平均値の標準偏差を算出する。上限閾値算出手段は、平均値演算手段により算出された平均値に標準偏差演算手段により算出された標準偏差を加算した値をチェック対象項目の上限閾値として算出する。上限判定手段は、取得手段により取得した金額項目または数量項目の値のなかのチェック対象項目の値が上限閾値を上回るか否かを判定する。
【図面の簡単な説明】
【0007】
【図1】一実施形態に係わる本部・店舗システムの全体構成図。
【図2】同実施形態において、ストアサーバで生成される日計精算データの構造を示す模式図。
【図3】同実施形態における本部サーバの要部構成を示すブロック図。
【図4】同実施形態において、本部サーバのRAMに形成される主要なメモリエリアとデータ変遷を示す模式図。
【図5】図4における異常値チェックテーブルのエリア構造を示す模式図。
【図6】同実施形態において、本部サーバのCPUが実行するデータ漢詩処理の要部手順を示す流れ図。
【図7】図6のステップST9で示す異常値チェック処理の手順を具体的に示す流れ図。
【発明を実施するための形態】
【0008】
以下、データ監視装置の一実施形態について、図面を用いて説明する。なお、この実施形態は、本部・店舗システムの本部サーバにデータ監視装置としての機能を実現させる。
【0009】
図1は,本実施形態に係わる本部・店舗システムの全体構成図である。本システムは、店舗Aに構築されるPOS(Point Of Sales)システムのストアサーバ1Aと、店舗Bに構築されるPOSシステムのストアサーバ1Bと、各店舗A,Bを統括する本部に設置される本部サーバ2とを含み、本部サーバ2と各ストアサーバ1A,1Bとを、インターネット等のネットワーク3で接続してなる。
【0010】
POSシステムは、ストアサーバ1A,1BにLAN(Local Area Network)等のネットワーク4A,4Bを介して複数台のPOS端末5A,5Bを接続してなる。各POS端末5A,5Bは、商品売買取引に係わるデータ、例えば商品販売データ、値引データ、返品データ、廃棄データ等を処理する。ストアサーバ1A,1Bは、各POS端末5A,5Bで処理された各種のデータを、ネットワーク3を介して収集する。そしてストアサーバ1A,1Bは、収集した一営業日分のデータを基に単品別の日計精算データを編集し、各単品の日計精算データを日計精算ファイル6A,6Bに保存する。
【0011】
単品別日計精算データは、図2に示すように、各商品を識別する商品コード、商品名、単価及び原価の商品情報に関連付けて、売上金額、粗利金額、値引金額、廃棄金額等の金額項目や、売上点数、値引回数、廃棄点数等の数量項目の値をセットする。ストアサーバ1A,1Bは、各単品の日計精算データを保存した日計精算ファイル6A,6Bを、ネットワーク3を通じて本部サーバ2に送信する。
なお、日計精算ファイル6A,6Bのファイル名には、それぞれ該当する店舗AまたはBのファイル名が含まれており、本部サーバ2は、受信したファイルのファイル名からファイルの送信元である店舗を識別する。
【0012】
本部サーバ2は、店舗Aのストアサーバ1Aから受信した日計精算ファイル6Aのデータを蓄積するための店舗A日別データベース7と、店舗Bのストアサーバ1Bから受信した日計精算ファイル6Bのデータを蓄積するための店舗B日別データベース8とを管理する。
【0013】
図3は、本部サーバ2の要部構成を示すブロック図である。本部サーバ2は、コンピュータの中枢を担うCPU(Central Processing Unit)20を搭載している。そして、このCPU20に、アドレスバス,データバス等のバスラインBLを介して、主記憶部を構成するROM(Read Only Memory)21及びRAM(Random Access Memory)22と、補助記憶部を構成するHDD(Hard Disk Drive)23と、現在の日時を計時する時計部24と、通信インターフェース25、キーボードコントローラ26、表示コントローラ27、プリンタインターフェース28及びUSBインターフェース29の各種の入出力部と、を接続している。
【0014】
通信インターフェース25は、前記ネットワーク3を介して接続される各ストアサーバ1A,1Bとの間のデータ通信を司る。プリンタインターフェース28は、外付けのプリンタ(不図示)との間のデータ通信を司る。USBインターフェース29は、USB接続の周辺機器(USBメモリ、マウス、外付けHDD等)との間のデータ通信を司る。
【0015】
キーボードコントローラ26は、入力デバイスであるキーボード31から操作キーに対応したキー信号を取り込む。表示コントローラ27は、表示デバイスであるディスプレイ32の画面表示を制御する。
【0016】
かかる構成の本部サーバ2は、前記店舗A日別データベース7及び店舗B日別データベース8をHDD23に保存する。また、データ監視装置としての機能を実現するために、図4のデータ変遷図に示す日計精算データ受信バッファ41、異常値チェックテーブル42、正常データファイル43及び異常データファイル44を、RAM22に形成している。
日計精算データ受信バッファ41は、ネットワーク3を通じて受信した日計精算ファイル6A,6Bのデータを一時的に記憶する。
【0017】
異常値チェックテーブル42は、日計精算データ受信バッファ41から抽出された単品別日計精算データを基に、図5に示すように、精算日付D1、店舗名D2、商品コードD3及び商品名D4と、チェック対象項目別のチェック対象値E1,E2,E3,E4、上限閾値UT1,UT2,UT3,UT4、下限閾値BT1,BT2,BT3,BT4及び警告フラグF1,F2,F3,F4とを記憶する。チェック対象項目は、日計精算データに含まれる金額項目のうちの売上金額、粗利金額、値引金額及び廃棄金額である。
【0018】
正常データファイル43は、単品別日計精算データのうち正常と判定されたデータを記憶する。異常データファイル443は、単品別日計精算データのうち異常と判定されたデータを記憶する。
【0019】
また、本部サーバ2は、前記データ監視装置としての機能を実現するために、ROM21にデータ監視プログラムを記憶する。このデータ監視プログラムが起動すると、CPU20は、図6の流れ図に示す手順の処理を実行する。
【0020】
先ず、CPU20は、日計精算ファイル6Aまたは6Bの受信を待機する(ST1)。日計精算データ受信バッファ41に日計精算ファイル6Aまたは6Bのデータが記憶されていない間は(ST1のNO)、CPU20は、他のプログラム処理を実行する。
【0021】
日計精算データ受信バッファ41に日計精算ファイル6Aまたは6Bのデータが記憶されると、CPU20は、日計精算ファイル6Aまたは6Bを受信したとみなす(ST1のYES)。この場合、CPU20は、第1カウンタiを“0”にリセットする(ST2)。次いで、この第1カウンタiを“1”だけカウントアップする(ST3)。そして、第1カウンタiが最大値imaxを越えたか否かを判断する(ST4)。最大値imaxは、日計精算データ受信バッファ41に記憶された日計精算ファイル6Aまたは6Bのデータ数である。
【0022】
第1カウンタiが最大値imaxを越えていない場合(ST4のNO)、CPU20は、日計精算データ受信バッファ41の日計精算ファイル6Aまたは6Bから、i番目(iは第1カウンタのカウント値)の単品別日計精算データを取得する。そして、この日計精算データで異常値チェックテーブル42を作成する(ST5)。すなわちCPU20は、当該日計精算データの商品コード及び商品名と、売上金額、粗利金額、値引金額及び廃棄金額をそれぞれ異常値チェックテーブル42のエリアD3,D4,E1,E2,E3,E4にセットする。上限閾値UT1〜UT4、下限閾値DT1〜DT4及び警告フラグF1〜F4は、いずれも“0”にクリアする。エリアD1には、時計部24にて計時されている現在日付をセットし、エリアD2には、日計精算データ受信バッファ41に保存された日計精算ファイル6Aまたは6Bのファイル名から特定可能な店舗名をセットする。
【0023】
異常値チェックテーブル42が作成されたならば、CPU20は、第2カウンタjを“0”にリセットする(ST6)。次いで、この第2カウンタjを“1”だけカウントアップする(ST7)。そして、第2カウンタjが最大値jmaxを越えたか否かを判断する(ST8)。最大値jmaxは、異常値チェックテーブル42のチェック対象項目数(本実施形態では“4”)である。
【0024】
第2カウンタjが最大値jmaxを越えていない場合(ST8のNO)、CPU20は、図7に具体的に示す異常値チェック処理を実行する(ST9)。
先ず、CPU20は、異常値チェックテーブル42から精算日付D1,店舗名D2及び商品コードD3(または商品名D4)を検出する。そして、店舗名D2の日別データベース7または8を検索して、精算日付D1より前の最新n日分のデータで、かつ、商品コードD3(または商品名D4)が一致するデータから、j番目(jは第2カウンタのカウント値)のチェック対象項目の値L1〜Lnを取得する(ST21:取得手段)。
【0025】
次いで、CPU20は、次の(1)式により、これらn日分のチェック対象項目値L1〜Lnの移動平均値Xを算出する(ST22:平均値演算手段)。
【数1】

【0026】
さらに、CPU11は、次の(2)式により、移動平均値Xの標準偏差Yを算出する(ST23:標準偏差演算手段)。
【数2】

【0027】
CPU11は、閾値のパラメータpを取得する(ST24)。パラメータpは、本部サーバ2のユーザによって任意に設定され、HDD23に保存されている。CPU11は、前記(1)式及び(2)式で算出された移動平均値X及び標準偏差Yと、前記パラメータpとを用いて、次の(3)式及び(4)式により、上限閾値UTと下限閾値BTとを算出する(ST25)。
【0028】
UT=X+Y×p …(3)
BT=X−Y×p …(4)
すなわちCPU11は、チェック対象項目のn日分の値の平均値Xに、この平均値Xにおける標準偏差Yのp倍を加算した値を、チェック対象項目の値の上限閾値UTとして算出する(上限閾値演算手段)。また、CPU11は、同平均値Xから同標準偏差Yのp倍を減算した値を、チェック対象項目の値の下限閾値BTとして算出する(下限閾値演算手段)。
【0029】
CPU20は、前記(3)式及び(4)式で算出された上限閾値UTと下限閾値BTとを、異常値チェックテーブル42におけるj番目のチェック対象項目に対応した上限閾値UTj及び下限閾値BTjのエリアに格納する。しかる後、CPU20は、異常値チェックテーブル42におけるj番目のチェック対象項目に対応したチェック対象値Ejが、同チェック対象項目の上限閾値UTjと下限閾値BTjとの範囲内にあるか否かを判断する(ST26:上限判定手段、下限判定手段)。
【0030】
チェック対象値Ejが上限閾値UTjと下限閾値BTjとの範囲内にある場合(ST26のYES)、CPU20は、異常値チェックテーブル42におけるj番目のチェック対象項目に対応した警告フラグFjを“0”にリセットする(ST27)。これに対し、チェック対象値Ejが上限閾値UTjを上回るか、下限閾値BTjを下回る場合(ST26のNO)、CPU20は、同警告フラグFjを“1”にセットする(ST28)。
【0031】
以上で、異常値チェック処理が終了する。異常値チェック処理が終了すると、CPU20は、ステップST7の処理に戻り、第2カウンタjをさらに“1”だけカウントアップする。こうして、第2カウンタjが最大値jmaxを越えるまで、CPU20は、ステップST9の異常値チェック処理を繰り返す。
【0032】
第2カウンタjが最大値jmaxを越えたならば(ST8のYES)、CPU20は、異常値チェックテーブル42の各警告フラグF1〜F4を調べる(ST10)。その結果、全ての警告フラグF1〜F4が“0”にリセットされていたならば(ST10のNO)、CPU20は、ステップST4の処理で日計精算データ受信バッファ41の日計精算ファイル6Aまたは6Bから取得したi番目の単品別日計精算データを正常データファイル43に保存する(ST11:データ処理手段)。これに対し、少なくとも1つの警告フラグF1〜F4が“1”にセットされていたならば(ST10のYES)、CPU20は、同単品別日計精算データを、異常値チェックテーブル42のデータと関連付けて、異常データファイル44に保存する(ST12::データ処理手段)。
【0033】
しかる後、CPU20は、ステップST3の処理に戻り、第1カウンタiをさらに“1”だけカウントアップする。こうして、第1カウンタiが最大値imaxを越えるまで、CPU20は、ステップST5〜ST12の各処理を繰り返す。
【0034】
第1カウンタiが最大値imaxを越えたならば(ST4のYES)、CPU20は、正常値保存処理を実行する(ST13)。すなわちCPU20は、正常データファイル43に保存された単品別日計精算データを、そのデータに含まれる店舗名の日別データベース7に記憶させる。また、CPU20は、異常値モニタ処理を実行する(ST14)。すなわちCPU20は、異常データファイル44に保存された単品別日計精算データに関連付けられた異常値チェックテーブル42のデータから店舗名と商品名とを読み出すとともに、警告フラグが“1”にセットされているチェック対象項目の名称とチェック対象値とを読み出し、リスト形式でディスプレイ32に表示する。
【0035】
なお、正常値保存処理及び異常値モニタ処理の順番は逆でもよい。また、これらの処理の内容は、上記に限定されるものではない。以上で、CPU20は、データ監視プログラムに従った処理を終了する。
【0036】
このように、本部サーバ2は、商品別日計精算データに含まれるチェック対象項目のデータについて、同一項目の最新n日分の日別データから移動平均値Xを算出し、さらにこの移動平均値Xの標準偏差Yを算出する。そして、移動平均値Xに対して標準偏差Yを加減算することで、当該データの上限閾値UTと下限閾値BTとを求める。そして本部サーバ2は、全てのチェック対象項目のデータが前記上限閾値UTから下限閾値BTまでの範囲内にある商品別日計精算データを正常データとして処理し、少なくとも1つのチェック対象項目のデータが上限閾値UTを上回るか、下限閾値BTを下回る商品別日計精算データを異常データとして処理する。
【0037】
したがって、例えば原価の設定ミスにより粗利金額が突発的に大きくなり上限閾値UTを上回るか、逆に小さくなって下限閾値BTを下回ると、この粗利金額を含む商品別日計精算データが確実に異常データとして処理される。その結果、異常値の発見漏れによるデータの不整合が未然に防止され、集計データの信頼性を向上させることができる。
【0038】
また、データの異常を判定するための上限閾値UT及び下限閾値BTを最新n日分の日別データから算出しているので、閾値に対する信頼性が高い。しかも、閾値を設定するための人的負荷が全くないので、人的作業量を削減できる効果も奏する。
【0039】
以下、その他の実施形態について説明する。
前記実施形態では、移動平均値Xに標準偏差Yを加減算することで上限閾値UTと下限閾値BTとを求めたが、上限閾値UTのみを求めて、チェック対象項目のデータが上限閾値UTを上回るか否かを判定するだけの実施形態、または逆に、下限閾値BTのみを求めて、チェック対象項目のデータが下限閾値BTを下回るか否かを判定するだけの実施形態であってもよい。
【0040】
前記実施形態では、チェック対象項目として売上金額、粗利金額、値引金額及び廃棄金額の4つを示したが、チェック対象項目は、これらの金額項目に限定されるものではない。チェック対象項目は、点数項目でもよい。また、金額項目と点数項目とが混在していてもよい。
【0041】
前記実施形態では、日別データベース7,8を店舗毎に設けたが、1つの日別データベースで各店舗A,Bの日計精算ファイルのデータを蓄積してもよい。なお、店舗数が店舗A,店舗Bの2店舗に限定されないのは言うまでもないことである。
【0042】
前記実施形態では、データ監視装置としての機能を本部サーバ2に適用したが、本部サーバ以外のコンピュータ機器、例えばストアサーバ1A,1Bに適用することも可能である。
【0043】
前記実施形態は、装置内部のROM21に発明の機能を実現させるデータ監視プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークから装置にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、装置にインストールされてもよい。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0044】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0045】
1A,1B…ストアサーバ、2…本部サーバ、3…ネットワーク、6A,6B…店舗別日計精算ファイル、7,8…店舗別日別データベース、20…CPU、41…日計精算データ受信バッファ、42…異常値チェックテーブル、43…正常データファイル、44…異常データファイル。

【特許請求の範囲】
【請求項1】
一日の商品売買取引から派生する金額項目または数量項目の値を取得する取得手段と、
前記一日の商品売買取引から派生する金額項目または数量項目の値を記憶する記憶手段から、前記金額項目または数量項目のなかのチェック対象項目の一定期間に亘る日毎の値を読出し、その読出した値の平均値を算出する平均値演算手段と、
この平均値演算手段により算出された平均値の標準偏差を算出する標準偏差演算手段と、
前記平均値演算手段により算出された平均値に、前記標準偏差演算手段により算出された標準偏差を加算した値を前記チェック対象項目の上限閾値として算出する上限閾値算出手段と、
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記上限閾値を上回るか否かを判定する上限判定手段と、
を具備したことを特徴とするデータ監視装置。
【請求項2】
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記上限閾値を上回らないデータを正常データとして処理し、上回るデータを異常データとして処理するデータ処理手段、
をさらに具備したことを特徴とする請求項1記載のデータ監視装置。
【請求項3】
前記平均値演算手段により算出された平均値から、前記標準偏差演算手段により算出された標準偏差を減算した値を前記チェック対象項目の下限閾値として算出する下限閾値算出手段と、
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記下限閾値を下回るか否かを判定する下限判定手段と、
をさらに具備し、
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記上限閾値を上回らずかつ前記下限閾値を下回らないデータを前記記憶手段に記憶させることを特徴とする請求項1記載のデータ監視装置。
【請求項4】
一日の商品売買取引から派生する金額項目または数量項目の値を取得する取得手段と、
前記一日の商品売買取引から派生する金額項目または数量項目の値を記憶する記憶手段から、前記金額項目または数量項目のなかのチェック対象項目の一定期間に亘る日毎の値を読出し、その読出した値の平均値を算出する平均値演算手段と、
この平均値演算手段により算出された平均値の標準偏差を算出する標準偏差演算手段と、
前記平均値演算手段により算出された平均値から、前記標準偏差演算手段により算出された標準偏差を減算した値を前記チェック対象項目の下限閾値として算出する下限閾値算出手段と、
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記下限閾値を下回るか否かを判定する下限判定手段と、
を具備したことを特徴とするデータ監視装置。
【請求項5】
前記取得手段により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記下限閾値を下回らないデータを正常データとして処理し、下回るデータを異常データとして処理するデータ処理手段、
をさらに具備したことを特徴とする請求項4記載のデータ監視装置。
【請求項6】
コンピュータに、
一日の商品売買取引から派生する金額項目または数量項目の値を取得する取得機能と、
前記一日の商品売買取引から派生する金額項目または数量項目の値を記憶する記憶手段から、前記金額項目または数量項目のなかのチェック対象項目の一定期間に亘る日毎の値を読出し、その読出した値の平均値を算出する平均値演算機能と、
この平均値演算機能により算出された平均値の標準偏差を算出する標準偏差演算機能と、
前記平均値演算機能により算出された平均値に、前記標準偏差演算機能により算出された標準偏差を加算した値を前記チェック対象項目の上限閾値として算出する上限閾値算出機能と、
前記取得昨日により取得した金額項目または数量項目の値のなかの前記チェック対象項目の値が前記上限閾値を上回るか否かを判定する上限判定機能と、
を実現させるためのデータ監視プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate