Tableau Public実践 BIツールデータ活用100本ノック 第3章
この記事は、Tableau(タブロー) Public実践 BIツールデータ活用 100本ノックを読んで学んだことをまとめています。Knockタイトルや内容が本とは異なっている部分もありますので、あらかじめご了承ください。
この記事をきっかけにもっと勉強したいと思った方は、是非本をお手に取って読まれてください。
【リンク紹介】
・【一覧】Tableau Public実践 BIツールデータ活用100本ノック
・これまで書いたシリーズ記事一覧
この章では、RFM分析を用いて優良顧客を定量的に定義していきます。
RFM分析とは
Recency(最終購入日)、Frequency(購入頻度)、Monetary(購入金額)の3つの観点から顧客を評価し、スコアリングまたはグルーピングする手法のこと。
Recency(最終購入金額)
Knock31:顧客ごとの最終注文日時を表示する
まずはKnock21~23を参考に、この記事で使用するデータの準備を行います。
- シートを新しく作成します(シート名は「Recency」)。
- データペインの「order.csv」のディメンションにある「注文日時」を右クリックし、「作成」→「計算フィールド」を選択します。
- Knock27の時のように、名前を「最終注文日時」に変更し、計算式を以下のように記述します。
- 「適用」をクリックすると、データペインに新しく「最終注文日時」が作成されます。
- データペインの「order.csv」のディメンションにある「顧客ID」を「行シェルフ」へドラッグ&ドロップします。
※警告がでますが、「すべての要素を追加」を選択します。
-
作成した「最終注文日時」を「行シェルフ」へ右クリックでドラッグ&ドロップします。
-
「フィールドのドロップ」で「最終注文日時(不連続)」を選択します。
顧客ごとの最終注文日時が表示されました。 |
Knock32:最終購入日からの経過日数を算出する
- 「メニュー」から「分析」→「計算フィールドの作成」を選択します。
- 名前を「今日の日付」に変更し、最終注文日からの経過日数を計算するための基準日として「2023年1月1日」を設定します。
- 「適用」をクリックすると、データペインに新しく「今日の日付」が作成されます。
- 同様にして「計算フィールドの作成」を用いて、以下のようにもうひとつ作成します。
- 「適用」をクリックすると、データペインに新しく「最終注文日からの経過日数」が作成されます。
-
作成した「今日の日付」を「行シェルフ」へ右クリックでドラッグ&ドロップします。
-
「フィールドのドロップ」で「今日の日付(不連続)」を選択します。
- 作成した「最終注文日からの経過日数」をマークカードの「テキスト」にドラッグ&ドロップします。
画面は「降順」で並び替えたものです。 |
Knock33:ヒストグラムで経過日数を可視化する
- シートを新しく作成します(シート名は「ヒストグラム(経過日数)」)。
- 「最終注文日からの経過日数」を右クリック→「作成」→「ビン」を選択します。
- 「ビンのサイズ」を「10」に変更します。
- 「OK」をクリックすると、データペインに新しく「最終注文日からの経過日数(ビン)」が作成されます。
- 作成した「最終注文日からの経過日数(ビン)」を「列シェルフ」にドラッグ&ドロップします。
- 「最終注文日からの経過日数」を「行シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」で「カウント(最終注文日からの経過日数)」を選択します。
Frequency(購入頻度)
Knock34:顧客別の購入頻度を算出する
- シートを新しく作成します(シート名は「顧客ごとの購入回数」)。
- データペインの「order.csv」のディメンションにある「顧客ID」を「行シェルフ」にドラッグ&ドロップします。
※警告がでますが、「すべての要素を追加」を選択します。
- データペインの「order.csv」のディメンションにある「注文日時」を「行シェルフ」にドラッグ&ドロップします。
※右クリックして「並べ替え」を選択し、「降順」を選択しておきます。
- データペインの「order.csv」のメジャーにある「order.csv(カウント)」を、マークカードの「テキスト」にドラッグ&ドロップします。
Knock35:ヒストグラムで購入頻度の分布を可視化する
- シートを新しく作成します(シート名は「ヒストグラム(顧客別購入回数)」)。
- データペインの「order.csv」のディメンションにある「注文ID」を右クリック→「作成」→「計算フィールド」を選択します。
- 名前を「顧客別購入回数」に変更し、計算式を以下のように記述します。
- 「適用」をクリックすると、データペインに新しく「顧客別購入回数」が作成されます。
- 次に、作成した「顧客別購入回数」を右クリック→「作成」→「ビン」を選択します。
- 「ビンのサイズ」を「10」に変更します。
- 「OK」をクリックすると、データペインに新しく「顧客別購入回数(ビン)」が作成されます。
- 「顧客別購入回数(ビン)」を右クリック→「連続に変換」を選択します。
- 作成した「顧客別購入回数(ビン)」を「列シェルフ」にドラッグ&ドロップします。
- 「顧客別購入回数」を「行シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」で「カウント(顧客別購入回数)」を選択します。
Knock36:散布図を使ってデータの関係性を可視化する
散布図を使って、最終注文日からの経過日数と購入頻度の関係性を見ていきます。
- シートを新しく作成します(シート名は「散布図」)。
- 「最終注文日数からの経過日数」を「行シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」で「最終注文日数からの経過日数」を選択します。
- 「顧客別購入回数」を「列シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」で「顧客別購入回数」を選択します。
これにて散布図はひとまず表示されました。 |
さらに散布図を加工します。
3. データペインの「order.csv」のディメンションにある「顧客ID」をマークカードの「詳細」にドラッグ&ドロップします。
※警告がでますが、「すべての要素を追加」を選択します。
- Knock27で作成した、メジャーにある「顧客別注文金額」をマークカードの「サイズ」にドラッグ&ドロップします。
購入金額に比例して丸が大きくなっています。 |
最後に「傾向線」を引いていきます。
- 「データペイン」から「アナリティクスペイン」に切り替えます。
- アナリティクスペインの「傾向線」を、「ビュー」にドラッグします。
- ビューにドラッグすると「傾向線の追加」という項目が表示されるので、「線形」の上でドロップします。
傾向線が表示されました。 |
Knock37:散布図の四分位範囲を可視化する
- 「散布図」シートを複製し、シート名を「四分位範囲」に変更します。
- 「行シェルフ」の「最終注文日からの経過日数」を右クリック→「メジャー」→「合計」を選択します。
ビューも少し変化します。 |
- ビューの縦軸の「最終注文日からの経過日数」を右クリック→「軸の編集」を選択します。
- 「スケール」の「反転」を選択します。
まず、最終注文日数からの経過日数(縦軸)の四分位範囲を可視化します。
5. アナリティクスペインの「リファレンスライン」を「ビュー」にドラッグします。
- ビューにドラッグすると「リファレンスラインの追加」という項目が表示されるので、下図のオレンジ部分の上でドロップします。
- 「リファレンス ライン、バンド、またはボックスの編集」が表示されるので、「分布」を選択し、値は「四分位数」、ラベルは「なし」、「対称」にチェックを入れます。
同様にして、顧客別購入回数(横軸)の四分位範囲を可視化します。
8. リファレンスラインをビューにドラッグし、「リファレンスラインの追加」で下図のオレンジ部分の上でドロップします。
- 「リファレンス ライン、バンド、またはボックスの編集」が表示されるので、「分布」を選択し、値は「四分位数」、ラベルは「なし」、「対称」にチェックを入れます。
最後に、顧客別注文金額の四分位数を表示します。
10. 右側にある「合計(顧客別注文金額)」の下の空欄部分を右クリックして、「サマリー」を選択します。
- 「サマリー」の横にある▼マークを押し、「第1四分位数」、「第3四分位数」を選択します。
RFM分析
Knock38:顧客をスコアリングする
Knock37の四分位数を基準に顧客をスコアリングします。
- シートを新しく作成します(シート名は「RFM分析」)。
- メニューから「分析」→「計算フィールドの作成」を選択し、以下3種類の計算フィールドを作成します。
IF [最終注文日からの経過日数] <= 25 THEN "4: 25日≧"
ELSEIF [最終注文日からの経過日数] <= 84 THEN "3: 84日≧"
ELSEIF [最終注文日からの経過日数] <= 304 THEN "2: 304日≧"
ELSEIF [最終注文日からの経過日数] >= 305 THEN "1: 305日≦"
END
IF [顧客別購入回数] >= 10 THEN "4: 10回≦"
ELSEIF [顧客別購入回数] >= 5 THEN "3: 5回≦"
ELSEIF [顧客別購入回数] >= 2 THEN "2: 2回≦"
ELSEIF [顧客別購入回数] = 1 THEN "1: 1回"
END
IF [顧客別注文金額] >= 182185 THEN "4: 182,185円≧"
ELSEIF [顧客別注文金額] >= 91000 THEN "3: 91,000円≧"
ELSEIF [顧客別注文金額] >= 40400 THEN "2: 40,400円≧"
ELSEIF [顧客別注文金額] < 40400 THEN "1: 40,400円≧"
END
- ツールバーのドロップダウンリストから「標準」を「ビュー全体」に変更します。
- 「Recency score」を「行シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」は「Recency score」を選択します。
- 「Frequency score」を「列シェルフ」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」は「Frequency score」を選択します。
- 「Monetary score」をマークカードの「色」と「詳細」にそれぞれ右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」は「Monetary score」を選択します。
- データペインの「顧客ID」をマークカードの「ラベル」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」は「個別のカウント(顧客ID)」を選択します。
完成? |
これでRFM分析の可視化は完了しましたが、文字が小さかったり、四角アイコンが小さかったりとデザインが実用的ではなりません。もう少し使いやすくなる工夫をします。まずは各スコアをビュー上で表示させます。
- マークカードの「サイズ」、「ラベル」で調整します。
調整は各自の判断で調整してみてください。 |
Knock39:優良顧客にフラグ付けを行う
優良顧客を「合計スコアが11以上」であると定義し、該当するものをピックアップしてまとめます。
- スコア合計が11以上となるマークを複数選択します。
- 選択したマーク上で右クリックし、「セットの作成」を選択します。
- 名前を「合計スコア11以上」に変更し、「OK」をクリックします。
- データペインのディメンションに新しく「合計スコア11以上」が作成されたことを確認できます。
- 「合計スコア11以上」を右クリック→「作成」→「計算フィールド」を選択します。
- 名前を「優良顧客フラグ」に変更し、計算式を以下のように記述します。
- データペインのメジャーに新しく「優良顧客フラグ」が作成されたことを確認できます。
- シートを新しく作成します(シート名は「優良顧客フラグ」)。
- データペインの「顧客ID」を「行シェルフ」にドラッグ&ドロップします。
- データペインの「優良顧客フラグ」をマークカードの「テキスト」に右クリックでドラッグ&ドロップします。
- 「フィールドのドロップ」は「優良顧客フラグ」を選択します。
Knock40:優良顧客の基本統計量を確認する
- シートを新しく作成します(シート名は「優良顧客の基本統計量」)。
- データペインの「優良顧客フラグ」を「フィルターシェルフ」にドラッグ&ドロップします。
- 「優良顧客フラグ」を右クリック→「不連続に変換」を選択します。
- 「フィールドのフィルター」で「すべての値」を選択し、「次へ」を選択します。
- 「フィルター」で「1」を選択します。
- Knock26の基本統計量の操作と同様にして、優良顧客の基本統計量を確認します。
メジャーネームのフィルターはこんな感じ |
完成するとこのような表示になると思います。 |
ご協力のほどよろしくお願いします。
Discussion