CH-MAG-04 . family MAG
BULLET
measure bar vs target tick over qualitative bands. Needs:
KPIs with a value, a target, and up to 3 ascending qualitative bands.
magnitudevarianceprogress
DL-01 AGRAW
DL-02 KATA
DL-03 LOGOS
DL-04 SHILPA
DL-05 OBEYA
DL-06 LEX
DL-07 SAGA
DL-08 SENTINEL
DL-09 ATLAS
DL-10 BASIRA
DL-11 SUTRA
DL-12 NOROSHI
DL-13 MIZAN
DL-14 EVIDENTIA
DL-15 ABRID
DL-16 TELOS
Use when
- KPI reporting: actual vs target vs poor/ok/good bands
- dashboard rows that must survive print (the honest gauge)
Do not use when
- no target (plain bar)
- trend matters more than level (CH-TIM-06 when built)
See instead
Alternatives
- CH-DEV-01 (signed variance only)
Rules
- measure bar in ink, target as a negative-role tick, bands as computed shades
- band shades derive from background+ink mix, never extra palette entries
- unit once
Never do this
- gauges (this IS the honest gauge)
- rainbow bands
- missing target
QA before delivering
- every row has value, target, ascending bands
- unit once
- source present
Data shape
| title | action title naming the worst KPI gap |
| source | bottom-left always |
| unit | on first value label |
| categories | array of {label, value, target, bands: [b1<b2<b3]} |
Sample data (golden)
{
"title": "Docs on time misses target by 14 points; deliveries close the gap",
"eyebrow": "KPI BOARD . WEEK 28",
"source": "Source: sample dataset v1, 2026-07-12",
"unit": "%",
"categories": [
{
"label": "Delivery OTD",
"value": 87,
"target": 95,
"bands": [
60,
85,
100
]
},
{
"label": "Test pass rate",
"value": 92,
"target": 90,
"bands": [
70,
90,
100
]
},
{
"label": "Docs on time",
"value": 71,
"target": 85,
"bands": [
50,
80,
100
]
}
]
}