こんにちは!スタビジ編集部です!
今回はABC分析についてその活用事例も含め解説をしていきます。
記事の後半では、実際にExcelやPythonでのABC分析のやり方や可視化の方法についても紹介します!
・ABC分析とは??
・ExcelでのABC分析の実行、パレート図による可視化
・Pythonを用いたABC分析
以下のYoutube動画でも解説していますのであわせてチェックしてみてください!
目次
ABC分析とは??
それでは早速、ABC分析とは何なのか?について解説していきます!
ABC分析は、ビジネスにおいて資産の管理や在庫の管理など、いろんなシーンで効果を発揮するツールの1つです!
一言で表しますと、ある評価軸に対する重要度の違いによってA~Cランクに分類していく手法でしょうか。
「なんでABC?」「ABCは何かの頭文字?」と思った方もいらっしゃると思います!
ABC分析では、まず評価したい軸の対象を決めます。
一般的には、売上・利益・コスト・在庫量などを評価軸とします。
そして、商品などの評価したいものをその重要度が高い順にA・B・Cランクに振り分けます。
もちろん、振り分けて終了では何の意味もなく、そこから各グループ(A・B・C)に応じて例えば在庫管理の方法を再検討するなどの対応を実際に行う目的があります。
以下が在庫管理方法を検討する例になります。
・Aグループに入った商品は在庫を絶対に切らせないように調整!
(実際には具体的な条件も決定)
・Bグループに入った商品は現状維持を意識。
・Cグループに入った商品は在庫を減らす、或いは製造終了の検討へ。
※在庫管理以外でのABC分析の活用事例は本記事の最後、「まとめ」で記載しています!
A~Cの分類方法は使用する状況に応じて異なりますが一般的な方法として、選定した評価軸の指標の累積構成比を基にランクを分類する方法があります。
例えば売上高を評価軸に設けている場合には、全体に対する売上を上位から蓄積していって7割までの商品がAランク、7~9割までをBランク、それ以外の商品はCランクという風に分類します。
ここで、何%までをAランクに振り分けるか?については目的などにより多少前後いたします。
まとめます。ABC分析のポイントは以下になります。
・ある指標に対する重要度の違いをABCグループで分ける方法
・売上高を評価指標とし、在庫管理の最適化に利用するのが一般的
・累積構成比を用いてグループ分けを行う
ExcelでのABC分析の実行
ここから、実際にExcel上でABC分析を実行していきます!
今回は全商品のそれぞれの売上高がわかっているという状況で、その売上高を評価指標としてABC分析を行ってみましょう。
以下の流れで分析を進めていきます。
1. データを準備する
2. 売上高の累積構成比を計算する
3. 各商品をABCのクラスへと振り分ける
4. パレート図を作成する
1. データを準備する
まず、今回の分析で使用する、商品と売上高の対応表を準備します。
ここではランダムにデータを生成させ、15種類分の商品とそれに対応する売上高を生成します。
商品名とその売上高をセルに格納していきます。
※Excel1行目の列ごとのタイトルについては自分で分かりやすいものに設定しましょう!
ちなみに、売上高をランダムに生成する際には範囲を指定してランダムな整数を返すRANDBETWEEN関数を用いています。
=RANDBETWEEN(100,10000)
# 100から10000までの整数をランダムに生成
2. 売上高の累積構成比を計算
以降で、商品の累積構成比を計算していきます。
まずはデータを降順に並び替える必要があります。
以下のように、並び替えたいセルをまとめて選択した上で右クリック→並び替え→降順で簡単に商品名ごと並び替えることが出来ます!
続いて、並び替えた売上高の一番上から以下のように累積構成比を求めていきます。
(一番上のセルを入力したら後は下までドラッグするだけでOKです!)
=SUM($B$2:B2)/SUM($B$2:$B$16)
# 分子は降順に並べた売上高の一番上から現在のセルまでの合計値
# 分母は全商品の売上高の合計値
結果はこのようになります。
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. 商品を売上高に基づいて並び替え
2. 累積構成比を計算
3. 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分析の考え方に近いので、以下の記事も合わせてご参照ください!
また、ABC分析をPythonで行い、パレート図まで作成することももちろんできます!
気になる方はぜひ実装し、感覚を掴んでいきましょう!!
このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組み合わせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解なども合わせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!