Σύνοψε την επίτευξη στόχων με διάγραμμα bullet

6.7.8

Σύνοψε την επίτευξη στόχων με διάγραμμα bullet

Ενημέρωση 2020-05-06 Ανάγνωση 2 λεπτά

Όταν θέλεις να παραθέσεις KPI και τη διαφορά από τον στόχο, το διάγραμμα bullet είναι εξαιρετικά συμπαγές. Οι ζώνες στο υπόβαθρο δείχνουν το επίπεδο επίτευξης.

 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import matplotlib.pyplot as plt
import numpy as np

metrics = ["CVR", "Μέση αξία παραγγελίας", "Διατήρηση συνδρομής", "NPS"]
actual = np.array([0.046, 12_300, 0.78, 32])
target = np.array([0.05, 12_000, 0.8, 35])
thresholds = np.array(
    [
        [0.02, 0.04, 0.06],
        [9000, 11_000, 13_500],
        [0.6, 0.75, 0.85],
        [10, 25, 40],
    ]
)

fig, ax = plt.subplots(figsize=(6.2, 4))
for idx, name in enumerate(metrics):
    base, good, excellent = thresholds[idx]
    ax.barh(idx, excellent, color="#f1f5f9", height=0.8)
    ax.barh(idx, good, color="#cbd5f5", height=0.8)
    ax.barh(idx, base, color="#94a3b8", height=0.8)
    ax.barh(idx, actual[idx], color="#38bdf8", height=0.3)
    ax.plot(
        [target[idx], target[idx]],
        [idx - 0.4, idx + 0.4],
        color="#ef4444",
        linewidth=2,
    )
    ax.text(
        actual[idx] * 1.02,
        idx,
        f"{actual[idx]:.2f}" if idx != 1 else f"{actual[idx]:,.0f}",
        va="center",
        ha="left",
        fontsize=9,
    )

ax.set_yticks(range(len(metrics)), labels=metrics)
ax.set_xlabel("Τιμή δείκτη")
ax.set_title("Πρόοδος βασικών KPI (διάγραμμα bullet)")
ax.set_xlim(0, max(thresholds[:, -1]) * 1.05)
ax.grid(axis="x", alpha=0.2)
ax.spines[["right", "top"]].set_visible(False)

fig.tight_layout()

plt.show()

Οι ζώνες στο υπόβαθρο δείχνουν τα επίπεδα επίτευξης.

Συμβουλές ανάγνωσης #

  • Οι ζώνες του υποβάθρου αντιστοιχούν σε επίπεδα επίτευξης. Αν η μπάρα φτάνει στη σκοτεινή ζώνη, ο στόχος ξεπεράστηκε.
  • Η κόκκινη κάθετη γραμμή είναι ο στόχος. Αν η μπάρα την περνά, υπάρχει υπέρβαση· αν όχι, υπάρχει υστέρηση.
  • Μπορείς να χωρέσεις πολλά KPI σε μία προβολή, ιδανικό για εβδομαδιαίες αναφορές.