図1は、本実施例のデータ処理システムを示す説明図である。
本実施例のデータ処理システムは、電子マネーの利用履歴に基づいて、電子マネーを用いた購買活動があった店舗の業態の種別を推定する。ここで本実施例の購買活動とは、利用者が、商品又はサービスの提供にあたり、商品又はサービスの提供元に、電子マネーの所定の金額を対価として支払う行為である。
本実施例のデータ処理システムは、読み取り端末102、販売端末105、履歴管理サーバ109、ネットワーク108、ネットワーク114、入出力装置118、及び、店舗種別推定システム107を有する。
利用者101は、非接触型IC(Integrated Circuit)カード、又は、非接触型ICカードと同等の機能を持つ携帯端末(以下、ICカード103)を保持する。利用者101は、ICカード103を読み取り端末102と通信ができる範囲に配置することによって、読み取り端末102を通過する。
読み取り端末102は、店舗種別推定システム107の管理者が、設置された位置が既に特定されたと定められた端末であり、例えば、駅の改札機に備わる。
読み取り端末102は、ICカード103が通信できる範囲に配置された場合、ICカード103に通過、入場又は出場を示す情報を送信する。また、読み取り端末102は、ICカード103に記録される電子マネーの残高を、入場料又は乗車賃を必要に応じて減算し、利用者101を通過させる。その際、読み取り端末102は、ICカード103と通信した情報を取得する。
読み取り端末102は、通信に関する情報として、ICカード103の各々を識別するためのカードID、ICカード103と読み取り端末102とが通信した日時、及び、決済金額(ICカード103の残高から減じられた金額)を少なくとも取得する。そして、読み取り端末102は、ICカード103から取得した情報と、自らを識別する端末IDとを含む履歴データを、ネットワーク108を介して履歴管理サーバ109に送信する。
利用者104は、ICカード103と同じ電子マネーの機能を持つICカード106を保持する。利用者104は、販売端末105にICカード106をかざす又はスライドさせることにより、電子マネーによる購買を行い、商品又はサービスの提供を受ける。利用者104は、例えば、物品、切符、チケット、又は、その他サービスを、ICカード106の電子マネーを用いて購入する。
利用者104がICカード106を用いて購買を行った場合、販売端末105は、ICカード106から購買に関する情報を取得する。そして、販売端末105は、ICカード106から取得した情報と、自らを識別する端末IDとを含む履歴データを、ネットワーク108を介して履歴管理サーバ109へ送信する。
販売端末105は、購買に関する情報として、ICカード106の各々を識別するためのカードID、販売端末105とICカード106との通信によって購買が行われた日時、及び、決済金額(ICカード106の残高から減じられた金額)を少なくとも取得する。そして、販売端末105は、ICカード106から取得した情報と、自らを識別する端末IDとを含む履歴データを、ネットワーク108を介して履歴管理サーバ109に送信する。
以下において、ICカード103及びICカード106を総称して、単にICカードと記載する。また、読み取り端末102及び販売端末105を総称して、端末と記載する。本実施例の端末は、例えば、ICC(Integrated Circuit Card)リーダを備える。
ICカードは、ICカードの各々を識別するためのカードID、及び、電子マネーの残高を少なくとも有する。ICカードが購買に用いられた場合、端末は、ICカードが保持する電子マネーの残高から、所定の金額を減ずる。
履歴管理サーバ109は、ICカードを運用する事業者が管理する計算機である。履歴管理サーバ109が備える記憶領域は、端末から送信された履歴データを蓄積する。履歴管理サーバ109が蓄積する情報には、の際に取得された情報が含まれる。
履歴管理サーバ109は、情報が送信されたタイミングにおいて、又は、一時間ごと若しくは一日ごとなど所定のタイミングにおいて、蓄積された情報(履歴データ)をデータサーバ111へ、ネットワーク108を介して送信する。
履歴管理サーバ109は、深夜の所定のタイミングにおいて、データサーバ111へ履歴データを送信してもよい。また、履歴管理サーバ109は、あらかじめ定められた契約等に基づいて、定められた端末から取得された履歴データ、又は、定められた期間において取得された履歴データを、データサーバ111へ送信してもよい。
本実施例の店舗種別推定システム107は、データサーバ111、計算サーバ112、情報配信サーバ113、及び、入出力装置120等の計算機を備える。店舗種別推定システム107は、ICカードの履歴データを蓄積し、さらに解析する。
店舗種別推定システム107に備わるサーバは、ネットワーク108及びネットワーク114に接続し、入出力装置118と通信する。入出力装置118は、店舗種別推定システム107による処理の結果を、利用者115に提示する計算機である。
また、計算サーバ112及び情報配信サーバ113は、ネットワーク151を介して入出力装置120と通信する。入出力装置120は、電子マネー運用事業者119等の店舗種別推定システム107の管理者によって操作される。電子マネー運用事業者119は、入出力装置120を用いて、店舗種別推定システム107における設定を変更したり、追加したりする。電子マネー運用事業者119は、店舗種別推定システム107を管理及び運用する。
なお、図1に示す店舗種別推定システム107は、データサーバ111、計算サーバ112、及び、情報配信サーバ113の三つの計算機を備えるが、店舗種別推定システム107は、これらサーバの機能を実現できれば、一つの計算機、又は、四つ以上の計算機によって構成されてもよい。
データサーバ111は、履歴データを格納する計算機である。計算サーバ112は、店舗の種別を推定する計算機である。情報配信サーバ113は、推定された店舗の種別を用いて、購買状況を示す情報を配信する計算機である。
データサーバ111、計算サーバ112及び情報配信サーバ113は、CPU(127、131及び146)、メモリ(128、132及び147)、及び、記憶部(129、133及び148)を各々有する。また、データサーバ111、計算サーバ112及び情報配信サーバ113は、各々少なくとも一つのネットワークインタフェース(I/F)(152、130及び145)を有する。
CPU(127、131及び146)は、少なくとも一つのプロセッサを有せば、いかなる演算装置及び制御装置であってもよい。メモリ(128、132及び147)は、一時的にデータを保持すれば、いかなる記憶装置であってもよい。
メモリ(128、132及び147)は、例えば、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置に格納されたプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
I/F(152、130及び145)は、ネットワーク108、ネットワーク151及びネットワーク114と接続するためのネットワークインタフェースである。また、I/F(152、130及び145)は、データサーバ111、計算サーバ112及び情報配信サーバ113が相互に接続するためのインタフェースを含んでもよい。
記憶部(129、133及び148)は、データ及びプログラムを格納できれば、いかなる記憶装置であってもよい。記憶部(129、133及び148)は、例えば、ハードディスクドライブ、CD−ROMドライブ又はフラッシュメモリなどである。なお、記憶部(129、133及び148)は、複数の記憶装置を含んでもよく、記憶部の複数の記憶装置が、複数のプログラム及び複数のデータを分割して蓄積してもよい。
データサーバ111における記憶部129は、格納プログラム153及びデータ格納部121を有する。格納プログラム153は、CPU127によって実行され、ネットワーク108を介して履歴管理サーバ109から受信した、履歴データを、データ格納部121の端末履歴データ122及び電子マネー履歴データ123に格納する。
格納プログラム153は、履歴管理サーバ109から受信した履歴データを端末履歴データ122に格納する。そして、格納プログラム153は、受信した履歴データから、購買を示す履歴データを抽出し、抽出した履歴データを電子マネー履歴データ123に格納する。
データ格納部121は、端末履歴データ122、電子マネー履歴データ123、端末位置情報124、店舗利用パターン125及び店舗種別情報126を含む。
端末履歴データ122は、端末とICカードとの通信を示す情報を含む。電子マネー履歴データ123は、端末とICカードとの通信によって行われた購買に関する情報を含む。
端末位置情報124は、端末の位置情報を含む。端末が新規設置又は変更されるなど、端末の位置が更新された場合、店舗種別推定システム107の管理者は、店舗種別推定システム107の外部から端末位置情報124を、更新又は記録する。ただし、端末位置情報124は、位置が確定されていない端末の位置情報も含む。
これは、端末位置情報124が、例えば、移動する店舗(列車、又は、タクシーなど)に設置された端末の位置として、店舗がある一時期に存在した位置などを代表的な位置として含むためである。
店舗利用パターン125は、端末履歴データ122及び電子マネー履歴データ123に基づいて生成され、店舗及び端末ごとの電子マネーの利用状況を示す。具体的には、店舗利用パターン125は、店舗の稼働時間情報、端末の移動速度、及び、購買において支払われる料金情報などを含む。
店舗種別情報126は、店舗利用パターン125に基づいて生成され、計算サーバ112によって推定された店舗の業務の種別を示す。
端末履歴データ122及び電子マネー履歴データ123には、利用者が所持するICカードのカードIDが含まれる。端末履歴データ122及び電子マネー履歴データ123は、利用者のプライバシーに十分に配慮するため、利用に関して利用者の合意を得られたデータだけを格納したり、利用者を特定できないように暗号化、又は、匿名化されたデータのみを格納したりしてもよい。
計算サーバ112のI/F130は、ネットワーク108、ネットワーク151又はネットワーク114に接続するためのインタフェースである。記憶部133は、時間算出プログラム134、速度算出プログラム135、料金算出プログラム136、及び種別推定プログラム137などのプログラム群を含む。また、記憶部133は、データ格納部139を含む。
データ格納部139は、プログラムによる処理の結果、及び、処理によって算出された統計値及び指標値などを格納する。データ格納部139は、経過時間情報138を含む。経過時間情報138は、店舗利用パターン125を生成するための情報である。
計算サーバ112のプログラムは、分析対象となるデータをデータサーバ111から読み出し、読み出したデータをメモリ132へ一時的に格納する。CPU131は、計算サーバ112のプログラムを、メモリ132に読み出して実行する。これにより、計算サーバ112の機能が実装される。
計算サーバ112が有するプログラムは、例えば電子マネー運用事業者119から要求されたタイミング、又は、データサーバ111に新たなデータが追加されたタイミングにおいて開始してもよい。また、計算サーバ112のプログラムは、バッチ処理として、所定の日、所定の曜日、又は、所定の時刻に自動的に開始されてもよい。
時間算出プログラム134は、店舗の稼働時間情報を算出するためのプログラムである。速度算出プログラム135は、端末の移動速度を算出するためのプログラムである。料金算出プログラム136は、購買において支払われる料金に関する情報を算出するためのプログラムである。種別推定プログラム137は、店舗利用パターン125に基づいて、店舗の種別を推定するプログラムである。
情報配信サーバ113は、ネットワークインタフェース(I/F)145とCPU146とメモリ147と記憶装置148とを有する。情報配信サーバ113のI/F145は、ネットワーク108、ネットワーク151及びネットワーク114に接続するためのインタフェースである。
情報配信サーバ113は、電子マネー運用事業者119又は利用者115から、入出力装置120からネットワーク(151、114)を介して、利用者115の照合、店舗種別推定の結果の検索、及び、検索結果の参照を実行する指示を受け付ける。
記憶装置148は、利用状況集計プログラム141、及び、情報配信プログラム142を含む。CPU146は、記憶装置148が格納するプログラムをメモリに読み出し、実行する。これにより、情報配信サーバ113の機能が実行される。
利用状況集計プログラム141は、データサーバ111に格納されたデータを用い、端末の利用状況を示す情報を生成するプログラムである。情報配信プログラム142は、端末の利用状況を示す情報を配信するプログラムである。端末の利用状況を示す情報は、利用者115又は電子マネー運用事業者119が能動的に情報配信サーバ113に要求したタイミングで生成され、出力される。
電子マネー運用事業者119は、入出力装置120及びネットワーク151を介し、データサーバ111が保持するデータを参照したり、計算サーバ112の処理の状況及び結果を参照したりする。また、電子マネー運用事業者119は、情報配信プログラム142が出力する利用状況を示す情報を閲覧し、利用者115から受け付けた検索要求の状況などを確認する。
図2は、本実施例の店舗種別情報126を生成する処理の概要を示す説明図である。
図2は、計算サーバ112による処理において生成されるデータの流れを示す。本実施例の計算サーバ112は、端末履歴データ122、又は、電子マネー履歴データ123を用いて、端末の利用状況を示す店舗利用パターン125を生成する。
さらに具体的には、時間算出プログラム134及び料金算出プログラム136が、電子マネー履歴データ123に基づいて店舗利用パターン125の内容の一部を生成する。また、速度算出プログラム135が端末履歴データ122及び端末位置情報124を用いて店舗利用パターン125の内容の一部を生成する。そして、種別推定プログラム137が、店舗利用パターン125の内容に基づいて店舗種別情報126を生成する。
この時、計算サーバ112が端末毎の端末履歴データ122又は電子マネー履歴データ123に基づいて利用状況を特定する場合、データ数が少なすぎるために、利用状況を特定する精度が落ちることが考えられる。このため、計算サーバ112は、端末位置情報124を用いて、複数の端末を可能な限り店舗単位に分類する。
そして、計算サーバ112は、店舗毎の端末履歴データ122及び電子マネー履歴データ123を用いて、店舗の利用状況を示す特徴量を算出し、店舗利用パターン125を生成する。さらに、計算サーバ112は、算出して特徴量の組み合わせと、分類木などのクラスタリングとを用い、端末が設置される店舗の業務の種別を推定する。そして、計算サーバ112は、特定した結果を示す店舗種別情報126を生成する。
図3は、本実施例の端末履歴データ122を示す説明図である。
端末履歴データ122は、ログID241、カードID242、端末ID243、利用時刻244、利用種別245及び利用金額246を含む。ログID241は、端末履歴データ122のレコードの各々を識別するためのIDを示す。
カードID242は、ICカードを識別するためのカードIDを示す。端末ID243は、読み取り端末102、及び、販売端末105などの端末を識別するための端末IDを示す。
利用時刻244は、カードID242が示すICカードが、端末ID243が示す端末と通信した時刻を示す。また、利用時刻244は、端末ID243が示す端末とカードID242が示すICカードによって購買が行われた場合、購買が行われた時刻を示す。
利用種別245は、利用時刻244が示す時刻において、端末ID243が示す端末とカードID242が示すICカードとの間で行われた処理の内容を示す。
例えば、あるレコードの利用種別245が「通過」、「入場」又は「出場」である場合、当該レコードは、端末ID243が示す端末は、改札機又は入出場ゲート等の読み取り端末102であることを示す。また、当該レコードは、カードID242が示すICカードが端末ID243が示す端末を通過したことを示す。
また、例えば、あるレコードの利用種別245が「購買」を示す場合、当該レコードは、端末ID243が示す端末は販売端末105等であり、利用者がカードID242が示すICカードと端末ID243が示す端末とを用いて、物品又はサービス等を購入したことを示す。
利用金額246は、カードID242が示すICカードと端末ID243が示す端末とを用いて実行された購買活動において、支払われた金額を示す。
本実施例の端末は、位置が固定された端末など、設置された位置が既に特定されている端末であり、かつ、計算サーバ112が位置の情報を正確に取得できる端末(以下、位置が既知の端末と記載)を含む。端末履歴データ122は、位置が既知の端末から取得された履歴データを含む。
本実施例において位置が既知の端末とは、改札機等の読み取り端末102であり、利用種別245が「通過」、「入場」又は「出場」の履歴データは、位置が既知の端末によって生成される。
店舗種別推定システム107の管理者は、位置が既知の端末の端末IDを、店舗種別推定システム107にあらかじめ設定する。データサーバ111が、位置が既知の端末の端末IDを示す既知端末情報を保持し、端末履歴データ122にアクセスするプログラムが、既知端末情報に基づいて、端末履歴データ122に含まれる位置が既知の端末の履歴データを特定できるようにしてもよい。
図4は、本実施例の電子マネー履歴データ123を示す説明図である。
電子マネー履歴データ123は、ログID251、カードID252、端末ID253、利用時刻254、及び、利用金額255を含む。ログID251は、電子マネー履歴データ123のレコードの各々を一意に識別するためのIDを示す。
カードID252は、ICカードを識別するためのカードIDを示す。端末ID253は、端末を識別するための端末IDを示す。
利用時刻254は、カードID252が示すICカードと、端末ID253が示す端末とによって購買が行われた時刻を示す。利用金額256は、カードID252が示すICカードと端末ID253が示す端末とを用いて実行された購買活動において、支払われた金額を示す。
端末履歴データ122に蓄積されたレコードの内、利用種別245が購買であるレコードは、この電子マネー履歴データ123にも重複して格納される。電子マネー履歴データ123は、特定の一つの電子マネーシステムから取得したデータ以外に、複数の電子マネーシステムから取得されたデータを蓄積してもよい。
図5は、本実施例の端末位置情報124を示す説明図である。
端末位置情報124は、端末ID261、設置場所262、設置場所詳細263、緯度経度264、及び、サービス事業者265を含む。端末ID261は、端末IDを示す。
設置場所262は、端末ID261が示す端末が設置された場所の名称又はIDを示す。設置場所詳細263は、端末ID261が示す端末が設置された場所を詳細に示す名称、又は、設置方法に関する情報を示す。
緯度経度264は、端末ID261が示す端末が設置された場所の緯度及び経度を示す。端末位置情報124は、端末の設置場所を客観的に表す指標であれば、緯度経度以外のいかなる指標を含んでもよい。
サービス事業者265は、端末ID261が示す端末を用いて商品又はサービス等を提供するサービス事業者の名称又は識別子を示す。
電子マネー運用事業者119は、一般的に、新しく端末が設置されるタイミングで、端末の設置場所(駅、店舗など)、及び、端末を利用するサービス事業者を登録する。端末位置情報124は、そのような登録情報に基づいた設置場所に関する情報を格納する。
例えば、サービス事業者の名称の変更、又は、端末の設置場所の変更があった場合、電子マネー運用事業者119は、入出力装置120又は他の計算機システムを介して、端末位置情報124を更新する。
または、計算サーバ112が位置推定プログラムを有する場合、位置推定プログラムは、特許文献1に記載の技術を用いて、電子マネー履歴データ123、及び、位置が既知の端末の位置情報等に基づき、位置が不明な端末の位置(緯度経度)を推定してもよい。そして、推定した端末の位置を用いて、端末位置情報124を更新してもよい。
この位置推定プログラムは、例えば、位置が既知の端末の中から、位置が不明な端末に最も近いと推定される端末の位置を抽出し、抽出した位置を、位置が不明な端末の位置であると推定してもよい。
また、電子マネー運用事業者119は、設置場所又はサービス事業者の名称が多く変更される変更期間において、端末位置情報124に変更期間を示す項目を追加し、変更期間において、新たな設置場所又はサービス事業者の名称を、外部のシステムから取得するプログラムを、データサーバ111に格納してもよい。
しかし、端末位置情報124は、代表的な位置を示すため、位置が既知の端末以外の端末が移動する場合、当該端末の位置は不正確である可能性がある。
図6は、本実施例の店舗利用パターン125を示す説明図である。
図6に示す店舗利用パターン125は、電子マネーを利用できる端末又は店舗の利用状況を示す。店舗利用パターン125は、店舗ID301、端末ID302、最寄り端末ID303、開始日304、終了日305、合計利用件数306、稼働日比率310、時間帯利用率311、移動速度A322、移動速度B323、基本料金331、及び、料金変動幅332を含む。
店舗ID301は、店舗を識別する店舗IDを示す。端末ID302は、購買において利用された端末を識別する端末IDを示す。
店舗がスーパー又はコンビニエンスストアである場合、一つの店舗は複数の端末を有していることが多い。このため、一つの店舗IDに、複数の端末IDが割り当てられる場合がある。
最寄り端末ID303は、端末ID302が示す端末に最も近い、位置が既知の端末を示す。最寄り端末ID303は、位置が既知の端末の設置場所を示してもよい。
開始日304は、利用状況を分析するために抽出された、購買があった期間の開始日を示す。終了日305は、利用状況を分析するために抽出された、購買があった期間の終了日を示す。開始日304及び終了日305は、時刻を示してもよい。開始日304及び終了日305が示す期間を、対象期間と記載する。
対象期間は、例えば、数週間又は数カ月など、すべての端末において同じ期間があらかじめ定められてもよいし、利用件数に従って端末ごとに定められてもよい。例えば、利用件数が多い端末には、短い対象期間が定められてもよい。また、店舗種別推定システム107の管理者は、端末又は店舗毎の利用頻度が所定の閾値を超えるタイミングを対象期間の開始日又は終了日として定めてもよい。
合計利用件数306は、対象期間内における購買の件数の合計である。稼働日比率310は、対象期間内に端末が稼働していた日数の比率を示し、端末が設置された店舗が営業する日数の比率を示す。
時間帯利用率311は、複数の時間帯における端末の利用率を示す。図6に示す時間帯利用率311は、0時台利用率312及び23時台利用率321を少なくとも含む。
0時台利用率312は、対象期間内の0時台における利用率を示し、23時台利用率321は、対象期間内の23時台における利用率を示す。店舗利用パターン125は、対象期間内の時間帯毎の利用率を含む。
移動速度A322は、端末ID302が示す端末が用いられた前又は後に用いられた位置が既知の端末と、端末ID302が示す端末との利用時刻の差(経過時間)に基づいて算出された端末の移動速度である。移動速度B323は、経過時間に基づいて算出された端末の移動速度であり、移動速度A322が算出された際の位置が既知の端末とは、異なる位置が既知の端末との利用時刻の差に基づいて算出された端末の移動速度である。
基本料金331及び料金変動幅332は、料金情報である。基本料金331は、その店舗が商品又はサービスを提供する際に、顧客に基本的に支払わせる金額であり、例えば、商品又はサービスの最低料金である。
料金変動幅332は、端末による購買において支払われる料金が変化する幅を示す。例えば、店舗が自動販売機等である場合、料金が商品の単価ごとに変化する可能性が高いため、料金変動幅を用いて店舗の種別を推定できる。
対象期間が決められた後、合計利用件数306、稼働日比率310、時間帯利用率311、移動速度A322、移動速度B323、基本料金331及び料金変動幅332等の値は、端末履歴データ122、電子マネー履歴データ123及び端末位置情報124を用いて、後述の処理により算出される。本実施例において、合計利用件数306、稼働日比率310、時間帯利用率311、移動速度A322、移動速度B323、基本料金331及び料金変動幅332等は、店舗又は端末の種別を推定するために用いる特徴量である。
図7は、本実施例の店舗種別情報126を示す説明図である。
店舗種別情報126は、店舗種別を推定した結果を示す。店舗種別情報126は、店舗ID401、端末ID402、最寄り端末ID403、開始日404、終了日405、サービス事業者406、店舗種別407及び距離408を含む。
店舗ID401、端末ID402、最寄り端末ID403、開始日404及び終了日405は、店舗利用パターン125の店舗ID301、端末ID302、最寄り端末ID303、開始日304及び終了日305に対応する。
店舗ID401は、店舗を識別する店舗IDを示す。端末ID402は、購買において利用された端末を識別する端末IDを示す。最寄り端末ID403は、端末ID402が示す端末に最も近い、位置が既知の端末を示す。また、最寄り端末ID403は、位置が既知の端末の設置場所を示してもよい。
開始日404は、対象期間の開始日を示す。終了日405は、対象期間の終了日を示す。サービス事業者406は、端末を管理し、又は、設置した事業者の名称を示す。
店舗種別407は、店舗種別推定システム107によって推定された、端末ID402が示す端末が設置された店舗の種別を示す。店舗の種別は、営業形態を示し、例えば、百貨店、総合スーパー、コンビニエンスストア、飲食店、飲料自動販売機、及びタクシーなどである。
距離408は、端末ID402が示す端末から最も近い、位置が既知の端末からの距離を示す。距離408は、所定の閾値よりも大きい場合「遠」を示し、所定の閾値以下である場合「近」を示してもよい。
距離408は、端末ID402が示す端末と最寄り端末ID403が示す端末との位置関係を示す。例えば、最寄り端末ID403が駅の改札機を示す場合、距離408は、端末ID402が示す端末が駅から近い場所にあるのか、遠い場所にあるのかなどを示すことによって、最寄り端末ID403を中心とした位置関係を示す。
なお、例えば、端末ID402が示す端末がタクシーに搭載されたICカード読み取り端末である場合、端末は、タクシーの動きに伴い不定期に移動する。このような端末について、店舗種別推定システム107は、最寄り端末ID403、及び、距離408を求めることができない場合がある。この場合、図7に示す距離408は、「判定不可」を示す。
図8は、本実施例の店舗IDを割り当てる処理を示す説明図である。
時間算出プログラム134は、まず、端末位置情報124に含まれる全レコードを抽出し、サービス事業者265の項目に従ってレコードを整列する。さらに、時間算出プログラム134は、設置場所262と設置場所詳細263とをつなげた文字列(以下、設置場所情報)を生成し、生成した文字列をキーとしてさらにレコードを整列する(500)。
ステップ500の後、時間算出プログラム134は、整列後のレコードの一つ目のレコードを抽出する。時間算出プログラム134は、一つ目のレコードのサービス事業者265と設置場所情報との組み合わせを取得し、取得した組み合わせに店舗IDを割り当てる。そして、時間算出プログラム134は、二つ目以降の全てのレコードに対して以下の処理を繰り返す(501)。
時間算出プログラム134は、二つ目のレコードを整列後のレコードから抽出する。そして、時間算出プログラム134は、二つ目のレコードのサービス事業者265及び設置場所情報の組み合わせを取得し、取得した組み合わせと、一つ目のレコードの組み合わせとを比較する。一つ目のレコードの組み合わせ及び二つ目のレコードの組み合わせが同一である場合(502)、時間算出プログラム134は、一つ目のレコードと同じ店舗IDを二つ目のレコードに割り当てる(503)。
一つ目のレコードの組み合わせ及び二つ目のレコードの組み合わせが異なる場合(504)、時間算出プログラム134は、レコードBに新しい店舗IDを割り当てる(505)。このように、時間算出プログラム134は、一つ前のレコードの組み合わせを用いて、全てのレコードの店舗IDを端末IDに割り当てる。
時間算出プログラム134は、サービス事業者265と設置場所情報との組み合わせのデータと、割り当てた店舗IDとの対応関係を、テキストファイル、又は、データベースなどの方法によって、データサーバ111のデータ格納部121に格納する。
なお、店舗利用パターン125及び店舗種別情報126が既に生成されており、データの追加及び更新のみを行う場合、時間算出プログラム134は、過去に生成されたサービス事業者265と設置場所情報との対応関係を読み出し、利用してもよい。これらの処理により、同じ店舗に設置される複数の端末に、同一の店舗IDを割り当てることができ、後述の処理により種別推定プログラム137は、端末単位だけではなく店舗単位での分析が可能になる。
図9は、本実施例の稼働日比率310及び時間帯利用率を算出する処理を示す説明図である。
時間算出プログラム134は、図8に示す処理の後、店舗の種別を推定するための情報を含むレコードを、電子マネー履歴データ123から抽出する(600)。ここで、時間算出プログラム134は、あらかじめ定められた対象期間に利用時刻254が含まれるレコードを、店舗の種別を推定するためのレコードとして抽出する。
また、時間算出プログラム134は、端末ごとに対象期間が定められている場合、定められた対象期間に利用時刻254が含まれ、かつ、端末ID253が定められた端末を示すレコードを抽出する。
ステップ600の後、時間算出プログラム134は、ステップ600において抽出したレコードに含まれる端末ID253をキーとして、図8に示す処理によって割り当てられた店舗IDに従ってソートする(601)。具体的には、時間算出プログラム134は、割り当てられた店舗IDごとに端末ID253が整列するように、抽出したレコードをソートする。
ステップ601の後、時間算出プログラム314は、ソートされたレコードから一つの端末ID(端末IDa)を示すレコードを抽出し、端末IDaを持つレコードに以下の処理を繰り返す(602)。
時間算出プログラム134は、抽出したレコードの中からステップ604及び605を実行していない一つのレコード(レコードA)を抽出し、レコードAに以下の処理を実行する(603)。
なお、時間算出プログラム134は、以下の処理において算出する利用件数を格納するため、対象期間中の複数の経過日数に対応する整数配列X、及び、複数の時間帯に対応する整数配列Yをあらかじめ生成する。そして、時間算出プログラム134は、新たな端末IDにステップ602の処理を実行するごとに、整数配列を初期化する。
ここで複数の時間帯の整数配列は、1日を複数の時間帯によって分割することによって生成され、例えば、24時間を1時間毎に分割する場合、24個の配列を含む。
時間帯は、あらかじめ店舗種別推定システム107の管理者によって設定される。本実施例の時間帯は、全端末に共通の設定値である。
時間算出プログラム134は、レコードAから利用時刻254を取得し、対象期間の開始日から、取得した利用時刻254までの経過日数を算出する。そして、時間算出プログラム134は、算出した経過日数に該当する整数配列Xに、1を加える(604)。
また、時間算出プログラム134は、取得した利用時刻254が該当する時間帯を特定する。そして、時間算出プログラム134は、特定した時間帯に対応する整数配列Yに、1を加える(605)。
時間算出プログラム134は、端末IDaを持つ全てのレコードについてステップ604及び605の処理を実行し、その後、端末IDaにおける合計利用件数、稼働日比率、及び時間帯利用率を算出する(606)。ステップ604及び605を実行することにより、整数配列Xは、対象期間の経過日数ごとの利用件数を格納し、整数配列Yは、時間帯ごとの利用件数を格納する。
時間算出プログラム134は、ステップ606において、端末IDaのレコードの数を、合計利用件数として算出する。
また、時間算出プログラム134は、整数配列Xを用い、例えば、対象期間の総日数のうち、利用件数が1件以上あった日数(配列の値が0ではない)を、稼働日比率として求める。時間算出プログラム134は、端末が購買に使用された日(店舗の営業日)の日数を評価する指標を算出する方法であれば、いかなる方法によって稼働日比率を求めてもよい。
また、時間算出プログラム134は、整数配列Yを用い、例えば、対象期間内の合計利用件数によって時間帯ごとの利用件数を除算した値を、時間帯ごとの利用率として算出する。時間算出プログラム134は、端末が購買に使用される時間帯(店舗の営業時間)を評価する指標を算出する方法であれば、いかなる方法によって時間帯利用率を求めてもよい。
時間算出プログラム134は、店舗利用パターン125の新たなレコードにおいて、端末IDaを端末ID302に格納し、さらに、ステップ606において算出した合計利用件数、稼働日比率及び時間帯利用率を、合計利用件数306、稼働日比率310及び時間帯利用率311に格納する。
図10は、本実施例の経過時間情報138を示す説明図である。
経過時間情報138は、速度算出プログラム135による出力結果であり、店舗利用パターン125の速度情報を求めるために必要な情報である。経過時間情報138は、端末ID451、開始日452、終了日453、位置が既知の端末ID454、及び、経過時間代表値455を含む。
端末ID451は、購買において利用された端末を識別する端末IDを示す。開始日452は、対象期間の開始日を示す。終了日453は、対象期間の終了日を示す。開始日452及び終了日453は、図9に示す処理を実行する際に用いた対象期間と同じ対象期間における開始日及び終了日である。
また、位置が既知の端末ID454は、端末ID451が示す端末が用いられた時刻から最も近い時刻に使用された端末のうち、位置が既知の端末の端末IDを示す。位置が既知の端末ID454は、端末履歴データ122の端末ID243に格納される端末IDが格納される。
一方で、位置が既知の端末ID454には、東京エリアなどのように設置場所が格納されてもよい。
経過時間代表値455は、端末ID451が示す端末を用いて購買された時刻と、位置が既知の端末ID454が示す端末を用いて購買された時刻との間の経過時間を示す。経過時間代表値455は、端末から取得された時刻によって算出された経過時間を示してもよいし、端末における誤差をあらかじめ取得している場合、誤差に基づいて算出された経過時間の代表値を示してもよい。
図11は、本実施例の経過時間情報138を生成する処理を示す説明図である。
速度算出プログラム135は、端末履歴データ122から経過時間情報138を生成する。速度算出プログラム135は、まず、利用時刻244が対象期間に含まれるレコードを端末履歴データ122から抽出する(800)。抽出した複数のレコードを、以下においてレコード群aと記載する。
ステップ800の後、速度算出プログラム135は、レコード群aを端末ID243に従ってソートし、さらに、利用時刻244に従ってソートする(801)。速度算出プログラム135は、ソートされた全てのレコード群aに、以下の処理を繰り返す(802)。
さらに、速度算出プログラム135は、同じ端末ID(端末IDb)を端末ID243に含むレコードごとに、ステップ804〜ステップ809を繰り返す(803)。ここで、速度算出プログラム135は、経過時間の代表値を求めるための変数sを生成し、所定の閾値を変数sに格納することによって変数sを初期化する。
以下では、経過時間の代表値の例として、最短経過時間(最小値)を求める処理について説明する。しかし、経過時間の代表値は最小値に限定されず、速度算出プログラム135は、平均値、又は、中央値などの統計値を、経過時間の代表値として算出してもよい。
また、速度算出プログラム135は、端末が取得する現在時刻には誤差が含まれるため、このような誤差を補正した後の値を経過時間の代表値として算出してもよい。また、速度算出プログラム135は、ステップ803以降において、端末IDbを含む複数のレコードを参照するための変数を保持する。
まず、速度算出プログラム135は、利用種別245が「購買」を示すレコード(以下、基準レコード)の利用時刻244を少なくとも一つ、端末IDbを含むレコード群から取得し、取得した利用時刻244を変数T1に格納する(804)。
ステップ804の後、速度算出プログラム135は、基準レコードの利用時刻244より前の利用時刻244を含む少なくとも一つのレコード(以下、前レコード群)を、端末履歴データ122から特定する。ここで特定される前レコード群は、端末ID243が端末IDb以外の端末を示すレコード群である。
そして、速度算出プログラム135は、利用種別245が「入場」、「出場」、又は、「通過」を示し、かつ、カードID242が基準レコードのカードID242と同じカードIDを示し、かつ、利用時刻244が基準レコードの利用時刻244に最も近い時刻を示す前レコードを、前レコード群の中から抽出する。そして、速度算出プログラム135は、抽出した前レコードの利用時刻244の値を、変数T2に格納する(805)。
また、ステップ805において、速度算出プログラム135は、抽出した前レコードの端末ID243と、端末ID261とが一致する端末位置情報124のレコードを特定し、特定したレコードの設置場所262(必要な場合、設置場所詳細263も)を、前レコードが示す端末の設置場所として取得する。
ステップ805の後、速度算出プログラム135は、変数T1及び変数T2の時間差(T1−T2)を求める(806)。そして、速度算出プログラム135は、ステップ806において、変数sの値が、時間差(T1−T2)よりも小さい場合、変数sの値を時間差(T1−T2)に置き換える。
ステップ806の後、速度算出プログラム135は、基準レコードより後の利用時刻244を含む少なくとも一つのレコード(後レコード群)を、端末履歴データ122から特定する。
そして、速度算出プログラム135は、利用種別245が「入場」、「出場」、又は、「通過」を示し、かつ、カードID242が基準レコードのカードID242と同じカードIDを示し、かつ、利用時刻244が基準レコードの利用時刻244に最も近い時刻を示す後レコードを、特定した後レコード群の中から抽出する。そして、速度算出プログラム135は、抽出した後レコードの利用時刻244の値を、変数T3に格納する(807)。
また、ステップ807において、速度算出プログラム135は、抽出した後レコードの端末ID243と、端末ID261とが一致する端末位置情報124のレコードを特定し、特定したレコードの設置場所262(必要な場合、設置場所詳細263も)を、後レコードが示す端末の設置場所として取得する。
ステップ807の後、速度算出プログラム135は、変数T1及び変数T3の時間差(T3−T1)を求める(808)。そして、速度算出プログラム135は、ステップ808において、変数sが時間差(T3−T1)より小さい場合、変数sの値を時間差(T3−T1)の値で置き換える。
ステップ808の後、速度算出プログラム135は、基準レコードが示す端末の端末IDを端末ID451に含み、変数sの値を経過時間代表値455に含む、経過時間情報138のレコードを生成する。ここで、変数sの値は経過時間の最小値である。また、速度算出プログラム135は、対象期間の開始日及び終了日を、生成したレコードの開始日452及び終了日453に格納する。
また、変数sが時間差(T3−T1)と同じ値である場合、速度算出プログラム135は、後レコードが示す端末の端末IDを、生成した経過時間情報138の位置が既知の端末ID454に格納し、変数sが時間差(T1−T2)と同じ値である場合、前レコードが示す端末の端末IDを、生成した経過時間情報138の位置が既知の端末ID454に格納する(809)。
なお、基準レコードが端末IDbを含むレコード群に複数含まれる場合、速度算出プログラム135は、基準レコードごとにステップ805〜ステップ809を実行し、複数の経過時間情報138のレコードを生成する。
また、時間差(T3−T1)及び時間差(T1−T2)のどちらも変数sに格納されない場合、速度算出プログラム135は、経過時間代表値455に変数sと、代表値を求めることができなかったことを示す所定の値(フラグ等)とを、格納してもよい。これによって、種別推定プログラム137は、後述する店舗種別情報126の生成において、最寄り端末からの距離408に「判定不可」を格納することができる。
経過時間情報138を生成することによって、速度算出プログラム135は、駅の改札機等の位置が既知の端末を利用した時刻と、位置が確定していない端末を利用した時刻との間の時間を算出する。そして、これによって、速度算出プログラム135は、位置が既知の端末から、位置が確定していない端末までの距離を特定するための定量的な指標を精度よく算出することができる。
速度算出プログラム135は、レコード群aに含まれる端末IDごとにステップ803を実行することによって、経過時間情報138を生成する。
図12は、本実施例の経過時間情報138から速度情報を算出する処理を示す説明図である。
図12は、経過時間情報138から店舗利用パターン125の移動速度A322及び移動速度B323を求める処理を示す。速度算出プログラム135は、まず、経過時間情報138から対象期間に該当するレコード(以下、レコード群c)を抽出する(900)。ステップ900の後、速度算出プログラム135は、抽出したレコード群cを端末ID451に従ってソートし、さらに、経過時間代表値455の昇順にソートする(901)。
ステップ901の後、速度算出プログラム135は、ソートされたレコード群cを、端末ID451の値ごとに分割し、分割したレコード群ごとにステップ903〜ステップ906を実行する(902)。
速度算出プログラム135は、経過時間代表値455が小さい順に、n個のレコードを抽出する。そして、速度算出プログラム135は、n個のレコードの各々の位置が既知の端末ID454と経過時間代表値455とを取得する(903)。
nは、位置が既知の端末において購買した時と、他の端末において購買する時との間の速度を算出するために求めるサンプルの数である。ここでnは2以上の整数であればいかなる値でもよく、速度算出プログラム135があらかじめ保持する。以下において、nは2である場合を説明する。
ステップ903の後、速度算出プログラム135は、取得した位置が既知の端末ID454と同じ端末ID261を含む端末位置情報124のレコードから、緯度経度264(緯度経度A)を取得する。ここでnは2であるため、速度算出プログラム135は、緯度経度Aは二つ取得する。
また、速度算出プログラム135は、n個のレコードの端末ID451と同じ端末ID261を含む端末位置情報124のレコードから、緯度経度264(緯度経度B)を取得する(904)。
ステップ904の後、速度算出プログラム135は、ステップ904において取得した二つの緯度経度Aと緯度経度Bとの間の直線距離を各々求める(905)。速度算出プログラム135は、二つの緯度及び経度の組み合わせから直線距離を求める方法であればいかなる方法を用いてもよい。また、速度算出プログラム135は、緯度経度264に保持される位置情報に基づいて、位置が既知の端末ID454の端末と、端末ID451の端末との直線距離が求められれば、いかなる方法によって直線距離を求めてもよい。
そして、速度算出プログラム135は、算出した二つの直線距離を、ステップ903において取得した経過時間代表値455で各々除算した結果を、速度として算出する。速度算出プログラム135は、算出した二つの速度を、店舗利用パターン125の移動速度A322及び移動速度B323に格納する(906)。
このとき、速度算出プログラム135は、経過時間代表値455が最も小さいレコードの情報に基づいて算出された速度を、移動速度A322に格納する。また、速度算出プログラム135は、経過時間代表値455が2番目に小さいレコードの情報に基づいて算出された速度を、移動速度B323に格納する。また、速度算出プログラム135は、経過時間代表値455が最も小さいレコードの位置が既知の端末ID454を、店舗利用パターン125の最寄り端末ID303に格納する。
図6に示す店舗利用パターン125は、n=2の場合に生成される。n>2である場合、店舗利用パターン125は、移動速度を格納するための2より多い項目を有してもよく、これにより、速度算出プログラム135は、店舗種別の推定の精度を上げることができる。
速度算出プログラム135が、位置が既知の端末(すなわち、位置が変化しない端末)との利用時刻の比較により移動速度を算出することによって、種別推定プログラム137は、位置が確定していない端末が、移動する店舗に設置されているかを精度よく特定することができる。
図13は、本実施例の基本料金331及び料金変動幅332を示す説明図である。
図13は、電子マネー履歴データ123から店舗利用パターン125の基本料金331及び料金変動幅332を求める処理を示す。料金算出プログラム136は、まず、対象期間に利用時刻254が含まれるレコードを、電子マネー履歴データ123から抽出する(1000)。料金算出プログラム136は、抽出したレコードを端末ID253に従ってソートする(1001)。
料金算出プログラム136は、ソートしたレコードにおいて、同じ端末ID253を含むレコードごとに、ステップ1003〜ステップ1006を繰り返す(1002)。このとき、料金算出プログラム136は、利用金額の値を記録するための複数の配列を含む配列変数Xを生成し、配列変数Xを所定の値によって初期化しておく。配列変数Xは、価格帯ごとに複数の配列を含んでもよい。
ステップ1002の後、料金算出プログラム136は、同じ端末ID253を持つレコードに、以下のステップ1004を繰り返す(1003)。
料金算出プログラム136は、電子マネー履歴データ123から利用金額255を取得し、取得した利用金額255の値を、利用金額(又は、属する価格帯)に従って配列変数Xに格納する。料金算出プログラム136は、同じ端末ID253のすべてのレコードの利用金額255を、利用金額(又は、属する価格帯)に従って配列変数Xに格納した後、利用金額毎(又は、価格帯毎)にレコード数を集計する。そして、料金算出プログラム136は、集計結果に基づいたヒストグラムを生成する(1004)。
ステップ1003の後、料金算出プログラム136は、生成したヒストグラムに四分位法を用いてノイズを除去することによって、中央価格帯を算出する。そして、料金算出プログラム136は、ステップ1002において分析する端末が割り当てられた店舗の基本料金として、算出した中央価格帯の最小値を求める(1005)。
さらに、料金算出プログラム136は、算出した中央価格帯の範囲の利用料金の階差から料金変動幅(又は変動率)の代表値(例えば平均値)を求める。そして、料金算出プログラム136は、店舗利用パターン125の基本料金331にステップ1005において求めた基本料金を格納し、店舗利用パターン125の料金変動幅332に求めた料金変動幅の代表値を格納する(1006)。
料金算出プログラム136は、基本料金及び料金変動幅を算出することによって、後述する種別推定プログラム137は、端末が設置される店舗が扱う商品を、金額に基づいて特定することができる。例えば、基本料金331が130円である場合、端末が設置される店舗は飲料自動販売機である可能性が高い。また、階差が一定である場合、店舗が扱う商品は種類が少ないと仮定できるため、種別推定プログラム137は、扱う商品の種類が少ない店舗であるかを精度よく推定することができる。
以上、図9、図11、図12及び図13が示す処理によって、店舗利用パターン125は生成される。
図14は、本実施例の店舗を推定するための分類木1100を示す説明図である。
図14は、店舗利用パターン125に格納された店舗及び端末の利用状況の特徴量から、その店舗の種別を推定するための分類木1100の例を示す。店舗種別推定システム107は、店舗及び端末の利用状況の特徴量を複数組み合わせた分類木1100のようなルールをあらかじめ保持することによって、店舗種別を推定する。
分類木1100は、端末を複数の店舗種別1103(1103a〜1103h)に分類するためのルールである。分類木1100は、複数の特徴量1101(1101a〜1101c)と、複数の閾値1102(1102a〜1102c)とに従った分岐を有する。
分類木1100は一つに限定されず、店舗種別の種類及び数に従った分岐を含めば、いかなる分類木であってもよい。店舗種別1103は、店舗種別情報126の店舗種別407に該当し、例えば、飲料自動販売機、列車内の車内販売、百貨店、スーパーマーケット、コンビニエンスストア、飲食店及びタクシーなどの業態を示すカテゴリである。
店舗種別推定システム107の管理者は、分類木1100を計算サーバ112の記憶部133にあらかじめ設定してもよいし、種別推定プログラム137は、過去に取得されたデータに基づいて、定期的に分類木1100を生成し記憶部133に格納してもよい。種別推定プログラム137は、一般的な機械学習方法を用いて、分類木1100を生成してもよい。
具体的には、種別推定プログラム137は、端末位置情報124のサービス事業者265などを参照して店舗種別毎に正解データとみなせる端末IDを抽出し、これらを学習データとして利用することで各特徴量1101に関する閾値1102を求めてもよい。この判別ルールは定期的に更新されることが望ましい。
図15は、本実施例の店舗種別を推定する処理を示す説明図である。
図15は、分類木1100を用いて各端末が設置されている店舗の種別を推定し、店舗種別情報126に格納する処理を示す。
種別推定プログラム137は、まず店舗利用パターン125から対象期間に該当するレコードを抽出する(1200)。種別推定プログラム137は、抽出したレコードを店舗ID301に従ってソートする(1201)。ステップ1201の後、種別推定プログラム137は、ソートしたレコードにおいて、同じ店舗ID301を含むレコードごとに以下の処理を繰り返す(1202)。
種別推定プログラム137は、一つのレコードを店舗利用パターン125から取得し、取得したレコードの店舗利用パターン125から稼働日比率310などの特徴量を取得する(1203)。そして、種別推定プログラム137は、分類木1100を記憶部133から読み出し、読み出した分類木1100に取得した特徴量を代入し、店舗の種別を端末ごとに推定する(1204)。
具体的な推定手順を示す。特徴量1101aが移動速度A322であり、閾値1102aが時速40kmであり、閾値1102bが時速10kmであり、取得したレコードの移動速度A322が時速20kmである場合、種別推定プログラム137は、取得したレコードの端末ID302及び店舗ID301の種別を店舗種別1103bに推定する。
ここで、店舗種別1103aは、列車内の車内販売であり、店舗種別1103bは、タクシー又はバスである。
取得したレコードの移動速度A322が時速2kmである場合、種別推定プログラム137は、取得したレコードの稼働日比率310を、特徴量1101bとして取得する。ここで、閾値1102cが80パーセントであり、取得したレコードの稼働日比率310が70パーセントである場合、種別推定プログラム137は、定休日が比較的多くある店舗(例えば、社員食堂、又は、商店街の店舗等)の店舗種別1103dに、取得した店舗ID301を分類する。
また、種別推定プログラム137は、取得したレコードの稼働日比率310が90パーセントである場合、定休日が比較的少ない店舗(例えば、コンビニエンスストア、又は、スーパーマーケット等の店舗)の店舗種別1103cに、取得した店舗ID301を分類する。
さらに、種別推定プログラム137は、取得したレコードの時間帯利用率311を特徴量1101cとして取得する。そして、種別推定プログラム137は、所定の利用率を上回る時間帯によって、取得したレコードの店舗ID301を分類する。
より具体的には、店舗種別1103cに分類された店舗ID301のレコードの時間帯利用率311が、早朝の時間帯に所定の利用率があることを示す場合、種別推定プログラム137は、取得したレコードの店舗ID301を、コンビニエンスストア等の店舗種別1103eに分類する。
また、店舗種別1103cに分類された店舗ID301のレコードの時間帯利用率311が、早朝の時間帯に所定の利用率未満である場合、種別推定プログラム137は、取得したレコードの店舗ID301を、スーバーマーケット又は百貨店の店舗種別1103fに分類する。
また、店舗種別1103dに分類された店舗ID301のレコードの時間帯利用率311が、昼の時間帯のみに所定の利用率以上である場合、種別推定プログラム137は、取得したレコードの店舗ID301を、社員食堂等の店舗種別1103gに分類する。
また、店舗種別1103dに分類された店舗ID301のレコードの時間帯利用率311が、10時から19時までの時間帯に所定の利用率以上であり、それ以外の時間帯は所定の利用率以下である場合、種別推定プログラム137は、取得したレコードの店舗ID301を、商店街の店舗等の店舗種別1103gに分類する。
種別推定プログラム137は、以上のように店舗ID301の店舗を分類することによって、店舗ID301の店舗の店舗種別を推定する。種別推定プログラム137が用いる分類木1100は、前述のような分類木1100に限られず、いかなる特徴量1101、いかなる閾値1102及びいかなる店舗種別1103を含んでもよい。
例えば、特徴量1101として合計利用件数306を用いる場合、種別推定プログラム137は、合計利用件数306を所定の件数と比較することによって、店舗ID301の店舗を、設置される環境が異なる店舗種別(例えば、ターミナル駅のコンビニエンスストアと、利用客の少ない駅のコンビニエンスストアと)に分類できる。
また、特徴量1101として基本料金331を用いる場合、種別推定プログラム137は、売っている商品が異なる店舗種別(例えば、安価な駄菓子等を売る店舗と、高級な衣料品を売る店舗と)を分類できる。
また、店舗利用パターン125が、特徴量として稼働する曜日を含んでも良く、種別推定プログラム137は、稼働する曜日に基づいて店舗種別を分類してもよい。
このように、店舗利用パターン125が示す特徴量(稼働日比率310、時間帯利用率311、移動速度A322、合計利用件数306、基本料金331、料金変動幅332等)に基づいて種別を推定することによって、種別推定プログラム137は、精度よく店舗の種別を推定できる。
また、店舗利用パターン125が、利用速度Aが算出された位置が既知の端末が端末ID302の端末よりも先に利用されたか、後に利用されたかを示す情報を保持し、かつ、店舗ID301の店舗が店舗種別1103bに分類された場合、種別推定プログラム137は、利用速度Aが算出された位置が既知の端末が端末ID302の端末よりも先に利用された場合、店舗ID301をタクシーに分類してもよい。そして、種別推定プログラム137は、利用速度Aが算出された位置が既知の端末が端末ID302の端末よりも後に利用された場合、店舗ID301をバスに分類してもよい。
これは、利用速度Aが算出された位置が既知の端末が端末ID302の端末よりも先に利用された場合、ユーザが駅の改札を通過した後、タクシーに乗り、降りる時に端末を利用した可能性が高いためである。また、利用速度Aが算出された位置が既知の端末が端末ID302の端末よりも後に利用された場合、ユーザがパス等で料金を先払いし、バスで駅に向かった後、駅の改札を通過した可能性が高いためである。
さらに、種別推定プログラム137は、ステップ1204において、店舗種別情報126のサービス事業者406及び最寄り端末からの距離408に値を格納する。具体的には、種別推定プログラム137は、端末ID402と同じ端末ID261を含む端末位置情報124のレコードからサービス事業者265の値を取得し、取得した値を、当該端末ID402のサービス事業者406に格納する。
また、種別推定プログラム137は、端末ID302と最寄り端末ID303との距離を、端末位置情報124に基づいて算出し、算出した距離が所定の閾値より小さい場合、「近」を最寄り端末からの距離408に格納する。また、種別推定プログラム137は、算出した距離が所定の閾値以上である場合、「遠」を最寄り端末からの距離408に格納する(1205)。
また、端末ID402に対応する端末ID451を含む経過時間情報138のレコードの経過時間代表値455に、代表値を求めることができなかったことを示すフラグ等が格納されている場合、種別推定プログラム137は、最寄り端末からの距離408に「判定不可」を格納してもよい。
図16は、本実施例の条件設定画面2100を示す説明図である。
情報配信サーバ113の情報配信プログラム142は、図16に示す条件設定画面2100を、入出力装置120又は入出力装置118に表示する。条件設定画面2100は、電子マネー運用事業者119及び利用者115が、店舗種別の推定結果を検索するための画面である。
条件設定画面2100は、ユーザ名2101、対象エリア2102、開始日2103、終了日2104、店舗種別2105及び実行2106を含む。
ユーザ名2101は、利用者115又は電子マネー運用事業者119のユーザを入力する領域である。なお、図16に示すユーザ名2101は、店舗種別推定システム107へのアクセスが認められたユーザ名(例えば、アカウント名)を入力するための領域である。
対象エリア2102は、推定結果を表示する店舗が設置される位置のエリアを入力する領域である。開始日2103は、推定結果を生成するために用いられたデータの対象期間の開始日を入力するための領域である。終了日2104は、推定結果を生成するために用いられたデータの対象期間の終了日を入力するための領域である。
店舗種別2105は、検索したい店舗又は端末の種別を入力する領域である。実行2106は、条件設定画面2100に入力された値によって店舗又は端末を検索する処理を実行する際に操作されるボタンである。
利用者115等は、対象エリア2102、開始日2103、終了日2104及び店舗種別2105などを直接入力するか、または、プルダウンメニューなどで選択し、実行2106を押すことにより、情報配信サーバ113に検索のリクエストを送信する。
利用者115等は、条件設定画面2100及びマウス又はキーボードなどの入力インタフェースを用いて、検索する条件を設定及び変更できる。なお、対象エリア2102及び店舗種別2105は、複数の値が入力されてもよい。
図17は、本実施例の店舗又は端末を検索するための処理を示す説明図である。
条件設定画面2100の実行2106が操作された場合、情報配信プログラム142は、図17に示す処理を開始する。情報配信プログラム142は、まず、条件設定画面2100に入力された条件を取得する(2000)。
ステップ2000の後、情報配信プログラム142は、ユーザ名2101に入力されたユーザ名が正しいアクセス権限を有しているかを判定するため、あらかじめ保持するユーザリストと入力されたユーザ名とを照合する(2001)。
ステップ2001の結果、入力されたユーザ名が正しいアクセス権限を有している場合、情報配信プログラム142は、入力された検索条件(対象エリア2102、開始日2103、終了日2104及び店舗種別2105)に従って店舗種別情報126から集計対象の店舗を示すレコードを抽出する(2002)。
具体的には、情報配信プログラム142は、対象エリア2102に入力される値と、端末位置情報124の設置場所262に格納される値との対応関係をあらかじめ保持する。そして、情報配信プログラム142は、このあらかじめ保持する対応関係と、入力された対象エリア2102とに基づいて、集計対象の端末を示す端末ID261を端末位置情報124から特定する。
ここで特定した端末ID261が示す端末が、図17及び図18に示す処理による集計対象の端末である。情報配信プログラム142は、端末ID402が、特定した端末ID261と同じ端末を示し、かつ、開始日404及び終了日405が示す期間が、入力された開始日2103及び終了日2104が示す期間を含み、かつ、店舗種別407が入力された店舗種別2105と同じ種別を示すレコードを、集計対象の店舗を示すレコードとして、ステップ2002において抽出する。
なお、ステップ2000において取得する検索条件は、対象エリア2102、開始日2103、終了日2104及び店舗種別2105の少なくとも一つが指定されてもよく、また、何も指定されなくてもよい。検索条件として何も指定されない場合、情報配信プログラム142は、店舗種別情報126のすべてのレコードを集計対象の店舗を示すレコードとして、ステップ2002において抽出してもよい。
ステップ2002の後、利用状況集計プログラム141は、抽出したレコードに後述する図18の処理を実行し、集計結果を取得する(2003)。ステップ2003の後、情報配信プログラム142は、取得した集計結果を利用者115等が理解できる表現に加工し、配信する(2004)。
図18は、本実施例の利用状況集計プログラム141の処理を示す説明図である。
図18に示す処理は、図17に示すステップ2003の処理である。利用状況集計プログラム141は、集計対象の店舗を示すレコードの端末ID402、開始日404及び終了日405を店舗種別情報126から読み出す(2200)。ここで、読み出した端末ID402は、集計対象の端末を示す。
ステップ2200の後、利用状況集計プログラム141は、端末ID253が、読み出した端末ID402と同じ端末を示し、かつ、利用時刻254が、読み出した開始日404及び終了日405が示す期間に含まれるレコードを、電子マネー履歴データ123から全て抽出する(2201)。
ステップ2201の後、利用状況集計プログラム141は、例えば、カードID252、利用時刻254及び利用金額255など集計に必要なデータを、抽出したレコードから取得する(2202)。また、利用状況集計プログラム141は、集計対象の店舗を示すレコードの店舗ID401と端末ID402との対応関係に基づいて、集計に必要なデータを店舗ごとに取得してもよい。
利用状況集計プログラム141は、店舗種別推定システム107の管理者によってあらかじめ設定された集計条件及び集計方法に従って、電子マネー履歴データ123のレコードからデータを抽出する。
ステップ2202の後、利用状況集計プログラム141は、取得したデータに基づいて、利用状況を定量的に示す指標を生成する。利用状況集計プログラム141は、例えば、利用件数、リピート率及び金額ヒストグラムを、購買活動を定量的に示す指標として生成する(2203)。
利用状況集計プログラム141は、ステップ2203において、例えば、抽出したカードID252からカードIDの総数を店舗ごとに算出し、集計対象の店舗及び期間において購買活動を行ったユーザの利用件数として、算出した結果を取得する集計方法を用いてもよい。
また、利用状況集計プログラム141は、ステップ2203において、例えば、取得した利用金額255の総和を算出し、一つの店舗が割り当てられる端末の数によって、算出した総和を除算することによって、平均利用金額を算出する集計方法を用いてもよい。
また、利用状況集計プログラム141は、抽出したカードID252の中に同じ値が重複して含まれる場合、店舗ごとの重複するカードIDの数を、店舗ごとのカードIDの総数によって除算した値を、店舗におけるリピート率として算出する集計方法を用いてもよい。
また、利用状況集計プログラム141は、取得したデータに基づいて、同じ利用金額のカードIDの数を算出することにより、利用金額の価格帯ごとの利用件数を算出し、金額ヒストグラムを生成してもよい。そして、利用状況集計プログラム141は、四分位法を用いてノイズを除去することにより、中央価格帯を抽出し、さらに基本料金を算出してもよい。
また、利用状況集計プログラム141は、これらの利用件数、リピート率及び金額ヒストグラムを日ごと又は週ごとに算出してもよい。利用状況集計プログラム141は、このような複数の集計方法をあらかじめ保持し、指示に従って複数の集計方法を組み合わせて実行してもよい。
利用状況集計プログラム141は、これらの購買活動を定量的に示す指標を集計結果として、情報配信プログラム142に出力する。また、利用状況集計プログラム141は、集計対象の店舗を示すレコード(複数ある場合、任意の代表のレコード)の最寄り端末からの距離408を、集計結果に含め、情報配信プログラム142に出力してもよい。
図19は、本実施例の情報配信プログラム142によって生成および配信される画面2200を示す説明図である。
図19に示す画面2200は、図16に示す条件設定画面2100によって集計処理が要求された結果、図17のステップ2003が終了した後に配信される画面の例を示す。情報配信プログラム142は、ステップ2004において、利用状況集計プログラム141から入力された集計結果に基づいて、画面2200を生成する。
図19に示す画面2200は、領域2201〜領域2204を含む。領域2201は、条件設定画面2100に入力された検索条件の内容(対象エリア、開始日、終了日、及び店舗種別等)を表示する。
領域2202は、入力された検索条件に該当する店舗のリストを表示する。また、領域2202は、図18に示す処理により生成された購買活動を定量的に示す指標を表示する。
領域2203は、領域2202に表示された店舗のリストにおいて、利用者115等によって選択された特定の店舗の詳細情報を表示する。図19に示す領域2203は、領域2202においてB店の店舗を選択された場合に、B店の金額ヒストグラムを表示する例を示す。
領域2204は、利用者115等が知りたい店舗の細かい利用状況を表示する。図19に示す領域2204は、領域2203に表示された金額ヒストグラムにおける基本料金を表示する。
情報配信プログラム142は、領域2202の店舗リストに、店舗種別情報126を検索した結果を表示しても良く、利用件数又は最寄りからの距離などの項目によってソートされる機能を有してもよい。
また、情報配信プログラム142は、領域2203に表示する詳細情報として、例えば、金額ヒストグラム、経過時間代表値のヒストグラム及び利用時間帯比率の時系列グラフなどを表示してもよい。これらは、店舗利用パターンから取得したデータにより、利用状況集計プログラム141が生成し、情報配信プログラム142に出力される。
画面2200において、利用者115等は、マウス又はキーボードなどの入力インタフェースを用いて操作することが可能であり、例えばホイールボタンなどによってズームイン及びズームアウトを行ったり、マウスクリックで料金ヒストグラムの間隔を変更することができる。また、集計結果は、図19に示す領域2203の棒グラフによって表示される必要はなく、散布図又は折れ線グラフなどによって表示されてもよい。
計算サーバ112の記憶部133は、図16に示す条件設定画面2100、及び、図19に示す画面2200を生成するための情報を保持する。利用者115等は、所定のWebページにアクセスし、プルダウンメニューなどによって、条件設定画面2100を表示するように、情報配信プログラム142に指示する。
条件設定画面2100及び画面2200を提供することにより、情報配信プログラム142は、利用者115等に、店舗種別ごとの利用状況を提供することができる。そして、画面2200を提供された利用者115等は、事業戦略等に端末の利用状況を用いることができる。
本実施例によれば、店舗種別推定システム107は、電子マネーカードの利用履歴から、位置が既知の端末の利用時刻と位置が確定していない端末の利用時刻との差を算出することにより、端末が移動する店舗に設置されるかを推定するため、端末の店舗の種別を精度よく推定できる。また、店舗種別推定システム107は、利用履歴が示す利用金額及び利用時刻を用いて、店舗種別を精度よく推定できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手順等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、又はファイル等の情報は、メモリ、ハードディスク若しくはSSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード若しくはDVD等の記録媒体に置くことができる。
また、制御線又は情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線又は情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されている。