説明

来店客数予測サーバ及び来店客数予測プログラム

【課題】 地図情報システムを使わずに店舗の商圏人口と商圏人口の変化を把握してその情報をもとに来店客数を予測する。
【解決手段】 時系列に保存された実績来店客数を取得し(S203)、その取得した実績来店客数から予測対象日前の所定期間の平均来店客数を算出する(S207,S209,S212,S214,S216)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、来店客数を予測する来店客数予測サーバ及び来店客数予測プログラムに関する。
【背景技術】
【0002】
従来、店舗への来店客数を予測するための要因として店舗商圏の人口が使用されてきた。そして商圏人口は、役所が発行する人口データや、地図情報に道路や建築物、家庭人口などを合わせた地図情報システムから取得されてきた。例えば店舗の商圏を店舗から500mと決定して、その商圏内の人口を地図情報システムから取得していた(例えば、特許文献1参照)。
【特許文献1】特開2002−324160号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、商圏人口を得るために地図情報システムを構築するのには時間と費用がかかる。また商圏人口は時間とともに変化していくため、正確さに欠ける。
【0004】
本発明は上記事情に鑑みてなされたものであって、その目的は、地図情報システムを使わずに店舗の商圏人口と商圏人口の変化を把握してその情報をもとに来店客数を予測するための平均来客数を算出する来店客数予測サーバ及び来店客数予測プログラムを提供することにある。
【課題を解決するための手段】
【0005】
本発明は、時系列に1日単位で保存された実績来店客数を取得し、その取得した実績来店客数から予測対象日前の所定期間の平均来店客数を算出する来店客数予測サーバである。
【発明の効果】
【0006】
本発明によると、地図情報システムを使わずに店舗の商圏人口と商圏人口の変化を把握してその情報をもとに来店客数を予測する来店客数予測サーバ及び来店客数予測プログラムを提供できる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の一実施の形態について図面を参照して説明する。
図1は、ネットワークシステムを概略的に示す図である。図1に示すようにネットワークシステムは、来店客数の予測を行う来店客数予測サーバである店舗サーバ1と、この店舗サーバ1とネットワーク3を介して接続される複数個のPOS端末装置2とから構成される。ネットワーク3は、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)、インターネットからなる。なお、POS端末装置2を1つ又は少数しか持たず店舗サーバ1を設置していないような店舗では、店舗サーバ1を設けず、POS端末装置2の1つに店舗サーバ1の機能を持たせるようにしても良い。
【0008】
図2は、店舗サーバ1の要部構成を示すブロック図である。図2に示すように、店舗サーバ1は、CPU11、ROM12、RAM13、通信制御部14、記録部15、表示部16、入力部17、時計部18を有している。CPU11は、店舗サーバ1全体を総括的に制御する。ROM12は店舗サーバ1を制御するためのプログラムを保持する。RAM13は、CPU11がROM12に保持されたプログラムを実行するときに必要となるワークエリアを有している。通信制御部14は、ネットワークを介して行なうPOS端末装置2等とデータの送受信を制御する。記録部15は、各種データを記録(保存)する。記録部15には、例えば後述するPOSデータ取得処理を実行したときに取得したPOSデータから得られる来店客数、日付、曜日、後述する営業時間内の降水量、特異日を示す客数データが記録される。表示部16はディスプレイ等へ表示を行なう。入力部17は、マウスやキーボード等からの入力処理を行なう。時計部18は、時刻を計時し日時情報を生成する。
【0009】
図3は、POS端末装置2の要部構成を示すブロック図である。図3に示すように、POS端末装置2は、CPU21、ROM22、RAM23、通信制御部24、記録部25、表示部26、入力部27、バーコード接続部28、時計部29を有している。CPU21は、POS端末装置2全体を総括的に制御する。ROM22は、POS端末を制御するためのプログラムを保持する。RAM23は、CPU21がROM22に保持されたプログラムを実行するときに必要となるワークエリアを有している。通信制御部24は、ネットワークを介して行なう店舗サーバ1とのデータの送受信を制御する。記録部25は、各種データを記録(保存)する。記録部25には、例えば、POS端末装置2で精算を行なった客毎の売上情報(販売日時、曜日、客数、購入商品等)を示すPOSデータが記録される。表示部26は、ディスプレイ等へ表示を行なう。入力部27はキーボードからの入力処理を行なう。バーコード接続部28はバーコードリーダと接続され、バーコードリーダで読み取られたバーコードデータを入力する。時計部29は時間を計時し日時情報を生成する。
【0010】
次に、店舗サーバ1のROM12に記憶されたPOSデータ取得プログラムが実行されたときの処理について説明する。図4は、店舗サーバ1のPOSデータ取得処理を示すフローチャートである。このPOSデータ取得処理は定期的にネットワーク3に接続されたPOS端末装置2からPOSデータを取得する処理である。
【0011】
店舗サーバ1は、ネットワーク3を介してPOS端末装置2からPOSデータを定期的に、例えば1日1回取得する(S101)。このPOSデータを取得するタイミングは業務開始前の所定のタイミングとするがどのタイミングでも良い。これにより、前回POSデータを取得した時刻の後から現在時刻までの1日分のPOSデータが店舗サーバ1で取得される。店舗サーバ1は、取得したPOSデータから、POS端末装置2を通過した人数を集計し、一日辺りの来店客数を計算する(S102)。
【0012】
次に、店舗サーバ1は、ステップS102で計算した来店客数に、POSデータに含まれる日付と曜日、入力部17から取得した営業時間内の降水量、後述する特異日と併せて客数データとして記録部15に保存する(S103)。
【0013】
ここで、降水量は、表示部16に表示された画面を通して取得する。この画面上から入力される降水量は実績値を数値として入力するようにしても良いし、後述する離散化後のデータ“0”、“1”、“2”、“3”を入力しても良いし、離散化後のデータを言葉で置き換えた、“降らない”、“小雨”、“弱い雨”、“強い雨”を選択するようにしても良い。なお、降水量をどのように離散化するか、又は、言葉で置き換えるかは後述する。また、降水量は通信制御部14からネットワーク3のインターネット上に存在する、日ごとの降水量を提供するサーバから取得するようにしても良い。
【0014】
特異日は、正月休み、ゴールデンウィーク、お盆、クリスマス、大晦日、三日以上の連休などの、通常とは来店客数の傾向が異なる日である。特異日を含む週は、週全体の傾向も変わるため、通常の週とは分けて考える必要がある。特異日であるデータは例えば正月休みを“1”、ゴールデンウィークを“2”として、特異日でないデータを“0”などにする。またこれとは別に正月休み、ゴールデンウィークなどの連休を全て“1”にして、台風などの異常気象の時を“2”にして、特異日でないデータを“0”などにするとしても良い。
【0015】
ここで特異日は表示部16に表示される画面を通して設定することができる。この画面では、特異日にしたい日をカレンダーから選択するか、リストボックスから選択する。このように特異日を選択した後、さらに、特異日の種類をリストボックスで選択する。その後設定ボタンで特異日の登録を行う。登録された内容は店舗サーバ1の記録部15に記録される。
【0016】
図5は、記録部15に記録される客数データを示すテーブルTである。図5に示すように客数データは表形式で記録される。このテーブルTには、POSデータから取得した日付に対応させて、曜日、来店客数(客数)のデータを記録するエリア、入力部17から取得した降水量のデータを記録するエリア、記録部15内のカレンダーに設定された特異日から取得した特異日のデータを記録するエリア、来店客数の予測値を記録するエリアが設けられている。このテーブルTに記録される客数データは、現在の日付よりも前少なくとも1年間は保持しておくことが望ましい。
【0017】
次に、来店客数の予測として、重回帰分析を使う方法について説明する。重回帰分析は目的変数と説明変数の関係から予測モデル(重回帰式)を作成し、複数の説明変数と目的変数間の影響を分析する、一般に良く知られた統計的手法である。なお、重回帰分析については、「図解でわかる 回帰分析」涌井良幸・涌井貞美著;日本実業出版社などに詳細が記載されている。尚、予測式作成には必ずしも重回帰分析を用いる必要はない。
【0018】
来店客数の変動を説明するものとして様々な要因が考えられるが、本実施の形態では、曜日、商圏人口、天候を利用する。
次に、目的変数と各説明変数について詳細を説明する。
【0019】
先ず、目的変数には予測日の来店客数を用いる。次に、説明変数について説明する。来店客は決まった曜日に周期的に訪れる傾向にある。また、一般には休日の来店客数は平日よりも多くなる。一方、駅前の店舗では、仕事帰りの買い物客が多いので、逆に平日のほうが休日よりも来店客数が多くなることがある。また、毎週特定の曜日にセールをやる店舗はもちろん曜日ごとに特定の来客パターンができる。そこで説明変数に曜日を採用する。これにより曜日ごとの傾向を表現することが可能となる。曜日はダミー変数とする。ここでダミー変数は、ある変数に対して、その変数が取りうる種類分だけ新たに変数を設け、その新たに設けた変数を“0”と“1”で表すものである。
【0020】
商圏人口は大まかな来店客数を判断するのに有用な情報である。商圏人口としては、地図情報に道路や建築物、家庭人口などを合わせた地図情報システムから得られる商圏人口を使うことも考えられるが、地図情報システムの構築には費用と時間がかかるという欠点がある。また店舗が所在する役所が発行する店舗を含む地域の人口データを利用することも考えられるが、これら人口データが店舗商圏と必ずしも一致するとはかぎらず、またこれら人口データは月ごとなどで更新されるため、予測をする1ヶ月以内の直近の上昇・下降のトレンドを捉えることが出来ないという欠点を持つ。
【0021】
そこで商圏人口の代わりに、客数データとして店舗サーバ1の記録部15のテーブルTに保存されている過去の来店客数を説明変数に用いる。来店客数には七日間(1週間)の周期があるので、目的変数の対象となる予測日の前日から七日前までの平均を用いる。このように予測日の前日から七日前までの来店客数の平均を用いることで、商圏人口に代わる大まかな来店客数を判断する有用な情報が得られる。また予測をする直近の来店客数の上昇・下降のトレンドを捉えることも可能となる。
【0022】
ここで平均値は相加平均を用いるが、重み付き平均でもよい。例えば、七日前の同じ曜日の来店客数は、他の曜日よりも予測日と関係があると考えられるので、他の日よりも大きな重みをつけて平均値を求める。この場合、重みはユーザの経験に基づいて決められる。
【0023】
天候も来店客数の変動の重要な要因である。特に雨の影響が大きく、営業時間内に雨が降ると、来店客数は一般に減少する。雨が多ければ多いほど、来店客数の変動も大きくなる。ただし、降水量に比例してそのまま客数に影響するわけではない。例えば、降水量が2mmから4mmに倍増しても、来店客数が半分になるわけではない。そこで、降水量は適当な範囲で区切って(すなわち、不均一に区切って)離散化する。例として、降水量を、降らない、小雨、弱い雨、強い雨の4段階に区分する。それぞれの範囲を0mm、1〜5mm、6〜15mm、16mm以上、として、小さいほうから順に“0”、“1”、“2”、“3”と数値を割り当てる。このように離散化したデータを説明変数とする。降水量を離散化することで、降水量が客の来店に与える影響を適正に考慮した予測が可能となる。区分の方法、上記の4区分以外でも良く、離散値“1”は傘を必要としない降水量と定義してもよい。店舗サーバ1のユーザは、上述したように入力部17を用いて降水量の範囲と対応する言葉を選択して降水量を入力するようにしても良いし、
以上より、目的変数には予測日の来店客数、説明変数には、曜日、予測日より前七日間の来店客数の平均、降水量の三つを用いる。来店客数変動の要因として他にも地域行事や、広告、競合他店の動向などが考えられ、これらを考慮した重回帰式に拡張しても良い。
【0024】
次に、店舗サーバ1が実行する来店客数の予測方法について説明する。図6は、来店客数を予測するための来店客数予測処理を示すフローチャートである。この処理は、入力部によって当該処理を開始するための指示がなされると開始される。
【0025】
店舗サーバ1は、表示部16に表示した予測処理を実行させるための画面からユーザにより入力部17が操作され入力された予測日を取得し(S201)、予測日の予測降水量を取得する(S202)。ここで予想降水量は上記予測処理を実行させるための画面にユーザが数値として、又は離散化後のデータ”0、“1”、“2”、“3”を入力することにより店舗サーバ1が予測降水量を取得するようにしても良いし、また、離散化後のデータを言葉で置き換えた、“降らない”、“小雨”、“弱い雨”、“強い雨”を選択入力することにより店舗サーバ1が予測降水量を取得するようにしても良い。さらに、予測降水量は通信制御部14からネットワーク3上に存在する予測降水量を提供するサーバから取得するようにしても良い。
【0026】
次に店舗サーバ1は、記録部15のテーブルTから取得した予測日より過去365日間の客数データを取得する(S203,取得手段)。なお、このとき取得される客数データは、365日間の客数データに限るものではない。
【0027】
そして、店舗サーバ1は、予測日が特異日のある週であるか否かを判定する(S204)。すなわち、予測日が含まれる月曜日から日曜日までの1週間に特異日があるか否かを判定する。図7は、予測日が含まれる1週間に特異日がない場合を説明するための図である。図7に示すように、例えば、予測日を2005年10月19日とすると、10月19日(水曜日)が特異日ではなく、さらに、10月19日を含む1週間である10月17日(月曜日)、10月18日(火曜日)、10月20日(木曜日)、10月21日(金曜日)、10月22日(土曜日)、10月23日(日曜日)に特異日が含まれないかが判定される。この判定は、ステップS203で取得した客数データを参照して行なわれる。
【0028】
店舗サーバ1は、予測日が特異日のある週でないと判定すると、すなわち、予測日が特異日でなく、かつ、予測日が含まれる1週間に特異日がない場合は(S204でNO)、特異日のない週の日から重回帰式を求める(S205)。つまり、店舗サーバ1は、ステップS203で取得した客数データから特異日と1週間内に特異日を含まない週の日のデータを除いた客数データを用いて、重回帰式を算出する。
【0029】
ここで特異日のない週から重回帰式の求め方(S205)について図8のサブフローチャートを使い説明する。店舗サーバ1はステップS203で取得した客数データから特異日でない日のデータと、1週間内に特異日を含まない週の日のデータを、予測実行日に近いものから所定日数分取得する(S301)。すなわち特異日項目が“0”のデータと1週間内に特異日項目が“0”でない日を含まない週の日のデータを記録部15のテーブルTから取得する。なお、取得される所定日数分のデータは、作成される重回帰式の精度を考慮すると50日以上(8週以上)であることが望ましい。次に店舗サーバ1は所定日数分の各客数データについて、それぞれ前七日間の平均客数を計算する(S302,算出手段)。ここで前七日間に特異日により除かれたデータがある場合は、さらにその前の日のデータを用いて計算する。次に店舗サーバ1は所定日数分の客数データの曜日、降水量、前七日間平均客数を説明変数として、実際の来店客数の実績値を目的変数として重回帰分析を行い、重回帰式を求める(S303)。ここで曜日はダミー変数として、降水量は前述した離散化したデータに変換したものを使用する。
【0030】
このようにして重回帰式を求めると(S205)、店舗サーバ1は、予測を行う予測実行日と予測対象の予測日が連続していないかを判定する(S206)。予測実行日と予測日が連続している、すなわち予測日が予測実行日の翌日の場合は(S206でNO)、予測日の前七日間の平均客数をもとめ、ステップS303で作成された重回帰式に、予測日の曜日、ステップ202で取得した予測降水量、予測日の前七日間平均客数を代入して予測値を計算する(S207,予測手段の1つ)。予測結果は記録部15のテーブルTに客数データの予測値項目として保存すると同時に、表示部16を介して表示を行う(S208)。図9は、このようにして表示部16に表示された予測結果の一例を示す図であり、2005年12月11日(日曜日)の予測結果を示している。図9に示すように、予測結果はその日までの予測値と併せて過去の予測値を折れ線グラフにして表示しても、予測日の予測値だけを表示するようにしても良い。
【0031】
一方、予測実行日と予測日が連続していないと判定すると(S206でYES)、予測日まで予測来店客数を計算して予測日の予測来店客数を求める処理を行なう(209,予測手段の1つ)。すなわち、予測日の予測値を求めるために必要な前七日間の平均客数を計算することができないため、まずは予測実行日と予測日の間の日の客数を予測し、そして求めた予測実行日と予測日の間の日の予測値を仮の客数実績値として、予測日の前七日間平均をもとめた後に、客数予測を行う。なお、図10(a)は、予測実行日と予測日が連続していない場合を説明するための図である。図10に示すように、予測実行日が10月16日であるのに対して予測日が10月19日であるため、予測実行日と予測日が連続していない。
【0032】
ここで、ステップS209の処理を図11のサブフローチャートを使い説明する。先ず、店舗サーバ1は、予測実行日の翌日が予測日か否かを判定する(S401)。予測実行日の翌日が予測日でない場合は(S401でNO)、前七日間平均客数をもとめた後、S303で作成した重回帰式から予測客数をもとめ、その値をその日の仮の客数実績値とする(S402)。ここで降水量に関しては“0”、すなわち雨が降らないとしても良いし、新たに予想降水量を取得するようにしても良い。ステップS402処理の後、再びステップS401の処理へ戻り、ステップS402処理により求めた日の翌日が予測日かを判定する。
【0033】
予測実行日の翌日が予測である場合は(S401でYES)、店舗サーバ1は、ステップS402で求めた仮の客数実績値も含めて、その予測日の前七日間の客数平均をもとめ、かつステップS303で作成した重回帰式(予測式)を使い、客数を予測する(S403)。このように予測実行日の翌日から順番に客数の予測を実行していき、もとめた客数予測値を仮の客数実績値とする。そして仮の客数実績値をもちいて予測日の前七日間平均客数をもとめて、予測日の客数を予測する。
【0034】
また図10(b)に示すように予測実行日と予測日の間に特異日を含む場合についても、ステップS303で作成した特異日を含まないデータで作成した重回帰式を使って仮の客数予測値を求める。
【0035】
店舗サーバ1は、このようにして求められた予測結果を、記録部15のテーブルTに客数データの予測値項目として保存すると同時に、表示部16を介して表示を行う(S208)。
【0036】
一方、店舗サーバ1は、予測日が特異日のある週であると判定すると、すなわち、予測日が特異日か、又は予測日が含まれる1週間に特異日がある場合は(S204でYES)、店舗サーバ1は予測日の特異日と同じ種類の特異日であるか、予測日の特異日と同じ種類の特異日と同じ週にある客数データを記録部15のテーブルTから取得して、重回帰分析を行い、重回帰式をもとめる(S210)。なお、図12は、予測日が特異日または特異日を含む週にある場合を説明するための図である。図12(a)は、予測日が特異日の場合を示しており、図12(b)は予測日の週に特異日が含まれる場合を示している。
【0037】
ここで特異日を含む週の日の客数データから重回帰式の求め方(S210)について図13のサブフローチャートを使い説明する。
【0038】
店舗サーバ1はステップS203で取得した客数データから、予測日と同じ種類の特異日、または予測日と同じ種類の特異日を週内に含む客数データを全て取得する(S501)。すなわち予測日の特異日のエリアの種類と同じ種類のデータを持つ特異日のデータと、予測日の特異日のエリアの種類と同じ種類のデータを持つ特異日を週内に含む週の日のデータを取得する。次に店舗サーバ1は取得した客数データ数が所定数より大きいか否かを判定する(S502)。取得したデータ数が所定数以下の場合は(S502でNO)、データ数が少ないという警告を、表示部16を介して発する(S503)。ここでは例えば所定数は20とする。またデータ数が少ない場合は警告を発した後で処理を終了させるようにしても良い。またデータ数が少なくとも警告を発せず処理を続けても良い。次に店舗サーバ1はステップS501で取得した客数データについて、それぞれ前七日間の平均客数を計算する(S504)。そして、店舗サーバ1はステップS501で取得した客数データの曜日、降水量、前七日間平均客数を説明変数として、同じくステップS501で取得した来店客数の実績値を目的変数として重回帰分析を行い、重回帰式を求める(S505)。ここで曜日はダミー変数として、降水量は前述した離散化したデータに変換したものを使用する。
【0039】
このようにして重回帰式を求めると(S210)、店舗サーバ1は予測日と予測実行日が連続していないか否かを判定する(S211)。ここで予測日が予測実行日と連続している、すなわち予測日が予測実行日の翌日の場合は(S211でNO)、予測日の前七日間の平均客数をもとめ、ステップS505で作成された特異日用の重回帰式に予測日の曜日、離散化した予測降水量、前七日間平均客数を代入して予測値を求める(S212,予測手段の1つ)。このようにして求められた予測結果は記録部15のテーブルTに客数データの予測値項目として保存すると同時に、表示部16を介して例えば図9で示す表示を行う(S208)。
【0040】
したがって、特異日である予測日または週内に特異日を持つ予測日の予測に、同じ種類の特異日の客数データと同じ種類の特異日を週内に持つ日の客数データを使って重回帰式をもとめることで、通常とは異なる特異日が与える客数の傾向を週単位で捉えることが可能となる。
【0041】
また、予測実行日と予測日が図10(a)に示すように連続していない場合(S211でYES)、店舗サーバ1は、予測実行日と予測日の間に、予測日とは異なる週が含まれるか否かを判定する(S213)。図14は、予測実行日と予測日との関係を示す図である。図14(a)は、予測実行日と予測日との間にある日は予測日と同じ週である場合を示しており、図14(b)は、予測実行日と予測日との間に予測日とは異なる週がある場合を示している。
【0042】
図14(a)に示すように、予測実行日と予測日の間に、予測日と同じ週しか存在しない場合は(S213でNO)、予測日の予測値を求めるために必要な前七日間の平均客数を計算することができないため、まずは予測実行日と予測日の間の日の客数を予測し、そして求めた予測実行日と予測日の間の日の予測値を仮の客数実績値として、予測日の前七日間平均をもとめた後に、客数予測を行い、予測来店客数を求める(S214,予測手段の1つ)。ここで、ステップS214の処理はステップS209の処理と同じ処理であり、図11のサブフローチャートと同様の処理を行なうが、ステップS303で作成した重回帰式の代わりにステップS505で作成した特異日用の重回帰式を用いて予測日の客数を予測する。このようにして求められた予測結果は記録部15のテーブルTに客数データの予測値項目として保存すると同時に、表示部16を介して例えば図9で示す表示を行う(S208)。
【0043】
ここS214の処理において、予測実行日と予測日の間の期間の客数予測(S401、S402)は、ステップS505で作成した特異日用の重回帰式を用いるのは、これら予測実行日と予測日の間の日は特異日と同じ週にあり、特異日特有の影響を受けているためである。
【0044】
図14(b)に示すように、予測実行日と予測日の間に予測日と異なる週が存在する場合は(S213でYES)、店舗サーバ1は予測日を含まない週のデータの仮の予測値を求めるためにステップS203で取得した客数データから特異日と特異日を含む週の日のデータを除いた客数データを使い、重回帰式を求める(S215)。ここで、ステップS215の処理はステップS205の処理と同じ処理であり、図8のサブフローチャートと同様の処理を行なう。なお、予測日とは異なる週に特異日が含まれていても、特異日と特異日を含む週の日を除いた客数データをもちいて重回帰式を求める。
【0045】
このようにして重回帰式を求めると(S215)、予測日まで予測来店客数を計算して予測日の予測来店客数を求める処理を行なう(S216,予測手段の1つ)。
【0046】
ここで、ステップS216の予測来店客数を求める処理を図15に示すサブフローチャートを使い説明する。先ず、店舗サーバ1は、予測実行日の翌日が予測日か否かを判定する(S601)。ここで予測実行日の翌日が予測日でない場合は(S601でNO)、翌日が予測日と同じ週か否かを判定する(S602)。ここで予測実行日の翌日が予測日と同じ週でない場合は(S602でNO)、前七日間平均客数をもとめた後、ステップS303で作成した重回帰式(特異日がない場合の重回帰式)から予測客数をもとめ、その値をその日の仮の客数実績値とする(S603)。ここで降水量に関しては“0”、すなわち雨が降らないとしても良いし、新たに予想降水量を取得するようにしても良い。このステップS603の処理が終了すると、ステップS601の処理へ戻り、再びその翌日が予測日か否かを判定する。また、予測実行日の翌日が予測日と同じ週である場合(S602でYES)、前七日間の平均客数をもとめてからステップS505で作成した重回帰式(特異日用の重回帰式)を用いて客数の予測を行う(S604)。ここで降水量に関しては“0”、すなわち雨が降らないとしても良いし、新たに予想降水量を取得するようにしても良い。このステップS604の処理が終了すると、ステップS601の処理へ戻り、再びその翌日が予測日かを判定する。
【0047】
一方、予測実行日の翌日が予測日である場合(S601でYES)、ステップS603,S604の処理で求めた仮の客数実績値も含めて前七日間の平均客数をもとめてからステップS505で作成した特異日用の重回帰式を用いて客数の予測を行う(S605)。降水量は例えばステップS202で取得したものを離散化したデータを使用する。
【0048】
このように予測実行日の翌日から順番に客数の予測を実行していき、もとめた客数予測値を仮の客数実績値とする。そして仮の客数実績値をもちいて予測日の前七日間平均客数をもとめて予測日の客数を予測する。このようにして求められた予測結果は記録部15のテーブルTに客数データの予測値項目として保存すると同時に、表示部を介して例えば図9で示す表示を行う(S208)。
【0049】
また、予測実行日と予測日の間に特異日を含む週がある場合についても、その特異日を含む週が予測日の含まれる週と異なる場合は、特異日を含まないデータで作成した重回帰式を使って仮の客数予測値を求める。
【0050】
ここで、予測客数と実績値が大きく異なる場合を考える。すなわち、実際の来店客数に突発的な大きな変動が起こった場合に実際の来店客数を次の予測に活用すると、その後の予測値が大きく狂う可能性があるため、これら来店客数は予測に用いないほうが良い。そこで、実際の客数の値から前七日間の平均を求めるときに、実際の客数と予測値の差が、ユーザが指定する閾値以上であった場合、その週の客数データは計算には用いないようにする。または、平均値を求めるときに、実際の客数を使わずに、そのときの予測値を使うようにする。以下では、実際の客数と予測値の差が、ユーザが指定する閾値以上であった場合、その週の客数データは計算には用いないようにする場合について説明する。
【0051】
予測値と実際の客数の比較を、店舗サーバ1がPOSデータを記録部15に記録する際に行う処理を図16のフローチャートを使い説明する。
ステップS701及びS702の処理は、ステップS101及びS102とそれぞれ同様な処理であるため説明を省略する。店舗サーバ1は、ステップS702で集計した実際の客数と記録部15に記録されているステップS702で集計した客数と同じ日付の予測値とを比較することにより、予測値と実際の客数との誤差の絶対値が所定値以上かどうか調べる(S703)。ここでは所定値として、1000を用いる。すなわち、来店客数と予測来店客数とに1000人以上の差があった場合のデータを用いないようにする。
【0052】
次に店舗サーバ1は実際の来店客数に、POSデータから取得した日付と曜日、入力部17から取得した営業時間内の降水量と、ステップS703の比較結果を併せて、図17に示す記録部15内の表形式のテーブルT´に客数データとして保存する(S704)。図17は、図5で説明したテーブルTに日付に対応させて誤差のエリアを設けたテーブルT´を示す図である。ステップS704の比較結果は例えば誤差が1000以上の場合は“1”、誤差が1000未満である場合は“0”としてテーブルT´の誤差のエリアに記録される。
【0053】
このように実際の客数と過去に行われた予測値とを比較した結果を客数データに加えることで、例えば店舗サーバ1はステップST203の処理で記録部15から客数データを取得する際に、誤差のエリアが“0”、すなわち予測値と実際の客数の誤差が1000未満の客数データだけを取得することができる。また、店舗サーバ1が客数データを週単位で取得する場合は、週内のデータに誤差項目が1つでも“1”がある場合はその週すべてのデータを除外した客数データを取得することが可能となる。または、店舗サーバ1は誤差のエリアが“1”のものは実際のデータの代わりに予測値を取得するようにしても良い。この場合も店舗サーバ1が客数データを週単位で取得する場合は、週内のデータに誤差のエリアが1つでも“1”がある場合は、その週すべてに対して予測値データを取得するようにしても良い。
【0054】
予測値が実際の客数と比べて大きく異なる原因は、予想に用いた降水量と実際の降水量が大きく異なったとか、特異日として設定した以外の地域行事が行われたとか、猛暑であったとかなどの影響が考えられる。このような来客数に与える影響がその日限りの要因の場合は、その要因をその後の予測に影響しないようにする必要がある。そのためこれら影響を受けたと考えられる、すなわち予測値との誤差が1000以上の実際の客数は予測に使用しないようにすることで、予測精度を向上させることができる。
【0055】
また予測値と実際の客数が大きく異なった要因が競合他店など、影響がその日限りでなく、継続して続く場合は、これら影響をその後の予測に入れる必要があるため、誤差が1000以上でも実際の客数を用いて予測を行う。
【0056】
予測値と実際の客数の誤差が大きくなった要因がその日限りか、その後も継続するかは、客数データ内の誤差要因で“1”の値が所定日数以上続くかどうで判断できる。ここでは例えば所定日数として“7”を用いる
次に客数予測値と実績値の誤差が大きい場合の客数データの取得する処理について、図18に示すフローチャートを使って説明する。この処理は、ステップS203の処理の代わりに行うものである。
【0057】
最初に店舗サーバ1は予測実行日より過去のデータを1週間分読み込む(S801)。そして、誤差があるか否かを、すなわち読み込んだ1週間分のデータの誤差のエリアが“1”である日が含まれているか否かを判定する(S802)。誤差がないと判定したとき、すなわち、1週間分のデータの誤差のエリアが“1”である日が1つもなかったら(S802でNO)、読み込んだ1週間分のデータを取得データに加える(S803)。このように読み込んだ週を取得データに加えると、取得データ数が所定数(例えば、365)以上か否かを判定する(S804)。所定数以上でないと判定すると(S804でNO)、ステップS801の処理へ戻る。
【0058】
また、誤差があると判定したとき、すなわち、1週間分のデータの誤差のエリアが“1”である日が1つ以上あったならば(S802でYES)、“1”となっている誤差のエリアが所定数以上連続しているかを判定する(S805)。誤差のエリアが“1”の日が所定数以上連続するなら(S805でYES)、ステップS803の処理へ戻り、この週は取得データに追加する(S803)。ここでは所定数として例えば7を用いる。すなわち、連続7日以上続いた場合は、誤差ではなく影響が継続する場合であると考えられるからである。
【0059】
所定数以上連続しない場合は(S805でNO)、前後の週につながる日、すなわち週の端である初日と最終日のいずれかまたは両方の誤差のエリアが“1”であるかを判定する(S806)。もし週の端に誤差項目が“1”の日がなかったら、読み込んだ週は取得せず、ステップS801の処理へ戻り、次の1週間分のデータを読み込む(S801)。
【0060】
週の端に誤差のエリアが“1”である日があるときは(S806でYES)、その日に続く日を順次見ていき、誤差のエリアが“1”の日が連続しているかを判定する(S808)。この所定数も上記場合と同様に、例えば7とする。誤差が所定数以上連続している場合には(S808でYES)、この週のデータを取得する(S803)。所定数以上連続していないなら(S808でNO)、この週のデータは取得せず、ステップS801の処理へ戻る。
【0061】
一方、ステップS804において、店舗サーバ1は取得データが所定数以上であると判定すると(S804でYES)、予測実行日から日付の近い所定数のデータを取得データとする(S809)。
【0062】
図19は、予測実行日以前の誤差のエリアに記憶されたデータだけを時系列順に並べたものである。どのような週を取得するかをこの図19を参照して説明する。ここで所定数としての誤差の連続数は7とする。先ず、予測実行日を含む最初の週(a)は、誤差を含まないので、そのまま取得する。週(b)は週内に7以上の誤差はないが、週(c)にまたがって誤差が7以上連続しているので、この週は取得する。週(c)は週内に誤差のある日が7以上あるので、取得する。週(d)は、誤差はあるが7以上連続せず、前後の週に連続していないので、この週は取得しない。
【0063】
POSデータは記録部15のテーブルT´に時系列で記録されているため説明変数にデータを用いた場合に、重回帰式を作成する際に誤差(異常値)があると判断された場合は、誤差と判定されなかったPOSデータ(当初利用予定のPOSデータを時間的に遡ったPOSデータ)を用意する必要があるが、時系列で保存されているデータはデータの時間的な並びが重要であり、時間的に遡ったデータを用いると、すなわち、予測日より時間的に離れたデータを用いると予測精度が悪くなる可能性がある。しかしながら、この実施の形態によると、予測来店客数と実績来店客数の誤差を判定し、また、その誤差が所定数以上連続している場合には、実績来店客数に基づいて予測を行なうことにより、説明変数に用いるPOSデータに誤差があるか否かを簡単にかつ柔軟に判定することができ、POSデータに誤差があると判定した場合にも、予測精度を落とさないようにすることができる。
【0064】
すなわち、所定数以上誤差が連続している場合は、その週のデータを取得することにより大きな誤差があっても長期的なトレンドを示すような週のデータを取得することが出来る。
【0065】
上述のように予測した予測結果である来店客数は、例えば仕入れ担当者が商品の発注数量を決める際に参考にすることができ、また、パート・アルバイトなど、スタッフのシフト管理の参考にもできる。
【0066】
本実施の形態では装置内部に発明を実施する機能が予め記録されている場合で説明したが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしても良い。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ、装置が読取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように、予めインストールやダウンロードにより得る機能は装置内部のオペレーティングシステム(OS)等と協同してその機能を実現させるものであっても良い。
【0067】
なお、本発明は、上述した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。
【図面の簡単な説明】
【0068】
【図1】本発明の実施の形態におけるネットワークシステムを概略的に示す図。
【図2】同実施の形態における店舗サーバの要部構成を示すブロック図。
【図3】同実施の形態におけるPOS端末装置の要部構成を示すブロック図。
【図4】同実施の形態におけるPOSデータ取得処理を示すフローチャート。
【図5】同実施の形態における客数データを示すテーブル。
【図6】同実施の形態における来店客数予測処理を示すフローチャート。
【図7】同実施の形態における予測日が含まれる1週間に特異日がない場合を説明するための図。
【図8】同実施の形態におけるステップS205のサブフローチャート。
【図9】同実施の形態における予測結果の表示例を示す図。
【図10】同実施の形態における予測実行日と予測日の関係を示す図。
【図11】同実施の形態におけるステップS209のサブフローチャート
【図12】同実施の形態における予測日が特異日または特異日を含む週にある場合を説明するための図。
【図13】同実施の形態におけるステップS210のサブフローチャート。
【図14】同実施の形態における予測実行日と予測日との関係を示す図。
【図15】同実施の形態におけるステップS216のサブフローチャート。
【図16】同実施の形態におけるPOSデータを記録部に記録する処理を示すフローチャート。
【図17】同実施の形態における記録部に記録される客数データを示すテーブル。
【図18】同実施の形態における客数予測値と実績値の誤差が大きい場合の客数データを取得する処理を示すフローチャート。
【図19】同実施の形態における予測実行日以前の誤差のエリアに記憶されたデータだけを時系列順に並べた図。
【符号の説明】
【0069】
1…店舗サーバ、2…POS端末装置、3…ネットワーク、11,21…CPU、12,22…ROM、13,23…RAM、14,24…通信制御部、15,25…記録部、16,26…表示部、17,27…入力部、18,29…時計部、28…バーコード接続部、T,T´…テーブル

【特許請求の範囲】
【請求項1】
時系列に1日単位で保存された実績来店客数を取得する取得手段と、
この取得手段で取得した実績来店客数から予測対象日前の所定期間の平均来店客数を算出する算出手段とを具備することを特徴とする来店客数予測サーバ。
【請求項2】
前記算出手段で算出した平均来店客数に基づいて前記予測対象日の来店客数を予測する予測手段を具備することを特徴とする請求項1記載の来店客数予測サーバ。
【請求項3】
前記所定期間は、週単位であることを特徴とする請求項1又は2記載の来店客数予測サーバ。
【請求項4】
前記所定期間は、来店客数の傾向が異なる日である特異日のない1週間であることを特徴とする請求項1又は2記載の来店客数予測サーバ。
【請求項5】
コンピュータに、
時系列に1日単位で保存された実績来店客数を取得させる取得機能と、
この取得機能で取得させた実績来店客数から予測対象日前の所定期間の平均来店客数を算出させる算出機能とを実現させる来店客数予測プログラム。
【請求項6】
前記算出機能で算出させた平均来店客数に基づいて前記予測対象日の来店客数を予測させる予測機能をさらに実現させる請求項5に記載の来店客数予測プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate