えいきちのデータ分析

えいきちのデータ分析

データ分析の理解を進めるブログ

〜Tableau〜 【顧客分析】優良顧客の見分け方とは?

f:id:eikichix:20200609081947p:plain


分析するためにはデータが必要ですが、乱雑に置いてあるだけでは何もわかりません。 そのデータを整理するためにこれまでいろんな切り口でデータを確認してきました。 今回はその中で傾向があったフィールドを使用してセグメントを作成していきます。

セグメントとは?

セグメントとは「行動が似ているグループ」だと思っていただければよいかと思います。

キャンペーンを打つにもコストがかかるので、優良顧客になりえそうなセグメントに照準を合わせ、アクションを起こそう! という考え方です。
セグメントの決定はその前準備ですね。


Tableau操作

参考書に沿って操作し、私の見解を含めて説明します。

前準備

セグメントの定義

顧客の来店間隔Q数を表すために作成した「Recency」、顧客の来店頻度を表すために作成した「Frequency」に「顧客区分」を加えた3フィールドを切り口に定義をします。 今まで分析してきた傾向を見て以下条件で分類を定義します。

「Recency」:[0]、[1ー7]、[8以上]
「Frequency」:[1−3]、[4ー10]、[11以上]
「顧客区分」:[大企業]、[小規模事業所]、[大企業]

計算フィールドの作成

セグメントの定義の分類を表現するために「Recency」と「Frequency」の新たな計算フィールドを作成します。



f:id:eikichix:20200607085118p:plain

「R区分」の名称で計算フィールドを作成します。
Recencyは顧客の来店間隔Q数が少ないほど間をあけずに来店している意味になります。
コード内容は
[0]:'HOT'
[1ー7]:'WARM'
[8以上]:'COLD'

と分類して出力する計算フィールドです。例えば'COLD'が表す意味は「2年以上は来店してない顧客」となります。



f:id:eikichix:20200608081033p:plain

次に「F区分」の名称で計算フィールドを作成します。Frequencyは顧客の来店回数を表しています。
コード内容は
[3以下]:'1-3'
[4ー10]:'4-10'
[11以上]:'>=11'

と分類して出力する計算フィールドです。


分析作業

ビュー配置

f:id:eikichix:20200608082120p:plain

「顧客区分」、「F区分」、「R区分」、「顧客数」を複数選択し、「表示形式」>「ハイライト表」を選択します。


「R区分」の並び替え

f:id:eikichix:20200608082423p:plain

ビュー表の「R区分」の表示を見やすくするために'HOT'、'WARM'、'COLD'
の順番に並べ替えをします。
「R区分」右クリック>「既定のプロパティ」>「並び替え」を選択します。 



f:id:eikichix:20200609081330p:plain

並び替えの設定を「手動」に変更します。 そして下枠にて上から「HOT」、「WARM」、「COLD」に並び替えます。

結果

f:id:eikichix:20200609081947p:plain

これでセグメント表示が完成しました。 Amazon CAPTCHA参考書では以下のようにセグメントに名称をつけています。

f:id:eikichix:20200609082457p:plain

育成顧客:来店頻度は少ないが直近に購入実績がある顧客。

ロイヤル顧客:来店間隔、来店頻度共に申し分なし。目標のセグメント

認知回復:来店頻度が上がる前に来店間隔が空いてしまっている。再認知してもらえれば成長するかもしれない顧客

リピート促進:ロイヤル顧客候補だが来店頻度が空いてきていて離反しかけてるかもしれない顧客。

チャーン:離反してしまった顧客


このように顧客をセグメント化すればデータの見方もシンプルですね。


まとめ

今までやってきた分析を元にセグメンテーションを行いました。
セグメントが明確化することで次のアクションをどのセグメントに打つのか、はたまた全セグメントに同じアクションをとって、どのセグメントが反応が良いのか、みたいにセグメントを切ることで次の分析の幅が広がりそう。 

Amazon CAPTCHA参考書では以下の注意が書いてあります。


セグメンテーションは一度きりのプロセスではありません。情勢に合わせて更新し、磨き込むことを前提としています。セグメント定義ができた段階で積極的に関係者と共有しましょう。異なる視野から新しく有効なディメンションを発見できるはずです。

情勢は刻々と変わっていくのでそれに合わせてセグメントもアップデートしなければならないし、まわりと情報共有して気づきを得ようということですね。 


今回はこれで以上です。また次回もよろしくお願いしますー



参考書
Amazon CAPTCHA

〜Tableau〜 【傾向把握データ分析】累計利益TOP10顧客分析 

f:id:eikichix:20200530091818j:plain


