デシル分析はデータをクラスターにして分析する場合の手法の1つです。
■デシル分析の特徴
あるデータセットに対して、次のような集計をするのがデシル分析です。
・購入者を売上順に並べて
・それぞれの区分け="デシル"の人数が均等になるように10等分して
・デシルごとの売上高や構成比を比べる
言葉にすると難しいかもしれないので図で見てみましょう。↓の図がデシルの概念図です。
図の右側、同人数に分けられたグループをデシルと呼びます。
デシル分析の結果の表は↓のようになります。
多くのデータではデシル1に売り上げの大部分が集中することになります(パレートの法則)。
デシル分析とよく比較される分析方法としてABC分析がありますが、
・デシル分析は「購入金額が多い人が上位のデシルに分類される」
・ABC分析は「購入金額が多い商品が上位のカテゴリに分類される」
という違いがあります。
デシル分析は「購入した人」、ABC分析は「購入された商品」に注目して分析を行うんですね。
また、デシル分析には各デシルに分類される人数が同じになるという特徴があります。
一方ABC分析のランク付けは全体の売上における割合が基準になります。
弊社ブログにてABC分析の作成方法の記事がありますのであわせてご覧ください(リンク先はQlikViewの記事になります)。
ABC分析とは?QlikViewでの実現方法は?
■軸定義
Qlik Senseでデシル分析を実現するために、「顧客を購入額順に上から並べて、上位〇%ちょうどの人の購入金額は?」という集計をするための Fractile()
関数を利用します。
軸には次の数式を入力します。
●デシル
=Aggr(
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.1)), 'デシル10',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.2)), 'デシル9',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.3)), 'デシル8',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.4)), 'デシル7',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.5)), 'デシル6',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.6)), 'デシル5',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.7)), 'デシル4',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.8)), 'デシル3',
If(Sum([売上高]) <= $(=Fractile(Aggr(Sum([売上高]), 顧客ID), 0.9)), 'デシル2',
'デシル1'
)))))))))
, 顧客ID)
■数式定義
数式定義には以下の数式を入力します。
「構成比」「累積構成比」は数式名を参照しているため、取り込み済みのテーブルに項目が存在している必要はありません。
ただし、数式のラベルを正しく入力する必要があります。
●売上高合計
Sum([売上高])
●構成比
Sum([売上高])/Sum(TOTAL [売上高])
●累積構成比
[構成比] + if(RowNo(TOTAL)=1,0,Above(TOTAL [累積構成比]))
●1人あたりの購入金額
Sum([売上高])/Count(distinct [顧客ID])
以上でデシル分析チャートの設定は完了です。
デシル分析はデータをクラスター化して分析するのに優れた手法です。
ぜひご自身のデータでデシル分析を行ってみてください。