顧客分析にRFMを使う理由

1. はじめに

Researchグループの片野です。
UXResearchといえば定性分析を主な分析手法としているResearcherが多い中で、「データ分析×UXリサーチ」の分析手法でユーザー体験の最大化の数値化を目指しています。
定性・定量分析に限らずプロダクトの改善提案に必要なのは、説得力のあるデータを挙げることでもありますが、それ以前に自社サービスを利用するユーザーを正確に把握していることが重要な基礎になります。

顧客分析を行うにあたってよく使われる手法として、デシル分析やセグメンテーション分析などもありますが、今回はユーザーを正確に把握するのに用いる分析手法である、RFM分析について説明します。また、最後の方に少しだけデシル分析と比較して、なぜRFM分析の方がユーザーの把握に適しているかも紹介していきます。

 

2. RFM分析とは

RFM分析は以下の3つの指標を使い、ユーザーの分析を行うものです。
■ Recency(最新取引日)
■ Frequency(頻度)
■ Monetary(金額)
Rは最終取引日が直近であるほど、Fは高いほど、Mは大きいほど良いユーザーと考えることはできます。

他の分析手法を例に挙げると、デシル分析は1つの指標で分析を行うため、過去に一度だけ大口の取引をしたユーザーと、最近小額の取引を高頻度で行うユーザーが同じグループにカテゴライズされる可能性があります。しかしRFM分析は3つの指標を使うことで、より正確にユーザーを把握することができます。

わたしは主にサービスのUX改善に関わる全てのデータを分析し、改善提案をするのがメインなので、ユーザーを正確に把握することが重要と考え、RFM分析を取り入れました。


3. RFM分析の設計方法

RFM分析を行うにあたって、まず初めにサンプルの階級数を決めます。通常は5~7つくらいのグループに分けて、ユーザーをランク付けしていきます。

しかし、今回は階級数に根拠と信憑性を持たせるため、スタージェスの公式を用いて階級数を決めてみました!


まずどの階級に何人のユーザーがグルーピングされているのか、ヒストグラムで表すことができます。
(ヒストグラム例:Frequency)
f:id:cc-katano:20200317142725p:plain

この時、棒の数を何本にするかが課題になります。

スタージェスの公式を使用することで(N個のデータサンプルがあるとき)、棒の数kが算出され、真の分布に近い階級数の目安を求めることができます。

 

3-1 スタージェスの公式を用いた算出方法

 f:id:cc-katano:20200317184926p:plain
例)サンプル数が100の場合
2の7乗が128なので、求めるkは 7+1 で8ということになります。

 

3-2 SQLでの算出方法

SQLで算出する場合、スタージェスの公式は小数点以下を切り上げるため下記のクエリになります。

f:id:cc-katano:20200317143504p:plain

 

3-3a カテゴライズの仕方

今回使うデータでは20階級とし、ユーザーをランク付けしていきます。
まずは次の5つにユーザーをカテゴライズし、階級の閾値を設定します。今回はポジティブ or ネガティブで大きくカテゴリを分け、20階級のうち10階級以上をポジティブ、10階級未満をネガティブとしました。
f:id:cc-katano:20200317143905p:plain

 

3-3b 20階級の振り分け方

下記の通りそれぞれを更に20階級に振分け、ユーザー毎にRFMそれぞれに階級を分割し当てはめていきます。

各クラスの人数を均等にする方法や、定性的要因を加味してグルーピングする方法がありますが、サービスやユーザーの特性を考慮してどうグルーピングするのが最適かを考えて行うことで、より意味のある分析になると思います。
f:id:cc-katano:20200317144212p:plain

 

3-3c 各カテゴリに対するランク付け方法

ユーザーのランク付けはカテゴリ毎にRFMそれぞれの階級を当てはめ、どの項目の階級が高いか(低いか)によってユーザーのカテゴリが決まっていきます。

  • 優良顧客はRFMの全てが高い
  • FMが高い一方でRが低ければ優良顧客ではあるものの当社からは離反している可能性が高い

など、それぞれのユーザーカテゴリで起こりうるRFMのケーススタディと階級設定していきます。

