(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【0014】
[空席検知システム1の概要]
本発明の概要について、
図1に基づいて説明する。
図1は、本発明の好適な実施形態である空席検知システム1の概要を説明するための図である。空席検知システム1は、コンピュータ10、カメラ100、顧客端末200から構成され、空席を検知してクーポンを提供するコンピュータシステムである。
【0015】
なお、
図1において、コンピュータ10、カメラ100、顧客端末200の数は、適宜変更可能である。また、コンピュータ10、カメラ100、顧客端末200は、実在する装置に限らず、仮想的な装置であってもよい。また、後述する各処理は、コンピュータ10、カメラ100、顧客端末200のいずれか又は複数の組み合わせにより実現されてもよい。
【0016】
コンピュータ10は、カメラ100及び顧客端末200とデータ通信可能なコンピュータ装置である。
【0017】
カメラ100は、コンピュータ10とデータ通信可能な、ネットワークカメラ等の撮像装置である。カメラ100は、飲食店等の店舗内部に設けられ、店舗内のテーブル、椅子及び顧客等を動画や静止画等のカメラ画像として撮像する。なお、カメラ100は、店舗に限らず、その他の場所に設けられてもよい。
【0018】
顧客端末200は、コンピュータ10とデータ通信可能な、顧客が所持する端末装置である。顧客端末200は、例えば、携帯電話、携帯情報端末、タブレット端末、パーソナルコンピュータに加え、ネットブック端末、スレート端末、電子書籍端末、携帯型音楽プレーヤ等の電化製品や、スマートグラス、ヘッドマウントディスプレイ等のウェアラブル端末や、その他の物品である。
【0019】
はじめに、カメラ100は、店舗内の画像を撮像する(ステップS01)。カメラ100は、テーブルと、このテーブルに属する椅子と、椅子に座っている顧客の画像をカメラ画像として撮像する。
【0020】
カメラ100は、撮像したカメラ画像を、コンピュータ10に送信する(ステップS02)。
【0021】
コンピュータ10は、カメラ画像を受信する。コンピュータ10は、カメラ画像を受信することにより、カメラ100が撮像したカメラ画像を取得する。
【0022】
コンピュータ10は、カメラ画像を画像解析する(ステップS03)。コンピュータ10は、テーブルの位置やその数、各テーブルに属する椅子の位置やその数、顧客の位置や数等を解析する。
【0023】
コンピュータ10は、画像解析の結果に基づいて、空席を検知する(ステップS04)。コンピュータ10は、顧客が椅子に座っていない、テーブル上に物品が載置されていない又はこのテーブルに属する椅子に物品が載置されていない等を判断することにより、空席を検知する。
【0024】
コンピュータ10は、検知した結果に基づいて、クーポンを発行する(ステップS05)。コンピュータ10は、検知した空席の数又は空席の割合や、顧客が来店するまでの時間に応じて割引率を変更したクーポンを発行する。例えば、空席の数が多いほど割引率を高くしたもの、来店までの時間が短いほど割引率を高くしたもの、これらを組み合わせたものを発行する。
【0025】
コンピュータ10は、発行したクーポンを、顧客端末200に送信する(ステップS06)。コンピュータ10は、発行したクーポンを顧客端末200に送信することにより、このクーポンを提供する。
【0026】
顧客端末200は、クーポンを受信する。顧客端末200は、受信したクーポンを表示する(ステップS07)。
【0027】
以上が、空席検知システム1の概要である。
【0028】
[空席検知システム1のシステム構成]
図2に基づいて、空席検知システム1のシステム構成について説明する。
図2は、本発明の好適な実施形態である空席検知システム1のシステム構成を示す図である。空席検知システム1は、コンピュータ10、カメラ100、顧客端末200、公衆回線網(インターネット網や、第3、第4世代通信網等)5から構成され、空席を検知してクーポンを提供するコンピュータシステムである。
【0029】
なお、空席検知システム1を構成する各装置類の数及びその種類は、適宜変更可能である。また、空席検知システム1は、実在する装置に限らず、仮想的な装置類により実現されてもよい。また、後述する各処理は、空席検知システム1を構成する各装置類のいずれか又は複数の組み合わせにより実現されてもよい。
【0030】
コンピュータ10は、後述の機能を備えた上述したコンピュータ装置である。
【0031】
カメラ100は、後述の機能を備えた上述した撮像装置である。
【0032】
顧客端末200は、後述の機能を備えた上述した端末装置である。
【0033】
[各機能の説明]
図3に基づいて、空席検知システム1の機能について説明する。
図3は、コンピュータ10、カメラ100、顧客端末200の機能ブロック図を示す図である。
【0034】
コンピュータ10は、制御部11として、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部12として、他の機器と通信可能にするためのデバイス、例えば、IEEE802.11に準拠したWiFi(Wireless Fidelity)対応デバイスを備える。また、コンピュータ10は、記憶部13として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。また、コンピュータ10は、処理部14として、取得したカメラ画像の画像解析を実行する解析デバイスや、クーポンを発行する発行デバイス、各種計算を実行する計算デバイス等を備える。
【0035】
コンピュータ10において、制御部11が所定のプログラムを読み込むことにより、通信部12と協働して、データ送受信モジュール20、クーポン提供モジュール21を実現する。また、コンピュータ10において、制御部11が所定のプログラムを読み込むことにより、記憶部13と協働して、記憶モジュール30を実現する。また、コンピュータ10において、制御部11が所定のプログラムを読み込むことにより、処理部14と協働して、解析モジュール40、空席数検出モジュール41、抽出モジュール42、確率算出モジュール43、割引率算出モジュール44、売上額予想モジュール45、クーポン発行モジュール46を実現する。
【0036】
カメラ100は、コンピュータ10と同様に、制御部110として、CPU、RAM、ROM等を備え、通信部120として、他の機器と通信可能にするためのデバイス等を備える。また、カメラ100は、撮像部140として、レンズ、撮像素子、各種ボタン、フラッシュ等の撮像デバイス等を備える。
【0037】
カメラ100において、制御部110が所定のプログラムを読み込むことにより、通信部120と協働して、データ送信モジュール150を実現する。また、カメラ100において、制御部110が所定のプログラムを読み込むことにより、撮像部140と協働して、撮像モジュール170を実現する。
【0038】
顧客端末200は、コンピュータ10と同様に、制御部210として、CPU、RAM、ROM等を備え、通信部220として、他の機器と通信可能にするためのデバイス等を備える。また、顧客端末200は、入出力部240として、制御部210で制御したデータや画像を出力表示する表示部や、顧客端末からの入力を受け付けるタッチパネルやキーボード、マウス等の入力部等を備える。
【0039】
顧客端末200において、制御部210が所定のプログラムを読み込むことにより、通信部220と協働して、クーポン取得モジュール250を実現する。また、顧客端末200において、制御部210が所定のプログラムを読み込むことにより、入出力部240と協働して、表示モジュール270を実現する。
【0040】
なお、以下の説明において、カメラ100、顧客端末200の各装置は1つであるものとして説明しているが、複数であっても本処理は実行可能であることはいうまでもない。
【0041】
[撮像処理]
図4に基づいて、空席検知システム1が実行する撮像処理について説明する。
図4は、コンピュータ10、カメラ100が実行する撮像処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【0042】
撮像モジュール170は、飲食店等の店舗内の動画や静止画等のカメラ画像を撮像する(ステップS10)。ステップS10において、撮像モジュール170は、常時カメラ画像を撮像する。カメラ100は、店舗内を一望できる位置に設置されており、店舗内に存在する全てのテーブル及び各テーブルに属する椅子を撮像する。
【0043】
なお、ステップS10において、複数のカメラ100を店舗内に設け、各カメラ100が、対応する一又は複数のテーブルと、各テーブルに属する椅子のカメラ画像を撮像してもよい。また、撮像モジュール170は、所定の時間間隔、例えば、30秒毎、1分毎、5分毎等の時間間隔でカメラ画像を撮像してもよい。
【0044】
データ送信モジュール150は、カメラ画像を示すカメラ画像データを、コンピュータ10に送信する(ステップS11)。ステップS11において、データ送信モジュール150は、撮像場所に関する識別子(設置場所の名称、設置場所の位置情報、機器番号、予め付与された番号、IPアドレス、MACアドレス等)を機器データとして付与し、送信する。
【0045】
データ送受信モジュール20は、カメラ画像データを受信する。コンピュータ10は、カメラ画像データを受信することにより、カメラ100が撮像したカメラ画像を取得する。
【0047】
[空席検知処理]
図5及び
図6に基づいて、空席検知システム1が実行する空席検知処理について説明する。
図5及び
図6は、コンピュータ10が実行する空席検知処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0048】
解析モジュール40は、取得したカメラ画像を画像解析する(ステップS20)。ステップS20において、解析モジュール40は、カメラ画像に映っているテーブルの位置やその数、各テーブルに属する椅子の位置やその数、顧客の位置やその数、テーブルに載置された飲食物等を解析する。例えば、解析モジュール40は、カメラ画像の特徴量を抽出することにより、テーブル、椅子及び顧客を解析する。また、解析モジュール40は、解析結果に基づいて、テーブルの空席状況、顧客の数、顧客の注文内容等を判断する。
【0049】
なお、解析モジュール40は、予めこの店舗の顧客がいない状態におけるテーブルの位置やその数及び各テーブルに属する椅子の位置やその数を撮像したカメラ画像を記憶しておき、今回取得したカメラ画像と記憶していたカメラ画像とを比較することにより画像解析を行ってもよい。また、解析モジュール40は、その他の方法により、画像解析を実行してもよい。
【0050】
解析モジュール40は、画像解析の結果に基づいて、カメラ画像に映っている各テーブルの位置及びその数と、各テーブルに属する椅子の位置及びその数とを示す店舗情報を検出する(ステップS21)。ステップS21において、解析モジュール40は、カメラ画像に映っている各テーブルの位置及びその数を検出する。また、解析モジュール40は、カメラ画像に映っている各テーブルに属する椅子の位置及びその数を検出する。解析モジュール40は、円形又は矩形のテーブルを検出した場合、このテーブルの周囲に存在する椅子を、このテーブルに属する椅子として検出する。また、解析モジュール40は、矩形のテーブルを検出し、このテーブルを挟んで対向する位置に存在する椅子を、このテーブルに属する椅子として検出する。また、解析モジュール40は、矩形のテーブルを検出し、一の辺に沿って並置された椅子を、このテーブルに属する一のグループの椅子であると検出する。また、解析モジュール40は、矩形のテーブルを検出し、一の辺に沿って並置された椅子を、このテーブルに属する異なるグループの椅子であると検出する。なお、解析モジュール40は、上述した例以外の構成を、各テーブルに属する椅子として検出してもよい。
【0051】
図9に基づいて、解析モジュール40が実行する画像解析の結果について説明する。
図9は、画像解析の結果の一例を示す図である。
図9において、解析モジュール40は、カメラ画像に映っているテーブルの位置及びその数と、各テーブルに属する椅子の位置及びその数とを検出する。すなわち、解析モジュール40は、カメラ画像に映っているテーブルとして、第1テーブル300、第2テーブル310、第3テーブル320、第4テーブル330、第5テーブル340、第6テーブル350を検出する。また、解析モジュール40は、第1テーブル300に属する椅子400〜403、第2テーブル310に属する椅子410〜413、第3テーブル320に属する椅子420,421、第4テーブル330に属する椅子430,431、第5テーブル340に属する椅子440,441、第6テーブル350に属する椅子450,460,470を検出する。
【0052】
解析モジュール40は、各椅子の形状やその位置等に基づいて、どの椅子がどのテーブルに属するかを判断し、各テーブルに属する椅子として検出する。例えば、解析モジュール40は、テーブルが円形である場合、この円形の周囲に位置する椅子を、このテーブルに属する椅子として検出する。また、解析モジュール40は、テーブルが矩形である場合、周囲の位置又は対向する位置に配置された椅子を、このテーブルに属する椅子として検出する。また、解析モジュール40は、テーブルが矩形である場合、この矩形の一辺に並置された椅子を、このテーブルに属するものの、異なるグループの椅子として検出する。すなわち、
図9において、第1〜第5テーブル300〜340は、各テーブルに属する椅子が一のグループとして扱われるのに対して、第6テーブル350は、椅子450,460,470が、其々異なるグループとして扱われる。
【0053】
解析モジュール40は、画像解析の結果に基づいて、検出した椅子に顧客が存在するか否かを判断する(ステップS22)。ステップS22において、解析モジュール40は、一のテーブルに属する椅子のいずれか又は複数に顧客が存在するか否かを判断する。解析モジュール40は、各テーブルに属する椅子のいずれか又は複数に顧客が存在するか否かを判断する。解析モジュール40は、この椅子に重畳して顧客が映っている場合、顧客が存在すると判断する。また、解析モジュール40は、テーブルに飲食物やその他の物品が載置されている場合、このテーブルのいずれかの椅子に顧客が存在すると判断する。また、解析モジュール40は、椅子に物品が載置されている場合、この椅子が属するテーブルの他の椅子又はこの椅子に顧客が存在すると判断する。
【0054】
ステップS22において、解析モジュール40は、顧客が存在しないと判断した場合(ステップS22 NO)、すなわち、一のテーブルに属する全ての椅子が空席である場合、解析モジュール40は、空テーブル情報を作成する(ステップS23)。ステップS23において、解析モジュール40は、テーブルの識別子、空いている椅子の数を空テーブル情報として作成する。テーブルの識別子は、予め各テーブルに設定された文字列や位置情報等である。例えば、
図10において、解析モジュール40は、第2テーブル310の識別子と椅子410〜413の4脚が空いていることを空テーブル情報として作成する。また、解析モジュール40は、第5テーブル340の識別子と、椅子440,441の2脚が空いていることを空テーブル情報として作成する。また、解析モジュール40は、第6テーブル350の識別子と、椅子620の1脚が空いていることを空テーブル情報として作成する。また、解析モジュール40は、第6テーブル350の識別子と椅子630の1脚が空いていることを空テーブル情報として作成する。
【0055】
なお、ステップS23において、解析モジュール40は、テーブルが存在しない店舗の場合、空いている椅子を空テーブル情報として作成すればよい。
【0056】
一方、ステップS22において、解析モジュール40は、顧客が存在すると判断した場合(ステップS22 YES)、この椅子に存在する顧客の属性情報を検出する(ステップS24)。ステップS24において、解析モジュール40は、属性情報として、この顧客の入店時刻、滞在時間、注文内容、購入金額等を検出する。解析モジュール40は、この属性情報を、顧客が存在する椅子が属するテーブルに載置された飲食物、この顧客を初めて検出した時刻、入店時刻、注文内容等に基づいて検出する。解析モジュール40は、画像解析の結果に基づいて、テーブルに載置された飲食物の特徴量を抽出する。解析モジュール40は、抽出した特徴量に基づいて、顧客が注文した注文内容を特定する。解析モジュール40は、この注文内容に対応付けられた料金表等に基づいて、この顧客の購入金額を特定する。また、解析モジュール40は、顧客が初めて椅子に存在することを検出した時刻を、入店時刻として特定する。また、解析モジュール40は、この入店時刻から現在時刻までの間の時間を滞在時間として特定する。
【0057】
なお、解析モジュール40が検出する属性情報は、上述した構成に限らず、その他の情報を検出してもよいし、いずれかであってもよい。また、本処理は、省略可能であり、その場合、後述する各処理を実行すればよい。また、データ送受信モジュール20は、この属性情報を、図示していない店舗端末に送信する構成であってもよい。このようにすることにより、店舗端末により、顧客単価、顧客の滞在時間、顧客の注文内容等を把握することが容易となり、後述する売上額を算出することが容易となる。
【0058】
図10に基づいて、解析モジュール40が実行する画像解析の結果について説明する。
図10は、画像解析の結果の一例を示す図である。解析モジュール40は、各テーブルにおける顧客の有無及び顧客の属性情報を検出する。
【0059】
解析モジュール40は、第1テーブル300に、3人の顧客500〜502を検出する。解析モジュール40は、第1テーブル300において、椅子400には顧客500を、椅子401には顧客501を、椅子403には顧客502を、椅子402には顧客なしを検出する。解析モジュール40は、顧客が存在しない椅子402を、空席であるが他に顧客がいることから相席と検出し、椅子が1つ空いていることを示す相席アイコン640をこの椅子402に重畳させて表示する。この相席アイコン640は、相席の数を示す。また、解析モジュール40は、第1テーブル300の属性情報を検出し、滞在時間、注文内容を検出する。
【0060】
解析モジュール40は、第2テーブル310に、顧客がいないことを検出する。解析モジュール40は、第2テーブル310において、椅子410〜413に顧客が存在しないことから、顧客が存在しない第2テーブル310を空席であると検出し、空席アイコン600をこの第2テーブル310に重畳させて表示する。この空席アイコン600には、この第2テーブル310に属する椅子410〜413の数を表示する。
【0061】
解析モジュール40は、第3テーブル320に、2人の顧客510,511を検出する。解析モジュール40は、第3テーブル320において、椅子420には顧客510を、椅子421には顧客511を検出する。解析モジュール40は、顧客が存在しない椅子がないことからこの第3テーブル320は満席であると検出する。解析モジュール40は、第3テーブル320の属性情報を検出し、滞在時間、注文内容を検出する。
【0062】
解析モジュール40は、第4テーブル330に、1人の顧客520を検出する。解析モジュール40は、第4テーブル330において、椅子430には顧客なしを、椅子431には顧客520を検出する。解析モジュール40は、顧客が存在しない椅子430を、空席であるが他に顧客がいることから相席と検出し、椅子が1つ空いていることを示す相席アイコン650をこの椅子430に重畳させて表示する。この相席アイコン650は、相席の数を示す。また、解析モジュール40は、第4テーブル330の属性情報を検出し、滞在時間、注文内容を検出する。
【0063】
解析モジュール40は、第5テーブル340に、顧客がいないことを検出する。解析モジュール40は、第5テーブル340において、椅子440,441に顧客が存在しないことから、顧客が存在しない第5テーブル340を空席であると検出し、空席アイコン610をこの第5テーブル340に重畳させて表示する。この空席アイコン610には、この第5テーブル340に属する椅子440,441の数を表示する。
【0064】
解析モジュール40は、第6テーブル350に1人の顧客530を検出する。解析モジュール40は、第6テーブル350において、椅子450には顧客530を、椅子460には顧客なしを、椅子470には顧客なしを検出する。解析モジュール40は、第6テーブル350が、一辺にのみ椅子が並置されていることから、各椅子が独立したものであると検出し、椅子450が満席、椅子460が空席、椅子470が空席であると検出する。解析モジュール40は、椅子450の属性情報を検出し、滞在時間、注文内容を検出する。解析モジュール30は、第2テーブル310及び第5テーブル340と同様の空席アイコン620を椅子460に重畳させて表示し、同様の空席アイコン630を椅子470に重畳させて表示する。空席アイコン640には、椅子460の数を表示する。また、空席アイコン640には、椅子470の数を表示する。
【0065】
なお、解析モジュール40は、全ての空席となっている椅子に空席アイコンを重畳させる構成であってもよい。また、その他の構成により、空席であることを示してもよい。また、空席が存在する全てのテーブルに対して、空席アイコンを重畳させる構成であってもよい。
【0066】
解析モジュール40は、空席の有無を判断する(ステップS25)。ステップS24において、解析モジュール40は、一のテーブルに属する椅子に空席があるか否かを判断する。解析モジュール40は、一のテーブルの周囲又は近傍に位置する椅子のうち、顧客を検出していない椅子があるか否かを判断する。
【0067】
ステップS25において、解析モジュール40は、空席がないと判断した場合(ステップS25 NO)、後述するステップS27の処理を実行する。
【0068】
一方、ステップS25において、解析モジュール40は、空席があると判断した場合(ステップS25 YES)、すなわち、空席である椅子が属するテーブルにおける他の椅子に顧客が存在する場合、解析モジュール40は、このテーブルは相席であると判断し、相席情報を作成する(ステップS26)。ステップS26において、解析モジュール40は、テーブルの識別子、空いている椅子の数を相席情報として作成する。テーブルの識別子は、予め各テーブルに設定された文字列や位置情報等である。例えば、
図10において、解析モジュール40は、第1テーブル300の識別子と椅子402の1脚が空いていることを相席情報として作成する。また、解析モジュール40は、第4テーブル330の識別子と、椅子430の1脚が空いていることを相席情報として作成する。
【0069】
解析モジュール40は、カメラ画像に映っている全てのテーブル、各テーブルに属する椅子及び顧客の検出が完了したか否かを判断する(ステップS27)。ステップS27において、解析モジュール40は、完了していないと判断した場合(ステップS27 NO)、上述したステップS22以降の処理を再度実行する。
【0070】
一方、ステップS27において、解析モジュール40は、完了したと判断した場合(ステップS27 YES)、解析モジュール40は、属性情報、相席情報及び空席情報をまとめた座席情報を作成する(ステップS28)。ステップS28において、解析モジュール40は、各テーブルにおける属性情報、相席情報及び空席情報に基づいて、座席情報を作成する。座席情報には、これらに加え、各テーブルの相席状況、全体の相席及び空席の割合等の状況、各顧客の属性情報、顧客の残り滞在予想時間等が含まれていてもよい。残り滞在予想時間は、解析モジュール40が、過去の顧客の注文内容と滞在時間とを教師データとして学習し、今回検出した属性情報に含まれる注文内容に基づいて、残り滞在予想時間を算出する。
【0071】
記憶モジュール30は、座席情報を記憶する(ステップS29)。ステップS29において、記憶モジュール30は、この店舗の識別子(店舗名、予め設定された文字列、住所、位置情報等)と、現在時刻と、座席情報とを対応付けて記憶する。なお、記憶モジュール30は、上述したもの以外を座席情報と対応付けて記憶してもよいし、座席情報のみを記憶してもよい。
【0073】
[クーポン提供処理]
図7及び
図8に基づいて、空席検知システム1が実行するクーポン提供処理について説明する。
図7及び
図8は、コンピュータ10、顧客端末200が実行するクーポン提供処理のフローチャートを示す図である。上述した各装置のモジュールが実行する処理について、本処理に併せて説明する。
【0074】
空席数検出モジュール41は、座席情報に基づいて、空席数を検出する(ステップS30)。ステップS30において、空席数検出モジュール41は、空席数として、空テーブル情報に基づいた空席数と、相席情報に基づいた空席数とを其々検出する。空テーブル情報に基づいた空席数とは、顧客が存在しないテーブルに属する椅子の数であり、相席情報に基づいた空席数とは、顧客が存在するテーブルに属するものの、このテーブルに属する顧客が存在しない他の椅子の数である。
【0075】
なお、空席数検出モジュール41は、空席数の代わりに、座席情報に基づいて空席の割合を検出してもよい。空席数検出モジュール41は、空席の割合として、空テーブル情報に基づいた空席の割合と、相席情報に基づいた空席の割合とを其々検出する。この場合、コンピュータ10は、空席数の代わりに空席の割合に基づいて後述の処理を実行すればよい。
【0076】
抽出モジュール42は、検出した空席数に基づいて、記憶モジュール30が記憶する第1割引定数データベースを参照することにより、第1の割引定数を抽出する(ステップS31)。ステップS31において、抽出モジュール42は、空テーブル情報に基づいた空席数に基づいて第1の割引定数を抽出する。抽出モジュール42は、空席数と割引定数とが対応付けられた第1割引定数データベースを参照し、空テーブル情報に基づいた空席数に基づいて第1の割引定数を抽出する。
【0077】
なお、抽出モジュール42は、相席情報に基づいて第1の割引定数を抽出してもよい。この場合、上述した第1割引定数データベースと同様の第1の割引定数を抽出してもよいし、さらに割引定数の値を大きくした割引定数を抽出してもよい。また、抽出モジュール42は、空テーブル情報と相席情報とに基づいて第1の割引定数を抽出してもよい。
【0078】
[第1割引定数データベース]
図11に基づいて、記憶モジュール30が記憶する第1割引定数データベースについて説明する。
図11は、第1割引定数データベースの一例を示す図である。
図11において、記憶モジュール30は、空席数と割引定数とを対応付けて記憶する。空席数とは、店舗に存在する椅子のうち、顧客が座っていないテーブルに配置される椅子の総数である。割引定数とは、所定の値である。記憶モジュール30は、空席数「1」と、割引定数「0.10」とを対応付けて記憶し、空席数「2」と、割引定数「0.15」とを対応付けて記憶し、空席数「3」と、割引定数「0.20」とを対応付けて記憶する。記憶モジュール30は、店舗の椅子の数だけ空席数と割引定数とを対応付けて記憶する。記憶モジュール30は、予め設定された空席数及び割引定数を記憶してもよいし、図示してない店舗端末等が空席数及び割引定数の入力を受け付け、この受け付けた空席数及び割引定数を取得することにより記憶してもよい。なお、空席数及び割引定数の値やその内容等は、適宜変更可能である。
【0079】
確率算出モジュール43は、過去にクーポンを提供して空席が埋まったデータに基づいて、クーポンを提供した場合の確率を算出する(ステップS32)。ステップS32において、確率算出モジュール43は、所定時間後(15分後、30分後、45分後等)毎に、このデータに基づいた確率を算出する。
【0080】
記憶モジュール30は、算出された確率を、確率データベースとして記憶する(ステップS33)。ステップS33において、記憶モジュール30は、発行したクーポンの種類と、所定時間後毎に空席が埋まる確率とを対応付けた確率データベースを記憶する。
【0081】
[確率データベース]
図12に基づいて、記憶モジュール30が記憶する確率データベースについて説明する。
図12は、確率データベースの一例を示す図である。
図12において、記憶モジュール30は、発行したクーポンの種類と、15分後に空席が一つ埋まる確率とを対応付けて記憶する。クーポンの種類とは、所定時間後に来店する顧客に提供するクーポンである。15分後に空席が一つ埋まる確率とは、上述したステップS32の処理において算出した確率である。記憶モジュール30は、発行したクーポンの種類「15分後のクーポン」と、15分後に空席が一つ埋まる確率「30%」とを対応付けて記憶し、発行したクーポンの種類「30分後のクーポン」と、15分後に空席が一つ埋まる確率「20%」とを対応付けて記憶し、発行したクーポンの種類「45分後のクーポン」と、15分後に空席が一つ埋まる確率「8%」とを対応付けて記憶する。記憶モジュール30は、同様に、30分後に空席が一つ埋まる確率を記憶した確率データベース、45分後に空席が一つ埋まる確率を記憶した確率データベースを記憶する。なお、発行したクーポンの種類は、15分後、30分後、45分後等の時間間隔に限らず、適宜変更可能である。また、確率算出モジュール30が算出する確率は、15分後、30分後、45分後等の時間間隔に限らず、適宜変更可能である。
【0082】
抽出モジュール42は、上述した確率データベースにおける最も確率が高い時間に基づいて、記憶モジュール30が記憶する第2割引定数データベースを参照することにより、第2の割引定数を抽出する(ステップS34)。ステップS34において、抽出モジュール42は、所定時間後に空席が埋まる確率が最も高い時間に基づいて、第2の割引定数を、第2割引定数データベースから抽出する。
【0083】
なお、抽出モジュール42は、各所定時間後(15分後、30分後、45分後)の其々の場合において、最も確率が高い時間に基づいて、第2の割引定数を其々の所定時間に対して抽出してもよい。また、抽出モジュール42は、全ての時間において、其々第2の割引定数を抽出してもよい。
【0084】
[第2割引データベース]
図13に基づいて、記憶モジュール30が記憶する第2割引定数データベースについて説明する。
図13は、第2割引定数データベースの一例を示す図である。
図13において、記憶モジュール30は、入店までの時間と、割引定数とを対応付けて記憶する。入店までの時間とは、クーポンを提供してから顧客が店舗に来店するまでの時間である。割引定数とは、所定の値である。記憶モジュール30は、入店までの時間「15分後」と、割引定数「2.0」とを対応付けて記憶し、入店までの時間「30分後」と、割引定数「1.5」とを対応付けて記憶し、入店までの時間「45分後」と、割引定数「1.0」とを対応付けて記憶する。第2割引データベースにおいて、入店までの時間が短い程、割引定数が大きく設定される。記憶モジュール30は、予め設定された入店までの時間及び割引定数を記憶してもよいし、図示していない店舗端末等が入店までの時間及び割引定数の入力を受け付け、この受け付けた入店までの時間及び割引定数を取得することにより記憶してもよい。なお、入店までの時間及び割引定数の値やその内容等は、適宜変更可能である。
【0085】
割引率算出モジュール44は、上述した第1の割引定数及び第2の割引定数に基づいて、クーポンの割引率を算出する(ステップS35)。ステップS35において、割引率算出モジュール44は、第1の割引定数と第2の割引定数との積により、割引率を算出する。例えば、割引率算出モジュール44は、空席数が1で、入店までの時間が15分後である場合、0.1と2.0の積である0.2を算出し、割引率として20%を算出する。また、例えば、割引率算出モジュール44は、30空席数が3で、入店までの時間が30分後である場合、0.2と1.5との積である0.3を算出し、割引率として30%を算出する。なお、割引率算出モジュール44は、上述した第1の割引定数又は第2の割引定数のいずれかに基づいて、クーポンの割引率を算出してもよい。この場合、割引率算出モジュール44は、検知した空席の数又は空席の割合によって、クーポンの割引率を変動する構成やクーポンの提供を受けた顧客が来店するまでの時間に応じて、クーポンの割引率を変動する構成であってもよい。
【0086】
売上額予想モジュール45は、クーポンを提供した場合の所定時間後の空席数と、クーポンを提供したことにより変化した売上額を予想する(ステップS36)。ステップS36において、売上額予想モジュール45は、所定時間後(本実施形態では、15分後、30分後、45分後)における売上額を予想する。売上額予想モジュール45は、クーポンを提供したことにより変化した売上額を、空席がある状態の売上額と、空席数と、上述した空席が埋まる確率と、算出した割引率と、基本料金とに基づいて予想する。空席がある状態の売上額とは、現在の状態における所定時間後毎の店舗の売上額である。空席数とは、上述した空テーブル情報に基づいた数である。基本料金とは、属性情報に基づいた顧客が注文した飲食物の料金である。
【0087】
売上額予想モジュール45は、空席がある状態の売上額を、顧客が存在する席数と基本料金との積により算出する。売上額予想モジュール45は、所定時間後のクーポンを提供したことによる売上額を空席数と、空席が埋まる確率と、割引率と、基本料金との積により算出する。例えば、現在、空席が1つで、15分後のクーポンを提供した場合、15分後の売上額の増加は24%増加することになる。売上額予想モジュール45は、所定時間後の売上額を、空席がある状態の売上額と所定の時間後のクーポンを提供したことによる売上額との和により算出する。売上額予想モジュール45は、売上額の予想を、全ての所定時間後において予想する。
【0088】
売上額予想モジュール45は、予想結果に基づいて、売上額の予想が最大となる所定時間後を取得する(ステップS37)。ステップS37において、例えば、売上額の予想が15分後が最大となる場合、この時間を取得する。
【0089】
割引率算出モジュール44は、第1の割引定数と、第2の割引定数とに基づいて、発行するクーポンの割引率を算出する(ステップS38)。ステップS38において、割引率算出モジュール44は、検出した空席数に対応する第1の割引定数と、売上額の予想が最大となる時間に対応付けられた第2の割引定数とに基づいて割引率を算出する。
【0090】
クーポン発行モジュール46は、有効時間と割引率と記載したクーポンを発行する(ステップS39)。ステップS39において、有効時間とは、上述したステップS37の処理により取得した時間である。割引率とは、上述したステップS38の処理により算出した数値である。
【0091】
なお、クーポン発行モジュール46は、発行したクーポンの効果を学習し、学習の結果を反映してクーポンを発行してもよい。例えば、クーポン発行モジュール46は、売上額予想モジュール45が売上額の予想が最大となる有効時間や割引率を教師データとして学習し、学習した結果に基づいて、割引率算出モジュール44及び売上額予想モジュール45が算出した有効時間と割引率とを記載したクーポンを発行してもよい。また、クーポン発行モジュール46は、特定の時間帯のみにクーポンを発行してもよい。例えば、顧客が普段少ない時間帯のみに発行してもよい。
【0092】
なお、コンピュータ10は、この発行したクーポンに関する会計情報を外部の会計システムと連動させてもよい。例えば、コンピュータ10は、このクーポンによって発生した売上や利益等を外部の会計システムにより算出させてもよい。
【0093】
クーポン発行モジュール46は、発行したクーポンにアクセスするためのURL等を記載したクーポン取得画面を作成する(ステップS40)。ステップS40において、クーポン発行モジュール46は、クーポン取得画面として、有効時間や割引率等に関する通知を作成するとともに、クーポンの発行に係る入力を受け付けるアイコン等を作成する。
【0094】
クーポン提供モジュール46は、クーポン取得画面を示す取得データを、顧客端末200に送信する(ステップS41)。ステップS41において、クーポン提供モジュール46は、Webコンテンツとして提供してもよいし、連携されたSNS上から提供してもよいし、広告媒体として提供してもよいし、メールとして送信してもよい。コンピュータ10は、取得データを顧客端末200に送信することにより、顧客からの要求に基づいて、発行したクーポンを提供する。
【0095】
クーポン取得モジュール250は、取得データを受信する。表示モジュール270は、受信した取得データに基づいて、クーポン取得画面を表示する(ステップS42)。
【0096】
図14に基づいて、表示モジュール270が表示するクーポン取得画面について説明する。
図14は、表示モジュール270が表示するクーポン取得画面の一例を示す図である。
図14において、表示モジュール270は、クーポン取得画面700として、クーポン内容表示領域710、発行アイコン720、終了アイコン730を表示する。クーポン内容表示領域710は、この画面がクーポンの取得に関する画面であることを示す通知、店舗名、有効時間、割引率を表示する領域である。発行アイコン720は、顧客からの入力を受け付け、クーポンを取得するアイコンである。終了アイコン730は、顧客からの入力を受け付け、本画面の表示を終了するアイコンである。
【0097】
なお、クーポン内容表示領域710には、店舗の説明、空席状況、この店舗のSNS等のメッセージ、この店舗の周辺地図、この店舗の所在地、座席確認用のリンク、他店舗の紹介用リンク等を含んだメッセージを表示してもよい。
【0098】
表示モジュール270は、クーポンを発行する入力を受け付けたか否かを判断する(ステップS43)。ステップS43において、表示モジュール270は、発行アイコン720又は終了アイコン730の入力を受け付けたか否かに基づいて判断する。
【0099】
ステップS43において、表示モジュール270は、クーポンを発行する入力を受け付けていないと判断した場合(ステップS43 NO)、本処理を繰り返す。なお、表示モジュール270は、終了アイコン730の入力を受け付けた場合、本処理を終了し、クーポン取得画面700の表示を終了する。
【0100】
一方、ステップS43において、表示モジュール270は、クーポンを発行する入力を受け付けたと判断した場合(ステップS43 YES)、クーポン取得モジュール250は、クーポンを取得する(ステップS44)。
【0101】
表示モジュール270は、取得したクーポンを表示する(ステップS45)。
【0103】
上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態で提供される。また、プログラムは、例えば、フレキシブルディスク、CD(CD−ROMなど)、DVD(DVD−ROM、DVD−RAMなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し記憶して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記憶装置(記録媒体)に予め記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【0104】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【課題】空席を検知して、顧客に有利なクーポンを提供することにより、集客できる可能性を向上させたコンピュータシステム、空席検知方法及びプログラムを提供することを目的とする。
【解決手段】空席を検知してクーポンを提供するコンピュータシステムは、カメラ画像を取得し、前記取得したカメラ画像を画像解析して空席を検知し、前記検知した結果に基づいて、クーポンを発行し、前記発行したクーポンを提供する。また、コンピュータシステムは、前記検知した空席の数又は空席の割合によって、前記クーポンによる割引率が変更するクーポンを発行する。また、コンピュータシステムは、前記クーポンの提供を受けた顧客が来店するまでの時間に応じて、当該クーポンによる割引率が変動するクーポンを発行する。また、コンピュータシステムは、前記クーポンを提供した場合の、時間毎の空席数と、クーポンを提供したことにより変化した売上額とを予想する。