---
name: performance-board
description: "The year-long view, not the period-by-period one: a bowler chart for the vital few key performance indicators (KPIs) that matter to a function. Each measure gets three rows — Target, Actual and Gap — running from the jump-off point (JOP) it started at, across every period of the year, to a year-to-date (YTD) column at the end. Only the Actual row is coloured, computed from real numbers rather than asserted, and every red gets containment and a note on what's being done, closing the loop into an abnormality log and a countermeasure register. For whether the period just gone met its rule, that is the performance grid. Use when: A function already has (or can name) a small set of KPIs with real plans, and wants an honest, computed record of how each one is actually tracking, not a subjective status update. Not for: You don't have a real plan or target for the KPI yet, just a hope it goes the right direction — set a real plan first, or every period will just read as an ungrounded pass/fail."
---
<!-- Auto-generated from content/templates.ts by scripts/generate-skills.ts -- do not edit this file directly. Edit the kata's guide content and regenerate. -->

# Performance board

The year-long view, not the period-by-period one: a bowler chart for the vital few key performance indicators (KPIs) that matter to a function. Each measure gets three rows — Target, Actual and Gap — running from the jump-off point (JOP) it started at, across every period of the year, to a year-to-date (YTD) column at the end. Only the Actual row is coloured, computed from real numbers rather than asserted, and every red gets containment and a note on what's being done, closing the loop into an abnormality log and a countermeasure register. For whether the period just gone met its rule, that is the performance grid.

Family: Daily management · Format: .xlsx · Domain: core

## What it is

A performance board tracks the vital few key performance indicators (KPIs) that matter to a function, in the shape continuous-improvement teams call a bowler chart: one block of three rows per measure, read left to right across the periods of a year. The Target row is what was promised, the Actual row is what happened, and the Gap row is the arithmetic between them. In front of them sits the jump-off point (JOP): the last real measurement before the plan started, so the size of the improvement being asked for is on the page rather than in somebody's memory. It sits on the Actual row, because that is what it is — an actual, not a target anybody set and not a gap. At the end sits a year-to-date (YTD) column rolling up the periods that have closed. Colour lands on the Actual row and nowhere else, because a chart where everything is coloured is a chart where nothing stands out. A period is green if the actual meets or beats target and red if it misses; a period that has closed with no number is blue, and a period that has not happened yet is left white. Those last two are the distinction most boards lose: a blue square says nobody looked, which is a different problem from a miss and gets fixed differently. The Gap row stays uncoloured and literal — a minus sign means below target and nothing more, since on a lower-is-better measure below target is the good news, and the Actual row's colour has already said so. Every red gets a response, not just a color: containment (a quick action that protects the customer or the next process now) and a short note on the board saying what's being done and who owns it. Log it in the abnormality log too (a cause seen first-hand at the gemba — the place the work happens — never speculation) and open a countermeasure with a real owner and a target date. The board also flags a KPI that has missed two or more periods running. Treat that as a prompt to check whether containment is holding, not as a test of whether the miss is a real change or ordinary ups and downs: two points in a row can't tell you that. To judge whether performance is genuinely shifting, plot the KPI on a run chart (its values in time order around a centre line) and look for a sustained pattern over enough points, such as a long run on one side of the median. Sources: David Mann, Creating a Lean Culture (daily management and visual boards); Perla, Provost and Murray, "The run chart: a simple analytical tool for learning from variation in healthcare processes", British Medical Journal (BMJ) Quality & Safety (2011).

## When to use it

Use it when:

- A function already has (or can name) a small set of KPIs with real plans, and wants an honest, computed record of how each one is actually tracking, not a subjective status update.
- You want every miss to trigger a real response — containment now, a note on what's being done, and root-cause work where it's needed — with a closed loop back to a countermeasure and a verification step, not just a color that gets glanced at and forgotten.
- You review the same KPIs on a regular cadence and want the history kept, so trends can be judged on a run chart rather than argued about from memory.

Not when:

- You don't have a real plan or target for the KPI yet, just a hope it goes the right direction — set a real plan first, or every period will just read as an ungrounded pass/fail.
- The KPI genuinely doesn't have periodic data behind it (it's a one-time measurement, not a recurring one) — a performance board tracks something reviewed on a real cadence, not a single number.
- You're tempted to list every KPI you could possibly measure — a board with thirty rows nobody actually reviews is worse than five that genuinely get discussed every cadence.

