見出し画像

Alteryxでパレート分析をしてみた

Alteryxを使い始めて、早くも半年経ちました。Alteryxを使っていると、データを扱うことへのロジカルで科学的なアプローチが身についてきます。(そんな気がしてます。)「コレの次はソレ」「ソレの次はアレ」のように、ひとつひとつの分析のプロセスを、ロジカルに順序立てて、ワークフローとして組み立てるからだと勝手に思っています。データの中がどんな内容になっているのかを知らない状態で分析を開始する時に、分析にも段階があるなとよく感じます。Gartnerが4段階に分類して説明している分析の成熟度が分かりやすいです。コレがその4つです:

画像2

 •  記述的分析(Descriptive Analysis):何が起こったのか?
 •  診断的分析(Diagnostic Analytics):なぜ起こったのか?
 •  予測的分析(Predictive Analytics):何が起こるのか?
 •  処方的分析(Prescriptive Analytics):どのように実現するか?

以前は診断的分析に含まれるであろうルールを理解するためのバスケット分析をしたり、色々とすっ飛ばして生存分析という予測的分析をしてみた時の記事書きましたが、「記述的分析を手を抜いてはいけない」「起こったことを理解した上で、そこから新たな質問が生まれる」「質問があると、その質問を答えを見つけていくことで分析の成熟度が上がる」と思います。なので、今回の記事ではいろんな業界、組織、組織の中でもいろんな機能(部門)で実践される「パレート分析」をしてみたいと思います。

パレート分析とは

「そもそも、パレート分析って何?」という方に向けて書いているので、「そのくらい知ってるよ(ドヤァ)」という方はここでおしまいです!(笑)今更聞けない、という方に噛み砕いて、ゆる〜く説明します。パレート分析、パレートの法則、パレート図とかってよく聞きますが、おなじみの一言で雑な説明をすると、「全体を見渡した時に、重要な要素を理解すること」と思ってます。ただ、ちょっと雑すぎる説明なので、「8:2の法則」を理解すると分かりやすいかな、と思います。8:2の法則はいろんな場面で、いろんな事象を説明する法則ですが、Wikipediaに書いてある例が分かりやすいです(笑)

•  ビジネスにおいて、売上の8割は全顧客の2割が生み出している。よって売上を伸ばすには顧客全員を対象としたサービスを行うよりも、2割の顧客に的を絞ったサービスを行うほうが効率的である。
•  商品の売上の8割は、全商品銘柄のうちの2割で生み出している。→ロングテール
•  売上の8割は、全従業員のうちの2割で生み出している。
•  仕事の成果の8割は、費やした時間全体のうちの2割の時間で生み出している。
•  故障の8割は、全部品のうち2割に原因がある。
•  住民税の8割は、全住民のうち2割の富裕層が担っている。
•  プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める。
•  全体の20%が優れた設計ならば実用上80%の状況で優れた能力を発揮する。
 
(参考:Wikipedia パレートの法則 )

今回はわかりやすくかつ実践的な、Wikipediaのひとつ目の例にあるトップ2割の顧客が全体の8割の売上を作っているかを、Alteryxでワークフローを作って見ていこうと思います。(導入が長くなり過ぎましたスミマセン)

ワークフローを作る

ワークフローを結果から見て、重要な段階だけまとめていこうと思います。以下は全体のワークフローで、①〜⑤の5つの重要なプロセスを紹介していきます。

画像8

今回作成したワークフローは ここ に置いてあります。記事を読みながらAlteryxをいじっていただいてもいいかもです。

①顧客ごとの売上を集計する
使っているサンプルデータは、トランザクションデータなので、顧客ひとりでも複数回購入していたり、購入金額も違います。今回は、顧客単位で分析して、8割の売上を上げている2割の顧客、つまり優良顧客を特定していきたいので、顧客IDごとで集計していきます。集計には、文字通り「集計」ツールを使っていきます。「集計」ツールを選択肢た状態で、左に表示される設定パネルで設定することは2つ:

•  「Customer_ID(顧客最小単位のユニークID)」を選択し、「追加」をクリックし、「グループ化」を選択
•  「Sales」(売上の金額を示す数値データ)を選択し、「追加」をクリックし、「合計」を選択