アクションを起こすための情報収集は必須。 外部の情報収集には意識はいくのですが、忘れがちなのが身の回りの現状把握。  
今回はキャンペーンを打つための身の回りの情報収集を目的に既存顧客の傾向分析をします。
具体的には累計利益TOP10の顧客を洗い出して、時系列推移を確認したいと思います。 

Tableau操作

参考書に沿って操作し、私の見解を含めて説明します。


分析作業

フィルタ設定

f:id:eikichix:20200530092611p:plain

「顧客Id」フィールドをフィルタシェルフへ設定します。
「上位」を選択して利益の上位TOP10設定をします。

顧客別累計利益推移表作成

f:id:eikichix:20200531103151p:plain

「オーダー日」、「顧客Id」、「利益」のフィールドを複数選択します。
右上の「表示形式」から「線グラフ(不連続)」を選択します。

オーダ日の情報をより細やかにとるために年度Qの時系列で表示することしたいのですが、ここがTableauの一癖あるところで


f:id:eikichix:20200531104402p:plain

列シェルフの「オーダー日」右クリックして四半期(不連続の方)に設定すると


f:id:eikichix:20200531104502p:plain

Q切り口で集計されてしまいます。 これでは年度の時系列が分かりません。
解決するために以下の操作を行います。


f:id:eikichix:20200531103322p:plain

列シェルフの「オーダー日」右クリックして四半期(連続の方)に設定します。


f:id:eikichix:20200531103910p:plain

再度列シェルフの「オーダー日」右クリックして不連続を選択します。


f:id:eikichix:20200531104049p:plain

こうすることで年度Qの切り口が不連続で完成します。 まわりくどい設定をしなければここにたどり着けません。。


f:id:eikichix:20200531105053p:plain

行シェルフの「利益」フィールドを右クリックします。
「簡易表計算」>「累計」を選択します。


f:id:eikichix:20200531105149p:plain

注釈をつけます。これは復習がてら私がやったことなのでやらなくても良いです。
任意のグラフを右クリックします。
「注釈を付ける」>「マーク」を選択します。


f:id:eikichix:20200531105222p:plain

「OK」を押下します。


f:id:eikichix:20200531105312p:plain

20194Qでランクが1位、2位の人に注釈を付けると上記の図になります。
一旦まとめると、今表示されているのが顧客別の累計利益推移表です。10本の線は顧客を表しています。データに存在する最新日時点での累計利益のTOP10の顧客です。


顧客別累計利益ランク推移表作成

合わせて累計利益ランクの推移表も作成します。


f:id:eikichix:20200531105431p:plain

行シェルフの「利益」をコピペして同じ行シェルフへ設定します。
コピペした「利益」を右クリック>「表計算の編集」を選択します。


f:id:eikichix:20200531105540p:plain

左下の「セカンダリ計算の追加」にチェックを入れます。
セカンダリ計算タイプの設定を変更します。(上記画像ご参考下さい。) 累計利益を使用して顧客idのランク(順位)を表示する設定です。


f:id:eikichix:20200531105724p:plain

新しく作成した折れ線グラフの縦軸を右クリックして「軸の編集」を選択します。


f:id:eikichix:20200531105833p:plain

「反転」にチェックを入れます。
グラフ表示を上から順位順に並べるためです。


f:id:eikichix:20200531110314p:plain

ランク推移のために作成した列シェルフの「利益」をコピーしてマークシェルフの「ラベル」に設定します。 そうすることで年度Q時の順位表示をすることができます。
これで累計利益TOP10の利益額と順位の推移グラフが完成しました。


考察

1位、2位の人にフォーカスすると、1位の方は離反することなく着実に利益を重ねている顧客です。 2位の方は一度離反しているのがグラフから読み取れると思います。最近利益が出るものをたくさん購入したことが分かりますよね。 この結果から1位、2位では顧客の性質が異なりそうです。 このそれぞれの性質にあったキャンペーンを考えるとダブルの成果が出る可能性がありますね。


番外編 〜ページ設定の使用〜

f:id:eikichix:20200601083638p:plain

目的はこれで達成ですが、Tableauの機能の一つとしてページ設定をしたいと思います。 これをすることで時系列推移をアニメーション表示することができます。


マークシェルフの設定

f:id:eikichix:20200601083906p:plain

すべてのプルダウンから「丸」を選択します。
(表示が見にくいので注記は削除しました)


f:id:eikichix:20200601084905p:plain

「顧客Id」フィールドをラベル設定にコピペします。「利益」フィールドが設定されている上にフィールドを落とせばOKです。

ページシェルフの設定

