(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-23
(45)【発行日】2023-01-31
(54)【発明の名称】離反防止支援プログラム、離反防止支援方法および情報処理装置
(51)【国際特許分類】
G06Q 30/02 20230101AFI20230124BHJP
【FI】
G06Q30/02
(21)【出願番号】P 2018232754
(22)【出願日】2018-12-12
【審査請求日】2021-09-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】松井 將之
(72)【発明者】
【氏名】高橋 洋輔
(72)【発明者】
【氏名】入來 祥穂
(72)【発明者】
【氏名】大久保 龍一
【審査官】山崎 誠也
(56)【参考文献】
【文献】国際公開第2017/130488(WO,A1)
【文献】特開2016-042297(JP,A)
【文献】特開2007-317082(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定し、
離反すると判定した前記ユーザに対応する複数のタグの
うち、前記ユーザの基本属性に関するタグを除く少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索し、
探索した探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する、
処理をコンピュータに実行させることを特徴とする離反防止支援プログラム。
【請求項2】
前記探索する処理は、
前記方策に関連するタグとして、前記ユーザの離反の判定結果を変更させるタグを探索する、ことを特徴とする請求項1に記載の離反防止支援プログラム。
【請求項3】
所定期間における複数のユーザの各ユーザの特性を示す前記複数のタグの情報に基づいて、前記所定期間以降に前記各ユーザが離反するか否かを判定し、
判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のタグのうち、前記各ユーザの基本属性に関するタグを除くタグから、処理対象のタグを決定する、処理を前記コンピュータに実行させ、
前記探索する処理は、
決定した前記処理対象のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記方策に関連するタグを探索する、ことを特徴とする請求項1または2に記載の離反防止支援プログラム。
【請求項4】
判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のタグのうち、前記各ユーザの基本属性に関するタグを除く各タグについて、前記各ユーザの離反の判定結果との相関の度合いを示す相関度を算出する、処理を前記コンピュータに実行させ、
前記決定する処理は、
算出した前記各タグの相関度に基づいて、前記処理対象のタグを決定する、ことを特徴とする請求項3に記載の離反防止支援プログラム。
【請求項5】
判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のユーザのうち離反しないと判定された継続予測者を特定する、処理を前記コンピュータに実行させ、
前記決定する処理は、
特定した前記継続予測者の特性を示す前記複数のタグのうち、前記各ユーザの基本属性に関するタグを除くタグの情報に基づいて、前記処理対象のタグを決定する、ことを特徴とする請求項3または4に記載の離反防止支援プログラム。
【請求項6】
前記決定する処理は、
前記複数のタグのうち、前記各ユーザの基本属性に関するタグを除く各タグについて、前記各タグに関連する方策が実行されたユーザ群のうち、前記方策に反応したユーザの割合に基づいて、前記処理対象のタグを決定する、ことを特徴とする請求項3~5のいずれか一つに記載の離反防止支援プログラム。
【請求項7】
判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のユーザのうち離反しないと判定された継続予測者を特定し、
特定した前記各継続予測者について、前記各継続予測者の特性を示す前記複数のタグの情報と、前記ユーザの特性を示す前記複数のタグの情報とに基づいて、前記ユーザとの相関の度合いを示す相関度を算出し、
算出した前記各継続予測者の相関度に基づいて、特定した前記継続予測者の中から、1または複数の継続予測者を抽出する、処理を前記コンピュータに実行させ、
前記決定する処理は、
抽出した前記1または複数の継続予測者の特性を示す前記複数のタグのうち、前記各ユーザの基本属性に関するタグを除くタグの情報に基づいて、前記処理対象のタグを決定する、ことを特徴とする請求項3~6のいずれか一つに記載の離反防止支援プログラム。
【請求項8】
複数のユーザの各ユーザについて、特定の期間における前記各ユーザの特性を示す前記複数のタグの情報と、前記特定の期間以降に前記各ユーザが離反したか否かを示す離反結果とを記憶する記憶部を参照して、前記複数のタグの情報から離反するか否かを判別する機械学習モデルを生成する、処理を前記コンピュータに実行させ、
前記ユーザが離反するか否かの判定は、前記機械学習モデルを用いて行われ、
前記複数のタグは、前記各ユーザの行動に関するタグと、前記各ユーザの基本属性に関するタグとを含む、ことを特徴とする請求項1~7のいずれか一つに記載の離反防止支援プログラム。
【請求項9】
所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定し、
離反すると判定した前記ユーザに対応する複数のタグのうち、前記ユーザの基本属性に関するタグを除く少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索し、
探索した探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する、
処理をコンピュータが実行することを特徴とする離反防止支援方法。
【請求項10】
所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定する判定部と、
前記判定部によって離反すると判定された前記ユーザに対応する複数のタグのうち、前記ユーザの基本属性に関するタグを除く少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索する探索部と、
前記探索部によって探索された探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する出力部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、離反防止支援プログラム、離反防止支援方法および情報処理装置に関する。
【背景技術】
【0002】
従来、企業が保有する消費者データ(例えば、商品の購入履歴)に基づき、消費者の特徴的な行動を抽出し、消費者に対してタグ付けする技術がある。タグ付けされた情報は、例えば、百貨店やショッピングセンターなどの売上アップを目的とするマーケティングに利用される。
【0003】
関連する先行技術としては、例えば、ユーザの公開情報に基づきユーザにイベントが生じると判別されると、ユーザの公開情報とフレンドの商品購入履歴とに基づき、ユーザに贈与すべき商品を選定し、選定された商品をユーザに贈与すべき旨のリコメンドを、フレンドに通知するものがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、どのようなターゲットに対して、どのような方策をとれば、来店しなくなったり、商品やサービスを購入しなくなったりするなどの、ユーザの離反を防ぐことができるのか判断することが難しい。
【0006】
一つの側面では、本発明は、ユーザの離反を防止する方策の策定を支援することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定し、離反すると判定した前記ユーザに対応する複数のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索し、探索した探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する、離反防止支援プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、ユーザの離反を防止する方策の策定を支援することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1にかかる離反防止支援方法の一実施例を示す説明図である。
【
図2】
図2は、情報提供システム200のシステム構成例を示す説明図である。
【
図3】
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
【
図4】
図4は、学習用データDB220の記憶内容の一例を示す説明図である。
【
図5】
図5は、予測用データDB230の記憶内容の一例を示す説明図である。
【
図6】
図6は、タグマスタ240の記憶内容の一例を示す説明図である。
【
図7】
図7は、情報処理装置101の機能的構成例を示すブロック図である。
【
図8】
図8は、予測用データの更新例を示す説明図である。
【
図9】
図9は、設定ファイル900の具体例を示す説明図である。
【
図10】
図10は、離反対策ファイル1000の具体例を示す説明図である。
【
図11】
図11は、施策対象タグの探索例を示す説明図である。
【
図12】
図12は、施策支援画面1200の画面例を示す説明図である。
【
図13】
図13は、実施の形態1にかかる情報処理装置101の離反防止支援処理手順の一例を示すフローチャートである。
【
図14】
図14は、離反者予測処理の具体的処理手順の一例を示すフローチャートである。
【
図15】
図15は、設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
【
図16】
図16は、シミュレーション処理の具体的処理手順の一例を示すフローチャートである。
【
図17】
図17は、相関係数テーブル1700の記憶内容の一例を示す説明図である。
【
図18】
図18は、実施の形態2にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
【
図19】
図19は、フラグ合計値テーブル1900の記憶内容の一例を示す説明図である。
【
図20】
図20は、実施の形態3にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
【
図21】
図21は、施策マスタ2100の記憶内容の一例を示す説明図である。
【
図22】
図22は、反応率テーブル2200の記憶内容の一例を示す説明図である。
【
図23】
図23は、実施の形態4にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
【
図24】
図24は、シミュレーションタグの決定例を示す説明図である。
【
図25】
図25は、実施の形態5にかかる情報処理装置101の離反防止支援処理手順の一例を示すフローチャート(その1)である。
【
図26】
図26は、実施の形態5にかかる情報処理装置101の離反防止支援処理手順の一例を示すフローチャート(その2)である。
【
図27】
図27は、第2のシミュレーション処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる離反防止支援プログラム、離反防止支援方法および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態1)
図1は、実施の形態1にかかる離反防止支援方法の一実施例を示す説明図である。
図1において、情報処理装置101は、ユーザの離反を防止する方策の策定を支援するコンピュータである。情報処理装置101は、例えば、サーバやPC(Personal Computer)である。
【0012】
ユーザは、商品やサービスを利用する者である。商品やサービスは、店舗やEC(Electronic Commerce)サイトなどで販売、提供される商品やサービスである。ユーザの離反とは、これまで利用していた商品やサービスを、利用しなくなることである。
【0013】
例えば、ある店舗で提供される商品やサービスに、顧客(ユーザ)が失望したり、不満を持ったりすることがある。このような場合に、来店しなくなったり、商品やサービスを利用しなくなったりすることを、顧客の離反という。ただし、どのような状態を顧客の離反とするかは、商品やサービスの提供形態などに応じて定められる。
【0014】
顧客の離反は、企業(事業者)の売上の低下につながるため、何らかの対策を講じて、未然に防止することが望ましい。一方で、すべての顧客が離反するとは限らないし、離反を防止するために有効な方策は顧客によって異なることもある。このため、やみくもに販売促進などを行うのではなく、離反しそうな顧客にターゲットを絞って、適切な方策を打つことが求められる。
【0015】
そこで、本実施の形態では、ユーザの特性を示す複数のタグの情報から離反を予測し、ユーザの離反を防止する方策に関連するタグを探索することで、未然に離反を防止する方策の策定を支援する離反防止支援方法について説明する。以下、情報処理装置101の処理例について説明する。
【0016】
(1)情報処理装置101は、所定期間Tにおけるユーザの特性を示す複数のタグの情報に基づいて、所定期間T以降にユーザが離反するか否かを判定する。ここで、所定期間Tは、過去のある期間である。どのような期間を所定期間Tとするかは、任意に設定可能であり、例えば、商品の種類、サービスの内容などに応じて設定される。
【0017】
タグは、ユーザの特性を特定するためのものであり、例えば、行動や基本属性に関する条件をあらわす。基本属性は、性別、年齢、居住エリアなどである。行動に関する条件としては、「特定の商品を購入」や「特定のサービスを利用」などがある。基本属性に関する条件としては、「性別が女性」や「年齢が60歳以上」などがある。
【0018】
複数のタグの情報は、複数のタグに含まれる各タグの内容を含む。各タグの内容は、例えば、タグがあらわす条件を満たすか否かに応じた値を示す。より具体的には、例えば、各タグの内容は、各タグがあらわす条件を満たす場合は「1」となり、各タグがあらわす条件を満たさない場合は「0」となる情報である。
【0019】
例えば、情報処理装置101は、機械学習モデルMを用いて、ユーザが離反するか否かを判定する。ここで、機械学習モデルMは、ユーザの特性を示す複数のタグの情報から、当該ユーザが離反するか否かを判別するモデルである。機械学習モデルMは、例えば、ロジスティック回帰などのアルゴリズムを用いて、過去のデータをもとに生成される。
【0020】
図1の例では、ユーザを「ユーザ110」とし、複数のタグを「タグTa,Tb,Tc」とする。ユーザ110は、ある百貨店の顧客である。タグTaは、「商品Aを購入」という条件をあらわす。タグTbは、「商品Bを購入」という条件をあらわす。タグTcは、「商品Cを購入」という条件をあらわす。各タグTa,Tb,Tcの情報は、各条件を満たすか否かに応じた値(0または1)を示す。ここでは、機械学習モデルMを用いて、所定期間Tにおけるユーザ110の特性を示すタグTa,Tb,Tcの情報から、所定期間T以降にユーザ110が離反すると判定された場合を想定する。
【0021】
(2)情報処理装置101は、離反すると判定したユーザに対応する複数のタグの少なくともいずれかのタグの情報を変更したときのユーザが離反するか否かの判定結果に基づいて、複数のタグから、ユーザの離反を防止する方策に関連するタグを探索する。ここで、タグの情報を変更するとは、例えば、タグがあらわす条件を満たすか否かに応じた値を変更することである。
【0022】
ユーザの離反を防止する方策に関連するタグは、例えば、ユーザの離反の判定結果を反転させるタグである。すなわち、情報処理装置101は、複数のタグのうち、そのタグの情報を変更すると、「離反する」と予測されたユーザの予測結果が、「離反しない」という予測結果に変わるタグを探索する。
【0023】
具体的には、例えば、情報処理装置101は、複数のタグのいずれか一つのタグの情報を、「0⇒1」または「1⇒0」に変更した上で、機械学習モデルMを用いて、ユーザが離反するか否かを判定する。情報処理装置101は、これを各タグについて繰り返すことで、ユーザの離反の判定結果を変更させるタグを探索する。
【0024】
図1の例では、タグTa,Tb,Tcのうち、タグTaの情報を「0」から「1」に変更すると、ユーザ110の離反の判定結果が「離反しない」に変化した場合を想定する。この場合、ユーザ110の離反を防止する方策に関連するタグとして、タグTaが探索される。タグTaは、その値を変更すると、ユーザ110の離反の判定結果を反転させるため、ユーザ110の離反を防止する有効な方策につながるタグであるといえる。
【0025】
(3)情報処理装置101は、探索した探索結果、または探索結果を特定する情報を、ユーザと対応付けて出力する。具体的には、例えば、情報処理装置101は、ユーザの識別情報と対応付けて、探索したタグを特定する情報を出力する。ここで、ユーザの識別情報は、例えば、ユーザを識別するIDや氏名などである。
【0026】
また、タグを特定する情報は、例えば、タグを識別するIDであってもよいし、タグがあらわす条件を示す情報であってもよい。さらに、タグを特定する情報には、タグがあらわす条件をユーザが満たすか否かに応じた値(例えば、「0」または「1」)が含まれていてもよい。
【0027】
図1の例では、離反防止タグ情報120が出力された場合を想定する。離反防止タグ情報120は、ユーザ110の氏名と対応付けて、探索されたタグTaを特定する情報をあらわす。タグTaを特定する情報は、タグTaがあらわす条件「商品Aを購入」と、その条件をユーザ110が満たさないことを示す値「0」とを含む。
【0028】
このように、情報処理装置101によれば、ユーザが離反すると予測したら、そのユーザの離反を防止するための方策に関する情報を提供することができる。これにより、どのようなターゲットに対して、どのような方策をとれば、離反の可能性を下げることができるか判断可能となり、未然に離反を防止する方策の策定を支援することができる。
【0029】
図1の例では、百貨店のマーケティング担当者等は、離反防止タグ情報120を参照することにより、ユーザ110に対して、商品Aの販売促進を行えば(タグTaの値を「1」にする方策)、離反の可能性を下げることができることがわかる。
【0030】
(情報提供システム200のシステム構成例)
つぎに、
図1に示した情報処理装置101を含む情報提供システム200のシステム構成について説明する。情報提供システム200は、例えば、百貨店やショッピングセンターなどにおけるマーケティングを支援するコンピュータシステムに適用される。以下の説明では、ユーザの離反を防止する「方策」を「施策」と表記する場合がある。
【0031】
図2は、情報提供システム200のシステム構成例を示す説明図である。
図2において、情報提供システム200は、情報処理装置101と、クライアント装置201と、を含む。情報提供システム200において、情報処理装置101およびクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0032】
ここで、情報処理装置101は、学習用データDB(Database)220、予測用データDB230およびタグマスタ240を有する。情報処理装置101は、例えば、サーバである。各種DB等220,230,240の記憶内容については、
図4~
図6を用いて後述する。
【0033】
クライアント装置201は、情報提供システム200のユーザが使用するコンピュータである。情報提供システム200のユーザは、例えば、百貨店やショッピングセンターなどのマーケティング業務を行う者である。クライアント装置201は、例えば、PC、タブレット型PCなどである。
【0034】
なお、上述した説明では、情報処理装置101とクライアント装置201とが別体に設けられることにしたが、これに限らない。例えば、情報処理装置101は、クライアント装置201により実現されることにしてもよい。
【0035】
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0036】
ここで、CPU301は、情報処理装置101の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0037】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0038】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、
図2に示したクライアント装置201)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0039】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0040】
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F306、可搬型記録媒体307を有していなくてもよい。また、
図2に示したクライアント装置201についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、クライアント装置201は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
【0041】
(各種DB等220,230,240の記憶内容)
つぎに、
図4~
図6を用いて、情報処理装置101が有する各種DB等220,230,240の記憶内容について説明する。各種DB等220,230,240は、例えば、
図3に示したメモリ302、ディスク304などの記憶装置により実現される。
【0042】
図4は、学習用データDB220の記憶内容の一例を示す説明図である。
図4において、学習用データDB220は、年度、顧客ID、複数のタグおよび離反フラグのフィールドを有し、各フィールドに情報を設定することで、学習用データ(例えば、学習用データ400-1~400-3)をレコードとして記憶する。
【0043】
ここで、年度は、顧客の特性が抽出された期間を示す。顧客IDは、顧客を一意に識別する識別子である。複数のタグは、顧客の特性を特定するためのものである。各タグは、行動や基本属性に関する条件をあらわす。例えば、タグ「年末にタオルを買う」は、“年末にタオルを買う”という行動に関する条件をあらわす。
【0044】
また、タグ「バレンタイン」は、“バレンタインにチョコレートを買う”という行動に関する条件をあらわす。各タグのフィールドには、各タグがあらわす条件を満たすか否かに応じて、「0」または「1」の値が設定される。ここでは、タグの値「0」は、タグがあらわす条件を満たさないことを示す。タグの値「1」は、タグがあらわす条件を満たすことを示す。
【0045】
離反フラグは、次年度に顧客が離反したか否かを示す。離反した顧客とは、例えば、来店しなくなったり、商品やサービスを利用(購入)しなくなった顧客のことをいう。ここでは、離反フラグ「0」は、次年度に顧客が離反しなかったことを示す。離反フラグ「1」は、次年度に顧客が離反したことを示す。
【0046】
例えば、学習用データ400-1は、2017年度の顧客ID「P1111」の顧客の特性を示す複数のタグの情報(各タグの値)と、次年度(2018年度)に顧客が離反したことを示す離反フラグ「1」とを含む。
【0047】
図5は、予測用データDB230の記憶内容の一例を示す説明図である。
図5において、予測用データDB230は、年度、顧客ID、複数のタグおよび離反フラグのフィールドを有し、各フィールドに情報を設定することで、予測用データ(例えば、予測用データ500-1~500-3)をレコードとして記憶する。
【0048】
ここで、年度は、顧客の特性が抽出された期間を示す。顧客IDは、顧客を一意に識別する識別子である。複数のタグは、顧客の特性を特定するためのものである。離反フラグは、次年度に顧客が離反するか否かの予測結果を示す。予測前の初期状態では、離反フラグは、「-(Null)」である。
【0049】
例えば、予測用データ500-1は、2018年度の顧客ID「P2100」の顧客の特性を示す複数のタグの情報(各タグの値)と、次年度(2019年度)に顧客が離反するか否かの予測結果を示す離反フラグ「-」とを含む。
【0050】
以下の説明では、ユーザの特性を特定するための複数のタグを「タグT1~Tm」と表記する場合がある(m:2以上の自然数)。また、タグT1~Tmのうちの任意のタグを「タグTj」と表記する場合がある(j=1,2,…,m)。
【0051】
図6は、タグマスタ240の記憶内容の一例を示す説明図である。
図6において、タグマスタ240は、タグID、タグ名および施策可能フラグのフィールドを有し、各フィールドに情報を設定することで、タグ管理情報(例えば、タグ管理情報600-1~600-m)をレコードとして記憶する。
【0052】
ここで、タグIDは、タグTjを一意に識別する識別子である。タグ名は、タグTjの名称である。ここでは、タグ名として、タグTjがあらわす条件を示す文字列が用いられている。施策可能フラグは、施策可能であるか否かを示す。施策可能とは、顧客の離反を防止するための施策の対象となり得るタグであることを示す。
【0053】
施策可能フラグ「0」は、施策不可であることを示す。施策可能フラグ「1」は、施策可能であることを示す。ここでは、行動に関する条件をあらわすタグTjの施策可能フラグには「1」が設定される。一方、基本属性に関する条件をあらわすタグTjの施策可能フラグには「0」が設定される。
【0054】
例えば、タグ管理情報600-1は、タグT1のタグ名「バレンタイン」および施策可能フラグ「1」を示す。また、タグ管理情報600-2は、タグT2のタグ名「65歳以上」および施策可能フラグ「0」を示す。
【0055】
(情報処理装置101の機能的構成例)
図7は、情報処理装置101の機能的構成例を示すブロック図である。
図7において、情報処理装置101は、取得部701と、生成部702と、判定部703と、探索部704と、出力部705と、を含む。具体的には、例えば、取得部701~出力部705は、
図3に示したメモリ302、ディスク304などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0056】
取得部701は、学習用データを取得する。ここで、学習用データとは、ユーザが離反するか否かを判別する機械学習モデルMの生成に用いる情報である。学習用データは、特定の期間におけるユーザの特性を示すタグT1~Tmの情報と、特定の期間以降にユーザが離反したか否かを示す離反結果とを含む。
【0057】
特定の期間は、過去のある期間である。ユーザは、例えば、百貨店やショッピングセンターなどの小売店における顧客(消費者)である。例えば、学習用データは、顧客IDと対応付けて、ある年度における顧客の特性を示すタグT1~Tmの情報(既知)と、次年度に顧客が離反したか否かを示す離反フラグ(既知)とを示す。
【0058】
具体的には、例えば、取得部701は、他のコンピュータから学習用データを受信することにより、受信した学習用データを取得する。他のコンピュータは、例えば、
図2に示したクライアント装置201である。また、取得部701は、不図示の入力装置を用いた操作入力により、学習用データを取得することにしてもよい。
【0059】
取得された学習用データは、例えば、
図4に示した学習用データDB220に記憶される。なお、学習用データは、例えば、企業(百貨店、ショッピングセンター等)が保有するPOS(Point-Of-Sale)データに基づいて、顧客の基本属性や行動を抽出することにより生成される。
【0060】
生成部702は、取得された学習用データに基づいて、機械学習モデルMを生成する。具体的には、例えば、生成部702は、学習用データDB220から、(X-1)年度の学習用データを取得する。(X-1)年度の学習用データは、年度「X-1」の学習用データであり、(X-1)年度における顧客の特性を示すタグT1~Tmの情報と、X年に顧客が離反したか否かを示す離反フラグとを含む。
【0061】
この際、生成部702は、離反フラグ「0」の学習用データと、離反フラグ「1」の学習用データとを、同程度の数ずつ取得する。そして、生成部702は、取得した(X-1)年度の学習用データに基づいて、(X-1)年度の各タグT1~Tmの情報を説明変数とし、X年度の離反フラグの値を目的変数として、機械学習モデルMを生成する。
【0062】
すなわち、生成部702は、ある年度の各タグT1~Tmの情報から、次年度に顧客が離反するか否かを判別するための機械学習モデルM(モデル式)を生成する。機械学習モデルMの生成には、例えば、ロジスティック回帰等の手法を用いることができる。ただし、情報処理装置101は、他のコンピュータにおいて生成された機械学習モデルMを取得することにしてもよい。
【0063】
また、取得部701は、予測用データを取得する。ここで、予測用データとは、ユーザが離反するか否かの予測に用いる情報である。予測用データは、所定期間Tにおける対象ユーザの特性を示すタグT1~Tmの情報を含む。対象ユーザは、離反するか否かを予測(判定)する対象のユーザである。所定期間Tは、過去のある期間である。
【0064】
例えば、予測用データは、顧客IDと対応付けて、ある年度における顧客の特性を示すタグT1~Tmの情報(既知)と、次年度に顧客が離反するか否かを示す離反フラグ(未知)とを示す。具体的には、例えば、取得部701は、他のコンピュータから予測用データを受信することにより、受信した予測用データを取得する。また、取得部701は、不図示の入力装置を用いた操作入力により、予測用データを取得することにしてもよい。
【0065】
取得された予測用データは、例えば、
図5に示した予測用データDB230に記憶される。なお、予測用データは、例えば、学習用データと同様に、企業が保有するPOSデータに基づいて、顧客の基本属性や行動を抽出することにより生成される。
【0066】
判定部703は、所定期間Tにおける対象ユーザの特性を示すタグT1~Tmの情報に基づいて、所定期間T以降に対象ユーザが離反するか否かを判定する。具体的には、例えば、判定部703は、生成された機械学習モデルMを用いて、対象ユーザが離反するか否かを判定する。
【0067】
より具体的には、例えば、所定期間Tを「X年」とすると、判定部703は、予測用データDB230から、X年の予測用データを選択する。X年度の予測用データは、年度「X」の予測用データであり、X年度における顧客の特性を示すタグT1~Tmの情報と、(X+1)年度に顧客が離反するか否かを示す離反フラグとを含む。ただし、この時点では、離反フラグは、「-」である。
【0068】
そして、判定部703は、生成された機械学習モデルMを用いて、選択した予測用データの各タグT1~Tmの情報から、対象ユーザが離反するか否かを判定する。これにより、X年における顧客(対象ユーザ)の特性を示すタグT1~Tmの情報から、(X+1)年に顧客が離反するか否かを予測することができる。
【0069】
判定された判定結果は、例えば、予測用データDB230に記憶される。すなわち、選択された予測用データについて、判定された判定結果に応じて、離反フラグに「0」または「1」が設定される。ここで、予測用データの更新例について説明する。
【0070】
図8は、予測用データの更新例を示す説明図である。
図8において、予測用データ500-1は、2018年度の顧客ID「P2100」の顧客の各タグT1~Tmの情報(「0」または「1」の値)を示す。ここでは、機械学習モデルMを用いて、2019年度に顧客が離反すると判定された場合を想定する。この場合、判定部703は、予測用データ500-1の離反フラグに「1」を設定する。
【0071】
探索部704は、離反すると判定された対象ユーザに対応するタグT1~Tmの少なくともいずれかのタグTjの情報を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、タグT1~Tmから施策対象タグを探索する。ここで、施策対象タグとは、対象ユーザの離反を防止する施策に関連するタグである。
【0072】
施策対象タグは、例えば、対象ユーザの離反の判定結果(予測結果)を変更させるタグである。離反を防止するための施策は、例えば、ダイレクトメール、電子メール、クーポン等を利用した販売促進活動である。また、タグTjの情報を変更するとは、例えば、タグTjがあらわす条件を満たすか否かに応じた値を変更することである。
【0073】
例えば、探索部704は、タグT1~Tmの少なくともいずれかのタグTjの値を「0」から「1」に変更したときの対象ユーザが離反するか否かの判定結果に基づいて、対象ユーザの離反の判定結果を反転させるタグを探索する。
【0074】
以下の説明では、タグT1~Tmのうち、値を変更して、対象ユーザが離反するか否かのシミュレーションを行うタグを「シミュレーションタグ」と表記する場合がある。
【0075】
より詳細に説明すると、例えば、探索部704は、予測用データDB230から、離反フラグ「1」の予測用データを選択する。また、探索部704は、タグT1~Tmから、シミュレーションタグを選択する。つぎに、探索部704は、選択した予測用データについて、選択したシミュレーションタグの値を「0」から「1」に変更する。
【0076】
そして、探索部704は、機械学習モデルMを用いて、選択したシミュレーションタグの値を変更した変更後の予測用データの各タグT1~Tmの値から、対象ユーザが離反するか否かを判定する。ここで、依然として対象ユーザが離反すると判定された場合、探索部704は、シミュレーションタグを選択し直して、同様の処理を行う。
【0077】
一方、対象ユーザが離反しないと予測された場合、探索部704は、選択したシミュレーションタグを、施策対象タグとして特定する。これにより、「0」から「1」に値を変更することで、対象ユーザの離反の判定結果を反転させるタグを、対象ユーザの離反を防止するための施策の対象として探索することができる。
【0078】
ただし、タグT1~Tmの中には、施策の対象となり得ないタグもある。例えば、性別や年齢などのユーザの基本属性は、施策によって変化するものではない。
【0079】
このため、探索部704は、タグT1~Tmのうち、対象ユーザの基本属性に関するタグを除く少なくともいずれかのタグTjの情報を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、施策対象タグを探索することにしてもよい。すなわち、タグT1~Tmのうち、対象ユーザの性別や年齢などの基本属性に関するタグを探索範囲から除外することにしてもよい。
【0080】
具体的には、例えば、探索部704は、
図6に示したタグマスタ240を参照して、タグT1~Tmのうち、施策可能フラグが「1」のタグをシミュレーションタグに決定する。これにより、行動に関する条件をあらわすタグTjを、シミュレーションタグに決定することができる。決定された決定結果は、例えば、
図9に示すような設定ファイル900に登録される。
【0081】
図9は、設定ファイル900の具体例を示す説明図である。
図9において、設定ファイル900は、シミュレーションタグのタグIDを含む。探索部704は、例えば、設定ファイル900を参照して、シミュレーションタグを選択する。そして、探索部704は、選択したシミュレーションタグの値を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、施策対象タグを探索する。
【0082】
探索された探索結果、または探索結果を特定する情報は、例えば、対象ユーザと対応付けて、
図10に示すような離反対策ファイル1000に記憶される。
【0083】
図10は、離反対策ファイル1000の具体例を示す説明図である。
図10において、離反対策ファイル1000は、顧客IDとタグ名とを含む離反対策情報(例えば、離反対策情報1000-1~1000-3)を記憶する。ここで、顧客IDは、対象ユーザである顧客を一意に識別する識別子である。タグ名は、施策対象タグの名称である。
【0084】
例えば、離反対策情報1000-1は、顧客ID「P2100」の顧客(対象ユーザ)の離反を防止する施策の対象となるタグ「バレンタイン」を特定する情報である。
【0085】
図7の説明に戻り、出力部705は、探索された探索結果、または探索結果を特定する情報を、対象ユーザと対応付けて出力する。出力部705の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0086】
具体的には、例えば、出力部705は、
図10に示したような離反対策ファイル1000を参照して、
図2に示したクライアント装置201に対して、後述の
図12に示すような施策支援画面1200を表示する制御を行うことにしてもよい。なお、施策支援画面1200の画面例については、
図12を用いて後述する。
【0087】
(施策対象タグの探索例)
つぎに、
図11を用いて、施策対象タグの探索例について説明する。以下の説明では、顧客ID「P#」の顧客を「顧客P#」と表記する場合がある。
【0088】
図11は、施策対象タグの探索例を示す説明図である。
図11において、予測用データ1101~1103は、2018年における顧客P1111~P1113の特性を示すタグT1~Tmの値と、2019年に顧客P1111~P1113が離反するか否かを示す離反フラグとを含む。ただし、各予測用データ1101~1103の年度「2018」は、図示を省略している。
【0089】
ここでは、顧客P1111~P1113のすべてが2019年に離反すると判定されている。この場合、情報処理装置101は、例えば、各顧客P1111~P1113について、シミュレーションタグの値を変更して、各顧客P1111~P1113が離反するか否かを判定する。ここでは、シミュレーションタグとして、タグ「バレンタイン」が選択された場合を想定する。
【0090】
この場合、情報処理装置101は、予測用データ1101~1103のタグ「バレンタイン」の値を「0」から「1」に変更する。つぎに、情報処理装置101は、機械学習モデルMを用いて、タグ「バレンタイン」の値を「1」に変更した変更後の予測用データ1101~1103の各タグT1~Tmの値から、各顧客P1111~P1113が離反するか否かを判定する。
【0091】
ここでは、顧客P1112,P1113については、依然として離反すると判定されているものの、顧客P1111は離反しないと判定されている。すなわち、タグ「バレンタイン」の値を「0」から「1」に変更することで、顧客P1111の離反の判定結果が反転している。
【0092】
この場合、情報処理装置101は、タグ「バレンタイン」を、顧客P1111の施策対象タグとして特定する。そして、情報処理装置101は、顧客P1111と対応付けて、タグ「バレンタイン」に関する情報(例えば、タグ名)を出力する。これにより、2019年度における顧客P1111の離反を防止する施策に関する情報を提供することができる。
【0093】
(施策支援画面1200の画面例)
つぎに、
図12を用いて、クライアント装置201に表示される施策支援画面1200の画面例について説明する。
【0094】
図12は、施策支援画面1200の画面例を示す説明図である。
図12において、施策支援画面1200は、来年度(2019年)の顧客の離反を防止する施策に関する情報を提供する画面であり、離反防止タグ情報1201~1203を含む。離反防止タグ情報1201~1203は、顧客IDとタグ名とを含む。顧客IDは、顧客を一意に識別する識別子である。タグ名は、施策対象タグの名称である。
【0095】
施策支援画面1200によれば、来年度(2019年)における顧客の離反を防止するための有効な施策に関する情報を提供することができる。これにより、企業のマーケティング担当者は、顧客に対してどのような施策を打てば、来年度の離反を防止することができるか判断することができる。
【0096】
例えば、マーケティング担当者は、顧客P2100について、タグ「バレンタイン」の値を「1」に変えるような施策、すなわち、バレンタインにチョコレートを買ってもらうような販売促進を行えば、来年度の離反可能性を下げることができることがわかる。同様に、マーケティング担当者は、顧客P2101についても、バレンタインにチョコレートを買ってもらうような販売促進を行えば、来年度の離反可能性を下げることができることがわかる。さらに、マーケティング担当者は、顧客P2100について、タグ「年末にタオルを買う」の値を「1」に変えるような施策、すなわち、年末にタオルを買ってもらうような販売促進を行えば、来年度の離反可能性を下げることができることがわかる。
【0097】
(情報処理装置101の離反防止支援処理手順)
つぎに、
図13を用いて、実施の形態1にかかる情報処理装置101の離反防止支援処理手順について説明する。情報処理装置101の離反防止支援処理は、例えば、クライアント装置201からの要求に応じて実行される。
【0098】
図13は、実施の形態1にかかる情報処理装置101の離反防止支援処理手順の一例を示すフローチャートである。
図13のフローチャートにおいて、まず、情報処理装置101は、学習用データDB220から、(X-1)年度の学習用データを取得する(ステップS1301)。つぎに、情報処理装置101は、取得した学習用データに基づいて、次年度に顧客が離反するか否かを判別するための機械学習モデルMを生成する(ステップS1302)。
【0099】
そして、情報処理装置101は、生成した機械学習モデルMを用いて、次年度に顧客が離反するか否かを予測する離反者予測処理を実行する(ステップS1303)。離反者予測処理の具体的な処理手順については、
図14を用いて後述する。
【0100】
つぎに、情報処理装置101は、シミュレーションタグを登録する設定ファイルを作成する設定ファイル作成処理を実行する(ステップS1304)。設定ファイル作成処理の具体的な処理手順については、
図15を用いて後述する。
【0101】
つぎに、情報処理装置101は、予測用データDB230から、X年度の予測用データのうち選択されていない未選択の離反フラグ「1」の予測用データを選択する(ステップS1305)。
【0102】
そして、情報処理装置101は、選択した予測用データについて、シミュレーションタグの値を変更して、顧客が離反するか否かのシミュレーションを行うシミュレーション処理を実行する(ステップS1306)。シミュレーション処理の具体的な処理手順については、
図16を用いて後述する。
【0103】
つぎに、情報処理装置101は、X年度の予測用データのうち選択されていない未選択の離反フラグ「1」の予測用データがあるか否かを判断する(ステップS1307)。ここで、未選択の予測用データがある場合(ステップS1307:Yes)、情報処理装置101は、ステップS1305に戻る。
【0104】
一方、未選択の予測用データがない場合(ステップS1307:No)、情報処理装置101は、後述の
図16のフローチャートにおいて作成される離反対策ファイル(例えば、
図10参照)を出力して(ステップS1308)、本フローチャートによる一連の処理を終了する。
【0105】
これにより、次年度の顧客(対象ユーザ)の離反を防止するための施策に関する情報を提供することができる。
【0106】
・離反者予測処理の具体的処理手順
つぎに、
図14を用いて、
図13に示したステップS1303の離反者予測処理の具体的な処理手順について説明する。
【0107】
図14は、離反者予測処理の具体的処理手順の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、情報処理装置101は、予測用データDB230から選択されていない未選択のX年度の予測用データを選択する(ステップS1401)。
【0108】
つぎに、情報処理装置101は、ステップS1302において生成した機械学習モデルMを用いて、選択した予測用データに基づいて、(X+1)年度に顧客が離反するか否かを判定する(ステップS1402)。そして、情報処理装置101は、顧客が離反すると判定したか否かを判断する(ステップS1403)。
【0109】
ここで、顧客が離反しないと判定した場合(ステップS1403:No)、情報処理装置101は、選択した予測用データの離反フラグに「0」を設定して(ステップS1404)、ステップS1406に移行する。一方、顧客が離反すると判定した場合(ステップS1403:Yes)、情報処理装置101は、選択した予測用データの離反フラグに「1」を設定する(ステップS1405)。
【0110】
そして、情報処理装置101は、予測用データDB230から選択されていない未選択のX年度の予測用データがあるか否かを判断する(ステップS1406)。ここで、未選択の予測用データがある場合(ステップS1406:Yes)、情報処理装置101は、ステップS1401に戻る。
【0111】
一方、未選択の予測用データがない場合(ステップS1406:No)、情報処理装置101は、離反者予測処理を呼び出したステップに戻る。これにより、X年度の顧客の予測用データから、(X+1)年度に顧客が離反するか否かを予測することができる。
【0112】
・設定ファイル作成処理の具体的処理手順
つぎに、
図15を用いて、
図13に示したステップS1304の設定ファイル作成処理の具体的な処理手順について説明する。
【0113】
図15は、設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、情報処理装置101は、タグTjの「j」を「j=1」とし(ステップS1501)、タグマスタ240を参照して、タグTjを選択する(ステップS1502)。
【0114】
つぎに、情報処理装置101は、選択したタグTjの施策可能フラグが「1」であるか否かを判断する(ステップS1503)。ここで、施策可能フラグが「0」の場合(ステップS1503:No)、情報処理装置101は、ステップS1505に移行する。
【0115】
一方、施策可能フラグが「1」の場合(ステップS1503:Yes)、情報処理装置101は、選択したタグTjをシミュレーションタグとして設定ファイルに登録する(ステップS1504)。つぎに、情報処理装置101は、タグTjの「j」をインクリメントする(ステップS1505)。
【0116】
そして、情報処理装置101は、「j」が「m」より大きくなったか否かを判断する(ステップS1506)。ここで、「j」が「m」以下の場合(ステップS1506:No)、情報処理装置101は、ステップS1502に戻る。一方、「j」が「m」より大きくなった場合(ステップS1506:Yes)、情報処理装置101は、設定ファイル作成処理を呼び出したステップに戻る。
【0117】
これにより、タグT1~Tmのうち、顧客(対象ユーザ)の性別や年齢などの基本属性に関するタグを探索範囲から除外することができる。
【0118】
・シミュレーション処理の具体的処理手順
つぎに、
図16を用いて、
図13に示したステップS1306のシミュレーション処理の具体的な処理手順について説明する。
【0119】
図16は、シミュレーション処理の具体的処理手順の一例を示すフローチャートである。
図16のフローチャートにおいて、まず、情報処理装置101は、
図15のフローチャートにおいて作成された設定ファイルを参照して、未選択のシミュレーションタグを選択する(ステップS1601)。
【0120】
つぎに、情報処理装置101は、
図13に示したステップS1305において選択した予測用データを参照して、選択したシミュレーションタグの値が「0」であるか否かを判断する(ステップS1602)。ここで、シミュレーションタグの値が「1」の場合(ステップS1602:No)、情報処理装置101は、ステップS1608に移行する。
【0121】
一方、シミュレーションタグの値が「0」の場合(ステップS1602:Yes)、情報処理装置101は、選択した予測用データのシミュレーションタグの値を「0」から「1」に変更する(ステップS1603)。つぎに、情報処理装置101は、生成した機械学習モデルMを用いて、シミュレーションタグの値を変更した変更後の予測用データに基づいて、(X+1)年度に顧客が離反するか否かを判定する(ステップS1604)。
【0122】
そして、情報処理装置101は、顧客が離反すると判定したか否かを判断する(ステップS1605)。ここで、顧客が離反すると判定した場合(ステップS1605:Yes)、情報処理装置101は、ステップS1607に移行する。
【0123】
一方、顧客が離反しないと判定した場合(ステップS1605:No)、情報処理装置101は、選択した予測用データの顧客IDと、選択したシミュレーションタグのタグ名とを対応付けて、離反対策ファイルに登録する(ステップS1606)。
【0124】
つぎに、情報処理装置101は、選択した予測用データのシミュレーションタグの値を「1」から「0」に戻す(ステップS1607)。そして、情報処理装置101は、設定ファイルを参照して、選択されていない未選択のシミュレーションタグがあるか否かを判断する(ステップS1608)。
【0125】
ここで、未選択のシミュレーションタグがある場合(ステップS1608:Yes)、情報処理装置101は、ステップS1601に戻る。一方、未選択のシミュレーションタグがない場合(ステップS1608:No)、情報処理装置101は、シミュレーション処理を呼び出したステップに戻る。
【0126】
これにより、顧客(対象ユーザ)の離反の判定結果を反転させるシミュレーションタグを、顧客の離反を防止するための施策の対象として探索することができる。
【0127】
以上説明したように、実施の形態1にかかる情報処理装置101によれば、所定期間Tにおける対象ユーザの特性を示すタグT1~Tmの値に基づいて、所定期間T以降に対象ユーザが離反するか否かを判定することができる。また、情報処理装置101によれば、離反すると判定した対象ユーザに対応するタグT1~Tmの少なくともいずれかのタグTjの値を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、タグT1~Tmから、施策対象タグを探索することができる。施策対象タグは、対象ユーザの離反を防止する施策に関連するタグである。そして、情報処理装置101によれば、探索した探索結果、または探索結果を特定する情報を、対象ユーザと対応付けて出力することができる。
【0128】
これにより、離反すると予測された対象ユーザ(例えば、小売店の顧客)の離反を防止するための有効な施策に関する情報を提供することができる。例えば、企業のマーケティング担当者は、顧客に対してどのような施策を打てば、離反を防止することができるか判断することができる。
【0129】
また、情報処理装置101によれば、対象ユーザの離反の判定結果を変更させるタグを、施策対象タグとして探索することができる。
【0130】
これにより、タグT1~Tmのうち、その値を変更すると、離反すると予測された対象ユーザの予測結果が「離反しない」に変わるタグを探索することができ、離反を防止するための有効な施策に関する情報を提供することができる。
【0131】
また、情報処理装置101によれば、タグT1~Tmのうち、対象ユーザの基本属性に関するタグを除く少なくともいずれかのタグの値を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、施策対象タグを探索することができる。
【0132】
これにより、企業側からのアクションでは変更することができない性別や年齢などの基本属性に関するタグが施策対象タグとして探索されるのを防ぐことができる。
【0133】
また、情報処理装置101によれば、学習用データDB220を参照して、タグT1~Tmの値から離反するか否かを判別する機械学習モデルMを生成することができる。学習用データDB220は、複数のユーザの各ユーザについて、特定の期間における各ユーザの特性を示すタグT1~Tmの値と、特定の期間以降に各ユーザが離反したか否かを示す離反結果とを含む学習用データを記憶する。そして、情報処理装置101は、生成した機械学習モデルMを用いて、各ユーザが離反するか否かの判定を行うことができる。
【0134】
これにより、過去のデータをもとに、どのようなデータ(タグT1~Tmの値)のユーザが、離反する傾向があるのか、あるいは、離反しない傾向があるのかを学習して、各ユーザの離反を予測することができる。
【0135】
(実施の形態2)
つぎに、実施の形態2にかかる情報処理装置101について説明する。実施の形態2では、タグTjと離反フラグとの相関を考慮して、タグT1~Tmからシミュレーションタグを決定する場合について説明する。なお、実施の形態1で説明した箇所と同様の箇所については、図示および説明を省略する。
【0136】
以下、情報処理装置101の各機能部の具体的な処理内容について説明する。
【0137】
判定部703は、所定期間Tにおける複数のユーザの各ユーザの特性を示すタグT1~Tmの情報に基づいて、所定期間T以降に各ユーザが離反するか否かを判定する。ここで、複数のユーザは、離反するか否かを予測(判定)する複数のユーザである。例えば、所定期間Tを「X年」とすると、複数のユーザは、予測用データDB230内のX年度の複数の予測用データそれぞれの顧客IDにより識別される顧客である。
【0138】
具体的には、例えば、判定部703は、生成された機械学習モデルMを用いて、予測用データDB230内のX年度の各予測用データに基づいて、各ユーザが離反するか否かを判定する。これにより、X年における各顧客(各ユーザ)の特性を示すタグT1~Tmの情報から、(X+1)年に各顧客が離反するか否かを予測することができる。
【0139】
以下の説明では、離反するか否かの判定結果(予測結果)が離反フラグに設定された予測用データを「予測用データ(予測後)」と表記する場合がある。
【0140】
探索部704は、判定された各ユーザが離反するか否かの判定結果に基づいて、タグT1~Tmから、シミュレーションタグ(処理対象のタグ)を決定する。そして、探索部704は、決定したシミュレーションタグの少なくともいずれかのタグの値を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、施策対象タグを探索する。
【0141】
具体的には、例えば、探索部704は、タグT1~Tmに含まれる各タグTjについて、各ユーザの離反の判定結果との相関の度合いを示す相関度を算出する。そして、探索部704は、算出した各タグTjの相関度に基づいて、シミュレーションタグを決定する。
【0142】
より詳細に説明すると、例えば、探索部704は、予測用データDB230内のX年度の各予測用データ(予測後)に基づいて、下記式(1)を用いて、タグTjと離反フラグとの相関係数Cjを算出することができる。ただし、複数のユーザを「顧客P1~Pn」とし(n:2以上の自然数)、顧客P1~Pnのうちの任意の顧客を「顧客Pi」とする。xiは、顧客PiのタグTjの値(0または1)である。yiは、顧客Piの離反フラグの値(0または1)である。μxは、顧客P1~PnにおけるタグTjの値の平均値である。μyは、顧客P1~Pnにおける離反フラグの値の平均値である。
【0143】
【0144】
正の相関があるときは、相関係数Cjは、正の値をとる(0<Cj≦1)。相関がないときは、相関係数Cjは、「0」となる。負の相関があるときは、相関係数Cjは、負の値をとる(-1≦Cj<0)。相関係数Cjが「1」に近いほど、正の相関は強くなり、相関係数Cjが「-1」に近いほど、負の相関は強くなる。
【0145】
算出された相関係数Cjは、例えば、
図17に示すような相関係数テーブル1700に記憶される。相関係数テーブル1700は、例えば、
図3に示した情報処理装置101のメモリ302、ディスク304などの記憶装置により実現される。
【0146】
図17は、相関係数テーブル1700の記憶内容の一例を示す説明図である。
図17において、相関係数テーブル1700は、タグIDおよび相関係数のフィールドを有し、各フィールドに情報を設定することで、相関情報1700-1~1700-mをレコードとして記憶する。タグIDは、タグTjを一意に識別する識別子である。相関係数は、タグTjと離反フラグとの相関の度合いを示す指標値である。
【0147】
ここで、負の相関が強いほど、タグTjの値が「1」になったら、離反フラグが「0」となる傾向がある。そこで、探索部704は、相関係数テーブル1700を参照して、相関係数Cが低い順にN個のタグをシミュレーションタグに決定することにしてもよい。Nは、1以上の自然数であり、任意に設定可能である。
【0148】
ただし、ここでは施策対象タグの値を「0」から「1」に変更する施策を打つことを前提とする。また、基本属性に関するタグは、シミュレーションタグから除外することにしてもよい。
【0149】
(情報処理装置101の離反防止支援処理手順)
つぎに、実施の形態2にかかる情報処理装置101の離反防止支援処理手順について説明する。ただし、
図13に示したステップS1304の設定ファイル作成処理の具体的な処理手順以外については、実施の形態1にかかる情報処理装置101の離反防止支援処理と同様である。ここでは、実施の形態2にかかる情報処理装置101の設定ファイル作成処理の具体的な処理手順についてのみ説明する。
【0150】
図18は、実施の形態2にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、情報処理装置101は、シミュレーション回数Nを設定する(ステップS1801)。なお、シミュレーション回数Nは、任意に設定可能であり、例えば、2~3程度の値に設定される。
【0151】
つぎに、情報処理装置101は、タグTjの「j」を「j=1」とし(ステップS1802)、タグマスタ240を参照して、タグTjを選択する(ステップS1803)。そして、情報処理装置101は、選択したタグTjの施策可能フラグが「1」であるか否かを判断する(ステップS1804)。
【0152】
ここで、施策可能フラグが「0」の場合(ステップS1804:No)、情報処理装置101は、ステップS1807に移行する。
【0153】
一方、施策可能フラグが「1」の場合(ステップS1804:Yes)、情報処理装置101は、選択したタグTjと離反フラグとの相関係数Cjを算出する(ステップS1805)。相関係数Cjは、例えば、上記式(1)を用いて、予測用データDB230内のX年度の各予測用データ(予測後)から算出される。
【0154】
そして、情報処理装置101は、算出した相関係数Cjを相関係数テーブル1700に記録する(ステップS1806)。つぎに、情報処理装置101は、タグTjの「j」をインクリメントする(ステップS1807)。そして、情報処理装置101は、「j」が「m」より大きくなったか否かを判断する(ステップS1808)。
【0155】
ここで、「j」が「m」以下の場合(ステップS1808:No)、情報処理装置101は、ステップS1803に戻る。一方、「j」が「m」より大きくなった場合(ステップS1808:Yes)、情報処理装置101は、相関係数テーブル1700を参照して、相関係数Cが低い順にN個のタグを抽出する(ステップS1809)。
【0156】
そして、情報処理装置101は、抽出したN個のタグをシミュレーションタグとして設定ファイルに登録して(ステップS1810)、設定ファイル作成処理を呼び出したステップに戻る。これにより、X年度の全顧客において、離反フラグとの負の相関が強いタグTj、すなわち、値が「1」になったら、離反フラグが「0」となる傾向が強いタグTjを、シミュレーションタグに決定することができる。
【0157】
以上説明したように、実施の形態2にかかる情報処理装置101によれば、所定期間Tにおける複数のユーザの各ユーザの特性を示すタグT1~Tmの値に基づいて、所定期間T以降に各ユーザが離反するか否かを判定し、判定した各ユーザが離反するか否かの判定結果に基づいて、タグT1~Tmから、シミュレーションタグ(処理対象のタグ)を決定することができる。そして、情報処理装置101によれば、決定したシミュレーションタグの少なくともいずれかのタグの値を変更したときの対象ユーザが離反するか否かの判定結果に基づいて、施策対象タグを探索することができる。
【0158】
これにより、各ユーザの離反の予測結果を考慮して、施策対象タグを探索する範囲を絞ることができ、探索処理の効率化を図ることができる。
【0159】
また、情報処理装置101によれば、判定した各ユーザが離反するか否かの判定結果に基づいて、タグT1~Tmに含まれる各タグTjについて、各ユーザの離反の判定結果との相関の度合いを示す相関度(例えば、相関係数Cj)を算出することができる。そして、情報処理装置101によれば、算出した各タグTjの相関度に基づいて、シミュレーションタグを決定することができる。
【0160】
これにより、例えば、タグT1~Tmのうち、その値が「1」であれば、離反しないと予測される傾向が強いタグを、シミュレーションタグに決定することができ、顧客の離反を防止する有効な施策につながるタグを効率的に探索することができる。
【0161】
(実施の形態3)
つぎに、実施の形態3にかかる情報処理装置101について説明する。実施の形態3では、離反しないと予測された顧客のタグの値を考慮して、シミュレーションタグ(処理対象のタグ)を決定する場合について説明する。なお、実施の形態1,2で説明した箇所と同様の箇所については、図示および説明を省略する。
【0162】
以下、情報処理装置101の各機能部の具体的な処理内容について説明する。
【0163】
判定部703は、所定期間Tにおける複数のユーザの各ユーザの特性を示すタグT1~Tmの情報に基づいて、所定期間T以降に各ユーザが離反するか否かを判定する。具体的には、例えば、判定部703は、生成された機械学習モデルMを用いて、予測用データDB230内のX年度の各予測用データに基づき、各ユーザが離反するか否かを判定する。
【0164】
これにより、X年における各顧客(各ユーザ)の特性を示すタグT1~Tmの情報から、(X+1)年に各顧客が離反するか否かを予測することができる。
【0165】
探索部704は、判定された各ユーザが離反するか否かの判定結果に基づいて、複数のユーザのうち離反しないと判定されたユーザを特定する。具体的には、例えば、探索部704は、予測用データDB230内のX年度の予測用データ(予測後)のうち、離反フラグが「0」の予測用データ(予測後)を抽出する。そして、探索部704は、抽出した予測用データ(予測後)の顧客IDにより識別される顧客を継続予測者として特定する。
【0166】
これにより、(X+1)年度に離反しないと判定されたユーザを特定することができる。以下の説明では、離反しないと判定された顧客(対象ユーザ)を「継続予測者」と表記する場合がある。
【0167】
探索部704は、特定した継続予測者の特性を示すタグT1~Tmの情報に基づいて、シミュレーションタグを決定する。具体的には、例えば、探索部704は、抽出した離反フラグ「0」の予測用データ(予測後)のタグTjの値を累積することにより、フラグ合計値Sjを算出する。
【0168】
算出されたフラグ合計値Sjは、例えば、
図19に示すようなフラグ合計値テーブル1900に記憶される。フラグ合計値テーブル1900は、例えば、
図3に示した情報処理装置101のメモリ302、ディスク304などの記憶装置により実現される。
【0169】
図19は、フラグ合計値テーブル1900の記憶内容の一例を示す説明図である。
図19において、フラグ合計値テーブル1900は、タグIDおよびフラグ合計値のフィールドを有し、各フィールドに情報を設定することで、フラグ合計値情報1900-1~1900-mをレコードとして記憶する。タグIDは、タグTjを一意に識別する識別子である。フラグ合計値は、全継続予測者のタグTjの値を累積した合計値である。
【0170】
例えば、フラグ合計値S1は、各継続予測者のタグT1の値を累積したものである。フラグ合計値Sjが大きいほど、継続予測者によく立っているタグTjであるといえる。そこで、探索部704は、フラグ合計値テーブル1900を参照して、フラグ合計値Sが大きい順にN個のタグをシミュレーションタグに決定することにしてもよい。
【0171】
ただし、ここでは施策対象タグの値を「0」から「1」に変更する施策を打つことを前提とする。また、基本属性に関するタグは、シミュレーションタグから除外することにしてもよい。
【0172】
(情報処理装置101の離反防止支援処理手順)
つぎに、実施の形態3にかかる情報処理装置101の離反防止支援処理手順について説明する。ただし、
図13に示したステップS1304の設定ファイル作成処理の具体的な処理手順以外については、実施の形態1にかかる情報処理装置101の離反防止支援処理と同様である。ここでは、実施の形態3にかかる情報処理装置101の設定ファイル作成処理の具体的な処理手順についてのみ説明する。
【0173】
図20は、実施の形態3にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
図20のフローチャートにおいて、まず、情報処理装置101は、シミュレーション回数Nを設定する(ステップS2001)。そして、情報処理装置101は、予測用データDB230内のX年度の予測用データ(予測後)のうち、離反フラグが「0」の予測用データ(予測後)を抽出する(ステップS2002)。
【0174】
つぎに、情報処理装置101は、タグTjの「j」を「j=1」とし(ステップS2003)、タグマスタ240を参照して、タグTjを選択する(ステップS2004)。そして、情報処理装置101は、選択したタグTjの施策可能フラグが「1」であるか否かを判断する(ステップS2005)。
【0175】
ここで、施策可能フラグが「0」の場合(ステップS2005:No)、情報処理装置101は、ステップS2008に移行する。
【0176】
一方、施策可能フラグが「1」の場合(ステップS2005:Yes)、情報処理装置101は、抽出した予測用データ(予測後)のタグTjの値を累積することにより、タグTjのフラグ合計値Sjを算出する(ステップS2006)。
【0177】
そして、情報処理装置101は、算出したフラグ合計値Sjをフラグ合計値テーブル1900に記録する(ステップS2007)。つぎに、情報処理装置101は、タグTjの「j」をインクリメントする(ステップS2008)。そして、情報処理装置101は、「j」が「m」より大きくなったか否かを判断する(ステップS2009)。
【0178】
ここで、「j」が「m」以下の場合(ステップS2009:No)、情報処理装置101は、ステップS2004に戻る。一方、「j」が「m」より大きくなった場合(ステップS2009:Yes)、情報処理装置101は、フラグ合計値テーブル1900を参照して、フラグ合計値Sが大きい順にN個のタグを抽出する(ステップS2010)。
【0179】
そして、情報処理装置101は、抽出したN個のタグをシミュレーションタグとして設定ファイルに登録して(ステップS2011)、設定ファイル作成処理を呼び出したステップに戻る。これにより、継続予測者によく立っているタグTjを、シミュレーションタグに決定することができる。
【0180】
以上説明したように、実施の形態3にかかる情報処理装置101によれば、所定期間Tにおける複数のユーザの各ユーザの特性を示すタグT1~Tmの値に基づいて、所定期間T以降に各ユーザが離反するか否かを判定することができる。また、情報処理装置101によれば、判定した各ユーザが離反するか否かの判定結果に基づいて、複数のユーザのうち離反しないと判定された継続予測者を特定することができる。そして、情報処理装置101によれば、特定した継続予測者の特性を示すタグT1~Tmの値に基づいて、シミュレーションタグ(処理対象のタグ)を決定することができる。
【0181】
これにより、継続予測者において値が「1」となっている割合が高いタグを、シミュレーションタグに決定することができ、顧客の離反を防止する有効な施策につながるタグを効率的に探索することができる。
【0182】
(実施の形態4)
つぎに、実施の形態4にかかる情報処理装置101について説明する。実施の形態4では、施策に対する反応率を考慮して、シミュレーションタグ(処理対象のタグ)を決定する場合について説明する。なお、実施の形態1~3で説明した箇所と同様の箇所については、図示および説明を省略する。
【0183】
以下、情報処理装置101の各機能部の具体的な処理内容について説明する。
【0184】
探索部704は、タグT1~Tmに含まれる各タグTjについて、各タグTjに関連する施策が実行されたユーザ群のうち、施策に反応したユーザの割合に基づいて、シミュレーションタグを決定する。ここで、タグTjに関連する施策とは、例えば、タグTjに関連する商品、サービスについてのダイレクトメール等を利用した販売促進活動である。
【0185】
また、施策に反応したユーザとは、例えば、施策に反応して来店したり、商品やサービスを購入したりといった行動をとったユーザである。以下の説明では、タグTjに関連する施策が実行されたユーザ群のうち、施策に反応したユーザの割合を「反応率」と表記する場合がある。
【0186】
各タグTjの反応率は、例えば、
図21に示すような施策マスタ2100の記憶内容をもとに算出される。ここで、情報処理装置101が有する施策マスタ2100の記憶内容について説明する。施策マスタ2100は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
【0187】
図21は、施策マスタ2100の記憶内容の一例を示す説明図である。
図21において、施策マスタ2100は、タグID、販促反応人数および販促人数のフィールドを有し、各フィールドに情報を設定することで、施策情報(例えば、施策情報2100-1~2100-3)をレコードとして記憶する。
【0188】
タグIDは、タグTjを一意に識別する識別子である。販促反応人数は、タグTjに関連する販売促進(施策)に反応した顧客の数である。例えば、ある商品の販売促進を行ってから、1~2週間以内にその商品を購入したユーザを、販促反応人数としてカウントする。販促人数は、タグTjに関連する販売促進(施策)が行われた顧客の数である。
【0189】
例えば、施策情報2100-1は、タグT1の販促反応人数「2000」および販促人数「10000」を示す。なお、情報処理装置101は、他のコンピュータ(例えば、
図2に示したクライアント装置201)から受信することにより、または、不図示の入力装置を用いた操作入力により、施策マスタ2100内の施策情報を取得する。
【0190】
探索部704は、例えば、施策マスタ2100を参照して、各タグTjの反応率Rjを算出する。より詳細に説明すると、例えば、探索部704は、施策情報2100-1を参照して、販促反応人数「2000」を販促人数「10000」で割ることにより、タグT1の反応率「0.2」を算出する。
【0191】
算出された反応率Rjは、例えば、
図22に示すような反応率テーブル2200に記憶される。反応率テーブル2200は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
【0192】
図22は、反応率テーブル2200の記憶内容の一例を示す説明図である。
図22において、反応率テーブル2200は、タグIDおよび反応率のフィールドを有し、各フィールドに情報を設定することで、反応率情報2200-1~2200-mをレコードとして記憶する。
【0193】
タグIDは、タグTjを一意に識別する識別子である。反応率は、タグTjに関連する施策が実行されたユーザ群のうち、施策に反応したユーザの割合を示す。なお、施策マスタ2100内に施策情報がないタグTj、例えば、施策が行われた実績がないタグTjの反応率Rjは「0」とする。
【0194】
ここで、反応率Rjが高いタグTjほど、販売促進の効果が得られやすいタグであるといえる。そこで、探索部704は、反応率テーブル2200を参照して、反応率Rが高い順にN個のタグをシミュレーションタグに決定することにしてもよい。ただし、ここでは施策対象タグの値を「0」から「1」に変更する施策を打つことを前提とする。また、基本属性に関するタグは、シミュレーションタグから除外することにしてもよい。
【0195】
(情報処理装置101の離反防止支援処理手順)
つぎに、実施の形態4にかかる情報処理装置101の離反防止支援処理手順について説明する。ただし、
図13に示したステップS1304の設定ファイル作成処理の具体的な処理手順以外については、実施の形態1にかかる情報処理装置101の離反防止支援処理と同様である。ここでは、実施の形態4にかかる情報処理装置101の設定ファイル作成処理の具体的な処理手順についてのみ説明する。
【0196】
図23は、実施の形態4にかかる情報処理装置101の設定ファイル作成処理の具体的処理手順の一例を示すフローチャートである。
図23のフローチャートにおいて、まず、情報処理装置101は、シミュレーション回数Nを設定する(ステップS2301)。
【0197】
つぎに、情報処理装置101は、タグTjの「j」を「j=1」とし(ステップS2302)、タグマスタ240を参照して、タグTjを選択する(ステップS2303)。そして、情報処理装置101は、選択したタグTjの施策可能フラグが「1」であるか否かを判断する(ステップS2304)。
【0198】
ここで、施策可能フラグが「0」の場合(ステップS2304:No)、情報処理装置101は、ステップS2307に移行する。一方、施策可能フラグが「1」の場合(ステップS2304:Yes)、情報処理装置101は、施策マスタ2100を参照して、タグTjの反応率Rjを算出する(ステップS2305)。
【0199】
そして、情報処理装置101は、算出した反応率Rjを反応率テーブル2200に記録する(ステップS2306)。つぎに、情報処理装置101は、タグTjの「j」をインクリメントする(ステップS2307)。そして、情報処理装置101は、「j」が「m」より大きくなったか否かを判断する(ステップS2308)。
【0200】
ここで、「j」が「m」以下の場合(ステップS2308:No)、情報処理装置101は、ステップS2303に戻る。一方、「j」が「m」より大きくなった場合(ステップS2308:Yes)、情報処理装置101は、反応率テーブル2200を参照して、反応率Rが高い順にN個のタグを抽出する(ステップS2309)。
【0201】
そして、情報処理装置101は、抽出したN個のタグをシミュレーションタグとして設定ファイルに登録して(ステップS2310)、設定ファイル作成処理を呼び出したステップに戻る。これにより、施策(販売促進)に対する反応率Rjが高いタグTjを、シミュレーションタグに決定することができる。
【0202】
以上説明したように、実施の形態4にかかる情報処理装置101によれば、タグT1~Tmに含まれる各タグTjについて、各タグTjに関連する施策が実行されたユーザ群のうち、施策に反応したユーザの割合(例えば、反応率Rj)に基づいて、シミュレーションタグを決定することができる。
【0203】
これにより、施策(販売促進)の効果が得られやすいタグを、シミュレーションタグに決定することができ、顧客の離反を防止する有効な施策につながるタグを効率的に探索することができる。
【0204】
(実施の形態5)
つぎに、実施の形態5にかかる情報処理装置101について説明する。実施の形態5では、離反予測者との相関が強い継続予測者のタグの値を考慮して、シミュレーションタグ(処理対象のタグ)を決定する場合について説明する。なお、実施の形態1~4で説明した箇所と同様の箇所については、図示および説明を省略する。
【0205】
以下、情報処理装置101の各機能部の具体的な処理内容について説明する。以下の説明では、離反すると判定された顧客(対象ユーザ)を「離反予測者」と表記する場合がある。
【0206】
探索部704は、判定された各ユーザが離反するか否かの判定結果に基づいて、複数のユーザのうち離反しないと判定された継続予測者を特定する。具体的には、例えば、探索部704は、予測用データDB230内のX年度の予測用データ(予測後)のうち、離反フラグが「0」の予測用データ(予測後)を抽出する。
【0207】
そして、探索部704は、抽出した予測用データ(予測後)の顧客IDにより識別される顧客を継続予測者として特定する。これにより、(X+1)年度に離反しないと判定された継続予測者を特定することができる。
【0208】
探索部704は、特定した各継続予測者について、各継続予測者の特性を示すタグT1~Tmの値と、離反予測者の特性を示すタグT1~Tmの値とに基づいて、離反予測者との相関の度合いを示す相関度を算出する。
【0209】
具体的には、例えば、探索部704は、X年度の離反予測者の予測用データ(予測後)とX年度の継続予測者の予測用データ(予測後)とに基づいて、下記式(2)を用いて、離反予測者と継続予測者との相関係数C’を算出することができる。ただし、xjは、離反予測者のタグTjの値(0または1)である。yjは、継続予測者のタグTjの値(0または1)である。μxは、離反予測者の全タグT1~Tmの値の平均値である。μyは、継続予測者の全タグT1~Tmの値の平均値である。
【0210】
【0211】
探索部704は、算出した各継続予測者の相関度に基づいて、特定した継続予測者の中から、1または複数の継続予測者を抽出する。具体的には、例えば、探索部704は、特定した継続予測者の中から、算出した相関係数C’が閾値以上の継続予測者を抽出する。閾値は、任意に設定可能であり、例えば、0.4程度の値に設定される。また、例えば、探索部704は、特定した継続予測者の中から、算出した相関係数C’が高い上位X人の継続予測者を抽出することにしてもよい。Xは、任意に設定可能であり、例えば、3~5程度の値に設定される。
【0212】
これにより、離反予測者と各継続予測者とのタグT1~Tmの値のパターンを比較して、離反予測者との相関が強い継続予測者を抽出することができる。継続予測者の抽出例については、
図24を用いて後述する。
【0213】
以下の説明では、特定した継続予測者の中から抽出した継続予測者を、特定した継続予測者と区別するために、「継続予測者(相関あり)」と表記する場合がある。
【0214】
探索部704は、抽出した1または複数の継続予測者(相関あり)の特性を示すタグT1~Tmの情報に基づいて、シミュレーションタグを決定する。ここで、離反予測者との相関が強い継続予測者は、タグT1~Tmの値のパターンが離反予測者と類似しており、行動パターンが似ているといえる。
【0215】
離反予測者に対して、継続予測者(相関あり)の行動パターンにより近づけるようなアクションを行えば、離反を防止することができる可能性が高い。このため、探索部704は、離反予測者の行動パターンを、継続予測者(相関あり)の行動パターンにさらに近づけるような施策につながるタグを探索する。
【0216】
具体的には、例えば、探索部704は、タグT1~Tmに含まれる各タグTjについて、抽出した各継続予測者(相関あり)の予測用データ(予測後)の各タグTjの値を累積することにより、各タグTjのフラグ合計値αを算出する。そして、探索部704は、算出した各タグTjのフラグ合計値αに基づいて、タグT1~Tmのうち、フラグ合計値αが大きい順にK個のタグをシミュレーションタグに決定することにしてもよい。Kは、任意に設定可能であり、例えば、1~3程度の値に設定される。
【0217】
ただし、ここでは施策対象タグの値を「0」から「1」に変更する施策を打つことを前提とする。また、基本属性に関するタグは、シミュレーションタグから除外することにしてもよい。
【0218】
なお、フラグ合計値αが大きい上位のタグ同士で、フラグ合計値αが、同じ、あるいは、同程度(例えば、±1程度の違い)となる場合があり、フラグ合計値αだけではタグの優劣を判断しにくいときがある。このため、探索部704は、特定した各継続予測者の予測用データ(予測後)のタグTjの値を累積することにより、フラグ合計値βを算出することにしてもよい。
【0219】
この場合、探索部704は、フラグ合計値αが高く、かつ、フラグ合計値βが高いK個のタグをシミュレーションタグに決定することにしてもよい。より具体的には、例えば、探索部704は、フラグ合計値αが大きい順にK個のタグを選ぶにあたり、フラグ合計値αが同じ、あるいは、同程度のタグが存在する場合には、フラグ合計値βが高いほうを優先することにしてもよい。
【0220】
(シミュレーションタグの決定例)
ここで、
図24を用いて、シミュレーションタグの決定例について説明する。ここでは、離反予測者を「顧客P1」とし、継続予測者を「顧客P3100~P3103」とする。また、タグT1~Tmを「タグT1~T6」とする(m=6)。
【0221】
図24は、シミュレーションタグの決定例を示す説明図である。
図24において、離反予測者である顧客P1について、タグT1~T6の値と離反フラグ「1」とが示されている。また、継続予測者である各顧客P3100~P3103について、タグT1~T6の値と離反フラグ「0」とが示されている。
【0222】
また、継続予測者である顧客P3100~P3103について、離反予測者である顧客P1との相関係数C’が示されている。なお、各顧客P1,P3100~P3103のタグT1~T6の値と離反フラグの値は、各顧客P1,P3100~P3103の予測用データ(予測後)から特定される。
【0223】
ここで、相関係数C’の閾値を「0.4」とする。この場合、探索部704は、継続予測者である顧客P3100~P3103の中から、相関係数C’が0.4以上の顧客を抽出する。ここでは、顧客P3101~P3103が、継続予測者(相関あり)として抽出される。
【0224】
つぎに、探索部704は、タグT1~T6に含まれる各タグTjについて、抽出した各継続予測者(相関あり)の各タグTjの値を累積することにより、各タグTjのフラグ合計値αを算出する。例えば、タグT1のフラグ合計値αは、「2」となる。
【0225】
また、探索部704は、タグT1~T6に含まれる各タグTjについて、各継続予測者の各タグTjの値を累積することにより、各タグTjのフラグ合計値βを算出する。例えば、タグT1のフラグ合計値βは、「3」となる。
【0226】
そして、探索部704は、タグT1~T6のうち、フラグ合計値αが高く、かつ、フラグ合計値βが高いK個のタグをシミュレーションタグに決定する。ただし、ここでは施策対象タグの値を「0」から「1」に変更する施策を打つことを前提とする。この場合、探索部704は、離反予測者の値が「1」であるタグを、シミュレーションタグから除外する。
【0227】
具体的には、例えば、探索部704は、離反予測者(顧客P1)の値が「0」であるタグT1,T2,T4,T5,T6のうち、フラグ合計値αが高く、かつ、フラグ合計値βが高いN個のタグをシミュレーションタグに決定する。ここで、シミュレーションタグの個数Kを「1」とする。
【0228】
この場合、まず、探索部704は、タグT1,T2,T4,T5,T6のうち、フラグ合計値αが最大のタグT1,T4を特定する。つぎに、探索部704は、特定したタグT1,T4のうち、フラグ合計値βが高いタグT1をシミュレーションタグに決定する。これにより、フラグ合計値αが高く、かつ、フラグ合計値βが高いタグT1をシミュレーションタグに決定することができる。
【0229】
(情報処理装置101の離反防止支援処理手順)
つぎに、実施の形態5にかかる情報処理装置101の離反防止支援処理手順について説明する。
【0230】
図25および
図26は、実施の形態5にかかる情報処理装置101の離反防止支援処理手順の一例を示すフローチャートである。
図25のフローチャートにおいて、まず、情報処理装置101は、学習用データDB220から、(X-1)年度の学習用データを取得する(ステップS2501)。つぎに、情報処理装置101は、取得した学習用データに基づいて、次年度に顧客が離反するか否かを判別するための機械学習モデルMを生成する(ステップS2502)。
【0231】
そして、情報処理装置101は、生成した機械学習モデルMを用いて、次年度に顧客が離反するか否かを予測する離反者予測処理を実行する(ステップS2503)。なお、離反者予測処理の具体的な処理手順については、
図14に示した手順と同様のため、図示および説明を省略する。
【0232】
つぎに、情報処理装置101は、予測用データDB230から、X年度の離反フラグ「0」の予測用データ(予測後)を抽出する(ステップS2504)。つぎに、情報処理装置101は、予測用データDB230から、X年度の予測用データ(予測後)のうち選択されていない未選択の離反フラグ「1」の予測用データ(予測後)を選択する(ステップS2505)。
【0233】
そして、情報処理装置101は、選択した離反フラグ「1」の予測用データ(予測後)と、抽出した離反フラグ「0」の予測用データ(予測後)とに基づいて、離反予測者と各継続予測者との相関係数C’を算出する(ステップS2506)。
【0234】
つぎに、情報処理装置101は、ステップS2504において抽出した離反フラグ「0」の予測用データ(予測後)から特定される継続予測者の中から、算出した相関係数C’が0.4以上の継続予測者(相関あり)を抽出する(ステップS2507)。そして、情報処理装置101は、抽出した各継続予測者(相関あり)の予測用データ(予測後)の各タグTjの値を累積することにより、各タグTjのフラグ合計値αを算出する(ステップS2508)。
【0235】
つぎに、情報処理装置101は、ステップS2504において抽出した離反フラグ「0」の予測用データ(予測後)の各タグTjの値を累積することにより、各タグTjのフラグ合計値βを算出する(ステップS2509)。
【0236】
そして、情報処理装置101は、算出した各タグTjのフラグ合計値α,βに基づいて、タグT1~Tmを並び替えてリストLに格納して(ステップS2510)、
図26に示すステップS2601に移行する。この際、情報処理装置101は、フラグ合計値αが高いものを上位にしつつ、フラグ合計値αが同じものがあれば、フラグ合計値βが高いものを上位にする。
【0237】
図26のフローチャートにおいて、まず、情報処理装置101は、算出した各タグTjのフラグ合計値αの最大値α
maxが「0」であるか否かを判断する(ステップS2601)。ここで、最大値α
maxが「0」の場合(ステップS2601:Yes)、情報処理装置101は、ステップS2603に移行する。
【0238】
すなわち、全タグT1~Tmについて、すべての継続予測者(相関あり)の値が「0」である場合は、情報処理装置101は、シミュレーションタグとなるタグが存在しないと判断して、ステップS2603に移行する。
【0239】
一方、最大値α
maxが「0」ではない場合(ステップS2601:No)、情報処理装置101は、第2のシミュレーション処理を実行する(ステップS2602)。第2のシミュレーション処理は、ステップS2505において選択された離反フラグ「1」の予測用データ(予測後)について、シミュレーションタグの値を変更して、顧客が離反するか否かのシミュレーションを行う処理である。第2のシミュレーション処理の具体的な処理手順については、
図27を用いて後述する。
【0240】
つぎに、情報処理装置101は、X年度の予測用データ(予測後)のうち選択されていない未選択の離反フラグ「1」の予測用データ(予測後)があるか否かを判断する(ステップS2603)。ここで、未選択の予測用データ(予測後)がある場合(ステップS2603:Yes)、情報処理装置101は、ステップS2505に戻る。
【0241】
一方、未選択の予測用データがない場合(ステップS2603:No)、情報処理装置101は、後述の
図27のフローチャートにおいて作成される離反対策ファイルを出力して(ステップS2604)、本フローチャートによる一連の処理を終了する。
【0242】
これにより、次年度の顧客(対象ユーザ)の離反を防止するための施策に関する情報を提供することができる。
【0243】
・第2のシミュレーション処理の具体的処理手順
つぎに、
図27を用いて、
図26に示したステップS2602の第2のシミュレーション処理の具体的な処理手順について説明する。
【0244】
図27は、第2のシミュレーション処理の具体的処理手順の一例を示すフローチャートである。
図27のフローチャートにおいて、まず、情報処理装置101は、シミュレーション回数Kを設定する(ステップS2701)。なお、シミュレーション回数Kは、任意に設定可能であり、例えば、1~3程度の値に設定される。
【0245】
つぎに、情報処理装置101は、変数kを「k=1」とし(ステップS2702)、リストLから選択されていない未選択のタグのうちの最上位のタグを選択する(ステップS2703)。つぎに、情報処理装置101は、
図25に示したステップS2505において選択した予測用データ(予測後)を参照して、選択したタグの値が「0」であるか否かを判断する(ステップS2704)。
【0246】
ここで、タグの値が「1」の場合(ステップS2704:No)、情報処理装置101は、ステップS2703に戻って、リストLから選択されていない未選択のタグのうちの最上位のタグを選択する。一方、タグの値が「0」の場合(ステップS2704:Yes)、情報処理装置101は、タグマスタ240を参照して、選択したタグの施策可能フラグが「1」であるか否かを判断する(ステップS2705)。
【0247】
ここで、施策可能フラグが「0」の場合(ステップS2705:No)、情報処理装置101は、ステップS2703に戻って、リストLから選択されていない未選択のタグのうちの最上位のタグを選択する。一方、施策可能フラグが「1」の場合(ステップS2705:Yes)、選択したタグをシミュレーションタグに決定する(ステップS2706)。
【0248】
そして、情報処理装置101は、選択した予測用データ(予測後)のシミュレーションタグの値を「0」から「1」に変更する(ステップS2707)。つぎに、情報処理装置101は、生成した機械学習モデルMを用いて、シミュレーションタグの値を変更した変更後の予測用データ(予測後)に基づいて、(X+1)年度に顧客が離反するか否かを判定する(ステップS2708)。
【0249】
そして、情報処理装置101は、顧客が離反すると判定したか否かを判断する(ステップS2709)。ここで、顧客が離反すると判定した場合(ステップS2709:Yes)、情報処理装置101は、「k」をインクリメントして(ステップS2710)、「k」が「K」より大きくなったか否かを判断する(ステップS2711)。
【0250】
ここで、「k」が「K」以下の場合(ステップS2711:No)、情報処理装置101は、ステップS2703に戻って、リストLから選択されていない未選択のタグのうちの最上位のタグを選択する。
【0251】
一方、「k」が「K」より大きくなった場合(ステップS2711:Yes)、情報処理装置101は、第2のシミュレーション処理を呼び出したステップに戻る。この場合、離反対策ファイルは、選択した予測用データ(予測後)の顧客について、いずれのタグ名も登録されていない情報となる。
【0252】
また、ステップS2709において、顧客が離反しないと判定した場合(ステップS2709:No)情報処理装置101は、選択した予測用データ(予測後)の顧客IDと、決定したシミュレーションタグのタグ名とを対応付けて、離反対策ファイルに登録して(ステップS2712)、第2のシミュレーション処理を呼び出したステップに戻る。
【0253】
これにより、顧客の離反の判定結果を反転させるシミュレーションタグを、顧客の離反を防止するための施策の対象として探索することができる。離反対策ファイルには、顧客IDと対応付けて、最大でK個のタグ名の組み合わせが登録される。
【0254】
以上説明したように、実施の形態5にかかる情報処理装置101によれば、各ユーザが離反するか否かの判定結果に基づいて、複数のユーザのうち離反しないと判定された継続予測者を特定することができる。また、情報処理装置101によれば、特定した各継続予測者について、各継続予測者の特性を示すタグT1~Tmの値と、離反予測者(対象ユーザ)の特性を示すタグT1~Tmの値とに基づいて、離反予測者との相関の度合いを示す相関度(例えば、相関係数C’)を算出することができる。そして、情報処理装置101によれば、算出した各継続予測者の相関度に基づいて、特定した継続予測者の中から、1または複数の継続予測者(相関あり)を抽出し、抽出した1または複数の継続予測者(相関あり)の特性を示すタグT1~Tmの値に基づいて、シミュレーションタグを決定することができる。
【0255】
これにより、離反予測者との相関が強い継続予測者において値が「1」となっている割合が高いタグを、シミュレーションタグに決定することができ、顧客の離反を防止する有効な施策につながるタグを効率的に探索することができる。
【0256】
これらのことから、本実施の形態にかかる情報処理装置101によれば、ユーザにタグ付けした情報を活用して、離反しそうな顧客にターゲットを絞って、適切な施策を打つことが可能となり、効率的かつ効果的なマーケティングを実現することができる。
【0257】
なお、本実施の形態で説明した離反防止支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本離反防止支援プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本離反防止支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【0258】
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0259】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0260】
(付記1)所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定し、
離反すると判定した前記ユーザに対応する複数のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索し、
探索した探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する、
処理をコンピュータに実行させることを特徴とする離反防止支援プログラム。
【0261】
(付記2)前記探索する処理は、
前記方策に関連するタグとして、前記ユーザの離反の判定結果を変更させるタグを探索する、ことを特徴とする付記1に記載の離反防止支援プログラム。
【0262】
(付記3)前記探索する処理は、
前記複数のタグのうち、前記ユーザの基本属性に関するタグを除く少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記方策に関連するタグを探索する、ことを特徴とする付記1または2に記載の離反防止支援プログラム。
【0263】
(付記4)所定期間における複数のユーザの各ユーザの特性を示す前記複数のタグの情報に基づいて、前記所定期間以降に前記各ユーザが離反するか否かを判定し、
判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、処理対象のタグを決定する、処理を前記コンピュータに実行させ、
前記探索する処理は、
決定した前記処理対象のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記方策に関連するタグを探索する、ことを特徴とする付記1~3のいずれか一つに記載の離反防止支援プログラム。
【0264】
(付記5)判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のタグに含まれる各タグについて、前記各ユーザの離反の判定結果との相関の度合いを示す相関度を算出する、処理を前記コンピュータに実行させ、
前記決定する処理は、
算出した前記各タグの相関度に基づいて、前記処理対象のタグを決定する、ことを特徴とする付記4に記載の離反防止支援プログラム。
【0265】
(付記6)判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のユーザのうち離反しないと判定された継続予測者を特定する、処理を前記コンピュータに実行させ、
前記決定する処理は、
特定した前記継続予測者の特性を示す前記複数のタグの情報に基づいて、前記処理対象のタグを決定する、ことを特徴とする付記4または5に記載の離反防止支援プログラム。
【0266】
(付記7)前記決定する処理は、
前記複数のタグに含まれる各タグについて、前記各タグに関連する方策が実行されたユーザ群のうち、前記方策に反応したユーザの割合に基づいて、前記処理対象のタグを決定する、ことを特徴とする付記4~6のいずれか一つに記載の離反防止支援プログラム。
【0267】
(付記8)判定した前記各ユーザが離反するか否かの判定結果に基づいて、前記複数のユーザのうち離反しないと判定された継続予測者を特定し、
特定した前記各継続予測者について、前記各継続予測者の特性を示す前記複数のタグの情報と、前記ユーザの特性を示す前記複数のタグの情報とに基づいて、前記ユーザとの相関の度合いを示す相関度を算出し、
算出した前記各継続予測者の相関度に基づいて、特定した前記継続予測者の中から、1または複数の継続予測者を抽出する、処理を前記コンピュータに実行させ、
前記決定する処理は、
抽出した前記1または複数の継続予測者の特性を示す前記複数のタグの情報に基づいて、前記処理対象のタグを決定する、ことを特徴とする付記4~7のいずれか一つに記載の離反防止支援プログラム。
【0268】
(付記9)複数のユーザの各ユーザについて、特定の期間における前記各ユーザの特性を示す前記複数のタグの情報と、前記特定の期間以降に前記各ユーザが離反したか否かを示す離反結果とを記憶する記憶部を参照して、前記複数のタグの情報から離反するか否かを判別する機械学習モデルを生成する、処理を前記コンピュータに実行させ、
前記ユーザが離反するか否かの判定は、前記機械学習モデルを用いて行われる、ことを特徴とする付記1~8のいずれか一つに記載の離反防止支援プログラム。
【0269】
(付記10)前記複数のタグの情報は、前記複数のタグに含まれる各タグがあらわす条件を満たすか否かに応じた値を示す、ことを特徴とする付記1~9のいずれか一つに記載の離反防止支援プログラム。
【0270】
(付記11)前記ユーザの離反は、前記ユーザが利用していた商品またはサービスからの離反である、ことを特徴とする付記1~10のいずれか一つに記載の離反防止支援プログラム。
【0271】
(付記12)所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定し、
離反すると判定した前記ユーザに対応する複数のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索し、
探索した探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する、
処理をコンピュータが実行することを特徴とする離反防止支援方法。
【0272】
(付記13)所定期間におけるユーザの特性を示す複数のタグの情報に基づいて、前記所定期間以降に前記ユーザが離反するか否かを判定する判定部と、
前記判定部によって離反すると判定された前記ユーザに対応する複数のタグの少なくともいずれかのタグの情報を変更したときの前記ユーザが離反するか否かの判定結果に基づいて、前記複数のタグから、前記ユーザの離反を防止する方策に関連するタグを探索する探索部と、
前記探索部によって探索された探索結果、または前記探索結果を特定する情報を前記ユーザと対応付けて出力する出力部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【0273】
101 情報処理装置
110 ユーザ
120,1201,1202,1203 離反防止タグ情報
200 情報提供システム
201 クライアント装置
220 学習用データDB
230 予測用データDB
240 タグマスタ
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
701 取得部
702 生成部
703 判定部
704 探索部
705 出力部
900 設定ファイル
1000 離反対策ファイル
1200 施策支援画面
1700 相関係数テーブル
1900 フラグ合計値テーブル
2100 施策マスタ
2200 反応率テーブル