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

目次
ウマたん当サイト【スタビジ】の本記事では、ビジネスで重宝されるABC分析について詳しく解説していきます!ABC分析はその名の通り、ある評価軸に対する重要度の違いによってA~Cランクに商品等を分類していく手法なんです!
こんにちは!スタビジ編集部です!
今回はABC分析についてその活用事例も含め解説をしていきます。
記事の後半では、実際にExcelやPythonでのABC分析のやり方や可視化の方法についても紹介します!
以下のYoutube動画でも解説していますのであわせてチェックしてみてください!
ABC分析とは??

それでは早速、ABC分析とは何なのか?について解説していきます!
ABC分析は、ビジネスにおいて資産の管理や在庫の管理など、いろんなシーンで効果を発揮するツールの1つです!
一言で表しますと、ある評価軸に対する重要度の違いによってA~Cランクに分類していく手法でしょうか。
「なんでABC?」「ABCは何かの頭文字?」と思った方もいらっしゃると思います!
ウマたんこの後説明しますが、ABC分析のABCには、ランク付けをする上で、Aランク(最重要)・Bランク(比較的重要)・Cランク(比較的重要でない)といった用に分類するといった意味合いを持つよ!
ABC分析では、まず評価したい軸の対象を決めます。
一般的には、売上・利益・コスト・在庫量などを評価軸とします。
そして、商品などの評価したいものをその重要度が高い順に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分析のポイントは以下になります。
ExcelでのABC分析の実行

ここから、実際にExcel上でABC分析を実行していきます!
今回は全商品のそれぞれの売上高がわかっているという状況で、その売上高を評価指標としてABC分析を行ってみましょう。
以下の流れで分析を進めていきます。
1. データを準備する
まず、今回の分析で使用する、商品と売上高の対応表を準備します。
ここではランダムにデータを生成させ、15種類分の商品とそれに対応する売上高を生成します。
商品名とその売上高をセルに格納していきます。
※Excel1行目の列ごとのタイトルについては自分で分かりやすいものに設定しましょう!

ちなみに、売上高をランダムに生成する際には範囲を指定してランダムな整数を返す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"))
こちらも一番上のセルのみ入力し、下までドラッグしましょう!

以上で各商品について、売上高を評価指標としてA~Cグループに振り分けることが出来ました!
4. パレート図の作成
3.のフェーズで、A・B・Cに各商品をグルーピングできたので、各グループに応じて例えば在庫管理の方法を再検討するなどの対応を考えて行くという流れに移行しても問題ありません。
本記事では、視覚的に分かりやすいようにパレート図の作成を続けて行っていきます!
パレート図とは一言で説明すると、各要素ごとの重要度と全体への影響割合が一つのグラフ上で分かりやすくイメージ出来るものです!

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

必要に応じてクラスが識別できるように境界線を入れたり、色を変えたりするなどの工夫もしてみてください!
おすすめグラフに、もしパレート図の形のものが出てこなかった場合には以下の手順を踏みましょう。
挿入→棒グラフ→棒上で右クリック→系列グラフの種類の変更→累積構成比を折れ線グラフに変更→第2軸にチェックを入れる→軸の範囲を調整する
パレート図を作成することで、重要な商品がどれであるか、またその重要度がどのくらいか?が一目で理解できます。
また、パレート図を定期的に更新することで、改善の進捗を追い、成果を可視化することが出来ます。
ABC分析をする際にはぜひパレート図の作成まで行ってみましょう!!
Pythonを用いたABC分析

続きまして、Pythonを用いたABC分析も実行していきます!
前章で、Excelを使用しながらABC分析の細かい流れについてご説明しました。
本章では、ABC分析の中でもメインとなる以下の部分について、コード例をご紹介します。
今回用いるデータとしては、商品名と売上高等のデータが各行に格納されているものをイメージしてください!

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に振り分けられたクラス名が追加で記述されています!

ABC分析 まとめ

ここまでご覧いただきありがとうございました!
本記事では、ABC分析の中身やExcelやPythonでの具体的な実行方法についてまとめました!
ビジネスにおいて重宝されるABC分析を理解し、使えるようになることで、効率的なリソース配分や収益の最大化に繋げていきましょう!
例でも取り上げたように、ABC分析は商品をA~Cクラスに分類し、在庫管理や販売戦略に役に立てることが多いです。
他の活用事例としては、プロジェクトやタスクをその重要度や規模に応じてABC分析し最適なリソースを配置するのに利用したり、顧客を購入数や購入金額によってグループ分けし個々のセグメントに合った販売戦略を展開する、などが挙げられます!
後者の顧客のセグメンテーションについてはRFM分析の考え方に近いので、以下の記事も合わせてご参照ください!
RFM分析をわかりやすく解説!実例とPythonでの分析のやり方を紹介!当サイト【スタビジ】の本記事では、マーケティングの分野で良く使われる、RFM分析について詳しく解説していきます!RFM分析はずばり、Recency・Frequency・Monetaryの略なんです!
また、ABC分析をPythonで行い、パレート図まで作成することももちろんできます!
気になる方はぜひ実装し、感覚を掴んでいきましょう!!
このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」

| 【価格】 | ライトプラン:1,280円/月(全コースが受講し放題) プレミアムプラン:129,800円(通常149,800円・買い切り) |
|---|---|
| 【オススメ度】 | |
| 【サポート体制】 | |
| 【受講形式】 | オンライン形式 |
| 【学習範囲】 | 統計学・機械学習・ディープラーニングを網羅的に学ぶ 生成AI(LLM・RAG・プロンプトエンジニアリング)を学ぶ SQLとPythonを組み合わせて実データを使った様々なワークを行う 実践的なビジネスフレームワークを学ぶ マーケティングの実行プラン策定 |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
月額1,280円のライトプランで、統計学から機械学習・生成AIまで全コースが受講し放題です!
プレミアムプランでは、24時間以内の質問対応と現役データサイエンティストとの1on1(30分×4回)を実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムにしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったりする盛りだくさんの内容になってます!
データサイエンスに関する記事はこちら!
【初心者必見】統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!
【データサイエンティスト厳選18冊】データサイエンスを学ぶ上でオススメな本・教材!当ブログ【スタビジ】の本記事では、データサイエンスを学ぶ上でオススメできる本を厳選して紹介していきます。ここではデータサイエンティストになるために習得するスキルをデータサイエンスと称しております。いくつかの観点に切り分けて見ていきます。
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!
【徹底比較】データサイエンティストになるための学習ができるスクール9選!当サイト【スタビジ】の本記事では、データサイエンティストへの学習ができるスクールを紹介していきます。スクールに通ったからと言ってデータサイエンティストになれるわけではありませんが、データサイエンティストへの基本を着実に固めることは可能です…読んだ内容を、スタアカの「データ加工集計可視化」コースで身につける
データサイエンス・AIを、動画と課題で体系的に学べるオンラインスクール。最初のレッスンは無料で見られます。