f:id:eikichix:20200601085558p:plain

ページシェルフに「四半期(オーダー日)」フィールドをコピペします。


f:id:eikichix:20200601085726p:plain

右側にページ設定表示が現れるので「履歴の表示」にチェックを入れてプルダウンを開き、上記の設定に変更します。


f:id:eikichix:20200601090300p:plain

右三角を押下するとアニメーション表示されます。


f:id:eikichix:20200601090427p:plain

f:id:eikichix:20200601090445p:plain

f:id:eikichix:20200601090458p:plain


これで完成です。

静止画に比べてアニメーションの方が人へインパクトを与えやすいのでプレゼンで使用すると良い思います。
まあこんな設定あったなーと頭の片隅においておけばよいかと。


今回はこれで以上です。また次回もよろしくお願いしますー



参考書
Amazon CAPTCHA

〜Tableau〜 【スキルUP】RFM分析からの要因分析 〜二重軸の注意〜

f:id:eikichix:20200520074819j:plain



今回はRFM分析を行なった際に傾向が出た部分の要因分析をしたいと思います。



前にRFM分析で「利益×Frequency分析」を行なった際に

来店回数が少ないと利益小の品物を購入している傾向がある
来店回数が7回以上になると利益大の品物も購入している傾向がある

と考察しました。

その時のブログ。
eikichix.hatenablog.com

その傾向、要因を深ぼって分析したいと思います。


スコープ設定

来店回数(Frequency)が5、6の顧客要因分析を行います。
理由は

  • 来店回数の割合が大きい(5:126人、6:140人)
  • 利益百分位が9、10(赤字)の割合が多い

2点です。


上記条件で利益百分位ごとの顧客単価の傾向を確認したいと思います。

Tableau操作

参考書に沿って操作し、私の見解を含めて説明します。


前準備1

ワークシートの複製

前回作成した利益×Frequency分析のワークシートを複製して顧客区分を行から外します。
f:id:eikichix:20200516092930p:plain


フィルタ設定

Frequency5、6のみ表示させる為にフィルタをかけます。
ここで新しいフィルタ設定方法を発見したのでメモ。

ビュー表示内の5、6を複数選択して「保持」を選択。
f:id:eikichix:20200516093103p:plain



完了。 フィルタシェルフにも自動的にフィールドが入ってる。
f:id:eikichix:20200516093301p:plain

Tableauって結果に対してのアプローチがいっぱいあるから良き。(自分好みの設定方法が選択できるので)


計算フィールドの作成

顧客単価を調べるための計算フィールドを作成します。
f:id:eikichix:20200516094219p:plain

分子は売上の合計で分析は顧客数です。
ちなみに「顧客数(COUNTD)」は既に計算フィールドです。集計となっているのでSUMが不要なのです。


分析作業1

利益と顧客単価の傾向を確認します。
列:利益百分率
行:顧客単価
マーク設定:棒グラフ

にします。
f:id:eikichix:20200516095041p:plain


中間結果/考察

考察1 顧客単価推移が良好(1−8範囲)

顧客単価が高い順番で利益ランクが並んでいることがわかる。利益になる品物を多く購入していることを意味するので良い傾向。

考察2 利益ランク9、10の顧客単価上昇傾向

利益ランク8を境に9、10と顧客単価が増えているのが分かる。ランク9、10は赤字なので課題であるので、ここをさらに深ぼっていくことにします。

次のアプローチは顧客単価と割引率の関係を確認することにします。


前準備2

平均割引額計算フィールドの作成

以下の計算フィールドを作成します。
f:id:eikichix:20200517082418p:plain

[売上]は割引後の金額なので割り戻して定価を算出します。
例えば、x円(定価)の品物を30%([割引率])で70円([売上])で販売したとします。 この時の式は
f:id:eikichix:20200517083601p:plain

です。よってxは
f:id:eikichix:20200517084140p:plain

です。 青字箇所が計算フィールドSUM内の前半項になります。
そこから[売上](割引後の金額)を引くことで割引金額を出力しています。

ちなみに計算フィールドにあるZNはNULLの場合は0を返す関数です。TableauではNULLは計算できず、そのレコードが無視されて集計されるのでそれを防いでいます。 実際にデータを見てみると割引率にNULLはないようなので、今回は入れても入れなくてもどちらでも良いです。


分析作業2

利益と顧客単価の傾向を確認します。
ビューに以下を配置します。
列:利益百分率
行:顧客単価、平均割引率

f:id:eikichix:20200518080444p:plain


これでも良いですが見やすくするために二重軸で表します。
行に配置した「平均割引率」フィールドを右クリックして「二重軸」を選択。
f:id:eikichix:20200518080555p:plain

