データ解析

ABC分析のやり方を分かりやすく解説!エクセルでパレート図を作って可視化してみよう!

ABC分析について解説
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、ビジネスで重宝されるABC分析について詳しく解説していきます!ABC分析はその名の通り、ある評価軸に対する重要度の違いによってA~Cランクに商品等を分類していく手法なんです!

こんにちは!スタビジ編集部です!

今回はABC分析についてその活用事例も含め解説をしていきます。

記事の後半では、実際にExcelやPythonでのABC分析のやり方や可視化の方法についても紹介します!

・ABC分析とは??
・ExcelでのABC分析の実行、パレート図による可視化
・Pythonを用いたABC分析

ABC分析とは??

そもそも推定とは?

それでは早速、ABC分析とは何なのか?について解説していきます!

ABC分析は、ビジネスにおいて資産の管理や在庫の管理など、いろんなシーンで効果を発揮するツールの1つです!

一言で表しますと、ある評価軸に対する重要度の違いによってA~Cランクに分類していく手法でしょうか。

なんでABC?」「ABCは何かの頭文字?と思った方もいらっしゃると思います!

ウマたん
ウマたん
この後説明しますが、ABC分析のABCには、ランク付けをする上で、Aランク(最重要)・Bランク(比較的重要)・Cランク(比較的重要でない)といった用に分類するといった意味合いを持つよ!
Activity Based Costingの頭文字を取ってABCという、業務を活動ごとに切り分け、そのそれぞれに対して発生する原価(コスト)を計算する手法がありますがここで扱うものはそれとは異なります!

 

ABC分析では、まず評価したい軸の対象を決めます。

一般的には、売上・利益・コスト・在庫量などを評価軸とします。

そして、商品などの評価したいものをその重要度が高い順にA・B・Cランクに振り分けます。

もちろん、振り分けて終了では何の意味もなく、そこから各グループ(A・B・C)に応じて例えば在庫管理の方法を再検討するなどの対応を実際に行う目的があります。

以下が在庫管理方法を検討する例になります。

・Aグループに入った商品は在庫を絶対に切らせないように調整!
(実際には具体的な条件も決定)
・Bグループに入った商品は現状維持を意識。
・Cグループに入った商品は在庫を減らす、或いは製造終了の検討へ。

※在庫管理以外でのABC分析の活用事例は本記事の最後、「まとめ」で記載しています!

ロボたん
ロボたん
ABC分析のイメージがなんとなく掴めたよ!でもA・B・Cにそれぞれどのように振り分けていけばいいの?
ウマたん
ウマたん
はい!振り分け方としては、累積構成比を用いて上位XX%はA、何XX~YY%まではB、という風にグループ分けするんだ!

A~Cの分類方法は使用する状況に応じて異なりますが一般的な方法として、選定した評価軸の指標の累積構成比を基にランクを分類する方法があります。

例えば売上高を評価軸に設けている場合には、全体に対する売上を上位から蓄積していって7割までの商品がAランク、7~9割までをBランク、それ以外の商品はCランクという風に分類します。

ここで、何%までをAランクに振り分けるか?については目的などにより多少前後いたします。

ロボたん
ロボたん
なぜランクを振り分けるとき、商品ごとの売上ランキングをベースとしてランキング上位7割分の商品をAに振り分ける、といった方法を取らないの?
ウマたん
ウマたん
良い質問だね。分類方法として累積構成比が選ばれているのは、例えば生産がほとんど行われなかったものや販売期間が短く注目もされなかった商品などの影響を小さくするためなんだ。
ロボたん
ロボたん
なるほど。。売上ランキング上位7割はAグループ、などといった切り口だと実際には売り上げにほとんど寄与していない商品によってグループが前後してしまう可能性があるんだね。さらに、売上に大きく貢献している1商品などの全体に対する重要度を考慮するためにも累積構成比が用いられるのが一般的なのかー!
ウマたん
ウマたん
その通り!!

まとめます。ABC分析のポイントは以下になります。

ABC分析要点まとめ