参考)f:id:cc-katano:20200317144458p:plain

 

上記で設定したそれぞれのカテゴリの条件を満たすユーザーを、それぞれ算出してユニークユーザー数を出していきます。今回はSQLで算出したので例をご紹介します。


4. SQLでRFM分析

4-1 ユーザー毎にR,F,Mの階級を算出

Rは直近取引してくれいているユーザーの方がポジティブであるため、最終取引日と現在の日にちの差分が小さいほど階級が高くなるため、日にちの差分を昇順でランク付けします。一方、取引回数・取引金額は多ければ多いほど階級が高くなるため、FとMは降順にしてランク付けします。

f:id:cc-katano:20200317144557p:plain

 

4-2 階級を5分割する 

この段階では1~100%になっているので、これを3-3bの図にまとめた階級毎に当てはめて区切っていきます。

f:id:cc-katano:20200317152455p:plain

 

4-2 条件分岐した実行結果を出力してまとめる

最後に図3の段階で決めた設計に合わせて条件分岐し結果を出力します。

それぞれのカテゴリが占めるユーザー数を割合で算出し、3次元のイメージを作成すると以下のようになります。

f:id:cc-katano:20200317150845p:plain

 

RFM分析は絶対的な分析結果とは言い難いものではあるものの、ユーザーの行動分析やマーケティング施策を打つ際の重要な指標になります。

この分析を行うことで、どのユーザーがどのカテゴリに属しているかを把握し、そのカテゴリに効果的なアプローチをすることができます。


RFMを活用した分析展開

例)

f:id:cc-katano:20200317144944p:plain
★ 離反顧客で2年間取引がなかったAさん


① 弊社サービスのCoincheckつみたてのユーザー分析をしたところ、休眠ユーザーの活性につながっているとの結果が出た
② この4.57%の離反顧客に対してモバイルアプリのプッシュ通知を送信したところ、つみたてアカウント作成活性に繋がった
③ Aさんは離反顧客から安定顧客になった

 

まずは現状改善したいプロダクトやサービスの課題を洗い出し、そこからユーザーの行動分析や属性分析を行います。
その結果をもとにどのカテゴリにフォーカスすべきかを判断します。
このようにユーザーを確実に把握することで、ターゲティングの効果を最大化することを可能とします。

 

 

デシル分析とは?

デシル分析は1つの指標を10等分して分析をする方法です。

例えば取引履歴に関するデータなどをもとに、取引金額の大きい順に10等分にランク付けし、ランク毎の取引金額の比率などを算出します。各ランクの収益比率などがわかるため、どのグループが効率的に取引金額を伸ばすことができるか把握することができます。

例)取引金額毎にユーザー数を10等分にします。
f:id:cc-katano:20200317145233p:plain


データを表でまとめてみると以下のイメージのような表になりなす。f:id:cc-katano:20200317145312p:plain

デシル3までのユーザーの取引金額で8割を超えているということが分かります。
取引に関する施策に対してはデシル3までのユーザーが、取引額拡大に繋がるターゲットになる可能性が高いということになります。

 

デシル分析のデメリットとしては、ユーザーのカテゴリが必ずしも正確ではないということです。あるユーザーがデシル1にカテゴライズされていたとしても、2年前に大口の取引を1度だけしているケースでも当てはまる可能性があります。つまり、デシル1のユーザーがRFMで上位階級にカテゴライズされたユーザーと同じ取引行動を起こすかという点については正確性に欠けてしまいます。

指標が1つでシンプルなため、分析しやすいという点はメリットでもありますが、この分析をもってユーザーをターゲティングするというよりも、取引額構造を把握することに活用するようにしています。


おわりに

サービスやプロダクトの改善をするにも、自社のサービスを利用するユーザーを正確に把握している必要があります。RFM分析をすることでユーザーを正確にセグメントし、把握し、各カテゴリのユーザーグループに適切なアプローチをとることが出来るようになります。

ただし、一つの分析手法に偏るのではなく、CRMを使った顧客分析、例えばCTB分析やクラスター分析など、あらゆる分析手法を踏まえた上で、サービスや目的によって用いる分析手法を選択することが大切です。