f:id:eikichix:20200518080719p:plain

「平均割引率」棒グラフの幅を調整する為に「マーク」>「サイズ」の設定を変更。 棒グラフ幅が同じで後方の棒グラフ(今回は顧客単価)が見えないためです。
f:id:eikichix:20200518081107p:plain


結果/考察

グラフの表示は以下になりました。
f:id:eikichix:20200518081129p:plain


考察1 割引率の推移(1ー8範囲)

「平均割引率」の傾向は「顧客単価」の傾向と逆で昇順に並ぶのではないか
と予想していたが結果はそうではなかったです。
しかし、綺麗には並ばないにしても右肩上がりの傾向は見える。 割引率を増額すれば顧客も反応して購入するので売上は上がるがその結果、「顧客単価」は下がることが見えます。

考察2 利益ランク9、10の平均割引率

他と比べて飛び抜けて「平均割引率」が大きい。それによって顧客が大量に購入されることで「顧客単価」が大きくなっていると推測できる。
ただ、利益ランクが8の割引率までであれば同じ状況でも「顧客単価」が下がる結果から、ここに割引率設定のラインがあると推測。

利益ランク9にあたる割引率を設定してしまうと、赤字商品を多く売れてしまうので、これを基準として割引率を設定する必要がありますね。


番外編 〜二重軸の注意〜

軸同期

「平均割引率」の縦軸を右クリックして「軸の同期」を選択します。
f:id:eikichix:20200518082653p:plain

f:id:eikichix:20200518082752p:plain

この設定をすることで「顧客単価」の縦軸と同期されて表示されます。

ここで伝えたかったのは見え方の違い。
軸同期前と比べて「平均割引率」の差がそこまで気にならなくなったのではないでしょうか。(傾向は見やすくなった。)
二重軸表現は2つの縦軸のスケールが異なると誇張した結果に見えやすいです。 メディアではあえてこのような表現をしているものがありますよね。
目的に応じて使い分けなければならないので注意が必要です。


まとめ

前回行なったRFM分析からの要因分析を行いました。
深ぼっていくとより具体的な面が見えるので分かりやすくて面白い。
ただ、やりすぎても狭い視野の中での分析になってしまうので、定期的に抽象的な分析に戻って傾向を確かめなければならないのかなと感じました。

ではまた次回もよろしくお願いしますー



参考書
Amazon CAPTCHA

〜Tableau〜 【現代の必須スキル】コホート分析を学ぼう!

f:id:eikichix:20200509085527j:plain



今回はコホート分析をTableauでやってみたいと思います!
前回まではRFM分析を行っておりました。もしご興味があれば以下をご参照下さい!
eikichix.hatenablog.com

コホート分析(cohort analysis)とは?

直訳すると「同世代分析」。データをある属性でまとめて分析する手法のことです。
今回は各々の属性を時系列推移で表したものを比較分析したいと思います。
具体的には初回注文時期ごとの顧客定着を時系列で表現します。

Tableau操作

参考書に沿って操作し、私の見解を含めて説明します。


前準備

「初回注文日」計算フィールド

f:id:eikichix:20200509092426p:plain

顧客ID毎の初回注文日を表したいので、顧客IDをFIXED関数の初項におき、MIN関数でオーダ日を指定しています。 ある顧客IDの一番値が小さいオーダ日=一番古いオーダ日=初回注文日 というロジックです。

「3Q後顧客維持率計算」フィールド

f:id:eikichix:20200509093357p:plain

顧客を初回注文したQ単位で括って表示するためのフィールドです。

[初回注文日からの経過時間]は前回作成したものですが少しおさらいをすると
分析単位を「year, quarter, month, day」で変更できるパラメータです。

データペイン内のディメンション横にある「▼」>「パラメータの作成...」
f:id:eikichix:20200509094206p:plain

設定内容は以下ご参照下さい。
f:id:eikichix:20200509094357p:plain

IIFの条件の「ATTR([初回注文日からの経過時間])=3」とは、初回注文日からの経過時間をquarterで設定しているとすると「初回注文日から3Q経過した顧客」に絞って表示することになります。
3の部分を変えることで2Q経過や4Q経過の表示も可能です。

分析作業

フィールド配置

フィールドを以下のように配置します。
※オーダ日と初回注文日は「四半期」かつ連続設定で配置します。
f:id:eikichix:20200509100202p:plain

連続設定は列配置フィールドの「▼」から以下のように設定します。
f:id:eikichix:20200509100411p:plain


表計算による割合集計