・ある指標に対する重要度の違いをABCグループで分ける方法
・売上高を評価指標とし、在庫管理の最適化に利用するのが一般的
・累積構成比を用いてグループ分けを行う

ExcelでのABC分析の実行

信頼区間の計算方法

ここから、実際にExcel上でABC分析を実行していきます!

今回は全商品のそれぞれの売上高がわかっているという状況で、その売上高を評価指標としてABC分析を行ってみましょう。

以下の流れで分析を進めていきます。

1. データを準備する
2. 売上高の累積構成比を計算する
3. 各商品をABCのクラスへと振り分ける
4. パレート図を作成する

1. データを準備する

まず、今回の分析で使用する、商品と売上高の対応表を準備します。

ここではランダムにデータを生成させ、15種類分の商品とそれに対応する売上高を生成します。

商品名とその売上高をセルに格納していきます。

※Excel1行目の列ごとのタイトルについては自分で分かりやすいものに設定しましょう!

ABC分析で使うデータの準備

ちなみに、売上高をランダムに生成する際には範囲を指定してランダムな整数を返すRANDBETWEEN関数を用いています。

=RANDBETWEEN(100,10000)
# 100から10000までの整数をランダムに生成

2. 売上高の累積構成比を計算

以降で、商品の累積構成比を計算していきます。

まずはデータを降順に並び替える必要があります。

以下のように、並び替えたいセルをまとめて選択した上で右クリック→並び替え→降順で簡単に商品名ごと並び替えることが出来ます!

売上高による並び替え

続いて、並び替えた売上高の一番上から以下のように累積構成比を求めていきます。

(一番上のセルを入力したら後は下までドラッグするだけでOKです!)

=SUM($B$2:B2)/SUM($B$2:$B$16)
# 分子は降順に並べた売上高の一番上から現在のセルまでの合計値
# 分母は全商品の売上高の合計値

結果はこのようになります。

累積構成比の計算
ウマたん
ウマたん
一番最後の商品の累積構成比が「1」になっていることから、計算が正しいことが確認できるね!

3. 各商品をABCクラスへと振り分け

続いて、商品をA~Cのクラスへと振り分けます。

今回は、累積構成比が70%未満をA、70%以上90%未満をB、90%以上をCクラスとします。

新たな列を用意し、セルには以下のように入力します。

=IF(B2<0.7, "A", IF(B2<0.9, "B", "C"))

こちらも一番上のセルのみ入力し、下までドラッグしましょう!

ABCグループへの振り分け

以上で各商品について、売上高を評価指標としてA~Cグループに振り分けることが出来ました!

4. パレート図の作成

3.のフェーズで、A・B・Cに各商品をグルーピングできたので、各グループに応じて例えば在庫管理の方法を再検討するなどの対応を考えて行くという流れに移行しても問題ありません。

本記事では、視覚的に分かりやすいようにパレート図の作成を続けて行っていきます!

パレート図とは一言で説明すると、各要素ごとの重要度と全体への影響割合が一つのグラフ上で分かりやすくイメージ出来るものです!

パレート図の作成(おすすめグラフに出てくる場合)

商品名、売上高、累積構成比の列を囲って、挿入タブ→おすすめグラフを選択すると、上記のようにパレート図の形でエクセル上で作成してくれます!

作成したパレート図は以下になります!

パレート図完成版

必要に応じてクラスが識別できるように境界線を入れたり、色を変えたりするなどの工夫もしてみてください!

おすすめグラフに、もしパレート図の形のものが出てこなかった場合には以下の手順を踏みましょう。

挿入→棒グラフ→棒上で右クリック→系列グラフの種類の変更→累積構成比を折れ線グラフに変更→第2軸にチェックを入れる→軸の範囲を調整する

 

パレート図を作成することで、重要な商品がどれであるか、またその重要度がどのくらいか?が一目で理解できます。

また、パレート図を定期的に更新することで、改善の進捗を追い、成果を可視化することが出来ます

ABC分析をする際にはぜひパレート図の作成まで行ってみましょう!!

Pythonを用いたABC分析

信頼区間の計算方法

