【Tableau】顧客ごとの初回購入日の算出方法を図解で解説。FIXED関数を使った実務的LOD計算の基本がわかります。

B!

顧客分析を行う上で、「その顧客が最初に購入した日(初回購入日)」を把握することは非常に重要である。

初回購入日をもとに購買行動の変化を追跡すれば、リピート率や顧客育成の分析(コホート分析)に活用できる。

本記事では、Tableauで「顧客ごとの初回購入日」を取得する計算フィールドの作り方を、なるべくわかりやすく解説する。

FIXED関数を使った正確な算出方法を理解すれば、様々な顧客分析に応用できるようになるはずだ。

スポンサーリンク

顧客ごとの初回購入日を算出する方法

顧客ごとの初回購入日を算出する計算フィールドは、比較的簡単に作成できる。

ただし、LOD表現の1つであるFIXED関数の理解が必要だ(後ほど説明する)

今回は、サンプルスーパーストアのデータを使用し、「顧客ごとの初回購入日」を取得したいと思う。

Step1:どのカラムを使用するかを整理する

顧客ごとの初回購入日を取得するには、上記のデータでどのカラム(列の名前→オーダー日や顧客名などのこと)を使用すれば実現できるかを検討する。

どのカラムを使用すべきかを検討する際に、下記のように要素を分解してみると整理しやすい。

  • 初回購入日を顧客ごとに分ける必要があるから、「顧客id」を使用する
  • 購入日はサンプルスーパーストアではオーダー日に該当するから、「オーダー日」を使用する
  • 初回購入日は「オーダー日」の中で最小の日付を取得すればいいから、最小値を取得するMIN関数を使用する
    • 例えば、オーダー日が12月1日と12月2日の2つある場合、最も小さい12月1日を取得する、ということだ

これで、どのデータを使用すればいいかを整理できた。

次に、実際に計算フィールドを使用し、顧客ごとの初回購入日を算出していく。

Step2:計算フィールドの作成

計算フィールドの計算式は下記のようになる。

この計算式の意味としては下記だ。

上記の計算式で使用しているFIXED関数は下記特徴がある。

「どのディメンションでデータをまとめるかを指定し、そのディメンションでデータの粒度を固定する」

今回は、顧客idごとにオーダー日をまとめたいので、FIXED [顧客id] と指定している。

実際に作成した「顧客ごとの初回購入日」を表示してみると下記のようになる。

顧客idごとのオーダー日をそのまま表示したものと比べると違いが分かりやすいと思う。

 

上図左側では通常の「オーダー日」フィールドを行シェルフに入れている。

そのため、各顧客Idごとのオーダー日がすべて表示されている。

一方で、上図右側では顧客ごとの初回購入日の計算フィールドを行シェルフに追加している。

そのため、各顧客Idのオーダー日の中で最も早い日付のみが表示されている。

これが顧客ごとの初回購入日の計算方法だ。

LOD表現を使わない方法
LOD表現を使わずに、下記のようなオーダー日の最小値を取得する計算フィールドを作成し、顧客ごとの初回購入日を表現する方法もある。
下記のようにFIXED関数を使用した「顧客ごとの初回購入日」と表示だけは同じにすることが出来る。
ただし、これだと顧客ごとの初回購入日と2回目購入日の日付差を計算するなどの応用が利かない。
そのため、FIXED関数を使用した顧客ごとの初回購入日の計算方法を覚えておくのがおすすめだ。
スポンサーリンク

まとめ

今回は顧客ごとの初回購入日の計算方法についてご紹介した。

  • 顧客ごとの初回購入日は、リピート分析やコホート分析で重要な指標となる。
  • 計算フィールドでは FIXED [顧客ID] : MIN([オーダー日]) のように FIXED関数を使って粒度を固定する。
  • LOD表現(FIXED)を使うことで、顧客単位での最小オーダー日=初回購入日を正確に算出できる。
  • MIN関数だけで表現する方法もあるが、応用分析にはFIXEDを使う方が便利。

FIXED関数は実務で非常によく使うので、LOD表現の理解と併せて覚えておくとすごく役立つはずだ。

また、日付を操作したり、調整する関数もFIXED関数と併せて覚えておくと、更に応用が利くようになるのでおすすめだ。

他のTableauに関するよくある質問は下記でまとめているので少しでも参考になれば幸いだ。

Tableauよくある質問一覧

最新の記事はこちらから