設定が以下のようになっていればOKです。

画像4

② 売上が多い顧客から降順に並べる
次は、売上が多い顧客から順に降順に並べます。これも至ってシンプルで、並べ替えには文字通り「ソート」ツールを使っていきます。①で作った売上の合計値(サンプルだとSum_Sales)を選択し、「降順」を選択してあげればOKです。設定パネルが以下のようになっていればOKです。

画像5

③ 全体の売上を算出する
次は、顧客ごとの全体の売上に対する割合、つまりお客さんひとりひとりが全体の売上にどれだけ貢献しているかを算出します。そのために、まずは全体の売上を数値として算出します。

「集計」ツールでグループ化せず、売上の合計をさらに合計して総売上を算出します。この値は割合を算出する④で使うので、新しいカラムとして追加し、すべての行に数値を入れていきます。これはカラム、つまりフィールドとして追加するので「フィールド付加」ツールを使用します。「集計」ツールに「フィールド付加」ツールを繋げたら、「生成されるレコードが多すぎる場合の警告・エラー」のプルダウン項目で「すべての付加を許可」を選択したらOKです。

画像6

④ 顧客ひとりひとりの売上の全体に対しての割合
ここで、顧客それぞれの売上の値を全体の売上の値で割ることで割合を算出します。計算式は簡単に書くと、①÷③です。これを「フォーミュラ」ツールを繋げて設定してあげます。計算式は以下のようになっています。直接タイプしてもいいですし、青い [ x ]、[ fx ] のボタンをクリックしてフィールドや式などを選択してもOKです。パーセンテージで値を使いたいので、最後の100だけはタイプしてください(笑)そして、この式は数値データとして使いたいので、データ型を一番詳細な数値データの「Double」で設定してください。

画像7

⑤降順に並んでいる顧客の売上の割合を積み上げていく
データは、売上と売上の全体に対しての割合、共に降順に並んでいますが、これが上から下にデータを足し上げて行って、累計の値が最後100%のようになるよう計算していきます。そこで、またも文字通り「累計」ツールを使います。設定は非常に簡単で、④で作成した全体に大しての割合(% of Total Sales)にチェックすればOKです。

画像8

これでデータを準備するプロセスはおしまいです。ただ、データを理解するには可視化した方がわかりやすいですよね。なので、次は可視化してみます。

可視化する

一度ロジックを理解したり、構築してしまえばAlteryxで分析に必要なプロセスを自動化できますが、最初の分析の段階では可視化することによって理解しやすくなります。私は集計表を見るよりも、可視化した方がわかりやすいです。Alteryxで可視化してみようと思いますが、「レポート」タブにある、「インタラクティブチャート」ツールを使います。今回作ったワークフローだと、並べ替えをすることで、どう見せていくかを指定しています。(売上の降順)こういった思考のプロセスをフローにして、自動化できるのがAlteryxを使う利点かもしれません。チャートを見ると、このデータの場合は、8割の売上が大体25%くらいで構成されていることが分かります。

画像1

Alteryxでもパレート図のようなそこまで複雑ではないものであれば、簡単に作成、設定できます。端的にまとめると、顧客別売上の値が降順に棒グラフで表示されている上に重ねて線グラフで累計売上の割合(%)をのせるだけです。(今回はあえてAlteryxの設定方法の詳細は省きますが、方法が気になる方は共有しているサンプルワークフローをご覧ください)

施策に落とし込む

ロジックは極めてシンプルかもしれませんが、施策に落とし込むのはまだROIの高いマーケティングキャンペーンを打つ時には、8割の売上を作ってくれているお客さんと、それ意外のお客さんに訴えかけるメッセージは変わってくると思います。Alteryxでビジネスに実装する方法は色々あるとは思いますが、CRMシステムなどに書き込んでいく、もしくは抽出したCSVファイルをインポートしてキャンペーンに使用する、などが直接的な使い方になってくるかと思います。

このパレート分析をベースに、デシル分析、RFM分析などに発展させて行くとより実践向けな分析ができると思います。(次回以降のネタ?)

この記事が気に入ったらサポートをしてみませんか?