行シェルフの「顧客数(COUNTD)▼」>「簡易表計算」>「表計算の追加」を選択します。
f:id:eikichix:20200510090034p:plain

表設定は以下のように。
f:id:eikichix:20200510090956p:plain
四半期(オーダ日)の切り口での最初の値(=初回注文日の顧客数)を分母にして割合を出す設定です。分子は各々のオーダ日の顧客数になります。

ちなみに参考書では「次を使用して計算」で「特定のディメンション」を選択していますが今回は特定にしなくてもよいと判断しました。列シェルフには「四半期(オーダ日)」しか存在しないので。


色設定

見やすくするために色設定を行います。
マークシェルフの「色」>「色の編集」から以下のように設定をします。ここは見やすければよいのでご自由に設定でもOKです。
f:id:eikichix:20200510092250p:plain
f:id:eikichix:20200510092538p:plain


3Q後顧客維持率の設定

前準備で作成した「3Q後顧客維持率」を行シェルフへ配置します。
ここで見やすくするための設定を加えます。
※3Q後顧客維持率のマークシェルフへ設定して下さい。
1.「四半期(初回注文日)」をラベルに配置
2.「3Q後顧客維持率」をラベルに配置
3.棒グラフ設定
4.サイズ設定で棒グラフの幅を調整

f:id:eikichix:20200510094012p:plain


顧客数をサイズで表現

最後に顧客数をサイズへ設定します。
※集計顧客数(COUNTD)のマークシェルフへ設定して下さい。
f:id:eikichix:20200510094620p:plain


結果/考察

グラフの表示は以下になりました。
f:id:eikichix:20200510094337p:plain


考察1 新規顧客数の下降トレンド

100%ライン上の折れ線のサイズがQ経過につれて細くなっている。折れ線は初回注文Q毎に表示されていることより、新規顧客数が減少していることが分かる。 対策を打てば売上/利益拡大の足掛かりになるかもしれない。

考察2 顧客維持率の上昇トレンド

折れ線全体を見るとQ経過につれて上昇トレンドになっている。これは顧客が戻ってきていることを表している。イベントを増やして対策した結果が現れているのであれば効果が出ていることが見て取れるので今後も継続すべきとの意思決定判断材料となる。


番外編

棒グラフ存在意義問題

3Qに絞って表現した棒グラフですが、上記の折れ線グラフで分析ができてしまったので存在意義にクエスチョンが出てしまいました。
f:id:eikichix:20200510100413p:plain

存在意義として3Qのみの顧客維持率が見やすいでは弱いと感じたので、Qを動的にパラメータで設定できるようにしようと思います。


経過時間パラメータ作成

動的な数値設定をするためにパラメータを以下の設定で作成します。
f:id:eikichix:20200510100939p:plain


3Q後顧客維持率計算をコピーして内容変更

別フィールド作成のため、「3Q後顧客維持率」を複製して以下のように編集します。
f:id:eikichix:20200510101141p:plain
具体的には「3」の部分を「[経過時間]」に変更しただけです。この「[経過時間]」がパラメータ数値で設定できるようになるわけです。

フィールド配置

以下のように
1.「顧客維持率(可変)」を行シェルフに配置(既存フィールドと入替)
2.「顧客維持率(可変)」をラベルに配置(既存フィールドと入替)
3.「経過時間」を「パラメーターコントロールの表示」設定
f:id:eikichix:20200510102750p:plain

結果

右下に表示されたダイアルを変更することで経過Qを操作し、各々で棒グラフを動的に変更できるようになりました。

4Q経過表示
f:id:eikichix:20200510101714p:plain

7Q経過表示
f:id:eikichix:20200510103201p:plain



まとめ

今回はコホート分析でした。
自分なりの解釈と工夫をすると記憶にも残るし、ええ感じです。 引き続き勉強していきたいと思います。
皆さんへの情報提供の援助にもなれば幸いです。




参考書
https://www.amazon.co.jp/Tableau%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E5%85%A5%E9%96%80%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%81%BE%E3%81%A7-%E7%AC%AC2%E7%89%88-%E5%B0%8F%E9%87%8E-%E6%B3%B0%E8%BC%94/dp/4798059838

〜Tableau〜 【実践スキル】顧客分析をTableauでやってみよう3

f:id:eikichix:20200506095205j:plain

前回の続きですー
前回のブログはこちら
eikichix.hatenablog.com
eikichix.hatenablog.com

上記1、2では分析を行うための事前準備でした。
今回は事前準備で作成した計算フィールドを使用して分析をしていきます。

〜さくっとおさらい〜RFM分析とは?

