Qlik Trainingブログ

  • QlikView
  • データ準備
2013.07.16

ABC分析とは?ExcelやQlikViewでの実現方法は?

ABC分析とは、商品や顧客を重要度によって分類する分析手法です。
たとえば、売上全体に大きな影響力を持つロイヤルユーザーを見つけたり、商品を売れ筋商品と、死に筋商品に分類したりするために使われます。
ここでは、ABC分析とはどのような分析手法なのか、またExcelやQlikViewでどのように実現するのか解説します。

ABC分析とは?

まず、ABC分析とはどんな分析手法なのか、またどのように実現するのか、商品の売上を例にとって説明します。
ABC分析をするには、以下の手順でチャートを作成します。下図はQlikViewの画面ですが考え方はExcelでもおなじです。

  • ・商品ごとに売上を集計します。
    ・売上の大きい順に並べ換えます。
    ・各商品の売上が、全体に占める割合を求めます。
    ・上で求めた割合を、上位の商品から順に累積していきます。
    ・この割合の累積が何%に達するかをもとに、商品をABCの三つのクラスに分類します。

この例では上位19位までで売上全体の70%を、上位25位までで売上全体の80%を占めるようですので、たとえば以下のように分類します。

クラス 分類 商品
A 売れ筋商品 1位~19位の商品
B 戦略商品 20位~25位の商品
C 死に筋商品 26位以下の商品

これはあくまで一例です。
かならずしも、三つのクラスに分類する必要はありません。また、かならずしも70%と80%を境目にする必要もありません。
いくつに分類するか、何%を境目にするかはデータによって検討する必要があります。

パレートの法則

ABC分析と関連の深いものに、「パレートの法則」という法則があります。
これは80:20の法則とも呼ばれるもので、多くのデータでは原因の上位20%が、結果全体の80%を占めるという法則です。
たとえば、売上の80%は上位20%の得意先が生み出す、売上の80%は上位20%の売れ筋商品が生み出すといったことです。

ABC分析が重用される背景には、この「パレートの法則」があります。売上増加にせよ、コスト削減にせよ、改善効果の大きいものから着手するのが鉄則だと思います。
ABC分析は大勢に影響を与える少数の原因を見つけるために使われますが、これはつまり、見つかった少数の原因に対策を講じることで、小さい労力で大きな効果が得られる(と考えられる)ためです。

なお、ABC分析はパレート分析と呼ばれることがあります。また、ABC分析の結果をグラフ化した図をパレート図と呼ぶことがあります。
いずれも関連の深い用語ですので、一緒に覚えておくといいと思います。

ファイルのダウンロード

ここでは以下のファイルを使用しますので、ダウンロードしてください。
abc-analysis.zip
Zip形式ですので、ダウンロード後解凍してください。
以下のファイルが含まれています。

ABC分析.xls
今回使用するデータです。
国ごとに、人口、国土、GDPのデータが格納されています。

はじめはサンプルのデータを使用しようと思っていたのですが、Wikipediaに掲載されていたABC分析の例 が分かりやすかったため、これとおなじことをしてみましょう。
人口、国土、GDPについて上位何ヶ国が全体の何%を占めているのか計算してみます。

