TableauでRFM分析する方法
はじめに
こんにちは、Tableau使いのとあるSaber見習いです。
今回は過去2回のTableau記事とは異なり、How to系として、TableauでRFM分析をする方法について書いてみたいと思います。
RFM分析とは
RFM分析とは、難しそうに聞こえますが、顧客分析をするための手法の一つです。
RFMはそれぞれ頭文字を取っており、
R(Recency :最新購買日)
F( Frequency:購買回数)
M(Monetary :購買金額)
の3つの指標を用いて分析します。
購買日・回数・金額で分析することによって、新規顧客・優良顧客・離反顧客などに分類することができます。
RFM分析する方法
RFM分析をするには下記を行う必要があります。
1. R・F・Mを計算フィールドでFIXEDを使って作成する。
2. それらを用いてビジュアライゼーションする。
なお、本記事では、データはTableauの代表的なサンプルデータである「サンプルスーパーストア」を使って行います。
Recencyを作る
Recencyを作る前にまずは「顧客ごとの最終購入日」を作ります。
FIXED関数を使うことによって、「顧客ごと」というところを作ることができます。
式:{ FIXED [顧客名]:MAX([オーダー日])}
上記ができたらRecencyを作っていきます。
Recencyは「最終購入日からの経過日」という形で作ることで、直近購買したかがわかるようになります。
式:DATEDIFF('day', [顧客ごとの最終購入日], {FIXED : MAX([オーダー日])})
これでRecencyができました。
ただこれでは使いづらいので、ランク分けしたRecency rankを下記の形で作っておきます。
式:
IF [Recency(最終購入日からの経過日)] <= 30 THEN "5 30日以下"
ELSEIF [Recency(最終購入日からの経過日)] <= 90 THEN "4 31-90日"
ELSEIF [Recency(最終購入日からの経過日)] <= 180 THEN "3 91-180日"
ELSEIF [Recency(最終購入日からの経過日)] <= 365 THEN "2 181-365日"
ELSEIF [Recency(最終購入日からの経過日)] >= 366 THEN "1 366日以上"
END
Frequencyを作る
続いて、Frequencyを作っていきます。
Frequencyは「顧客ごとの購入回数」という形で作ります。
式:{ FIXED [顧客名]:COUNT([オーダー Id])}
こちらもランク分けしたFrequency rankを下記の形で作ります。
IF [Frequency(購入回数)] >= 20 THEN "5 20回以上"
ELSEIF [Frequency(購入回数)] >= 10 THEN "4 10-19回"
ELSEIF [Frequency(購入回数)] >= 5 THEN "3 5-9回"
ELSEIF [Frequency(購入回数)] >= 2 THEN "2 2-4回"
ELSE "1 1回" END
Monetaryを作る
最後にMonetaryを作ります。
Monetaryは「顧客ごとの合計金額」という形で作ります。
式:{ FIXED [顧客名]:SUM([売上])}
こちらは色として使って、ステップドカラーとして表現するのでランク形式は作りません。(作っても良いと思います)
R・F・Mを使ってビジュアライズ
下記のように行列にFrequency rank, Recency rank、色にMonetaryを配置してビジュアライズします。(通常はマークは四角が良いと思います。円はただの遊びです。)
ラベルに入っているのは顧客名をユニークでカウントした数値です。
各象限に何人いるのかがわかります。
実際に作ったVIZ
実際に作ったVIZ(TableauでVisualizeしたもの)は下記のようなものです。
気づき
左上の優良顧客層(直近買っていて、購入回数も多く、金額も高い)が多いため、非常に堅調なビジネスだと思われます。
ただ、右上の新規顧客層が全くいないので、新規ユーザーが課題だということもわかります。
一番下の行が離反顧客となりますが、一定数いるため、このままだと先細りしてしまうリスクも見てとれます。
このように、たった一つのシートからビジネスの本質が見えてきて面白いと思います。
終わりに
今回はTableauでRFM分析を行う方法をご紹介しました。
ぜひ、自身の携わるビジネスでも使ってみてはいかがでしょうか。