「意思決定の自動化」と「リアルタイム・オファリング」第5回　確率算出／活用の例

:::note
この本書は2017年4月1日にTeradata Japanのブログに掲載された内容を、再掲載したものです。
掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
:::


著者 山本 泰史 （やまもと やすし）

# 「意思決定の自動化」と「リアルタイム・オファリング」

## 第5回： 確率算出／活用の例

<INS>前回</INS>、意思決定を自動化するための指標として、確率をご紹介しました。今回は、この確率を算出するための代表的な手法をご紹介します。図8 は、手法一覧として整理したチャートです。大きく、単純な割り算／構成比としての算出手法と、データマイニングによる算出手法を記載しています。データマイニングによる算出を利用する場合、知識の析出形式に関しては分析手法が持つ形式に任せ、そこに大量のデータを投入することによって、知識（傾向やパターン）を蒸留するアプローチです。以降でそれぞれについて解説していきます。

<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/0206e4b4-7bd4-7b76-0048-585dd4b66db3.png">


### 確率算出の手法概観

割り算／構成比 - 割り算／構成比を確率として扱う考え方は、極めてシンプルに試行回数に対する発生回数をカウントし、割合として算出する考え方です。図9 で例示しているのはどのチャネルから案内するのが望ましいかを決定するロジックですが、過去の実績を顧客の行動傾向や嗜好性として確率値として理解し、その傾向や嗜好性に変化が無い前提で意思決定に利用します。図10 は、充分な過去データが存在するという前提の下、案内商品に関する属性（色目）を提案する際に、過去の購入実績（色目別）に基づき、最も高い割合で購入されている色目と同じ色目を提案しています。

<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/58a15bbe-3cf0-64da-0b02-c415c84f8c88.png">

**アソシエーション分析** -この手法は、ある条件A が発生したときに、B が同時、もしくは後続的に発生する確率を算出する手法です。考え方は単純な割り算／構成比なのですが、同時発生（もしくは後続発生）確率の選択肢全てに対して確率スコアを付与するため、膨大な選択肢の中から選択する際に便利です。図11 では、特定セグメントに関する過去の購入実績を利用したルールを事前準備し、顧客が該当セグメントに属しており、特定商品に関するページをクリックした際のオファー商品選択ルールとして配備しています。IF部分にはクリックしたページに関する商品、THEN部分には案内候補となる商品毎に確率スコアが事前付与されており、この中から最もスコアの高い商品を選択します。また、後続ロジックとして、リピート購入される商品か否か、既に購入済みの商品か否かを追加しています。例えば販売する商品が「特定の書籍」、「住宅ローン」等、リピート購入／契約されることがまず無い商品であれば、購入済みであるかをチェックし、購入済みの場合には、次ランク（=確率スコアが次に高い）商品の案内に切り替える必要があります。しかしながらいつも利用している「特定ブランドの化粧品」、「羽田-福岡便」のような商品であれば、リピート購入されることは容易に想像でき、案内も奇異にはとられません。アソシエーション分析の手法詳細に関しては、<INS>こちら</INS>をご覧下さい。



<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/ca3def48-d1e5-5b08-be58-4ba34a14a796.png">



**デシジョンツリー分析** - 別名決定木とも呼ばれる手法で、ロジスティック回帰分析と同様のデータを準備しますが、モデルは樹形図の形式で表現されます。従ってモデルの形式は樹形図の分岐に沿って If A, and B, and ... , Then C（もし A と B と...が発生したら、C が発生する）として表現され、C が発生する／しないという予測、そして C が発生する確率を算出します。分岐の選択肢毎にルールが存在するため、モデルは複数のルールを内包している形態をとります。図12 では、デシジョンツリーのモデル（実際には顧客番号#3249 に関する分岐ルール）を利用した例です。事前に樹形図のモデルを構築しておき、それぞれの顧客がリピート購入するかどうかを判定できるようにしておくと共に、その確率スコアを算出しておきます。それぞれの顧客は、有しているデータ（変数）に基づいて分岐していき、最終的にはリピート購入されるかどうか判断されます。この分岐条件に特定商品#325 に関するページのクリック実績が変数として使われます（図内変数#3）。顧客によってはこの商品のページクリック変数がルールに該当しない場合が存在するため（例えば年齢45歳未満の顧客には別のルールが適用されます）、その場合には事前スコアに基づいて判断します。それ以外の変数群に関しては過去の履歴データや顧客属性データを利用して、判定します。デシジョンツリー分析の手法詳細に関しては、<INS>こちら</INS>をご覧下さい。