RFMは3つの頭文字をまとめたもの

1. Recency

顧客が物を購入した最終注文日

2.Frequency

顧客が物を購入する頻度

3.Monetary

顧客が購入した金額

頭スペルを取ってRFM分析。
顧客が何を買ったかには注目せずに上記3つに絞って分析することがポイント。


Tableau操作

こちらも前回同様参考書に沿って操作し、私なりのアレンジを加えています。


分析

売上×利益分析

f:id:eikichix:20200504092823p:plain
前回作成した「利益百分位」と「売上百分位」のフィールドをハイライト表形式で表示。百分位は両方とも降順設定なので値が若い方が良い傾向(売上額高・利益額高)
ここから利益百分位のどこからが赤字になるのかをデータのばらつきを評価するために分析することに。
フィルタに「黒字顧客判定」フィールドを配置して、フィルターをかける。

黒字顧客判定計算式
f:id:eikichix:20200505085520p:plain

結果
f:id:eikichix:20200505085617p:plain

利益百分位が9以下であれば赤字であることがわかる。
となると8割の売上は黒字なので売上×利益での分析結果は良好なのではないかと。


Monetary×Recency分析

f:id:eikichix:20200505085917p:plain

Recencyは最新来店日から分析日(今回は2019/12/31と設定)の差をとり、Q単位で区切ったフィールド。
Monetaryは売上のことでそれを100000単位で区切ったフィールド。
1Q内に来客している顧客が5割を超えているのでこちらも良好なのではないかと。

ここで全体の売上割合と利益が気になり、上記ワークシートをベースに以下を作成しました。
f:id:eikichix:20200505092342p:plain

〜追加内容〜
1.ラベルに売上を追加
総計の割合が知りたかったので、売上をラベルに追加。表計算で「合計に対する割合」を選択。↓(各セルにも割合が表示されてしまい、美しくないが今回はこれでよしとする。)
f:id:eikichix:20200505092919p:plain



2.色設定を「利益」フィールドへ変更
利益で色分けできるように変更。赤字か黒字か2パターンで良いので色設定を変更↓
f:id:eikichix:20200505093246p:plain

離反基準を2Qとした場合、離反客ではない顧客は売上も利益も問題無し。
赤字のセルも少なく、額も全体利益に対して少ないと思う。


利益×Frequency分析

f:id:eikichix:20200506090554p:plain

Frequencyの計算フィールド
f:id:eikichix:20200506084446p:plain

顧客の粒度で来店回数を来店日のカウントで表現したフィールドで、同顧客が同日に2回来店しても1回とみなすロジックです。

共通の傾向は来店回数が浅い(1−6回)は利益小の品物を購入しているように見える。7回以降になるとそれが慣らされている。
セール品に反応した顧客がその商品のみを購入するので利益小となるが、7回以上になると、セール品以外(利益大)も併せて購入してくれるようになるということかなと推察。 なので来店7回以上を目標として戦略を立てると利益が上がるかも。

初回注文日×Recency、初回注文日×顧客区分

f:id:eikichix:20200506092648p:plain

初回注文日の計算フィールド
f:id:eikichix:20200506092452p:plain

顧客の粒度でオーダ日のMINを取ることで顧客毎の初回注文日を出して列シェルフに配置。Recencyを色に配置して割合も表示

新規顧客が年を重ねる毎に減少しており、今の売上、利益は既存顧客に依存していることがはっきり分かる。


分析結果のまとめ

1.全体の売上・利益は良好
2.既存顧客の来店頻度と売上・利益の関係も良好
3.利益を確保するには顧客の来店日数を7回以上を目指す
4.現在の経営状況は既存顧客に依存しすぎているので新規顧客戦略が必要

ということが分かりました。


全体まとめ

今回はRFM分析結果をまとめました。

いやー勉強になった。 RFMで絞ってこのボリュームなのだから、絞って分析しないと発散してしまうんだろうなー。
次は別の分析方法にチャレンジしたいと思います。

ではまたー。



参考書
https://www.amazon.co.jp/Tableau%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E5%85%A5%E9%96%80%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%81%BE%E3%81%A7-%E7%AC%AC2%E7%89%88-%E5%B0%8F%E9%87%8E-%E6%B3%B0%E8%BC%94/dp/4798059838

〜Tableau〜 【実践スキル】顧客分析をTableauでやってみよう2

f:id:eikichix:20200501083527j:plain

前回の続きで進めていこうと思いますー
前回のブログはこちら
eikichix.hatenablog.com

〜さくっとおさらい〜RFM分析とは?

RFMは3つの頭文字をまとめたもの

1. Recency

