Comparison
Static

Bullet Graph

Bullet graphs, designed by Stephen Few as an alternative to gauges and meters, efficiently display key performance indicators (KPIs) by showing a primary measure against target values within qualitative ranges (poor, satisfactory, good). This compact visualization replaces dashboard widgets while conveying rich information about actual vs. target performance. Bullet graphs are ideal for executive dashboards and performance scorecards.

Example Visualization

Bullet graph showing revenue, EBITDA, and net profit against targets with performance ranges

Try this prompt

"Use plotly.graph_objects to create a bullet graph showing 'Current Revenue' against a 'Target' of $500k, with performance ranges for 'Poor', 'Satisfactory', and 'Good'. Generate a proper example dataset to demonstrate this visualization."
Generate this now

Python Code Example

example.py
# === IMPORTS ===
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import FuncFormatter

# === USER-EDITABLE PARAMETERS ===
title = "Strong Performance: All Metrics Reach 'Good' Range (84-90% of Targets)"
x_label = "Amount ($ thousands)"
y_label = "Business Metrics"
poor_color = "#ff8a80"
sat_color = "#ffd54f"
good_color = "#a5d6a7"
current_color = "#37474f"
target_color = "#1976d2"

# === EXAMPLE DATASET ===
df = pd.DataFrame({
    'Measure': ['Revenue', 'EBITDA', 'Net Profit'],
    'Poor': [125, 40, 15],
    'Satisfactory': [125, 60, 25],
    'Good': [250, 100, 60],
    'Target': [500, 200, 100],
    'Current': [420, 180, 90]
})

Console Output

Output
Example Dataset (in $ thousands):
   Measure  Poor  Satisfactory  Good  Target  Current
   Revenue   125           125   250     500      420
    EBITDA    40            60   100     200      180
Net Profit    15            25    60     100       90

Performance Summary:
Revenue: $420k (84.0% of $500k target) - Good band
EBITDA: $180k (90.0% of $200k target) - Good band
Net Profit: $90k (90.0% of $100k target) - Good band

Average performance: 88.0% across 3 metrics
All bands: ['Good', 'Good', 'Good']

Common Use Cases

  • 1Executive dashboards and KPI monitoring
  • 2Sales performance against quotas
  • 3Budget vs actual comparisons
  • 4Goal tracking and progress reporting

Pro Tips

Keep to 3-4 qualitative ranges maximum

Use consistent color coding across all bullet graphs

Order metrics by importance or performance