見出し画像

Alteryxで生存分析をしてみた

「Alteryxでサバイバル分析ってできるんですか?」という質問を受けた。どんな質問でもソフトウェアのセールスとして瞬間的に「できると思いますよ!でもウソつきたくないのでしっかり調べてから詳細メールしますね。」と回答している。ただ、ここでいくつか疑問が。「生存分析ってイメージはあるけど、なんなんだ?」「Alteryxでできるのか?もちろん、ノンコーディングで。」「調べたらできるっぽいけど、どうやんの?」この質問に答えるのが今回の記事です。

そもそも生存分析って?

生存分析とか英語のままサバイバル分析とかって言ったりしますが、「生存(Survival)」という言葉の通り、保険の契約が解約されるまで、サービスの契約が解約されるまで、ゲームのユーザーが離脱するまで、はたまた文字通り余命など・・・とにかくステータスが1から0になるまでの 期間 を予測するための分析と考えたら僕のようなガチアナリストでなくても分かりやすい説明かな、と勝手に思っています。Alteryxの生存分析ツールで「Cox Proportion Hazards モデル」を使用していきます。もちろん、ノンコーディングで生存分析を実践していきます。

「生存分析ツール」をインストール

生存分析ツールは、Alteryxの予測分析のパッケージに含まれていないので、追加でインストールする必要があります。こちらに方法をまとめてありますのでご参照ください。生存分析ツールと生存スコアリングツールがインストールできたら、早速Alteryxで生存分析をしていきたいと思います!

ワークフローを作る

では、早速インストールしたツールを使って生存分析をしていきます!今回使うデータは、キャリアーの契約に関するデモデータです。最終的に、ユーザーが2年という期間で、どれだけの長さ契約を維持してくれるか、生存するかを予測、算出していきます。

1. データの入力
まずはデータを入力します。契約期間が数値型であること、またその他の変数となるデータが正しいデータ型であることを確認します。今回サンプルで使っているデモデータの契約期間の単位は月です。

2. 生存分析ツールを使用する
その次にすることは「生存分析(Survival Analysis)」ツールをデータに繋げます。繋げたら以下のように「Data contains durations(期間を含むデータ)」に契約期間を選択します。

画像3

Analysis Optionのタブで、「Cox Propotional Hazards (Analyzes effects of predictive variables)」が選択されチェックがついていることを確認し、生存期間を予測する上で、関連しそうな変数を選択していきます。

画像3

次は、以下のように出口のアンカー「O(出力)」、「R(レポート)」、「D(説明)」に「閲覧」ツールを追加します。「生存分析」ツールを選択した状態でCtrl + SHift + Bのショートカットを使うと楽です。

画像3

ここでワークフローを実行し、R(レポート)アンカーを確認します。R Squaredの値が1に近いかを確認して、モデルが妥当かどうかをクイックに確認します。このデータはOKそうなので、そのまま「生存スコアリング(Survival Score)」ツールを使って生存期間を数値で予測していきたいと思います。(モデルの評価に関してはAlteryxコミュニティの記事も参考にしてみてください。)

画像4

予測して値を算出する

4. 「生存スコアリング」ツールを使用する
実際に予測に使いたい新しい顧客データなどを入力し、データの型がモデルに使用したデータと同じであることを確認し、そのデータを「生存スコアリング」ツールの「D(データ)」のアンカーに繋げます。「生存分析」ツールの「O(output)」のアンカーと「生存スコアリング」ツールの「M(モデル)」のアンカーに繋げ、「閲覧」ツール(もしくはビジネスに活用できるよう「出力」ツール)を最後に繋げます。ワークフローが以下のようになります。(ワークフローにすると結構シンプルです。笑)

画像5

ここで生存する期間が24ヶ月(2年間)が通常の契約期間の場合、RMST(Restricted mean survival time)に24ヶ月と入力します。算出される値は以下のように予測された数値が算出され、データとして出力することができます。

画像6

この値を元に、どのユーザーが解約のリスクがあるのか、契約を維持する期間が短くなる傾向があるのか、などを数値として活用することができるようになります。サンプルワークフローを参考までにここに置いておきます。

可視化する

最後は可視化してみたいと思います。サービスの基本契約期間が2年とすると、それと比較してRMSTが高い顧客はリスクが低いことになります。それを色と長さで表現した、棒グラフが理解しやすいかと思います。Alteryxで可視化する場合は、以下のようなチャートが「インタラクティブチャート」ツールで作成できます。

画像10

施策に落とし込む

逆算して差が大きい人がリスクがあることになります。リスクの高い人たちをフィルターし捕まえて、リストをワークフローで抽出したりCRMのシステムのデータベースに直接インポートするなどして、解約防止のキャンペーンを実施するなどが効果がありそうな施策の例でしょうか。

オマケ

「生存分析」ツールを使用する際に、Kaplan-Meier法を選択することもできます。その場合は、以下のようにレポートが出力し、確認できます。

画像7


この記事が気に入ったらサポートをしてみませんか?