Tableau(タブロー)でRFM分析する(オリジナル変形版)
はじめに
本日は、CRM(Customer Relationship Management)の定番中の定番、RFM分析をカスタマイズしてみます。
RFM分析は、顧客分析手法の一つで、Recency(最新注文日時からの経過日数)とFrequency(累計の購入回数)とMonetary(累計購入金額)の3つの尺度で顧客の状態を把握する分析です。通常、こちらの分析は、縦と横のマトリククスをRF、RM, FMなど、適宜入れ替えながら分析していくことが通常ですが、今回はR・F・Mとランクづけを一緒に俯瞰できるように独自にカスタマイズしてみます。
今回の完成図
今回の完成図はこちらです。ダッシュボードで最終的に仕上げております。■の色がランク判定となっており、それをクリックすることで、右隣の顧客情報がフィルタされる仕組みです。構成としては、単純な作りとなっております。
下記は、Mが20万超えで、10回以上購入のある、3〜6ヶ月以内の顧客を抽出している状態です。
今回の手順
今回の手順は下記の通りです。
(1)メジャーの作成
(2)区分の作成
(3)ランク判定計算フィールドの作成
(4)シートとダッシュボードでまとめる
それでは早速、実施していきましょう。
以下、メジャーを計算フィールドで作成してください。
(1)メジャーの作成
計算式名: Recency(最新購入日からの月数)
DATEDIFF(“month”,[顧客最新購入日],date(“2019/12/31”))
※ 通常、第三引数(通常、現在日を設定)は、TODAY()関数を使用しますが、データの都合上、2019/12/31を現在と見立てております。
計算式名: 顧客最新購入日
{FIXED [顧客名]: MAX([オーダー日])}
計算式名: Frequency(購入頻度)
{FIXED [顧客名]: COUNTD([オーダー Id])}
計算式名: Monetary (購入金額)
{FIXED [顧客名]: SUM([売上])}
計算式名: 顧客数
COUNTD([顧客名])
(2)区分の作成
以下、区分を計算フィールドで作成してください。
計算式名: Recency区分
ご自身の事業ドメインにあわせて下記区分はカスタマイズしてください。
IF [Recency(最新購入日からの月数)] <= 1 THEN “1ヶ月以内”
ELSEIF [Recency(最新購入日からの月数)] <=3 THEN “3ヶ月以内”
ELSEIF [Recency(最新購入日からの月数)] <=6 THEN “6ヶ月以内”
ELSEIF [Recency(最新購入日からの月数)] <=12 THEN “1年以内”
ELSEIF [Recency(最新購入日からの月数)] >=13 THEN “1年超え”
END
計算式名: Frequency区分
ご自身の事業ドメインにあわせて下記区分はカスタマイズしてください。
IF [Frequency(購入頻度)] = 1 THEN “1回”
ELSEIF [Frequency(購入頻度)] <=3 THEN “3回以下”
ELSEIF [Frequency(購入頻度)] <=7 THEN “7回以下”
ELSEIF [Frequency(購入頻度)] <=9 THEN “9回以下”
ELSEIF [Frequency(購入頻度)] >=10 THEN “10回以上”
END
計算式名: Monetary区分
ご自身の事業ドメインにあわせて下記区分はカスタマイズしてください。
IF [Monetary (購入金額)] <= 50000 THEN “5万円以下”
ELSEIF [Monetary (購入金額)] <=100000 THEN “10万円以下”
ELSEIF [Monetary (購入金額)] <=150000 THEN “15万円以下”
ELSEIF [Monetary (購入金額)] <=200000 THEN “20万円以下”
ELSEIF [Monetary (購入金額)] >=200001 THEN “20万円超え”
END
(3)ランク判定計算フィールドの作成
計算式名: ランク判定
メンバー名を正確に書くのが面倒なため、一部正規表現関数(REGEXP_MATCH)を使用しました。また、ご自身の事業ドメインにあわせて、「ランク」を定義いただければ良いです。なお、通常、RFM分析はランクは、5段階(1,2,3,4,5)で設定することが一般的です。
IF REGEXP_MATCH([Monetary区分],”20″) AND
REGEXP_MATCH([Frequency区分],”(9|10)”) AND
REGEXP_MATCH([Recency区分],”(1|3)ヶ月以内”)
THEN “優良顧客”
ELSEIF REGEXP_MATCH([Monetary区分],”15|10″) AND
REGEXP_MATCH([Frequency区分],”(7|3)”) AND
REGEXP_MATCH([Recency区分],”(1|3)ヶ月以内”)
THEN “要ランクアップ対象顧客”
ELSEIF REGEXP_MATCH([Monetary区分],”20|15|10″) AND
REGEXP_MATCH([Frequency区分],”10|9|7″) AND
REGEXP_MATCH([Recency区分],”6ヶ月以内”)
THEN “要リテンション対象顧客”
ELSE “その他”
END
(4)シートとダッシュボードでまとめる
以下のように、各ディメンションとメジャーをシートで設定してください。通常のRFM分析は、縦横で2つのメジャーを軸にプロットすることが一般的です。下記は、変形バージョンだと認識していただければと思います。ランク判定も、適宜、事業ドメインにあわせてカスタマイズしていただけると良いです。
顧客情報シートは下記のように設定しております。
最後に、ダッシュボードでまとめながら、フィルターを設定します。凡例は、「浮動」を使用して自由に配置できるように設定しております。
ダッシュボードアクションを使用します。フィルターで下記の通り設定しております。
まとめ
今回は、CRMにおける王道のRFM分析をみてみました。一般的なRFM分析から少しカスタマイズしております。その狙いは、いかに素早く、該当顧客リストを明らかにできるかです。そのため、R・F・Mの3つのディメンションを融合させ、かつ、「色」表現機能を使ってランク判定してみました。みなさまも、既存のフォーマットにこだわらず、オリジナルにどんどんチャレンジしてみてください。