<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/5ca622e0-4d8a-1444-4ffb-25281751d2af.png">

**クラスター分析** -N個の任意の数にデータサンプル（マーケティング業務に適用する場合、多くは顧客）を分類してくれる手法です。クラスターとは分類したグループを意味し、各クラスターの中心からの乖離度合いによって、各データサンプルが所属するクラスターを決定します。通常この手法はセグメンテーションに利用されるのですが、分類を行なう過程で、各クラスター中心からの乖離度合いを各クラスターへの所属確率として算出するため、この確率スコアを利用可能です。図13 では、所属クラスターに応じて案内コンテンツ種を変更するという形でオファーを決定しています。最も高いスコアを獲得した案内コンテンツタイプが選択されます。より確度の高い形でオファーを実施していくために、追加条件としてスコア>=0.8 を足切り条件にして、合致顧客のみにオファー案内をすることもアイデアです。クラスター分析の手法詳細に関しては、<INS>こちら</INS>をご覧下さい。



<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/d25910a5-067e-0b93-e998-9175b2806b36.png">

**ロジスティック回帰分析** - この手法は、ある特定事象が発生する確率を算出する手法です。モデルを構築する際には、既に事象が発生した／発生しなかったという結果データを用意します。合わせてこの事象発生／未発生を説明してくれそうな関連データを利用することによって、数式モデルを構築する手法です。得られた数式は計算結果として事象の発生確率を算出するため、このスコアを意思決定に利用します。図14 では、スコアを実施するに充分なデータを有しているかどうかがチェックされ、有していない場合（顧客との取引が最近始まった等）のためのデフォルトの商品（一押しの商品等）を、セーフネットとして用意します。充分な実績データが存在する場合、ロジスティック回帰分析が用意したルール（=数式モデル）群に、データをインプットします。ルールはそれぞれ 3つ存在し、それぞれがインプットとして特定商品のクリック =Yes という変数を用います。また過去の顧客属性や履歴データもその他の変数として利用されます。これらの変数群を数式に代入することによってスコアが得られ、それぞれのスコアから最も高いスコア付けがなされたモデル（=特典案内）を選択します。また、最終的に割引オファーが選択された場合には、何割引で案内すべきかをテーブルロジック（<INS>第4回参照</INS>）を使って選択します。ロジスティック回帰分析の手法詳細に関しては、<INS>こちら</INS>をご覧下さい。



<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2768546/342dffb0-1a07-616d-79a5-03a83d313913.png">


各手法から最適な手法を選択する際の判断基準として、オファー候補の選択肢バリエーションが幾つになるかも考慮されるべきです。アソシエーション分析は、いわゆるロングテール的なオファーに合致しており、多種多様な商品／サービスからオファーを確定する際に役立ちます。ロジスティック回帰分析、割り算／構成比、クラスター分析に関しては、人間が想定できるオファーバリエーション量（20前後？でしょうか）がその限界となります。ロジスティック回帰分析はスコア比較によって、レベルやベクトルの異なるオファー候補からの選択を可能としてくれます。割り算／構成比は同質なオファー候補を比較する場合、また事象が発生した／発生しなかったというシンプルな積み上げ結果を利用したい場合に適用可能です。クラスター分析は、各クラスターの特徴を理解する必要があり、現実的にはクラスター分析結果からオファー候補を導きます。デシジョンツリー分析は基本的に、2値から選択する場合に適用します。このような観点から手法選択基準を一般化すると、ほとんどの場合はアソシエーション分析かロジスティック回帰分析のいずれかを用います。そしてよりシンプルなルールで良い場合には割り算／構成比、特殊なケース（セグメンテーションや判別に近いような場合）にはクラスター分析、もしくはデシジョンツリー分析を用いるのが適切です。


#### Teradata Vantageへのお問合せ
[Teradata Vantage へのお問合せ](https://www.teradata.jp/About-Us/Contact)