顧客が物を購入した最終注文日

2.Frequency

顧客が物を購入する頻度

3.Monetary

顧客が購入した金額

頭スペルを取ってRFM分析。
顧客が何を買ったかには注目せずに上記3つに絞って分析することがポイント。


Tableau操作

前回同様参考書に沿って操作します。

個人的に理解したいところや、つまづいたところを以下にメモ。

前準備

パラメータとDATEDIFF関数のコラボ

柔軟性があると感じたのでメモ。
DATEDIFF関数では初項で表示単位を指定する必要がある。(day, month, quarter, year)
パラメータ設定をしておけば、わざわざコーディングを変更せずとも表示単位を変更することができるので便利。 
f:id:eikichix:20200501084408p:plain
f:id:eikichix:20200501084647p:plain


顧客別都道府県数の理解

やっていることが理解しきれなかったのでまとめます。
本目的は「都道府県ディメンションが顧客の居住地として扱えるか否か」
参考書では計算パラメータとして以下を作成。 切り口を顧客idで固定した時の都道府県をユニークにカウント。
f:id:eikichix:20200501090626p:plain

メジャーを顧客数で置いてグラフ作成した結果がこちら。
f:id:eikichix:20200501091344p:plain

列が「1」のみで構成されていれば、1顧客に1都道府県が紐づいており、そこが居住地となるが、1顧客に対して複数の都道府県が紐づいている。(1:Nの関係)
参考書はここまでだが、違う視点からも見てみたかったので、都道府県(COUNTD)計算フィールドで作成。都道府県、顧客IDを切り口に内容確認することにしました。
f:id:eikichix:20200501092020p:plain
f:id:eikichix:20200501092106p:plain

顧客IDに紐づいている都道府県を丸で表しています。
1顧客について複数県紐づいているのが分かる。引越しをしてから同会社の別店舗で買い物しているということになるのかな(そう考えると皆んなめっちゃ引越ししてる。) これで理解。

居住地都道府県(行)計算フィールドの理解(とLODの理解)

演習の中で以下の計算フィールドの作成があった。
f:id:eikichix:20200502093329p:plain

条件式の2項目の状況がありえるのか確認をしてみることにした。
最新オーダー日計算フィールドを作成して表示確認から。
オーダidの最終行が最新オーダIDに入っている。
※フィルターで顧客idを絞って表示
f:id:eikichix:20200502093522p:plain
f:id:eikichix:20200502094028p:plain

上記からオーダーIDピルを抜いて、代わりに都道府県を入れれば確認できると思ったけど、あれ??
f:id:eikichix:20200502094941p:plain

1つの最新オーダIDに複数の都道府県が紐づいていることになっている。
これって顧客IDに紐づいている都道府県と同じではないかと思い、最新オーダIDを抜いて確認。
f:id:eikichix:20200502095146p:plain

うん、同じ。
ということは
1.計算フィールド
2.計算フィールド内でLODを使用したフィールド

上記どちらかを行や列に配置して後ろにフィールドを配置してもこの切り口は無視されて表示される。

どちらか突き止めたいので、以下の計算フィールドを作成(LOD無)
f:id:eikichix:20200502100546p:plain

都道府県が兵庫県出ないと表示されない計算フィールド。
これを表示させる。
f:id:eikichix:20200502101838p:plain

NULLと兵庫県都道府県が分けられて表示されている。ので理想通り。
なので結論は

計算フィールド内でLODを使用したフィールドを行や列に配置し、後ろにフィールドを配置しても、この切り口は無視されて表示される。

の理解が正しそう。

話がかなりそれました。
本題に戻って、条件式の2項目の状況がありえるのかの確認をしたい。
f:id:eikichix:20200502093329p:plain

別のやり方を再考。
上記の計算フィールドを以下に変更。
f:id:eikichix:20200502104541p:plain

第2項目をコメント化して第一項のみの条件としました。さらに以下の計算フィールドを作成。
f:id:eikichix:20200502104735p:plain

これをビューに以下内容でフィールド配置して表示確認。
f:id:eikichix:20200502104831p:plain

これで全てが1であれば良いが2以上のものがあるか否かをフィルターかけて確認。 今テキストに置いているフィールドをコピーしてフィルタへ配置。
f:id:eikichix:20200502105011p:plain

重複数が分からないのでとりあえず値の範囲を5に設定してフィルタ表示。
表示フィルタにて値を2にしてみると
f:id:eikichix:20200502105212p:plain

いました。これを分解してみる。
この顧客IDでフィルタしたいので以下のようにセットを作成。
f:id:eikichix:20200502105425p:plain