## How to fill it in

- **kpis** — Describe the function and what matters to it — a first-pass set of KPIs gets drafted, each with a target for every period and a jump-off point (JOP) recording the last real measurement before the plan began. Enter actuals yourself as each period actually closes; a real number is never invented, and the Gap row is computed rather than typed so the board can never disagree with itself.
- **coverage** — Computed for you from your KPIs, once actuals are entered — nothing to enter here.
- **abnormalities** — Log one whenever a period comes in red — a cause seen first-hand where the work happens and a 5-why root cause, not a guess.
- **countermeasures** — Every red gets at least a containment action (fast, protects delivery now) with an owner and a note on what's being done; add a permanent countermeasure (fixes the root cause) when the cause is understood.
- **narrative** — Drafted from the board actually built.

## What good looks like

The example below is a fabrication cell's quality board: a full twelve-month bowler read in April, so eight months are still to come and sit white. First-pass yield has missed two months running, and the first containment closed on time but didn't hold, so a permanent countermeasure is open. Scrap rate had a single red month that got the same treatment — logged, root-caused and countermeasured — before it came back under plan. On-time delivery shows the fourth colour: February is blue because the month closed and the number was never posted, so its year-to-date (YTD) figure averages three months, not four. With only four monthly points, no trend is called; every measure stays on a run chart.

Full worked example, on-screen and as a downloadable .xlsx: https://www.katafacts.com/katas/performance-board

## Common mistakes

- **Letting a red pass with no response because it "looks like a one-off".** — Every red gets containment and a note on what's being done — that's how the board protects the customer while you learn more. Whether a miss is a one-off can't be judged from a single point or two in a row; it needs a run chart with enough history.
- **Treating two reds in a row as proof of a real change, or one red followed by a green as proof it was just noise.** — A couple of points can't separate ordinary ups and downs from a genuine shift. Judge trends on a run chart, and don't credit a countermeasure for a recovery until the run chart shows it holding.
- **Logging an abnormality's cause from a guess instead of direct gemba observation.** — A root cause written from speculation is usually wrong, and a countermeasure built on the wrong root cause doesn't actually fix anything — go and look before writing the cause down.
- **Tracking so many KPIs that none of them get real attention at the review cadence.** — The vital few discipline applies here the same as everywhere else in this catalogue — a shorter list that genuinely gets discussed beats a long one that gets skimmed.

## What it connects to

Upstream:

- **Performance grid** (`performance-grid`) — The shorter cycle underneath this one. The grid asks whether the period just gone met its rule; this board asks whether the year is on track. A team running the grid well feeds this board real numbers instead of month-end reconstructions.
- **First-pass yield tracker** (`first-pass-yield-tracker`) — A quality KPI tracked here often already has its own dedicated first-pass yield tracker feeding the real numbers this board's Actual row needs.

Downstream:

- **Escalation matrix** (`escalation-matrix`) — A repeat miss that a quick countermeasure can't resolve is exactly the kind of thing an escalation matrix's trigger condition should be checking for.

## Where AI helps

Judgement — stays with you:

- Deciding which KPIs are actually the vital few worth tracking
- Deciding what containment a red needs and whether its cause needs a full root-cause investigation

Analysis — AI helps:

- Drafting a first-pass KPI set and monthly plan from a description of the function
- Drafting the narrative from the board actually built

Drudgery — automated:

- Computing each period's colour, the Gap row, and the to-date target vs. actual rollup
- Counting on-track, repeat-miss (two or more reds running), and not-yet-reported KPIs
- Exporting to xlsx in the house format

---

Performance board is licensed [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Attribution: Katafacts (katafacts.com).

## Using this skill

Apply this method as part of whatever broader task, instructions, or deliverable you're already working on -- it's a method to use, not a standalone conversation to start. There is no generation tool for this catalogue yet, so draft the artifact's actual content yourself, following the fields above, the same way a person filling this out by hand would. The canonical guide page and a downloadable worked example (.xlsx) are at https://www.katafacts.com/katas/performance-board.
