(57)【特許請求の範囲】
【請求項１】
コンピュータによるデータ分析方法であって、
前記コンピュータの処理部が、
記憶装置に格納された第１のデータから、条件項目の値と結論項目の値との組み合わせにより複数のIf-then形式のルールを作成し、前記複数のIf-then形式のルールの条件項目を表示軸とし、前記If-then形式のルールの結論項目を分析軸とする多次元データベースを生成し、
ユーザインターフェースを介して、前記表示軸の条件項目の値の選択を受け付け、
前記選択に応じて、前記多次元データベースのクロス表のセルの値を、前記第１のデータに基づき算出した、前記選択された条件項目の値に対応するIf-then形式のルールを満たす割合を示す情報に変更し、
前記ユーザインターフェースを介して、該クロス表のセルの指定を受け付け、
指定された前記セルを推論対象セグメントとして決定し、前記セルに対応する表示軸の条件項目の値を前記推論対象セグメントに対応する前記条件項目の値として取得し、該取得した条件項目の値から前記推論対象セグメントに対応するIf-then形式のルールにおける条件を決定し、
前記決定した条件を満たすデータを、前記記憶装置に格納された前記第１のデータから抽出し、該抽出したデータに対する推論モデルを生成し、
前記決定した条件を満たすデータを、前記記憶装置に格納された前記第１のデータとは異なる第２のデータから推論対象データとして抽出し、該推論対象データに対して、前記推論モデルを用いて推論処理を行い、前記結論項目を満たす割合を有する推論結果を出力する
ことを特徴とするコンピュータによるデータ分析方法。
【請求項２】
請求項１記載のコンピュータによるデータ分析方法であって、
前記If-then形式のルールを満たす割合を示す情報は、If-then形式のルールの条件項目の値及び結論項目の値を満たすレコード数の、条件項目の値のみを満たすレコード数に対する割合を示す情報である
ことを特徴とするコンピュータによるデータ分析方法。
【請求項３】
請求項１または２記載のコンピュータによるデータ分析方法であって、
前記ユーザインターフェースは、ポインティングデバイスを含み、
前記表示軸の条件項目の値の選択は、プルダウンメニューの中の所定の条件項目の値のセットのうち、前記ポインティングデバイスによる１の条件項目の値の選択により得られたものであることを特徴とするコンピュータによるデータ分析方法。
【請求項４】
請求項１乃至３のいずれか１に記載のコンピュータによるデータ分析方法であって、
前記セルの指定の受け付けは、複数のセルの指定の受け付けであり、
指定された前記複数のセルのそれぞれを推論対象セグメントとして決定し、前記複数の推論対象セグメントのそれぞれに対し推論モデルを生成し、
前記複数の推論対象セグメントのうちの１の推論対象セグメントから前記条件を決定し、
前記決定した条件を満たすデータを前記記憶装置に格納された前記第１のデータとは異なる第２のデータから推論対象データとして抽出し、該推論対象データに対して、前記推論モデルを用いて推論処理を行い、前記結論項目を満たす割合を有する推論結果を出力する
ことを特徴とするコンピュータによるデータ分析方法。
【請求項５】
請求項１乃至４のいずれか１に記載のコンピュータによるデータ分析方法であって、
前記推論モデルはＭＢＲ（Memory Based Reasoning）におけるＭＢＲ推論モデルであり、前記推論処理はＭＢＲによる推論処理であることを特徴とするコンピュータによるデータ分析方法。
【請求項６】
請求項１乃至５のいずれか１に記載のコンピュータによるデータ分析方法であって、
前記データは、所定の予約サービスを管理する顧客データであり、前記結論項目を満たす割合は、前記所定の予約サービスの解約見込みであることを特徴とするコンピュータによるデータ分析方法。
【請求項７】
データ分析装置であって、
記憶装置に格納された第１のデータから、条件項目の値と結論項目の値との組み合わせにより複数のIf-then形式のルールを作成し、前記複数のIf-then形式のルールの条件項目を表示軸とし、前記ルールの結論項目を分析軸とする多次元データベースを生成し、
ユーザインターフェースによる前記表示軸の条件項目の値の選択に応じて、前記多次元データベースのクロス表のセルの値を、前記第１のデータに基づき算出した、前記選択された条件項目の値に対応するIf-then形式のルールを満たす割合を示す情報に変更し、
前記ユーザインタフェースにより指定された前記クロス表のセルを推論対象セグメントとして決定し、前記セルに対応する表示軸の条件項目の値を前記推論対象セグメントに対応する前記条件項目の値として取得し、該取得した条件項目の値から前記推論対象セグメントに対応するIf-then形式のルールにおける条件を決定し、
前記決定した条件を満たすデータを、前記記憶装置に格納された前記第１のデータから抽出し、該抽出したデータに対する推論モデルを生成し、
前記決定した条件を満たすデータを、前記記憶装置に格納された前記第１のデータとは異なる第２のデータから推論対象データとして抽出し、該推論対象データに対して、前記推論モデルを用いて推論処理を行い、前記結論項目を満たす割合を有する推論結果を出力する
処理部を有することを特徴とするデータ分析装置。
【請求項８】
請求項７記載のデータ分析装置であって、
前記If-then形式のルールを満たす割合を示す情報は、If-then形式のルールの条件項目の値及び結論項目の値を満たすレコード数の、条件項目の値のみを満たすレコード数に対する割合を示す情報である
ことを特徴とするデータ分析装置。
【請求項９】
請求項７または８に記載のデータ分析装置であって、
前記推論モデルはＭＢＲ（Memory Based Reasoning）におけるＭＢＲ推論モデルであり、前記推論処理はＭＢＲによる推論処理であることを特徴とするデータ分析装置。
【請求項１０】
請求項７乃至９のいずれか１に記載のデータ分析装置であって、
前記記憶装置に格納されたデータは、所定の予約サービスを管理する顧客データであり、前記結論項目を満たす割合は、前記所定の予約サービスの解約見込みであることを特徴とするデータ分析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの分析技術に関する。
【０００２】
【従来の技術】
近年、コンピュータ機器と、磁気カード、ICカードが一般社会に普及し、百貨店、専門店、家電量販店、スーパーマーケットなど、幅広い業種において、ハウスカードにより、氏名、住所などの顧客の属性データや、購買履歴を蓄積、管理するデータベースの構築が可能になった。金融業界においても取引のトランザクションがデータベース化されている。通信業界においては、CDR（Call Detail Data）と呼ばれる通話履歴データが蓄積されている。これは、通話ごとに、発信者番号、着信者番号、通話時間などが記録されている。
【０００３】
このような環境下で、顧客の属性情報と、購買履歴、取引履歴、通話履歴などを活用し、顧客毎にきめ細かなサービスを提供する手法として、CRM(Customer Relationship Management)と呼ばれる手法が注目されている。
【０００４】
大量のデータを分析し、半自動的に知識を抽出する技術として、データマイニングと呼ばれる技術が知られている。これにはルールインダクション、MBR(Memory Based Reasoning)、OLAP（On Line Analytical Processing）など種々の方法があるが、文献「Data Mining Techniques For Marketing, Sales, and Customer Support (John Wiley & Sons, Inc. 1997)」(p.120-123) に説明されている。
【０００５】
ルールインダクションは、データに潜む特徴を「If…then〜」などのルール形式で抽出する。「Proceedings of 1999 IEEE International Conference on Systems, Man, and Cybernetics」(p.V-882-886)に詳細なアルゴリズムも記載されている。（従来技術１）
MBRについては、上記文献「Data Mining Techniques For Marketing, Sales, and Customer Support」(p.120)に記載されているように、既知の事例の中から未知の事例の近隣の事例を選択し、その値を用いて未知の事例の値の予測やクラシフィケーションをおこなう手法である。（従来技術２）
OLAPについては、上記文献「Data Mining Techniques For Marketing, Sales, and Customer Support」(p.123)に記載されている通り、データに潜む重要なパターンを、多次元データベースを用いて表示する方法である。（従来技術３）
上記、従来技術１と３を併用することにより、MBRの推論精度を向上する手法については、「Proceedings of INFORMS-KORMS SEOUL 2000」「CUSTOMER RELATIONSHIP MANAGEMENT THROUGH DATA MINING」(p.1956-1963)に記載されている。（従来技術４）
【０００６】
【発明が解決しようとする課題】
上記従来技術１および２を融合した従来技術４は、ルールに基づく特定のセグメントに関して、推論を実行できるが、ユーザの知見や状況に基づき条件を追加、削除することはできない。また、条件を追加、削除した場合にセグメントに含まれる顧客数など、セグメントの特性を確認することもできない。
【０００７】
上記従来技術の問題点に鑑み、本発明は、ルールに基づく特定のセグメントに関して、ユーザが知見と状況に基づき条件を追加、削除した場合のセグメントの特性を確認した上で、推論モデルを構築し、推論を実行することを第１の目的とする。
【０００８】
さらに、推論結果にユーザが設定した条件を併記することを第２の目的とする。
【０００９】
【課題を解決するための手段】
記憶装置に格納されたデータから生成した多次元データベースについて、クロス表のセルの指定を受け付け、推論対象セグメントに対応するIf-then形式のルールにおける条件を決定し、この条件を満たすデータから推論モデルを生成し、推論を行う。
【００１０】
上記第２の目的を達成するため、本発明のデータ分析方法では、推論対象セグメント選択処理において選択したセグメント情報を、推論結果表示処理において、推論結果と合わせて表示する。
【００１１】
【発明の実施の形態】
図面を用いて本発明の実施の形態について説明する。この実施形態を構成する処理と、これらの間のデータの流れを図１に示す。
【００１２】
本実施形態は、顧客データ１０１とデータ定義情報１０２を入力とし、特徴ルールセット１０４を出力する特徴ルール生成処理１０３と、該特徴ルールセット１０４とユーザ１０５からの情報と該顧客データ１０１と該データ定義情報を入力とし、推論対象顧客リスト１０７と推論対象セグメント１０８を出力する推論対象セグメント選抜処理１０６と、該推論対象セグメント１０８と顧客データ１０１とデータ定義情報１０２を入力とし、推論モデル１１０を出力する推論モデル生成処理１０９と、該推論対象顧客リスト１０７と該推論モデル１１０を入力とし、推論結果１１２を出力する推論処理１１１から構成される。
【００１３】
以下、各処理について詳しく説明する。
【００１４】
まず、特徴ルール生成処理１０３について説明する。特徴ルール生成処理１０３は、２つ以上の項目を持つ１つ以上のレコードの集合である顧客データ１０１の特徴を「If…then〜」などのルールの形で抽出する。図２に顧客データ１０１の例を示す。図２に示す通り、顧客データは月ごとに用意されている。そして、各月のデータにおいて、１行目が項目名を表し、２行目以降、各レコードが1人の顧客に対応する。３月のデータにおいて、解約顧客は、３月末日時点での値を示す。すなわち、顧客ID＝00002  の顧客は、３月１日から３月末日までの間に解約したことを示す。また、３月のデータにおいて、性別、年齢、収益額などの契約状態以外の項目は、２ヶ月前の１月末日時点の値である。４月のデータにおいても同様に、契約状態は４月末日時点の値であるが、契約状態以外の項目は、２月末日時点の値である。また、顧客ID＝00002のレコードのように、３月の解約顧客のレコードは、４月のデータには含まれるが、５月以降のデータには含まれない。４月１日時点では、３月のデータまでは、全ての項目に値が入っているが、４月のデータには、解約顧客の項目に値が入らず、その他の項目には全て値が入る。ただし、データに欠損値がある場合には、その限りではない。４月１日時点では、６月以降のデータも作成できない。以降の説明も、４月１日と仮定して進める。
【００１５】
図３は、特徴ルール生成や、推論対象セグメント選抜を実行するためのデータ定義情報１０２の例である。データ定義情報１０２は、ルール生成利用項目と階層構造から構成される。ルール生成利用項目は、条件項目と結論項目から成る。特徴ルール生成処理１０３において、条件項目は、「If…then〜」形式のルールのIf部の候補となり、結論項目はthen部に利用される。ルール生成手法については、従来技術として前述した文献「Proceedings of 1999 IEEE International Conference on Systems, Man, and Cybernetics」(p.V-882-886)に述べられている。本文献のアルゴリズムに従い、顧客データ１０１の３月のデータを用いて、特徴ルール生成処理１０３を実行したものとする。
【００１６】
図４に、特徴ルールセット１０４の例を示す。図４の例では、１行目が項目を表し、２行目以降は、それぞれ１つのルールを表す。ルール文とは、「If…then〜」形式でルールを表記したものであり、ルール／条件とは、ルールを満たすレコード数／条件部を満たすレコード数を表す。精度とは、ルールを満たすレコード数の条件部を満たすレコード数に対する比率を％表示したものである。
【００１７】
次に推論対象セグメント選抜処理１０６について説明する。推論対象セグメント選抜処理１０６では、データ定義情報１０２を基に、多次元データベースの構造を決する。データ定義情報１０２における条件項目が、多次元データベースにおけるキー次元に対応し、結論項目が分析次元に対応する。構造が決定すると、顧客データ１０１をロードし、多次元データベースを構築する。
【００１８】
そして、ユーザ１０５が、特徴ルールセット１０４の中から選択した１つのルールの条件項目をカラムとロー、結論項目に関連する項目をセルの値として表示画面を作成する。
【００１９】
図５に、図４に示すNo.1のルール「IF 年齢＝20〜24 & 性別＝女性 then 契約状態＝解約」が選択された場合の、多次元データベースの表示例を示す。図５において、ルールの条件項目である年齢と性別が、それぞれローとカラムに設定されている。そして、ルールの結論項目である契約状態から算出される解約率が、各セルに表示されている。ここで、各セルの解約率とは、各セルに含まれる解約した顧客数の、各セルに含まれる全顧客数に対する割合を％表示したものである。各値は多次元データベース上で自動的に算出される。図５において、ルールの条件に該当するセルは、色が反転しており、一目で識別できるようになっている。また、ルールに現れなかった条件項目は、多次元データベースのページとして表示されている。
【００２０】
図５において、ユーザは、ルールが指し示すセルの値を、周辺のセルの値と比較することにより、ルールの優位性を把握できる。また、ドリルアップ、ドリルダウン、スライス、ダイスといった多次元データベースの機能により、ユーザは状況や知見に基づき、或いは試行錯誤により条件を追加・削除した場合の、セルの値と変化を確認し、推論モデルを構築し、推論を実行すべきセグメントを選別できる。
【００２１】
図６は、収益額のページをドリルダウンし、収益額＝3-4万円のスライスを選択した例である。ユーザが、収益額=3-4万円の顧客に対する施策を検討している場合、このように条件を追加できる。ユーザは、条件を追加した場合の、着目しているセルと周辺のセルの値の変化を確認できる。この例の場合、着目しているセルの解約率は、２７％から２４％に減少している。しかし、同年齢層（２０〜２４歳）の男性の解約率は１６％であり、女性の２５〜３４歳の解約率は９％であり、依然着目しているセルの解約率が突出している。また、この画面上で、分析項目を解約顧客数に変更すれば、各セルに含まれる解約顧客数が表示され。同様に分析項目を顧客数に変更すれば、各セルに含まれる顧客数が表示される。すなわち、セルごとの解約率とセルに含まれる顧客の規模を確認することにより、推論モデルを構築し、予測するに値するセグメントか否か判断できる。
【００２２】
ユーザは以上のように、着目するセルに状況や知見に基づき条件を追加・削除し、着目するセルと周辺のセルの値を確認した上で、着目するセルを決定できる。
【００２３】
ユーザが「収益額＝3-4万円」といった条件を追加したものとして、以下説明する。設定した条件は、「年齢＝20〜24 & 性別＝女性 & 収益額＝3-4万円」となり、これが推論対象セグメント１０８となる。推論のターゲットとするセルを決定すると、マウスなどのポインティングデバイスにより選択し、右クリックなどで、図６に示すような機能ボタンのリストを表示する。
【００２４】
マウスなどのポインティングデバイスの左クリックなどにより、これらの機能を順次選択する。推論対象顧客リスト生成を選択すると、顧客データ１０１の中から、５月のデータ、すなわちルール生成に利用したデータの２ヶ月後のデータから、推論対象セグメント１０８の条件を満たすレコードを抽出し、推論対象顧客リスト１０７とする。推論対象顧客リスト１０７のフォーマットは、顧客データ１０１のフォーマットと同等である。
【００２５】
推論モデル生成の機能ボタンを選択すると、推論モデル生成処理１０９が実行される。推論モデル生成処理１０９について説明する。推論モデル生成処理１０９は、ユーザ１０５が、推論対象セグメント選抜処理１０６において選択した条件に対して最適な推論モデルを自動的に生成する。
【００２６】
図７に推論モデル生成処理１０９のフローチャートを示す。図７において、モデル生成用データ抽出処理７０１は、顧客データ１０１の中から、データ定義情報１０２に指定された月のデータを選択し、さらに、推論対象セグメント１０８の条件を満たすレコードのみ抽出する。
【００２７】
データ分割処理７０２は、モデル生成用データ抽出処理７０１において抽出されたレコードを、候補モデル用データと検証用データの２つに分割する。例えば、ランダムサンプリングにより６割のデータを抽出してモデル用データとし、残りの４割のデータを検証用データとする。
【００２８】
推論候補モデル生成処理７０３は、データ定義情報１０２の条件項目の中から、網羅的に条件の組合せを生成する。例えば、（性別，年齢）、（性別、収益額）、（性別、年齢、収益額）などである。これらの各組合せを入力、データ定義情報１０２の結論項目を出力とする推論候補モデルが生成される。
【００２９】
モデル生成判別処理７０４は、推論候補モデル生成処理７０３で生成した全ての推論候補モデルについて、検証処理７０６が実行されたか判別する。全ての推論候補モデルについて検証処理７０６が実行されている場合には、モデル選択処理７０７を実行する。未だ検証処理７０６が終了していない推論候補モデルが残っている場合には、候補モデル選択処理７０５を実行する。
【００３０】
候補モデル選択処理７０５は、推論候補モデルの中から、未だ検証処理が実行されていないモデルを１つ選択する。
【００３１】
検証処理７０６は、データ分割処理７０２において生成されたモデル用データの中から、候補モデル選択処理７０５にて選択されたモデルの項目のみ抽出し、MBRモデルを構成する。次にデータ分割処理７０２において生成された検証用データの各レコードについて、推論を実行する。図８に示すような例の場合、推論対象データの近傍の４レコードのうち、３つのレコードは解約顧客＝１、１つのレコードは解約顧客＝０であるから、推論対象データの解約可能性は、（1+1+1+0）/4=0.75 となる。同様にして、全ての検証用データについて解約可能性を推論する。そして、検証用データの実際の解約顧客項目の値との差の２乗和を計算し、各モデルの評価値とする。
【００３２】
モデル選択処理７０７においては、検証処理７０６で算出された各モデルの評価値が最小のものを選択する。図９に、選択された推論モデル１１０の例を示す。図９において、利用データは、推論に利用するデータである。推論利用項目は、利用データの中で、推論に利用する条件項目と結論項目である。セグメント条件は、この推論モデルが対象とするレコードが満たすべき条件である。
【００３３】
図６における推論実行の機能ボタンをクリックすると、推論処理１１１が実行される。推論処理１１１は、推論モデル１１０を用いて、推論対象顧客リスト１０７に対する推論を実行し、推論結果１１２を出力する。推論のアルゴリズムは、検証処理７０６において解約可能性を計算した方法と同様である。また、図６において、推論対象顧客リスト生成と推論モデル生成のボタンをクリックし、推論対象顧客リスト生成と推論モデル生成が正常に終了するまでは、推論実行ボタンは不活性となっており、実行できない。
【００３４】
図１０に、推論結果１１２の例を示す。図１０に示す通り、推論結果には、顧客IDのような顧客を特定する項目と、解約顧客のような、推論値を示す項目と、選抜条件のような、推論モデルのセグメント条件を示す項目が含まれる。これは、推論モデル１１０に記載されているセグメント条件の値を代入する。その他、年齢、収益額のような、推論対象顧客リスト中の顧客属性項目を含めることも可能である。
【００３５】
本発明は、次のように変更して実施することも可能である。
【００３６】
第１に、ユーザ１０５が、推論対象セグメント選抜処理１０６を実行する度に推論処理１１１を実行するのではなく、１つ以上の推論対象セグメントを選択した後で、まとめて推論処理１１１を実行する。この実施形態を構成する処理と、これらの間のデータの流れを図１１に示す。
【００３７】
図１１において、推論対象顧客リスト１０７には、ユーザが選択した複数の推論対象セグメントのいずれかに含まれる顧客が全て含まれている。データ定義情報１０２で指定されるルール生成利用項目は全て含まれる。
【００３８】
推論モデル選択処理１１０１は、推論対象顧客リスト１０７の中から順次レコードを1つづつ選択し、各レコードに対して、推論モデルセット１１０２の中から、推論モデルを１つづつ選択する。ここで、推論モデルセット１１０２とは、推論対象セグメント１０８毎に予め生成された１つ以上の推論モデル１１０の集合である。推論モデル選択処理１１０１は、選択したレコードが、各推論モデルのセグメント条件を満たすか否か検証し、条件を満たすモデルが見つかれば、レコードとモデルを推論処理１１１に入力し、推論結果１１２を出力する。推論結果１１２のフォーマットは、図１０に示したものと同じであるが、レコード毎に選抜条件が異なる場合がある。
【００３９】
第２に、図６における推論対象顧客リスト生成ボタンと推論モデル生成ボタンと推論実行ボタンを、推論実行ボタン１つとし、推論実行ボタンをクリックすれば、前記推論対象顧客リストを生成する処理と、前記推論モデル生成処理と、前記推論処理を自動的に順次実行するように変更することも可能である。
【００４０】
【発明の効果】
本発明によれば、セグメントの特性を確認した上で、着目するセグメントを決定し、決定したセグメントに対する推論モデルを構築できる。
【００４１】
また別には、推論結果にユーザが設定した条件を併記することにより、ユーザや推論結果の利用者は、リストにそのデータが含まれる理由を理解し、リストを用いた施策を考えられる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を構成する処理と、これらの間のデータの流れを示す図である。
【図２】処理の対象となる顧客データの例である。
【図３】データ定義情報の例である。
【図４】特徴ルールセットの例である。
【図５】多次元データベースの表示例である。
【図６】多次元データベース上で条件を追加し、機能ボタンのリストを表示した例である。
【図７】推論モデル生成処理のフローチャートである。
【図８】  MBRの推論方法を説明するための例である。
【図９】推論モデルの例である。
【図１０】推論結果の例である。
【図１１】変更例を構成する処理と、これらの間のデータの流れを示す図である。
【符号の説明】
１０１…顧客データ、１０２…データ定義情報、１０３…特徴ルール生成処理、１０４…特徴ルールセット、１０５…ユーザ、１０６…推論対象セグメント選抜処理、１０７…推論対象顧客リスト、１０８…推論対象セグメント、１０９…推論モデル生成処理、１１０…推論モデル、１１１…推論処理、１１２…推論結果、７０１…モデル生成用データ抽出処理、７０２…データ分割処理、７０３…推論候補モデル生成処理、７０４…モデル生成判別処理、７０５…候補モデル選択処理、７０６…検証処理、７０７…モデル選択処理、１１０１…推論モデル選択処理、１１０２…推論モデルセット。
【図１】
0003815218.tif 000002
【図２】
0003815218.tif 000003
【図３】
0003815218.tif 000004
【図４】
0003815218.tif 000005
【図５】
0003815218.tif 000006
【図６】
0003815218.tif 000007
【図７】
0003815218.tif 000008
【図８】
0003815218.tif 000009
【図９】
0003815218.tif 000010
【図１０】
0003815218.tif 000011
【図１１】
0003815218.tif 000012