※このデータはThe World Bank(http://www.worldbank.org )がWeb上で公開しているデータに、独自の編集を加えたものです。Wikipediaに掲載されている例とは、データの出展元が違うため結果は異なります。

データの取り込み

ここからは、QlikViewでの実現方法を説明します。

それでは、QlikViewにデータを取り込んでみましょう。
まずはファイルを新規に作成し、[ロードスクリプトの編集]画面を起動します。

ロードスクリプトの最下行にカーソルをあわせて、[テーブルファイル]ボタンをクリックします。

「ABC分析.xls」を選択します。

ファイルウィザードが起動します。
[テーブル名]が「ABC分析$」になっていることを確認し、[列見出し]を[先頭行]に変更します。
[終了]ボタンをクリックします。

ロードスクリプトが作成されました。
[OK]ボタンをクリックします。

データを取り込んでみましょう。
[リロード]ボタンをクリックします。

ファイルを保存してください。

データが取り込まれました。
[閉じる]ボタンをクリックしてください。

チャートの作成

それではABC分析のためのチャートを作成してみましょう。
ここでは、GDPに関してABC分析をしてみます。

シートの余白で右クリックし[シートオブジェクトの追加]→[チャート]を選択します。

[ストレートテーブル]を選択し、[次へ]ボタンをクリックします。

軸項目には「国名」を設定します。
「国名」を選択後、[次へ]ボタンをクリックします。

以下の数式を入力します。

Sum(GDP)

入力後[OK]ボタンをクリックします。

これでGDPの集計値が作成されましたが、ABC分析のためにはあと二つ数式が必要です。
これらの数式は、いま作成した数式をコピーして作成します。

数式を右クリックして[コピー]を選択します。

数式の余白で右クリックして[貼り付け]を選択します。

同様にして、もう一度数式の余白で右クリックして[貼り付け]を選択します。

これで三つの数式が作成されました。
二つ目の数式は割合の値にします。
二つ目の数式を選択し、画面中央の[相対値表示]にチェックを入れます。

三つ目の数式は、割合の累積の値にします。
三つ目の数式を選択し、[相対値表示]にチェックを入れ、さらに画面左側の[すべて累積表示]も選択します。
以上で完成ですので、[完了]ボタンをクリックしてください。

チャートが作成されました。

チャートの表示を整えましょう。
まず、GDPの降順(大きい順)に並べ替えます。
GDPの集計値(左から二列目)のラベル部分をダブルクリックしてください。一度ダブルクリックすると昇順(小さい順)に並べ替えられますので、さらにもう一度ダブルクリックして降順に並べ替えてください。

下図を参考に位置やサイズを調節してください。

以上でABC分析の最低限の設定は完了です。
これを見ると、上位二ヶ国(アメリカと中国)で、GDP全体の約34%を占めることがわかります。
少し下の方に目を移すと、上位13ヶ国(スペインまで)で、GDP全体の約70%を占めることがわかります。
※ちなみに、ここで使用しているGDPは、正確にはGDP PPP(国内の物価を考慮したGDP)なのですが、本題と関係ないため詳細は割愛します。

このままでもABC分析はできますが、上記のとおりABC分析では、上位n件で全体のn%を占めるという見方をするため、件数と件数の割合もあった方が分析しやすくなります。
それでは、チャートに件数を追加してみましょう。

チャートを右クリックして[プロパティ]を選択します。

[数式]タブで[追加]ボタンをクリックします。

以下の数式を入力します。

Count(GDP)

入力後[OK]ボタンをクリックします。

いま作成した数式を複製します。
「Count(GDP)」を右リックして[コピー]を選択します。

数式の余白で右クリックし、[貼り付け]を選択します。

一つ目の「Count(GDP)」を選択し、画面左側の[すべて累積表示]を選択します。

二つ目の「Count(GDP)」を選択して、[すべて累積表示]を選択し、さらに画面中央の[相対値表示]にもチェックを入れます。
以上で完成ですので、[OK]ボタンをクリックしてください。

件数の累積と、その割合も追加できました。

以上で今回のチュートリアルは終了です。
復習したい方や興味のある方は、ぜひ人口と国土についても、おなじようにABC分析のチャートを作成してみてください。

補足説明

今回の結果に関する注意事項

さきほど、上位13ヶ国でGDP全体の70%を占めるといった結果を確認しましたが、これはあくまでGDPのデータが入手できた176ヵ国についての結果です。(今回使用しているExcelファイルの中には、GDPが空の国もあります。)
もし、GDPが空の国もふくめて、すべての国をチャート上に表示したいのであれば、件数を計算するときに「国名」などを使用してください。
変更前

Count(GDP)

変更後

Count(国名)

なぜ件数の表示にCount関数を使用したのか

さきほど、件数を表示するためにCount関数を使用しましたが、チャートを見ると分かるとおり、これはチャートの行数を表示しているのとおなじです。
そのため、数式に「1」と指定してもおなじ結果が得られるように感じます。
変更前

Count(GDP)

変更後

1

しかし、数式に「1」と指定するとその合計値も「1」となります。
チャート上部の灰色の部分が「1」になっています。

QlikViewは合計値を計算する際、数式の指定をもとにします。そのため、合計値を件数の合計値にしたい場合は、件数を求める数式(つまりCount関数)を指定する必要があります。

Excelでの実現方法

ABC分析は集計値や割合、累積を求められればよいため、Excelでも比較的簡単に実現できます。
Excelでの実現方法を知りたい方は、サンプルのZipファイルabc-analysis.zipで「ABC分析(Excel版)」のシートをご確認ください。

各列には以下の数式が設定されています。
D列 割合
その行の値を、全体の合計で割って割合を求めています。

=C2/SUM(C$2:C$177)

E列 累積割合
一番上の行からその行までの合計を、全体の合計で割って累積の割合を求めています。

=SUM(C$2:C2)/SUM(C$2:C$177)

F列 累積件数
オートフィルで連番を作成しています。

G列 累積件数割合
一番上の行からその行までの件数を、全体の件数で割って累積件数の割合を求めています。

=COUNT(C$2:C2)/COUNT(C$2:C$177)

Excelでも比較的簡単に実現できるため、ABC分析のためだけにQlikViewを使う意味はあまりありません。しかし、QlikViewを使用すれば、データの絞り込みなども簡単にできます。
たとえば下図では「地域」のリストボックスを追加して、アジア圏に絞り込んだ結果を確認しています。

このように他のデータと関連付けて使用する場合は、やはりQlikViewが便利です。
まだQlikViewをお持ちでない方は、ぜひこれを機にダウンロードしてみてください。
QlikViewは以下のページから無料でダウンロードできます。(要ユーザー登録)
QlikView Personal Editionのダウンロード

振り返り

今回はABC分析についてご覧いただきました。以下に重要なポイントをまとめます。

  • ABC分析
  • ABC分析は、商品や顧客を重要度によって分類する分析手法。
  • 大勢に影響を与える少数の原因を見つけるために使用される。
  • パレートの法則
  • 80:20の法則とも呼ばれるもので、多くのデータでは原因の上位20%が、結果全体の80%を占めるという法則。
  • 例:売上の80%は上位20%の得意先が生み出す、売上の80%は上位20%の売れ筋商品が生み出す。
  • ABC分析の実現方法
  • 集計値の大きい順に並べ替え、集計値が全体に占める割合と、割合の累積を計算する。
  • 関連するQlikViewの機能
  • [相対値表示]
    有効にすると、全体に占める割合が表示される。
  • [すべて累積表示]
    有効にすると、チャートの上から累積した値が表示される。

最後に…

今回はABC分析についてご覧いただきました。
ABC分析は集計値や割合、累積を求められればよいため、Excelなどでも比較的簡単に実現できます。
しかし、QlikViewでも[相対値表示]や[すべて累積表示]を選択するだけですので、Excelで式を記述するよりもむしろ簡単だったのではないでしょうか。

前回ご紹介した「バスケット分析」もそうですが、「ABC分析」のような手法は、ほかにもいろいろあります。
Webで少し調べただけでも「RFM分析」「回帰分析」「デシル分析」「移動平均法」「度数分布」といった用語がでてくるかと思います。
これらの手法についても、機会があればまたこのブログで紹介したいと思います。

お疲れ様でした。

関連している記事

  • データ準備
2021.04.08

Excel ピボットテーブル データの取り込み

Excel ピボットテーブル データの取り込み

  • データ準備
2021.03.22

データマネージャーでの簡単操作で取り込んだ複数テーブルを縦に連結する方法

データマネージャーでの簡単操作で取り込んだ複数テーブルを縦に連結する方法

  • データ準備
2021.03.15

データマネージャーでの「合成キー」作成方法

データマネージャーでの「合成キー」作成方法

ページの先頭へ戻る