COUNTDのフィルタと入れ替えて、以下の条件で分割
f:id:eikichix:20200502105851p:plain

オーダ最新日に異なる都道府県で購入されていることがこれで理解。
Tableau標準ロジックでは行IDが若い値が居住都道府県で表示されているよう。
なので以下の第2項目は必要である。
f:id:eikichix:20200502093329p:plain

やっと理解。。。

まとめ

今回はほとんど居住地都道府県の中身の内容となりました。
内容考察しながらやることで、進み具合は遅いものの本来の目的の知識や技術が蓄積されてくので何も考えずに進めるより有意義な内容だと思っています。 あくまで知識、技術をつけることが目的であることを忘れずに進めたいなと。
皆さんのご援助にもなれば幸いです。

参考書
https://www.amazon.co.jp/Tableau%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E5%85%A5%E9%96%80%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%81%BE%E3%81%A7-%E7%AC%AC2%E7%89%88-%E5%B0%8F%E9%87%8E-%E6%B3%B0%E8%BC%94/dp/4798059838

〜Tableau〜 【実践スキル】顧客分析をTableauでやってみよう1

f:id:eikichix:20200425184225j:plain

今回は顧客分析手法の1つRFM分析を行いたいと思います。

RFM分析とは?

RFMは3つの頭文字をまとめたもの

1. Recency

顧客が物を購入した最終注文日

2.Frequency

顧客が物を購入する頻度

3.Monetary

顧客が購入した金額

この3つの頭スペルを取ってRFM分析と名付けられています。
この分析の場合は顧客が何を買ったかには注目せずに上記3つに絞って分析することがポイント。
注文最終日からの経過日数で離反傾向を把握したり、購入頻度や売上の大小で全体のインパクトを評価することが可能です。


Tableau操作

基本は参考書に沿って操作します。



個人的に理解したいところや、つまづいたところを以下にメモ。

前準備

DATEDIFFのエラー

基準日を固定化するために参考書ではわざわざパラメータ作成を行なっていたので疑問に思い、DATEDIFFに文字列を入れてみたらダメでした。 パラメータ等のペイン要素で日付時刻を入れなければならない仕様でした。
f:id:eikichix:20200430102316p:plain

DATETRUNC関数

初使用なのでメモ。基準に基づいて切り捨てた新しい日付を返す変数。
f:id:eikichix:20200430102942p:plain


分析作業

ディメンジョン変換(Recency & Frequency)

Recencyをディメンジョン変換します。
購入回数の切り口で分析するためだと理解。
f:id:eikichix:20200430103652p:plain
f:id:eikichix:20200430103846p:plain

Frequencyも同様。
f:id:eikichix:20200430104007p:plain


ディメンション変換と箱ひげ図(Monetary)

Monetaryは箱ひげ図の利用が勉強になったので少し詳しめに。
Monetaryは上記2つとは異なり、ディメンション変換後に連続データとして意味があるものなので連続値として配置。
f:id:eikichix:20200430105104p:plain

結果
f:id:eikichix:20200430105218p:plain

参考書と棒グラフの幅が異なることで違和感がある方はマークシェルフのサイズで選択できます。
f:id:eikichix:20200430105324p:plain

売上は顧客毎にばらつきが大きいので全部含めると誤ったインサイトとなりそう。(外れ値の脅威)ここで箱ひけ図の登場。
アナリティクスから箱ひげ図をドラッグアンドドロップすると出現。
f:id:eikichix:20200430110014p:plain

この上部ヒンジ(第一四分位数)から下部ヒンジ(第三四分位数)の範囲にデータが集まっていることを示しているのでこれを基準にグループ化すれば良さそう。箱ひげ図がすぐに作れるのは本当に便利。


四分位数と中央値

アナリティクスの中に四分位数と中央値との表示があったので何が違うのか配置してみた
f:id:eikichix:20200430110709p:plain

箱ひげ図のひげがないバージョン。
うん。箱ひげ図がよいです。


その範囲をもとにグループ範囲を確認するためのパラメータ(Monetary区分)と計算フィールドを作成して配置。Monetary区分は100,000で設定しました。
f:id:eikichix:20200430113735p:plain


まとめ

今回はDATATRUNC関数と箱ひげ図の使用方法にフォーカスを当てました。
次回も引き続きRFM分析を進めてきます。
それではー

参考書
https://www.amazon.co.jp/Tableau%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E5%85%A5%E9%96%80%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%81%BE%E3%81%A7-%E7%AC%AC2%E7%89%88-%E5%B0%8F%E9%87%8E-%E6%B3%B0%E8%BC%94/dp/4798059838