以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、セグメント条件情報およびゴールイベント条件情報が格納されており、第一時点において、セグメント条件に合致するユーザのイベント情報群を検知し、当該イベント情報群に対応するユーザ識別子と対になるイベント情報群であり、第一時点より先の第二時点において、ゴールイベント条件に合致するイベント情報群を検知し、当該検知に関する情報を出力する情報処理装置を具備する情報システムについて説明する。なお、セグメント条件情報は、分析対象のユーザの選択のためのセグメント条件を特定する情報である。また、ゴールイベント条件情報は、セグメント条件に合致するユーザの中から検出対象のユーザを抽出するための条件を特定するイベントであるゴールイベントに関する条件を特定する情報である。
また、本実施の形態において、セグメント条件情報およびゴールイベント条件情報が、操作対象識別子に対応付いて格納されている場合について説明する。つまり、操作対象ごとの分析が行える情報処理装置を具備する情報システムについて説明する。かかる情報処理装置は、例えば、2以上のサイトやサーバ等で蓄積されたイベント情報群を分析する分析サーバとして機能し得る。
また、本実施の形態において、セグメント条件が、条件に合致したユーザに固有の固有情報または固有処理に対するユーザの操作に関するイベントに関する条件を含む場合について説明する。
さらに、本実施の形態において、セグメント条件が、複数のユーザに共通の共通情報または共通処理に対するユーザの操作に関するイベントに関する条件を含む場合について説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上のユーザ端末1、情報処理装置2、および1または2以上の管理端末3を備える。なお、情報システムAにおいて、管理端末3は存在しなくて良い場合がある。
1以上の各ユーザ端末1と情報処理装置2とは、インターネット等のネットワークを介して通信可能である。また、情報処理装置2と1以上の管理端末3とは、インターネット等のネットワークを介して通信可能である。ユーザ端末1、管理端末3は、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ等であり、その種類は問わない。情報処理装置2は、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等、その種類は問わない。情報処理装置2は、イベントの分析を行うサーバである。ただし、情報処理装置2は、例えば、電子商取引を行うサーバ、動画配信を行うサーバ、人材データベースを備えた人材情報管理サーバ等を兼ねても良い。また、ユーザ端末1は、例えば、後述する分析情報を出力できる端末である。また、ユーザ端末1は、例えば、商品等を購入するために、ユーザにより操作される端末である。また、ユーザ端末1は、例えば、動画を閲覧したり、種々のアプリを動作させたり、種々のウェブページにアクセスしたりする端末である。管理端末3は、例えば、情報処理装置2の運営側の企業のメンバーが使用する端末である。管理端末3は、例えば、分析情報を閲覧したり、情報処理装置2にアクセスするユーザのアクションを監視したり、ユーザのアクションの統計処理結果を出力したりする端末である。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報処理装置2のブロック図である。
ユーザ端末1は、ユーザ格納部11、ユーザ受付部12、ユーザ受信部13、ユーザ処理部14、ユーザ出力部15、およびユーザ送信部16を備える。
情報処理装置2は、格納部21、受信部22、処理部23、出力部24、および送信部25を備える。格納部21は、動作情報格納部211、ユーザ情報格納部212、ユーザイベント情報格納部213、ユーザ動作情報格納部214、統計処理結果格納部215、固有情報送信条件格納部217、セグメント条件情報格納部218、およびゴールイベント条件情報格納部219を備える。統計処理結果格納部215は、固有情報格納部216を備える。受信部22は、指示受信部221、およびイベント受信部222を備える。処理部23は、動作部231、動作識別子蓄積部232、イベント情報蓄積部233、固有情報送信先決定部234、ユーザ選択部235、判断部236、および分析情報取得部237を備える。出力部24は、動作結果出力部241、結果出力部242、および分析情報出力部243を備える。送信部25は、固有情報送信部251を備える。
管理端末3は、管理格納部31、管理受付部32、管理受信部33、管理処理部34、管理出力部35、および管理送信部36を備える。
ユーザ端末1を構成するユーザ格納部11には、各種の情報が格納される。各種の情報は、例えば、ユーザ識別子等である。ユーザ識別子は、ユーザ端末1のユーザを識別する情報である。ユーザ識別子は、例えば、ユーザID、氏名、メールアドレス、電話番号などである。ユーザ識別子は、ユーザ端末1を識別する端末識別子でも良い。端末識別子は、例えば、IPアドレス、端末IDなどである。各種の情報は、例えば、後述するイベントである。
ユーザ受付部12は、ユーザからの入力を受け付ける。入力は、指示または情報である。指示または情報の内容は問わない。指示は、例えば、ボタンの押下、メニュー項目の選択等により行われる。また、入力される情報は、例えば、購入する商品の数量、動画の再生指示、ユーザ登録の情報、ユーザのプロファイル等である。
指示または情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
ユーザ受信部13は、各種の情報や指示等を受信する。ユーザ受信部13は、例えば、情報処理装置2から各種の情報や指示等を受信する。各種の情報や指示等は、例えば、情報処理装置2におけるイベントの処理結果、後述する固有情報である。
ユーザ処理部14は、各種の処理を行う。各種の処理は、例えば、ユーザ受付部12が受け付けた指示や情報等に対応するイベント情報を取得する処理である。イベント情報は、イベント識別子を含む。
イベント情報は、例えば、ユーザが入力した情報を含む。イベント情報は、例えば、ユーザ端末1で発生したイベントである内部イベントを含む。内部イベントは、例えば、ユーザからの入力の受け付けにより、ユーザ端末1で発生したイベントである。なお、イベント情報は、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、ユーザからの入力により実行されたメソッド名または関数名またはスクリプト名等、入力の受け付けによりユーザ端末1で発生したプロセス名またはスレッド名、入力に対応する動作または操作を示す動作識別子のうちの1または2以上の情報を含む。イベント情報は、例えば、画面を識別する画面識別子を含む。動作識別子は、例えば、ウェブページの閲覧を開始したことを示す「閲覧開始」、「カート&お気に入りボタンクリック」、「商品サムネイル画像クリック」等である。例えば、第一入力に対応付けられた動作識別子は、ユーザ格納部11に格納されている。イベント情報は、例えば、イベントを識別するイベント識別子を含む。イベント識別子は、動作識別子と同じでも良い。
なお、内部で発生したイベントを取得する技術は、公知技術であるので詳細な説明を省略する。また、ユーザ処理部14がイベント情報を取得する処理は、公知技術により実現可能である。
ユーザ処理部14は、例えば、ユーザの入力(例えば、一のボタンの押下)に対応する動作識別子(例えば、一のボタンのボタン識別子と対になる動作識別子)をユーザ格納部11から取得する。動作識別子は、例えば、関数名、メソッド名、関数ID、実行モジュール名等である。
ユーザ処理部14は、例えば、1または2以上のイベント情報と時刻情報とを対応付けて取得することは好適である。時刻情報は、時刻に関する情報であり、例えば、時刻を示す情報、時刻に対応する相対的なタイミングの情報である。ユーザ処理部14は、例えば、時刻情報を図示しない時計またはNTPサーバ等から取得する。
また、ユーザ処理部14が行う各種の処理は、例えば、ユーザ受付部12が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理である。各種の処理は、例えば、ユーザ受信部13が受信した情報を出力する構造に変更する処理等である。
ユーザ出力部15は、各種の情報を出力する。各種の情報とは、例えば、ユーザ処理部14が構成した情報、ユーザ受付部12が受け付けた指示や情報等、ユーザ受信部13が受信した各種の情報や指示等である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
ユーザ送信部16は、指示や情報等を送信する。指示や情報等とは、例えば、イベント情報、イベント識別子、ユーザ識別子、ユーザにより入力されたテキストである。
ユーザ送信部16は、例えば、指示や情報等を情報処理装置2に送信する。
情報処理装置2を構成する格納部21には、各種の情報が格納される。各種の情報とは、例えば、後述する動作情報、後述するユーザ情報、後述するユーザイベント情報、後述するユーザ動作情報、後述する統計処理結果、後述する固有情報、後述する共通情報、後述する固有情報送信条件、後述するセグメント条件情報、後述するゴールイベント条件情報等である。
動作情報格納部211には、1または2以上の各イベント識別子ごとに、動作情報が格納される。イベント識別子は、イベントを識別する情報である。動作情報は、情報処理装置2で実行される動作に関する情報である。動作情報は、動作を識別する動作識別子を含む。動作識別子は、例えば、関数名、メソッド名、プログラム自体などである。また、動作情報は、動作識別子のみでも良いし、動作識別子と動作を実行するプログラムでも良い。
なお、上記のイベントは、例えば、ユーザ端末1で実行されるイベント、情報処理装置2で実行されるイベント、ユーザ端末1で実行された結果の情報、または情報処理装置2で実行された結果の情報である。イベントは、通常、ユーザ端末1で発生するイベントである。
ユーザ情報格納部212には、1または2以上のユーザ情報が格納される。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、通常、ユーザ識別子を含む。ユーザ情報は、例えば、氏名、連絡先情報、住所のうちの1または2以上の情報を有する。連絡先情報は、ユーザへの連絡先を特定する情報であり、例えば、メールアドレス、ユーザ端末1のIPアドレス、電話番号ある。ユーザ情報は、例えば、ユーザ識別子を含まず、端末識別子を含んでも良い。
ユーザイベント情報格納部213には、1または2以上の各ユーザ識別子に対応付けて、1または2以上のイベント情報が格納される。
イベント情報は、イベントに関する情報である。イベント情報は、ユーザの操作により発生されるイベントを特定する情報である。イベント情報は、通常、イベント識別子を有する。イベント情報は、例えば、1または2以上のパラメータ情報を有する。パラメータ情報は、イベントに関する情報である。パラメータ情報は、値を含む。パラメータ情報は、値の意味を示す属性識別子を有しても良い。属性識別子は、例えば、属性名、属性IDである。イベント情報は、イベントが発生した時または実行された時を特定する時情報(例えば、日時)を有しても良い。イベント情報は、時を特定する時情報に対応付けられていても良い。また、ある情報に対応付けられていることは、ある情報を有することと同意義である、と考えて良い。
ユーザイベント情報格納部213には、ユーザ識別子と操作対象識別子とに対応付けて1以上のイベント情報が格納されることは好適である。また、イベント情報には、イベントが発生した日時を特定する情報が対応付いていることは好適である。
ユーザ動作情報格納部214は、1または2以上の各ユーザ識別子に対応付けて、1または2以上の動作識別子が格納される。ここでの動作識別子は、ユーザ端末1からのイベントの受信に応じて実行される動作の動作識別子である。つまり、例えば、ユーザ端末1からのイベントの受信の際に、常に、当該ユーザ端末1のユーザのユーザ識別子と対になる1以上の各動作識別子で識別される動作が実行される。
動作識別子は、イベント識別子に対応付けて格納されていても良い。かかる場合、当該動作識別子で識別される動作が、ユーザ端末1からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)がユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。また、かかる場合、当該動作識別子で識別される動作が、ユーザ端末1からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)以外のイベントがユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。
統計処理結果格納部215は、1または2以上の各ユーザ識別子に対応付けて、1または2以上の内部情報、1または2以上の外部情報、または1または2以上の統計処理結果のうちの1または2種類以上の情報が、格納される。1以上の内部情報、1以上の外部情報、または1以上の統計処理結果のうちの1種類以上の情報は、属性に対応付けて格納されることは好適である。属性は、例えば、情報の意味を特定する情報、情報の取得方法を特定する情報、情報の演算方法を特定する情報である。属性は、例えば、sum(合計した値であることを示す)、last(最後の購入日を示す)、max(購入最高金額であることを示す)である。
固有情報格納部216には、予め決められた条件を満たすユーザ端末1に送信される固有情報が格納される。固有情報は、例えば、応答対象の情報(例えば、画面情報)、閲覧対象の情報である。応答対象の情報は、例えば、アンケートの画面情報、入力画面の画面情報である。閲覧対象の情報は、例えば、プッシュ通知の情報、レコメンドされる商品情報等である。ただし、固有情報は、特定のユーザに対して提示される情報であれば何でも良い。
固有情報送信条件格納部217は、固有情報送信条件が格納される。固有情報送信条件は、固有情報を送信するための条件である。固有情報送信条件の内容は問わない。固有情報送信条件は、1または2以上のイベントに関する条件であることは好適である。
セグメント条件情報格納部218には、1または2以上のセグメント条件情報が格納される。セグメント条件情報は、セグメント条件を特定する情報である。セグメント条件は、分析対象のユーザの選択のための条件である。セグメント条件は、通常、1または2以上のイベントに関する条件である。セグメント条件は、通常、ユーザの動的な属性値に基づく条件である。
セグメント条件情報格納部218には、操作対象識別子に対応付いて、1または2以上のセグメント条件情報が格納されていることは好適である。操作対象識別子は、ユーザの操作対象を識別する情報である。操作対象識別子は、例えば、アプリケーションを識別するアプリ識別子、URI、URL、サイト名等である。アプリ識別子は、例えば、アプリ名、アプリIDである。
セグメント条件は、ユーザ識別子に対応付けられている1以上のイベント情報を分析した結果、ユーザ端末1に送信された固有情報またはユーザ端末1に対して行われた固有処理に対して、ユーザが行った操作に対応する1以上のイベントに関する条件を含むことは好適である。
セグメント条件は、ユーザ識別子に対応付けられている1以上のイベント情報に関わらず、複数のユーザ端末1に送信された共通情報またはユーザ端末1に対して行われた共通処理に対して、ユーザが行った操作に対応する1以上のイベントに関する条件を含んでも良い。
セグメント条件とは、2以上のイベントに関する条件であることは好適である。
セグメント条件情報は、例えば、アプリの使用に対して課金されている課金ユーザであること、またはアプリの使用に対する未課金ユーザであること、または動画再生アプリにおける閾値以上または閾値より多い動画回数のユーザであること、または会員登録している会員ユーザであること、または未会員ユーザであること、または予め決められた特定の操作を閾値以上または閾値より多く行ったユーザであること、または予め決められた特定の操作を閾値以下または閾値未満しか行っていないユーザであること、または予め決められた条件を満たすユーザ端末1に送信される固有情報を表示させたユーザであること、または予め決められた条件を満たすユーザ端末1に送信される固有情報を表示させていないユーザであること、またはプロフィール登録をしているユーザであること、またはプロフィール登録をしていないユーザであること、複数のユーザ端末1に送信された共通情報を表示させたユーザであること、または複数のユーザ端末1に送信された共通情報を表示させていないユーザであることである。
ゴールイベント条件情報格納部219には、1または2以上のゴールイベント条件情報が格納される。ゴールイベント条件情報は、ゴールイベント条件を特定する情報である。ゴールイベント条件は、セグメント条件情報を用いて選択されたユーザの中から、ユーザを抽出するための条件である。ゴールイベント条件は、ゴールイベントに関する条件である。ゴールイベントは、1または2以上のイベントに関する。
ゴールイベント条件情報格納部219の1または2以上の各ゴールイベント条件情報には、操作対象識別子が対応付いていることは好適である。
ゴールイベント条件は、2以上のイベントに関する条件であることは好適である。
ゴールイベント条件情報は、例えば、動画再生アプリにおける動画を再生したこと、またはアプリを起動したこと、または商品情報を閲覧したことである。
受信部22は、各種の指示や情報を受信する。各種の指示や情報は、例えば、イベント情報、会員登録のためのユーザ情報、プロフィールの情報である。
指示受信部221は、各種の指示を受信する。各種の指示は、例えば、分析指示、ログイン指示、ログアウト指示である。なお、分析指示は、分析情報を取得する指示である。指示受信部221は、例えば、管理端末3から分析指示を受信する。また、指示受信部221は、例えば、ユーザ端末1からログイン指示、ログアウト指示を受信する。
イベント受信部222は、イベント情報をユーザ識別子に対応付けて受信する。イベント情報は、ユーザ端末1から送信されたイベントに関する情報である。イベント情報は、イベントを識別するイベント識別子を含む。イベント情報は、1または2以上のパラメータ情報を含んでも良い。イベント情報は、イベント識別子のみでも良いし、イベント識別子と1または2以上のパラメータ情報を含む情報等でも良い。
イベント受信部222は、ユーザ識別子と共にイベント情報を受信しても良いし、ユーザ識別子を受信した後にイベント情報を受信しても良い。イベント受信部222が受信したイベント情報とユーザ識別子とが対応付けば良い。
イベント受信部222は、例えば、操作対象識別子とユーザ識別子とに対応付けてイベント情報を受信する。ここでのイベント情報は、後述する固有情報に対するイベントを識別するイベント識別子を含む情報であることは好適である。また、ここでのイベント情報は、後述する共通情報に対するイベントを識別するイベント識別子を含む情報であっても良い。
処理部23は、各種の処理を行う。各種の処理とは、例えば、動作部231、動作識別子蓄積部232、イベント情報蓄積部233、固有情報送信先決定部234、ユーザ選択部235、判断部236、分析情報取得部237が行う処理である。各種の処理とは、例えば、ユーザ端末1から受信されたログイン指示に従った、ユーザ端末1のログインのための処理(例えば、認証処理を含む)である。また、各種の処理とは、例えば、ユーザ端末1から受信されたログアウト指示に従った、ユーザ端末1のログアウトのための処理である。
動作部231は、イベント受信部222がイベント情報を受信した場合、当該イベント情報に対応する動作を行う。イベント情報に対応する動作の内容は問わない。イベント情報が商品の購入指示を含む場合、当該イベント情報に対応する動作は商品の購入のための処理(例えば、決済処理、購入指示が有する購入情報の蓄積処理など)である。なお、イベント受信部222がイベント情報を受信した場合でも、動作部231は動作を行わなくても良い。
動作部231は、イベント受信部222がイベント情報を受信した場合、当該ベント情報に対応するユーザ識別子に対応する1または2以上の動作識別子をユーザ動作情報格納部214から取得し、当該1以上の各動作識別子で識別される1以上の動作を行い、1または2以上の動作結果を取得する。なお、動作識別子で識別される動作の情報は、例えば、動作情報格納部211に格納されている。
なお、動作部231は、イベント受信部222がイベント情報を受信した場合に、常に、ユーザに対応する1以上の各動作識別子で識別される1以上の動作を行っても良い。ただし、動作部231は、イベント情報の受信以外の条件に従って、ユーザ識別子に対応する1以上の各動作識別子で識別される1以上の動作を行っても良い。イベント情報の受信以外の条件とは、例えば、予め決められた時刻になった場合である。また、動作部231がユーザに対応する1以上の各動作識別子で識別される1以上の動作を行う場合、当該動作は固有処理である。
また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部231は、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)がユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部231は、当該動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)以外のイベントがユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。
動作部231は、例えば、内部情報に対応する属性と外部情報に対応する属性とが予め決められた関係を有する場合のみ、外部情報と内部情報とを用いた統計処理結果を取得する。なお、予め決められた関係とは、例えば、一致すること、対応付けられていること等である。統計処理結果は、例えば、ECサイトでの購入金額と店舗での購入金額の合計額、ECサイトと実店舗の両方を考慮した最後の購入日、ECサイトと実店舗の両方を考慮した購入最大金額などである。なお、内部情報とは、ユーザイベント情報格納部213の1以上のイベント情報に対して統計処理した結果である。また、外部情報とは、情報処理装置2と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である。なお、外部データベースは、例えば、ユーザ識別子に対応付けて、店舗でのユーザの購入情報である店舗購入情報が格納されているDBである。
動作識別子蓄積部232は、イベント受信部222が受信したイベント識別子に対応する動作識別子を動作情報格納部211から取得し、当該動作識別子をイベント受信部222が受信したユーザ識別子に対応付けてユーザ動作情報格納部214に蓄積する。
動作識別子蓄積部232は、各ユーザ識別子に対して、重複する動作識別子はユーザ動作情報格納部214に蓄積しないことは好適である。つまり、例えば、動作識別子蓄積部232は、イベント受信部222がイベント識別子を受信した場合に、当該イベント識別子に対応するユーザ識別子と対になる1以上のイベント識別子の中に、受信されたイベント識別子が存在するか否かを判断し、存在する場合には動作識別子を蓄積する処理は行わず、存在しない場合のみ、イベント受信部222が受信したイベント識別子に対応する動作識別子を動作情報格納部211から取得し、当該動作識別子をイベント受信部222が受信したユーザ識別子に対応付けてユーザ動作情報格納部214に蓄積する。
イベント情報蓄積部233は、イベント受信部222が受信したイベント情報をユーザ識別子に対応付けてユーザイベント情報格納部213に蓄積する。
固有情報送信先決定部234は、固有情報送信条件を満たす1以上のイベント情報に対応付いているユーザ識別子を決定する。固有情報送信先決定部234がユーザ識別子を決定する処理を行うタイミングやトリガーは問わない。例えば、イベント受信部222がイベント情報をユーザ識別子に対応付けて受信した場合に、固有情報送信先決定部234は、当該ユーザ識別子と対になる1以上のイベント情報が固有情報送信条件を満たすか否かを判断する処理を行う。
ユーザ選択部235は、1または2以上の各第一時点において、セグメント条件情報が特定するセグメント条件を満たす1以上のイベント情報に対応付いている1以上のユーザ識別子を取得する。なお、第一時点は、管理端末3からの指示に含まれる時点でも良いし、予め決められた時点等でも良い。
ユーザ選択部235は、例えば、1または2以上の各第一時点において、処理対象となる操作対象識別子と対になるセグメント条件情報が特定するセグメント条件を満たす1以上のイベント情報であり、操作対象識別子と対になる1以上のイベント情報に対応付いている1以上のユーザ識別子を取得する。
判断部236は、1または2以上の各第二時点において、ユーザ選択部235が取得した1以上の各ユーザ識別子ごとに、ユーザ識別子および第二時点に対応する1以上のイベント情報が、ゴールイベント条件情報が特定するゴールイベント条件を満たすか否かを判断する。なお、第二時点は、第一時点より後の時である。1以上の各第二時点は、例えば、「1日後」「2日後」「1週間後」「7日後」等である。第二時点は、第一時点を起点にする時点でも良いし、絶対的な時点(例えば、2019/11/3)でも良い。また、時点は、日でも、時刻でも、月でも、年等でも良い。
判断部236は、例えば、第二時点において、ユーザ選択部235が取得した1以上の各ユーザ識別子ごとに、ユーザ識別子および第二時点に対応する1以上のイベント情報であり、操作対象識別子と対になる1以上のイベント情報が、ゴールイベント条件情報が特定するゴールイベント条件を満たすか否かを判断する。
判断部236は、例えば、2以上の各第二時点において、ユーザ選択部235が取得した1以上の各ユーザ識別子ごとに、ユーザ識別子および第二時点に対応する1以上のイベント情報が、ゴールイベント条件情報が特定するゴールイベント条件を満たすか否かを判断する。
分析情報取得部237は、判断部236の判断結果を用いた情報である分析情報を取得する。分析情報取得部237は、例えば、第一時点においてセグメント条件情報が特定するセグメント条件を満たす1以上のイベント情報に対応付いているユーザ識別子の中から、1以上の各第二時点においてゴールイベント条件情報が特定するゴールイベント条件を満たしている1以上のイベント情報に対応付いているユーザ識別子の数である分析情報を、1以上の各第二時点ごとに取得する。分析情報取得部237は、例えば、第一時点においてセグメント条件情報が特定するセグメント条件を満たす1以上のイベント情報に対応付いているユーザ識別子の中から、1以上の各第二時点においてゴールイベント条件情報が特定するゴールイベント条件を満たしている1以上のイベント情報に対応付いているユーザ識別子を、1以上の各第二時点ごとに取得する。分析情報は、例えば、リテンション分析の結果の情報である。分析情報は、例えば、セグメント条件とゴールイベント条件の両方を満たすユーザ数、セグメント条件とゴールイベント条件の両方を満たすユーザに関する情報(例えば、ユーザ識別子、ユーザ情報、ユーザ情報の一部)である。
分析情報取得部237は、例えば、2以上の各第二時点において、判断部236の判断結果を用いた情報である分析情報を取得する。
出力部24は、各種の情報を出力する。各種の情報とは、例えば、分析情報、固有情報、固有処理の結果、共通情報、共通処理の結果、統計処理結果、イベント情報等である。ここで、出力とは、通常、ユーザ端末1または管理端末3への送信である。ただし、出力とは、表示、他のプログラムへの引き渡し、記録媒体への蓄積等でも良い。出力部24は、例えば、分析情報を管理端末3に送信する。なお、固有処理の結果、共通処理の結果は、後述する動作結果である。
動作結果出力部241は、1または2以上の動作結果を出力する。動作結果は、動作部231が取得した情報である。動作結果は、例えば、購入指示に対応する購入処理が完了した旨の情報、購入指示に対応する決済処理が完了した情報等である。動作結果は、いわゆる固有処理の結果でも良い。
結果出力部242は、統計処理結果を出力する。統計処理結果は、動作部231が取得した情報である。
分析情報出力部243は、分析情報取得部237が取得した分析情報を出力する。ここでの出力は、通常、管理端末3への送信である。ただし、出力とは、表示、他のプログラムへの引き渡し、記録媒体への蓄積等でも良い。
分析情報出力部243は、2以上の各第二時点における分析情報を出力することは好適である。
送信部25は、各種の情報を送信する。各種の情報は、例えば、固有情報、共通情報、固有処理の結果、共通処理の結果である。
固有情報送信部251は、固有情報送信先決定部234が決定したユーザ識別子により識別されるユーザのユーザ端末1に固有情報を送信する。
管理端末3を構成する管理格納部31には、各種の情報が格納される。各種の情報とは、例えば、管理者識別子である。管理者識別子は、管理端末3の管理者を識別する情報であり、例えば、ID、氏名である。管理者識別子は、電話番号、メールアドレス等でも良い。なお、管理者識別子は、管理端末3を識別する情報であっても良い。情報処理装置2が、例えば、ユーザのイベント情報を分析するサーバである場合、管理端末3は当該分析サーバの管理者の端末である。
管理受付部32は、管理者から指示や情報等の入力を受け付ける。指示や情報等は、例えば、分析情報を取得する指示である分析指示、情報取得指示である。情報取得指示は、例えば、統計処理結果、イベント情報の取得の指示である。
また、ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、カメラでの撮影などを含む概念である。
管理受信部33は、各種の情報を情報処理装置2から受信する。各種の情報とは、例えば、分析情報、統計処理結果、イベント情報である。
管理処理部34は、各種の処理を行う。各種の処理とは、例えば、管理受付部32が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理、管理受信部33が受信した情報を出力する構造に変更する処理等である。
管理出力部35は、各種の情報を出力する。各種の情報とは、例えば、分析情報、統計処理結果、イベント情報である。
管理送信部36は、各種の情報や指示等を情報処理装置2に送信する。各種の情報や指示等は、例えば、分析指示、情報取得指示である。
ユーザ格納部11、格納部21、動作情報格納部211、ユーザ情報格納部212、ユーザイベント情報格納部213、ユーザ動作情報格納部214、統計処理結果格納部215、固有情報格納部216、固有情報送信条件格納部217、セグメント条件情報格納部218、ゴールイベント条件情報格納部219、および管理格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ユーザ格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報がユーザ格納部11で等記憶されるようになってもよく、通信回線等を介して送信された情報がユーザ格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報がユーザ格納部11等で記憶されるようになってもよい。
ユーザ受付部12、および管理受付部32は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ユーザ受信部13、受信部22、指示受信部221、イベント受信部222、および管理受信部33は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
ユーザ処理部14、処理部23、動作部231、動作識別子蓄積部232、イベント情報蓄積部233、固有情報送信先決定部234、ユーザ選択部235、判断部236、分析情報取得部237、および管理処理部34は、通常、MPUやメモリ等から実現され得る。ユーザ処理部14等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザ出力部15、および管理出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。ユーザ出力部15等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ユーザ送信部16、出力部24、動作結果出力部241、結果出力部242、分析情報出力部243、送信部25、固有情報送信部251、および管理送信部36は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、情報システムAの動作について説明する。まず、ユーザ端末1の動作について説明する。
ユーザ端末1のユーザ受付部12は、ユーザからの指示や情報等を受け付ける。次に、ユーザ処理部14は、ユーザ受付部12が受け付けた指示や情報等に対応するイベント情報を取得する。次に、ユーザ処理部14は、ユーザ格納部11のユーザ識別子を読み出す。そして、ユーザ処理部14は、ユーザ識別子とイベント情報とを有する情報である送信情報を構成する。次に、ユーザ送信部16は、ユーザ識別子とイベント情報とを有する送信情報を情報処理装置2または図示しないサーバに送信する。そして、送信情報の送信に応じて、ユーザ端末1のユーザ受信部13は、情報処理装置2または図示しないサーバから情報を受信する。次に、ユーザ処理部14は、受信された情報を用いて、出力する情報を構成する。次に、ユーザ出力部15は、構成された情報を出力する。
次に、情報システムAを構成する情報処理装置2の動作例について、図4のフローチャートを用いて説明する。
(ステップS401)イベント受信部222は、イベント情報等を受信したか否かを判断する。イベント情報等を受信した場合はステップS402に行き、イベント情報等を受信しなかった場合はステップS401に戻る。なお、イベント情報等とは、例えば、イベント情報とユーザ識別子である。
(ステップS402)イベント情報蓄積部233は、ステップS401で受信されたイベント情報を、当該イベント情報に対応するユーザ識別子に対応付けて、ユーザイベント情報格納部213に蓄積する。
(ステップS403)動作部231は、ステップS401で受信されたイベント情報を用いて、当該イベント情報に対応する動作を行う。
(ステップS404)動作識別子蓄積部232は、動作情報登録処理を行う。動作情報登録処理について、図5のフローチャートを用いて説明する。
(ステップS405)動作部231は、ユーザ動作実行処理を行う。ユーザ動作実行処理について、図6のフローチャートを用いて説明する。
(ステップS406)処理部23は、ステップS403における動作の結果、またはステップS403における動作の結果とステップS405におけるユーザ動作実行処理の結果を用いて、ユーザ端末1に送信する情報を構成する。
(ステップS407)出力部24は、ステップS406で構成された情報をユーザ端末1に送信する。
(ステップS408)処理部23は、ステップS403における動作の結果、ステップS405におけるユーザ動作実行処理の結果のうちの1または2以上の情報を用いて、管理端末3に送信する情報を構成する。
(ステップS409)出力部24は、ステップS408で構成された情報を管理端末3に送信する。ステップS401に戻る。
(ステップS410)指示受信部221は、分析指示を受信したか否かを判断する。分析指示を受信した場合はステップS411に行き、分析指示を受信しなかった場合はステップS414に行く。
(ステップS411)分析情報取得部237は、操作対象識別子、第一時点の情報、第二時点の情報を取得する。分析情報取得部237は、例えば、分析指示に含まれる操作対象識別子、第一時点の情報、第二時点の情報を取得する。なお、操作対象識別子、第一時点の情報、第二時点の情報のうちの1以上の情報は、予め格納部21に格納されていても良い。
(ステップS412)分析情報取得部237は、分析情報を取得する処理である分析処理を行う。分析処理の例について、図7のフローチャートを用いて説明する。
(ステップS413)分析情報出力部243は、ステップS412で取得された分析情報を、分析指示を送信してきた端末(例えば、管理端末3)に送信する。ステップS401に戻る。
(ステップS414)処理部23は、固有情報の送信タイミングであるか否かを判断する。固有情報の送信タイミングである場合はステップS415に行き、固有情報の送信タイミングでない場合はステップS401に戻る。
(ステップS415)固有情報送信先決定部234等は、固有情報送信処理を行う。ステップS401に戻る。なお、固有情報送信処理の例について、図8のフローチャートを用いて説明する。
なお、図4のフローチャートにおいて、指示受信部221が各種の指示(例えば、ログイン指示、ログアウト指示)を受信した場合、処理部23は、当該指示に応じた処理を行う。
また、図4のフローチャートにおいて、分析指示の受信に応じて、分析情報を取得し、出力したが、分析情報の取得等のトリガーは問わない。予め決められた時刻になった場合、イベント情報が予め決められた条件を満たした場合等に、情報処理装置2は、分析情報を取得し、出力しても良い。
さらに、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS404の動作情報登録処理について、図5のフローチャートを用いて説明する。
(ステップS501)動作識別子蓄積部232は、受信されたイベント識別子を取得する。
(ステップS502)動作識別子蓄積部232は、ステップS501で取得したイベント識別子に対応するユーザ識別子を取得する。なお、通常、イベント識別子は、ユーザ識別子に対応付いて受信されている。
(ステップS503)動作識別子蓄積部232は、ユーザイベント情報格納部213の中のイベント識別子であり、ステップS502で取得したユーザ識別子に対応するイベント識別子の中に、ステップS501で取得されたイベント識別子が存在するか否かを判断する。
(ステップS504)動作識別子蓄積部232は、ステップS503における判断結果が「存在しない」との場合はステップS505に行き、「存在する」との場合は上位処理にリターンする。
(ステップS505)動作識別子蓄積部232は、ステップS501で取得されたイベント識別子と対になる動作情報を動作情報格納部211から取得する。
(ステップS506)動作識別子蓄積部232は、ステップS505で取得した動作情報を、ステップS502で取得したユーザ識別子に対応付けて、ユーザ動作情報格納部214に蓄積する。上位処理にリターンする。
なお、図5のフローチャートのステップS504で判断処理を行ったが、判断処理を無くし、常に動作情報を取得し、蓄積しても良い。
また、図5のフローチャートにおいて、ステップS504の判断処理を行わず、取得されたイベント識別子と対になる動作情報をユーザ識別子に対応付けて追記しても良い。
次に、ステップS405のユーザ動作実行処理について、図6のフローチャートを用いて説明する。
(ステップS601)動作部231は、ステップS401で受信されたイベント情報に対応するユーザ識別子を取得する。
(ステップS602)動作部231は、カウンタiに1を代入する。
(ステップS603)動作部231は、ステップS601で取得されたユーザ識別子に対応するi番目の動作情報が、ユーザ動作情報格納部214に存在するか否かを判断する。i番目の動作情報が存在する場合はステップS604に行き、i番目の動作情報が存在しない場合は上位処理にリターンする。
(ステップS604)動作部231は、i番目の動作情報に対応する動作を実行するか否かを判断する。実行する場合はステップS605に行き、実行しない場合はステップS607に行く。なお、動作部231は、例えば、i番目の動作情報に対応付いているイベント識別子とステップS401で受信されたイベント情報(またはイベント識別子)とが予め決められた関係にあるか否かにより、動作を実行するか否かを判断する。
(ステップS605)動作部231は、i番目の動作情報に対応する動作を実行する。なお、かかる動作は、固有処理と考えても良い。
(ステップS606)動作部231は、ステップS605における動作の実行結果を、ユーザ識別子に対応付けて蓄積する。
(ステップS607)動作部231は、カウンタiを1、インクリメントする。ステップS603に戻る。
次に、ステップS412の分析処理の例について、図7のフローチャートを用いて説明する。
(ステップS701)ユーザ選択部235は、受信された分析指示が有する操作対象識別子と対になるセグメント条件情報をセグメント条件情報格納部218から取得する。
(ステップS702)ユーザ選択部235は、カウンタiに1を代入する。
(ステップS703)ユーザ選択部235は、i番目のユーザが存在するか否かを判断する。なお、i番目のユーザが存在するか否かの判断は、例えば、i番目のユーザ情報またはユーザ識別子がユーザ情報格納部212に存在するか否かの判断で良い。
(ステップS704)ユーザ選択部235は、i番目のユーザ識別子を取得する。
(ステップS705)ユーザ選択部235は、操作対象識別子、i番目のユーザ識別子、および第一時点に対応する1以上のイベント情報をユーザイベント情報格納部213から取得する。なお、操作対象識別子は、例えば、分析指示が有する。第一時点を特定する情報は、例えば、分析指示またはセグメント条件情報が有する。
(ステップS706)ユーザ選択部235は、i番目のユーザ識別子に対応するイベント情報であり、ステップS705で取得した1以上のイベント情報が、ステップS701で取得したセグメント条件情報が特定するセグメント条件を満たすか否かを判断する。セグメント条件を満たす場合はステップS707に行き、セグメント条件を満たさない場合はステップS708に行く。
(ステップS707)ユーザ選択部235は、i番目のユーザ識別子を、図示しないバッファ(このバッファをバッファ0とする)に一時蓄積する。
(ステップS708)ユーザ選択部235は、カウンタiを1、インクリメントする。ステップS703に戻る。
(ステップS709)分析情報取得部237は、バッファ0の中のユーザ識別子の数であるユーザ数を算出し、図示しないバッファに一時蓄積する。
(ステップS710)判断部236は、受信された分析指示が有する操作対象識別子と対になるゴールイベント条件情報をゴールイベント条件情報格納部219から取得する。
(ステップS711)判断部236は、カウンタjに1を代入する。
(ステップS712)判断部236は、j番目の第二時点が存在するか否かを判断する。j番目の第二時点が存在する場合はステップS713に行き、j番目の第二時点が存在しない場合はステップS722に行く。
(ステップS713)判断部236は、カウンタkに1を代入する。
(ステップS714)判断部236は、バッファ0の中にk番目のユーザ識別子が存在するか否かを判断する。k番目のユーザ識別子が存在する場合はステップS715に行き、k番目のユーザ識別子が存在しない場合はステップS720に行く。
(ステップS715)判断部236は、k番目のユーザ識別子をバッファ0から取得する。
(ステップS716)判断部236は、操作対象識別子、k番目のユーザ識別子、およびj番目の第二時点に対応する1以上のイベント情報をユーザイベント情報格納部213から取得する。なお、操作対象識別子は、例えば、分析指示が有する。j番目の第二時点を特定する情報は、例えば、分析指示またはゴールイベント条件情報または格納部21が有する。
(ステップS717)判断部236は、k番目のユーザ識別子に対応するイベント情報であり、ステップS716で取得した1以上のイベント情報が、ステップS710で取得したゴールイベント条件情報が特定するゴールイベント条件を満たすか否かを判断する。ゴールイベント条件を満たす場合はステップS718行き、セグメント条件を満たさない場合はステップS719に行く。
(ステップS718)判断部236は、k番目のユーザ識別子を、図示しないバッファ(このバッファをバッファkとする)に一時蓄積する。
(ステップS719)判断部236は、カウンタkを1、インクリメントする。ステップS714に戻る。
(ステップS720)分析情報取得部237は、バッファkの中のユーザ識別子の数であるk番目の第二時点のユーザ数を算出し、図示しないバッファに一時蓄積する。
(ステップS721)カウンタjを1、インクリメントする。ステップS712に戻る。
(ステップS722)分析情報取得部237は、ステップS709、ステップS720で取得した情報を用いて、分析情報を構成する。上位処理にリターンする。
なお、図7のフローチャートにおいて、ステップS701で2以上のセグメント条件情報をセグメント条件情報格納部218から取得しても良い。かかる場合、2以上の各セグメント条件情報ごとに、1以上のユーザ識別子が取得される。また、かかる場合、判断部236は、2以上の各セグメント条件情報ごとに、各セグメント条件情報に対応するゴールイベント条件情報を用いて、セグメント条件とゴールイベント条件とを満たすユーザのユーザ識別子を取得する。
次に、ステップS415の固有情報送信処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)固有情報送信先決定部234は、固有情報送信条件格納部217から固有情報送信条件を取得する。
(ステップS802)固有情報送信先決定部234は、カウンタiに1を代入する。
(ステップS803)固有情報送信先決定部234は、i番目のユーザが存在するか否かを判断する。i番目のユーザが存在する場合はステップS804に行き、i番目のユーザが存在しない場合は上位処理にリターンする。
(ステップS804)固有情報送信先決定部234は、i番目のユーザのユーザ識別子に対応する1以上のイベント情報を取得する。
(ステップS805)固有情報送信先決定部234は、ステップS804で取得した1以上のイベント情報が、固有情報送信条件を満たすか否かを判断する。固有情報送信条件を満たす場合はステップS806に行き、固有情報送信条件を満たさない場合はステップS808に行く。
(ステップS806)固有情報送信部251は、固有情報格納部216から固有情報を取得する。
(ステップS807)固有情報送信部251は、ステップS806で取得した固有情報を、i番目のユーザ識別子に対応するユーザに出力する。なお、ユーザへの出力とは、ユーザ端末1への送信、ユーザ識別子と対になるウェブページへの書き込み等である。
(ステップS808)固有情報送信先決定部234は、カウンタiを1、インクリメントする。ステップS803に戻る。
なお、図8フローチャートにおいて、イベント情報の受信をトリガーとして固有情報が送信されても良い。かかる場合、ステップS805において、固有情報送信先決定部234は、イベント情報と対になる一のユーザ識別子と対になる1以上のイベント情報が、固有情報送信条件を満たすか否かを判断する。
次に、情報システムAを構成する情報処理装置2の第二の動作例について、図9のフローチャートを用いて説明する。図9のフローチャートにおいて、図4と同一のステップについて説明を省略する。
(ステップS901)イベント受信部222は、図示しないサーバからイベント情報等を受信したか否かを判断する。イベント情報等を受信した場合はステップS902に行き、イベント情報等を受信しなかった場合はステップS410に行く。
(ステップS902)イベント情報蓄積部233は、ステップS901で受信されたイベント情報をユーザ識別子に対応付けてユーザイベント情報格納部213に蓄積する。ステップS901に戻る。
なお、図9のフローチャートにおける情報処理装置2の第二の動作例は、情報処理装置2が、1または2以上の図示しない各サーバで蓄積されたイベント情報等を受信し、サーバごとにイベント情報を分析するイベント情報分析サーバの役割を果たす場合である。
また、図9のフローチャートにおいて、分析情報の取得および送信のタイミングは問わない。
さらに、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、管理端末3の動作について説明する。管理端末3の管理受付部32は、管理者からの指示や情報等を受け付ける。次に、管理処理部34は、管理受付部32が受け付けた指示や情報等から送信する情報を構成する。次に、管理送信部36は、構成された情報を情報処理装置2に送信する。そして、送信情報の送信に応じて、管理端末3の管理受信部33は、情報処理装置2から情報を受信する。次に、管理処理部34は、受信された情報を用いて、出力する情報を構成する。次に、管理出力部35は、構成された情報を出力する。なお、管理受信部33は、プッシュ型の通信により(管理者からの入力なしに)、情報処理装置2から情報を受信しても良い。かかる場合も、管理処理部34は受信された情報を用いて出力する情報を構成し、管理出力部35は構成された情報を出力する。
以下、本実施の形態における情報システムAの2つの具体的な動作について説明する。具体例1において、情報処理装置2はECサイトおよび動画閲覧サービスを行うサーバ装置であり、イベント情報等を蓄積する処理等を説明する。さらに、具体例2において、情報処理装置2はイベント情報の分析サーバであり、分析情報を取得し、出力する処理等を説明する。
(具体例1)
今、情報処理装置2の動作情報格納部211には、図10に示す構造を有する動作情報管理表が格納されている。動作情報管理表は、受信されたイベント識別子に対応して行う動作に関する情報を管理する表である。動作情報管理表は、通常、情報処理装置2の設計者により、予め準備されている表である。動作情報管理表は、「ID」「イベント識別子」「動作情報」を有するレコードを1または2以上格納し得る。「動作情報」は、ここでは「動作識別子」「プログラム」を有する。「ID」は、レコードを識別する情報である。なお、「ID」がレコードを識別する情報であることは他の表においても同様である。「プログラム」は、ここではexeファイルであるが、そのデータ構造等は問わない。
また、プログラム「合計金額.exe」は、(1−1)当該ユーザのECサイトでの購入金額の総額を取得する処理、(1−2)ユーザ識別子を有しているユーザ(登録されているユーザ)に対して、当該ユーザの店舗での購入金額の総額を取得する処理、(1−3)当該ユーザのECサイトでの購入金額の総額と店舗での購入金額の総額とを加算し、ECサイトおよび店舗での購入金額の総額を取得する処理、の3つの処理を行う。なお、(1−1)では、動作部231は、現時点でのユーザのECサイトでの購入金額の総額を取得する。つまり、(1−1)では、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図11)を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」をすべて取得し、取得したすべての「値」を加算して、Cサイトでの購入金額の総額を取得する。また、(1−2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値をすべて加算し、店舗での購入金額の総額を取得する。さらに、(1−3)では、動作部231は、(1−1)と(1−2)で取得した総額を加算し、ECサイトおよび店舗での購入金額の総額を取得する。なお、ユーザ識別子を有しているユーザは、ユーザ登録を行ったユーザである。ユーザ登録を行っていないユーザはユーザ識別子を有さず、端末識別子がキーとなり、他のユーザと区別され得る。なお、図11の詳細については、後述する。
また、プログラム「最終購入日.exe」は、(2−1)当該ユーザのECサイトでの商品の購入の最終の日を取得する処理、(2−2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入の最終の日を取得する処理、(2−3)当該ユーザのECサイトおよび店舗での商品の購入の最終の日を取得する処理、の3つの処理を行う。なお、(2−1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入の最終の日を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図11)を検索し、当該イベント情報から、イベント識別子「buy」と対になる「日時」のうちの最新の「日時」が有する日の情報を取得する。また、(2−2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、(2−3)では、動作部231は、(2−1)と(2−2)で取得した日のうち、新しい日の情報を取得する。
また、プログラム「最高購入額.exe」は、(3−1)当該ユーザのECサイトでの商品の購入額のうちの最高額を取得する処理、(3−2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入額のうちの最高額を取得する処理、(3−3)当該ユーザのECサイトおよび店舗での商品の購入額のうちの最高額を取得する処理、の3つの処理を行う。なお、(3−1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図11)を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」のうちの最大値を取得する。また、(3−2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値のうち最大値を取得する。さらに、(3−3)では、動作部231は、(3−1)と(3−2)で取得した値のうち、大きい方の値(max((3−1)の値,(3−2)の値)を取得する。
また、プログラム「店舗情報検索.exe」は、当該ユーザが店舗で商品を購入した場合の購入情報を取得する処理を行う。
また、プログラム「レコメンド.exe」は、ユーザ情報、ユーザの購入履歴のうちの1または2以上の情報を用いて、商品をレコメンドする処理を行う。なお、レコメンドのアルゴリズムは、協調フィルタリング等、問わない。レコメンドのアルゴリズムは、公知のあらゆるアルゴリズムを利用可能である。
さらに、プログラム「最終訪問日.exe」は、(4−1)当該ユーザのECサイトに最後に訪問した日を取得する処理、(4−2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗に最後に訪問した日を取得する処理、(4−3)当該ユーザのECサイトおよび店舗に最後に訪問した日を取得する処理、の3つの処理を行う。なお、(4−1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図11)を検索し、当該イベント情報から、イベント識別子「view」と対になる「日時」のうちの最新の日時の中の日の情報を取得する。また、(4−2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、(4−3)では、動作部231は、(4−1)と(4−2)で取得した値のうち、新しい方の日の情報を取得する。
また、情報処理装置2のユーザ情報格納部212には、図12に示す構造を有するユーザ情報管理表が格納されている。ユーザ情報管理表は、「ユーザ識別子」「氏名」「パスワード」「メールアドレス」「課金フラグ」を有するレコードを1または2以上格納し得る。「パスワード」は、ユーザ端末1から情報処理装置2にログインする際に使用される。「課金フラグ」は、動画を視聴する場合に課金できる有料会員か、課金できない非有料会員かを区別するフラグである。また、ユーザ情報管理表の各レコードは、ユーザ端末1からのユーザ登録指示を受信した情報処理装置2が、ユーザ登録の処理を行った結果である。なお、ユーザ情報管理表の各レコードは、情報処理装置2が、受信したユーザ登録指示に含まれる氏名、パスワード、メールアドレス等と、生成したユニークなユーザ識別子を有するレコードを構成し、ユーザ情報管理表に蓄積した結果である。また、情報処理装置2は、正常にユーザ登録処理が完了した後、ユーザ端末1に、「ユーザ識別子」「パスワード」を通知する、とする。
また、情報処理装置2のユーザイベント情報格納部213には、図11に示す構造を有するユーザイベント情報管理表が格納されている。ユーザイベント情報管理表は、ユーザごとに、当該ユーザのユーザ端末1への操作に応じて発生したイベントであり、情報処理装置2に送信されたイベントに関する情報が格納される表である。ユーザイベント情報管理表は、「ID」「ユーザ識別子」「端末識別子」「イベント情報」「日時」を有するレコードを、ユーザごとに、1または2以上格納し得る。「イベント情報」は、ここでは、「イベント識別子」「パラメータ情報」を有する。「パラメータ情報」は、ここでは「属性識別子」「値」を有する。「端末識別子」は、ユーザ端末1を識別する情報であり、ここでは、例えば、IPアドレスである、とする。「端末識別子」は、電話番号やMACアドレス等でも良い。
図11において、イベント識別子「identify」は、ユーザ識別子が登録されたこと、またはユーザ識別子を有することを示す。なお、イベント識別子「identify」は、パラメータ情報として、属性識別子「uid」を採り得る。属性識別子「uid」は、「値」がユーザ識別子であることを示す。また、イベント識別子「view」は、ECサイトのウェブページをユーザが閲覧したこと(ユーザ端末1に送信されたこと)を示す。イベント識別子「view」は、パラメータ情報として、属性識別子「page_id」を採り得る。「page_id」は、「値」がウェブページのIDであることを示す。また、イベント識別子「buy」は、商品を購入したことを示す。なお、イベント識別子「buy」は、パラメータ情報として、属性識別子「item_id」「price」を採り得る。属性識別子「item_id」は、「値」が購入した商品の識別子であることを示す。属性識別子「price」は、「値」が購入した商品の価格であることを示す。なお、「ユーザ識別子」に属性値を有し、「端末識別子」に属性値を有さないレコードは、ユーザ登録を行わずに、ECサイトを利用しているユーザの管理情報である。
図11における各レコードのイベント情報は、情報処理装置2がイベント情報を受信するごとに、ユーザ識別子または端末識別子に対応付けて蓄積した情報である。なお、情報処理装置2のイベント情報蓄積部233は、例えば、イベント情報が受信された時刻情報(日時)を取得し、図11のレコードを構成する。
また、情報処理装置2のユーザ動作情報格納部214には、図13に示す構造を有するユーザ動作情報管理表が格納されている。ユーザ動作情報管理表は、ユーザ端末1からイベントが受信された場合に、実行される動作を管理する表である。ユーザ動作情報管理表は、「ID」「ユーザ識別子」「端末識別子」「動作識別子」を有するレコードを多数格納し得る。
図13における各レコードの動作識別子は、情報処理装置2がイベント情報を受信した場合に、上述した動作情報登録処理(図5参照)により蓄積された情報である。
また、情報処理装置2の統計処理結果格納部215には、図14に示す構造を有する統計処理結果管理表が格納されている。統計処理結果管理表は、ユーザごとの商品購入などの統計処理結果が格納される。統計処理結果管理表は、「ユーザ識別子」「ECサイト購入総額」「ECサイ店舗購入総額」「ECサイト最終訪問日」「ECサイト店舗訪問日」「ECサイト最終購入日」「ECサイト店舗最終購入日」「ECサイト最高購入額」「ECサイト店舗最高購入額」を有するレコードを多数格納し得る。「ECサイト購入総額」は、情報処理装置2(ECサイト)での購入金額の総額である。「ECサイ店舗購入総額」は、同一ユーザのECサイトでの購入金額と店舗での購入金額とを合わせた総額である。「ECサイト最終訪問日」は、ECサイトに最近に訪問した日である。「ECサイト店舗訪問日」は、同一ユーザのECサイトと店舗とを合わせた、最近に訪問した日である。「ECサイト最終購入日」は、ECサイトで最近に商品を購入した日である。「ECサイト店舗最終購入日」は、同一ユーザのECサイトと店舗とを合わせた、最近に商品を購入した日である。「ECサイト最高購入額」は、ECサイトにおける最高の購入金額(最も高額の商品の金額)である。「ECサイト店舗最高購入額」は、同一ユーザのECサイトおよび店舗における最高の購入金額(最も高額の商品の金額)である。なお、店舗における情報は、図15に示す店舗購入情報管理表から取得され得る。
さらに、図示しない外部のサーバ装置に、図15に示す店舗購入情報管理表が格納されている。店舗購入情報管理表は、店舗におけるユーザの商品購入の情報が管理される表である。店舗購入情報管理表は、「ユーザ識別子」「購入日」「購入品識別子」「金額」を有するレコードを多数格納し得る。
なお、例えば、図示しない外部のサーバ装置は、店舗のPOSレジスタと通信可能であり、POSレジスタが読み取ったユーザカードのID(ユーザ識別子)と、POSレジスタが読み取った購入品識別子と、外部のサーバ装置に格納されている商品データベース(図示しない)から購入品識別子をキーとして取得した金額、図示しない時計から取得した購入日を用いてレコードを構成し、蓄積する。このようにして構成された表が図15に示す店舗購入情報管理表である。なお、店舗購入情報管理表の構成手順は問わない。店舗購入情報管理表の構成方法は公知技術であるので、詳細な説明を省略する。なお、ユーザカードには、ユーザ識別子が格納されている。
上述した具体例1に関して、以下の2つの事例(具体例1−1,具体例1−2)について説明する。具体例1−1は、ユーザごとに登録されている動作(固有処理と言っても良い)を実行する例である。具体例1−2は、一のユーザに対応する新たなイベントを受信したことにより、当該一のユーザに対応付けて、動作識別子を登録する例である。
(具体例1−1)
まず、山田A子は、情報処理装置2にログインするために、ユーザ端末1に対して、ユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を入力した、とする。
すると、ユーザ端末1のユーザ受付部12は、ユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を受け付ける。次に、ユーザ処理部14はユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を構成する。なお、当該ログイン指示は、イベント情報「identify uid=u01」を含む、とする。そして、ユーザ送信部16は、当該ログイン指示を情報処理装置2に送信する。
次に、情報処理装置2のイベント受信部222は、イベント情報「identify uid=u01」を含むログイン指示を、山田A子のユーザ端末1から受信する。
次に、イベント情報蓄積部233は、図示しない時計から時刻「2019/11/1 15:10」を取得する。そして、イベント情報蓄積部233は、ユーザ識別子「u01」に対応付けて、受信されたイベント情報「identify uid=u01」を、ユーザイベント情報管理表(図11)に蓄積する。すると、図11の「ID=1」のレコードにイベント情報「イベント識別子:identify,属性識別子:uid,値:u01」が追記される。
次に、動作部231は、受信されたログイン指示に従って、ログインのための処理を行う。ここでは、例えば、認証処理を行い、認証許可の結果を得て、認証許可後のウェブページを格納部21から読み出す。そして、出力部24は、当該ウェブページを山田A子のユーザ端末1に送信する。なお、山田A子のユーザ端末1は、当該ウェブページを受信し、出力する。
次に、動作識別子蓄積部232は、図5で説明した動作に従って、以下のような動作情報登録処理を行う。つまり、動作識別子蓄積部232は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部232は、受信されたイベント識別子に対応するユーザ識別子「u01」を取得する。次に、動作識別子蓄積部232は、ユーザイベント情報管理表(図11)の中のイベント識別子であり、取得したユーザ識別子「u01」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在する、と判断する。そして、動作識別子蓄積部232は、何らの動作識別子も登録しない。
次に、動作部231は、図6で説明した動作に従って、以下のようなユーザ動作実行処理を行う。つまり、動作部231は、受信されたイベント情報に対応するユーザ識別子「u01」を取得する。そして、動作部231は、ユーザ識別子「u01」に対応する動作識別子「a04,a05,a01,a02,a03」を取得する。
次に、動作部231は、動作識別子「a04」に対応するプログラム「店舗情報検索.exe」を実行し、外部のサーバ装置の店舗購入情報管理表を、ユーザ識別子「u01」をキーとして検索し、ユーザ識別子「u01」を含むレコードを取得する。そして、出力部24は、かかるレコードを、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。外部のサーバ装置の店舗購入情報管理表を検索する処理は公知技術である。
次に、動作部231は、動作識別子「a05」に対応するプログラム「レコメンド.exe」を実行し、山田A子にレコメンドする商品情報を取得する。なお、多数の商品情報が格納部21に格納されている、とする。また、ここでのレコメンドのアルゴリズムは問わない。そして、出力部24は、当該レコメンドする商品情報を山田A子のユーザ端末1に送信する。また、ここでレコメンドする商品情報は、上述した固有情報の一例である。
次に、動作部231は、動作識別子「a01」に対応するプログラム「合計金額.exe」を実行し、山田A子のECサイトでの購入金額の総額を取得する処理、山田A子の店舗での購入金額の総額を取得する処理、山田A子のECサイトおよび店舗での購入金額の総額を取得する処理を行う。そして、処理部23は、かかる情報を、図14にユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、動作部231は、動作識別子「a02」に対応するプログラム「最終購入日.exe」を実行し、ユーザのECサイトでの商品購入の最終日、ユーザの店舗での商品購入の最終日、およびユーザのECサイトおよび店舗での商品購入の最終日を取得する。そして、処理部23は、かかる情報を、図14のユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、動作部231は、動作識別子「a03」に対応するプログラム「最高購入額.exe」を実行し、山田A子のECサイトでの最高購入額を取得する処理、山田A子の店舗での最高購入額を取得する処理、山田A子のECサイトおよび店舗での最高購入額を取得する処理を行う。そして、処理部23は、かかる情報を、図14のユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、ユーザ端末1は、レコメンドされる商品情報を受信し、出力する。そして、山田A子は、ユーザ端末1で出力された商品情報の詳細を表示させる指示を入力したり、当該商品情報に対応する商品を購入したり等の入力を行っても良い。かかる場合、山田A子のユーザ端末1は、入力されや指示や情報を受け付け、当該指示や情報に対応するイベント情報等を情報処理装置2に送信する。また、情報処理装置2は、上述したように、イベント情報等を受信し、蓄積する。
また、管理端末3は、山田A子のユーザ情報とともに、山田A子の種々の情報を受信し、出力する。
なお、いかなる情報をユーザ端末1に送信し、いかなる情報を管理端末3に送信するかについては、予め決められている。
以上、具体例1−1の処理により、ユーザごとに管理されている動作情報に対応する動作が、イベントの受信に応じて実行される。
また、具体例1−1の処理により、固有情報または/およびユーザ端末1に対して行われた固有処理の結果がユーザ端末1に送信され、ユーザ端末1では、固有情報または固有処理の結果に対して、ユーザが行った操作に対応する1以上のイベント情報が情報処理装置2に送信された。
(具体例1−2)
ユーザ識別子を有さない端末識別子「アドレス2」のユーザは、「氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を有するユーザ登録指示をユーザ端末1に入力した、とする。すると、ユーザ端末1のユーザ受付部12は、かかるユーザ登録指示を受け付ける。次に、ユーザ処理部14は、送信するユーザ登録指示であり、「氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を有するユーザ登録指示を構成する。次に、ユーザ送信部16は、ユーザ登録指示を情報処理装置2に送信する。
次に、情報処理装置2の指示受信部221は、ユーザ登録指示を受信する。次に、処理部23は、ユーザ識別子「u19」を生成する。そして、出力部24は、当該ユーザ識別子「u19」を加藤H子のユーザ端末1に送信する。
次に、加藤H子のユーザ端末1のユーザ受信部13は、「ユーザ識別子:u19」を受信する。そして、ユーザ端末1のユーザ処理部14は、受信されたユーザ識別子を用いて、イベント情報「identify uid=u19」を構成する。次に、ユーザ送信部16は、イベント情報「identify uid=u19」を情報処理装置2に送信する。
次に、情報処理装置2のイベント受信部222は、イベント情報「identify uid=u19」を受信する。
次に、イベント情報蓄積部233は、受信されたイベント情報を、ユーザ識別子「u19」に対応付けて、ユーザイベント情報管理表に蓄積する。
次に、動作部231は、受信されたイベント情報を用いて、当該イベント情報に対応するユーザ登録処理を行う。つまり、動作部231は、ユーザ識別子「u19」とユーザ登録指示を用いて、ユーザ情報「ユーザ識別子:u19,氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を構成し、当該ユーザ情報を図8に追記する。そして、情報処理装置2の出力部24は、当該ユーザに対して、「ユーザ識別子:u19,パスワード:AAABBB」を送信する。
次に、加藤H子のユーザ端末1のユーザ受信部13は、「ユーザ識別子:u19,パスワード:AAABBB」を受信し、出力する。
次に、情報処理装置2の動作識別子蓄積部232は、図5のフローチャートを用いて説明したように動作情報登録処理を行う。つまり、動作識別子蓄積部232は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部232は、当該イベント識別子に対応するユーザ識別子「u19」を取得する。次に、動作識別子蓄積部232は、ユーザイベント情報管理表の中のイベント識別子であり、ユーザ識別子「u19」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在しない、と判断する。そして、動作識別子蓄積部232は、イベント識別子「identify」と対になる動作識別子「a04」を、動作情報管理表(図7)から取得する。次に、動作識別子蓄積部232は、取得した動作識別子「a04」を、ユーザ識別子「u19」に対応付けて、ユーザ動作情報管理表(図10)に追記する。
以上、具体例1−2の処理により、ユーザごとの動作情報が蓄積される。
(具体例2)
次に、情報処理装置2はがイベント情報の分析サーバの役割を果たす場合について説明する。今、情報処理装置2のイベント受信部222は、図示しない外部の1または2以上の各サーバから、イベント情報等を受信した、とする。すると、イベント情報蓄積部233は、イベント情報をユーザ識別子に対応付けてユーザイベント情報格納部213に蓄積する。ユーザイベント情報格納部213に蓄積された多数のイベント情報を有するユーザイベント情報管理表は、図11である、とする。
また、格納部21(セグメント条件情報格納部218、ゴールイベント条件情報格納部219)には、図16、図17に示す分析条件管理表が格納されている、とする。分析条件管理表は、セグメント条件情報およびゴールイベント条件情報を管理する表である。
なお、分析条件管理表は、例えば、管理者が管理端末3から入力し、情報処理装置2に蓄積された情報である、とする。また、分析条件管理表には、レコードの追加、修正、削除が可能である、とする。
図16、図17の分析条件管理表は、「操作対象識別子」「ID」「分析条件」を有するレコードを1以上有する表である。「操作対象識別子」は、「アプリ識別子」または/および「ページ識別子」を有する。「アプリ識別子」は、ここでは、アプリケーション名であるが、ID等でも良い。また、「ページ識別子」は、ここでは、ウェブページのURLである。また、「ID」は、1または2以上の関連する分析条件を識別する情報である。「分析条件」は、「セグメント条件情報」「ゴールイベント条件情報」を有する。
図16、図17の分析条件管理表において、操作対象は、ECアプリまたはECサイト、動画再生アプリまたは動画再生サイト、転職または就職希望の人材の情報を閲覧したりできる人材アプリまたは人材情報サイトである。
また、「セグメント条件情報」の「イベント識別子に“identify”を含む」とは、イベント情報管理表(図11参照)の第一時点に対応する「日時」のレコードの中の属性「イベント情報」に属性値“identify”が含まれることである。かかるレコードに含まれるユーザ識別子で識別されるユーザは「会員登録されている会員ユーザ」である。
「セグメント条件情報」の「お気に入り登録回数」は、イベント情報管理表(図11参照)の第一時点に対応する「日時」のレコード数であり、「イベント識別子」にお気に入り登録に対応する情報を含むレコード数を取得することにより、得られる情報である。
「セグメント条件情報」の“view 詳細情報”は、詳細情報が閲覧された場合に発生するイベント識別子であり、イベント情報管理表(図11参照)のイベント識別子が採り得る属性値である。
また、「ゴールイベント条件情報」の“starup”は、アプリを起動した場合に発生するイベント識別子である。また、“AccessURL”は、ウェブページにアクセスした場合に発生するイベント識別子である。また、“view page”は商品ページを閲覧した場合に発生するイベント識別子である。また、“動作再生”は、動画を再生させた場合に発生するイベント識別子である。
かかる状況で、管理者は、管理端末3に分析指示「分析 操作対象識別子=“ECアプリ”,ID=“3”,第一時点=“2019/1/1−2019/1/9”,第二時点=“0−6”」を入力した、とする。すると、管理端末3は分析指示を受け付け、当該分析指示を送信するデータ構造に修正し、当該分析指示を情報処理装置2に送信した、とする。なお、「第一時点=“2019/1/1−2019/1/9”」は、第一時点が、2019/1/1、2019/1/2、2019/1/3、2019/1/4、2019/1/5、2019/1/6、2019/1/7、2019/1/8、2019/1/9までの9の時点(ここでは、日)であることを示す。つまり、第一時点は複数の時点でも良い。また、「第二時点=“0−6”」は、第二時点が第一時点から0日、1日、2日、3日、4日、5日、6日の7つの時点(ここでは、経過日数)であることを示す。つまり、第二時点も複数の時点でも良い。
次に、情報処理装置2の指示受信部221は、上記の分析指示を受信する。そして、分析情報取得部237は受信された分析指示から、操作対象識別子「ECアプリ」、ID「3」、第一時点の情報「2019/1/1−2019/1/9」、第二時点の情報「0−6」を取得する。
次に、ユーザ選択部235は、受信された分析指示が有する操作対象識別子「ECアプリ」およびID「3」と対になるセグメント条件情報(「イベント識別子に“view 詳細情報”を含む」および「イベント識別子に“view 詳細情報”を含まない」)を分析条件管理表(図16)から取得する。
そして、以下、2つの各セグメント条件情報を用いて、ユーザ選択の処理が行われる。つまり、まず、ユーザ選択部235は、最初の第一時点の「2019/1/1」を含む「日時」の属性値と対になり、第一のセグメント条件情報「イベント識別子に“view 詳細情報”を含む」に合致するイベント情報と対になるユーザ識別子(例えば、「u21」「u35」・・・)をユーザイベント情報管理表(図11)から取得した、とする。
次に、分析情報取得部237は、取得されたユーザ識別子の数であるユーザ数「184」を算出した、とする。
次に、判断部236は、受信された分析指示が有する操作対象識別子「ECアプリ」、ID「3」、セグメント条件情報「イベント識別子に“view 詳細情報”を含む」と対になるゴールイベント条件情報「イベント識別子に“startup”または“AccessURL”を含む」を分析条件管理表(図16)から取得する。
次に、判断部236は、最初の第二時点の情報「0」を取得し、当該「0」と第一時点「2019/1/1」とを用いて、第二時点「2019/1/1」を取得する。そして、判断部236は、184人の各ユーザのユーザ識別子と対になり、第二時点「2019/1/1」を含む「日時」と対になり、ゴールイベント条件情報「イベント識別子に“startup”または“AccessURL”を含む」に合致するレコードに対応するユーザ識別子を取得する。次に、分析情報取得部237は、取得されたユーザ識別子の数である、ゴールイベント条件を満たすユーザ数「114」を取得した、とする。なお、このユーザ数「114」は、最終的な分析情報(図18)の1801である。
判断部236等は、上記と同様の処理を行い、分析情報取得部237は、2つめの第二時点「1」から「6」までのユーザ数であり、ゴールイベント条件を満たすユーザ数を各々「24」「14」「13」「12」「9」「8」と取得した、とする。
また、判断部236等は、上記と同様の処理を行い、2つめ以上の第一時点「2019/1/2」〜「2019/1/9」の各々に対しても、セグメント条件を満たすユーザ数を、各々「345」「318」「635」「773」「657」「555」「878」「687」と取得した、とする。
そして、判断部236等は、上記と同様の処理を行い、分析情報取得部237は、各第一時点に対して、7つの各第二時点におけるゴールイベント条件を満たすユーザ数を取得した、とする。
次に、分析情報取得部237は、操作対象識別子「ECアプリ」、ID「3」、セグメント条件情報「イベント識別子に“view 詳細情報”を含む」、ゴールイベント条件情報「イベント識別子に“startup”または“AccessURL”を含む」に対応するリテンション分析の表である分析情報を構成する。
次に、ユーザ選択部235は、第一のセグメント条件情報「イベント識別子に“identify”を含まない」に合致する端末識別子(例えば、「アドレス2」・・・)を取得する。なお、ここでは、端末識別子はユーザ識別子と同一視する、とする。
また、上記と同様の処理により、分析情報取得部237は、操作対象識別子「ECアプリ」、ID「3」、セグメント条件情報「イベント識別子に“view 詳細情報”を含まない」、ゴールイベント条件情報「イベント識別子に“startup”または“AccessURL”を含む」に対応するリテンション分析の表である分析情報を取得した、とする。
次に、分析情報出力部243は、取得された2つの分析情報(リテンション分析の表)を、分析指示を送信してきた管理端末3に送信する。
次に、管理端末3は、2つの分析情報を受信し、出力する。かかる出力例は、図18である。図18において、1802は、セグメント条件情報「イベント識別子に“view 詳細情報”を含む」場合の分析情報である。また、管理端末3は、セグメント条件情報「イベント識別子に“view 詳細情報”を含まない」場合の分析情報(1803)も出力可能である、とする。
また、管理端末3において、図19に示すセグメント条件選択メニュー1901を表示し、セグメント条件を選択し直し(分析条件表のレコードを選択し直し)、新しい分析情報を得ることができるものとする。つまり、図19に示すセグメント条件選択メニューの各メニュー項目に分析指示が対応付いており、管理者(ユーザ)がメニュー項目を選択することにより、管理端末3から当該メニュー項目に対応付く分析指示が情報処理装置2に送信される。そして、情報処理装置2は当該分析指示を受信し、当該分析指示に対応する分析情報を取得し、管理端末3に送信する。そして、管理端末3は、選択されたメニュー項目に対応する分析情報を受信し、出力する。
以上、本実施の形態によれば、セグメント条件とゴールイベント条件の両方を指定した柔軟なユーザ操作の分析が可能となる。
また、本実施の形態によれば、操作対象識別子ごとにセグメント条件とゴールイベント条件の両方を指定した柔軟なユーザ操作の分析が可能となる。
また、本実施の形態によれば、固有情報または固有処理に対するユーザの操作に関する情報を用いた高度な分析が可能となる。
また、本実施の形態によれば、共通情報または共通処理に対するユーザの操作に関する情報を用いた分析が可能となる。
また、本実施の形態によれば、2以上の時点におけるゴールイベント条件の判断およびユーザ操作の分析が可能となる。
また、本実施の形態によれば、2以上のイベントに関するセグメント条件とゴールイベント条件の両方を指定した柔軟なユーザ操作の分析が可能となる。
さらに、本実施の形態によれば、セグメント条件と2以上のイベントに関するゴールイベント条件の両方を指定した柔軟なユーザ操作の分析が可能となる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、1以上のイベントに関する条件であり、ユーザの選択のための条件であるセグメント条件を特定するセグメント条件情報が格納されるセグメント条件情報格納部と、選択されたユーザの中から、ユーザを抽出するための条件を特定するイベントであるゴールイベントに関する条件であるゴールイベント条件を特定するゴールイベント条件情報が格納されるゴールイベント条件情報格納部と、ユーザの操作により発生されるイベントを特定する1以上のイベント情報であり、ユーザを識別する2以上の各ユーザ識別子に対応付けて、時を特定する時情報に対応付けられた1以上のイベント情報が格納されるユーザイベント情報格納部とにアクセス可能なコンピュータを、第一時点において、前記セグメント条件情報が特定するセグメント条件を満たす1以上のイベント情報に対応付いている1以上のユーザ識別子を取得するユーザ選択部と、前記第一時点より後の時である第二時点において、前記ユーザ選択部が取得した1以上の各ユーザ識別子ごとに、当該ユーザ識別子および前記第二時点に対応する1以上のイベント情報が、前記ゴールイベント条件情報が特定するゴールイベント条件を満たすか否かを判断する判断部と、前記判断部の判断結果を用いた情報である分析情報を取得する分析情報取得部と、前記分析情報を出力する分析情報出力部として機能させるためのプログラムである。
また、図20は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図20は、このコンピュータシステム300の概観図であり、図21は、システム300のブロック図である。
図20において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図21において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。