続きまして、Pythonを用いたABC分析も実行していきます!

前章で、Excelを使用しながらABC分析の細かい流れについてご説明しました。

本章では、ABC分析の中でもメインとなる以下の部分について、コード例をご紹介します。

1. 商品を売上高に基づいて並び替え
2. 累積構成比を計算
3. ABCグループへと振り分け

今回用いるデータとしては、商品名と売上高等のデータが各行に格納されているものをイメージしてください!

python商品売上データ

1. 商品を売上高に基づいて並び替え

売上高に基づいて、データをソートします。

売上高の大きい行が上位にくるようになります。

# 売上高に基づいてソート
data_sorted = data.sort_values(by='売上高', ascending=False)

2. 累積構成比を計算

続いて、以下コードにより累積構成比を計算します。

# 累積構成比の計算
data_sorted['累積構成比'] = data_sorted['売上高'].cumsum() / data_sorted['売上高'].sum()
# cumsumは累積和の計算に、sumは合計値の計算に用いる

3. ABCグループへと振り分け

最後はA~Cグループに各商品を振り分ける作業です。

# ABCクラスへの振り分け
data_sorted['ABCクラス'] = pd.cut(data_sorted['累積構成比'], bins=[0, 0.7, 0.9, 1.0], labels=['A', 'B', 'C'])
# 70%未満をA、70%以上かつ90%未満をB、90%以上をCに分類している

結果は、以下のように累積構成比とA・B・Cに振り分けられたクラス名が追加で記述されています!

python_ABC分析結果

ABC分析 まとめ

Happy

本記事では、ABC分析の中身やExcelやPythonでの具体的な実行方法についてまとめました!

ビジネスにおいて重宝されるABC分析を理解し、使えるようになることで、効率的なリソース配分や収益の最大化に繋げていきましょう!

例でも取り上げたように、ABC分析は商品をA~Cクラスに分類し、在庫管理や販売戦略に役に立てることが多いです。

他の活用事例としては、プロジェクトやタスクをその重要度や規模に応じてABC分析し最適なリソースを配置するのに利用したり、顧客を購入数や購入金額によってグループ分けし個々のセグメントに合った販売戦略を展開する、などが挙げられます!

後者の顧客のセグメンテーションについてはRFM分析の考え方に近いので、以下の記事も合わせてご参照ください!

RFM分析を分かりやすく解説!実例とPythonでの分析のやり方を紹介!当サイト【スタビジ】の本記事では、マーケティングの分野で良く使われる、RFM分析について詳しく解説していきます!RFM分析はずばり、Recency・Frequency・Monetaryの略なんです!...

また、ABC分析をPythonで行い、パレート図まで作成することももちろんできます!

気になる方はぜひ実装し、感覚を掴んでいきましょう!!

このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。

そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!

AIデータサイエンス特化スクール「スタアカ」

スタアカトップ
【価格】ライトプラン:1280円/月
プレミアムプラン:149,800円
【オススメ度】
【サポート体制】
【受講形式】オンライン形式
【学習範囲】データサイエンスを網羅的に学ぶ
実践的なビジネスフレームワークを学ぶ
SQLとPythonを組み合わせて実データを使った様々なワークを行う
マーケティングの実行プラン策定
マーケティングとデータ分析の掛け合わせで集客マネタイズ

データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!

当メディアが運営するスクールです。

24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!

カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!

他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。

そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!

Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!

ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!

・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ

データサイエンスに関する記事はこちら!

統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...
デーサイエンス本
【データサイエンティスト厳選18冊】データサイエンスを学ぶ上でオススメな本・教材!当ブログ【スタビジ】の本記事では、データサイエンスを学ぶ上でオススメできる本を厳選して紹介していきます。ここではデータサイエンティストになるために習得するスキルをデータサイエンスと称しております。いくつかの観点に切り分けて見ていきます。...

データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!

データサイエンティスト スクール
【徹底比較】データサイエンティストのための学習ができるスクール9選! スクール名 オススメ度 価格の安さ サポート体制 公式サイト テックアカデミー ...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら