K_DM Book
用語集
対象者 標準
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

クアドラントチャートで優先度を分類

中級

06.7.13

クアドラントチャートで優先度を分類

最終更新 2020-07-15 読了時間 2 分
まとめ
クアドラントチャートは、2 つの評価軸を持つ散布図に縦横 1 本ずつの境界線を引いて 4 つの象限に分け、各象限に「すぐやる」「保留」のような意味を割り当てて項目を分類する図です。点の位置そのものは普通の散布図と同じですが、背景を象限ごとに色分けすることで、読者が座標を読まなくても分類結果だけを受け取れます。matplotlib では ax.axvline(5) と ax.axhline(6) で境界を引き、ax.fill_between を 4 回呼んで各象限の矩形を塗り、ax.scatter と ax.text で項目を置きます。読み終えると、実行容易度 5 以上・インパクト 6 以上の右上象限に入るプロジェクト A・C・E がまず着手すべき候補だと読み取り、境界線の値を中央値などの根拠で決めて自分の案件リストを分類できるようになります。

直感 #

7 つの改善プロジェクトについて「ビジネスインパクト」と「実行容易度」を 10 点満点で評価したとします。表で 2 列の数字を見比べても優先順位は決まりにくいものです。クアドラントチャートは横軸に容易度、縦軸にインパクトを取って 7 点を散布図に置き、容易度 5・インパクト 6 の位置で十字に線を引きます。右上は「効果が大きくて簡単」なので最優先、左下は「効果が小さくて難しい」ので保留、残り 2 つはどちらかに賭ける候補です。背景を fill_between で象限ごとに緑・青・赤・黄に塗っておくと、点が落ちた色がそのまま判断になります。

Python で描く #

次のコードは 7 プロジェクトの impact と effort を用意し、境界線と 4 つの背景矩形を描いてから、色付きの点とラベルを重ねます。描く順番が重要で、fill_between の背景を先に、scatter の点を後に描いています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import matplotlib.pyplot as plt
import numpy as np

projects = ["A", "B", "C", "D", "E", "F", "G"]
impact = np.array([8.5, 5.5, 7.2, 3.8, 6.1, 8.9, 4.4])
effort = np.array([3.0, 6.2, 4.1, 5.5, 2.5, 7.0, 3.8])
colors = ["#22c55e", "#f97316", "#38bdf8", "#a855f7", "#14b8a6", "#facc15", "#ef4444"]

fig, ax = plt.subplots(figsize=(6, 6))
ax.axvline(5, color="#475569", linewidth=1.2)
ax.axhline(6, color="#475569", linewidth=1.2)

ax.fill_between([0, 5], 6, 10, color="#bbf7d0", alpha=0.5)
ax.fill_between([5, 10], 6, 10, color="#dbeafe", alpha=0.6)
ax.fill_between([0, 5], 0, 6, color="#fee2e2", alpha=0.6)
ax.fill_between([5, 10], 0, 6, color="#fde68a", alpha=0.6)

ax.scatter(effort, impact, s=110, color=colors, edgecolor="white", linewidth=1)
for label, x_val, y_val in zip(projects, effort, impact):
    ax.text(x_val, y_val + 0.25, label, ha="center", fontsize=10, weight="bold")

ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.set_xlabel("実行容易度(高いほど簡単)")
ax.set_ylabel("ビジネスインパクト(高いほど大きい)")
ax.set_title("プロジェクト優先度のクアドラント分類")
ax.grid(alpha=0.2, linestyle="--")

fig.tight_layout()

plt.show()

背景を象限ごとに色分けするだけで、優先度の分類が直感的に分かりますの図

実行結果の読み方 #

右上の青い象限(容易度 5 以上、インパクト 6 以上)に入った点が最優先の候補です。この例では容易度と インパクトの組が A(3.0, 8.5)と E(2.5, 6.1)は左上の緑、F(7.0, 8.9)が右上の青になり、容易度の軸の向きに注意して読む必要があります。左下の赤い象限に入った D(5.5, 3.8)と G(3.8, 4.4)はインパクトが小さいので保留か中止の候補と読めます。境界線の近くにある点(B の容易度 6.2、インパクト 5.5)は閾値をわずかに動かすだけで象限が変わるため、分類結果を断定せず「境界上」として扱うのが安全です。

使いどころと落とし穴 #

クアドラントチャートは、施策の優先順位付けや BCG マトリクスのような戦略分析で、5〜20 項目を 2 軸で分類して関係者と合意するときに向いています。最大の落とし穴は境界線の値で、根拠なく 5 と 6 に置くと分類そのものが恣意的になるため、中央値やドメインの基準(ROI 1.0 以上など)を使い、その根拠を図の注釈に書いてください。点が境界付近に集中するとラベルが重なるので、adjustText ライブラリで自動的にずらすか、Plotly のツールチップに切り替えます。「自然なグループ分け」が目的なら、人が引いた境界ではなく k-means などのクラスタリングでデータ側から分けた方が説明に耐えます。