Targets, progress and status

KPI card with sparkline

Combines a headline metric with a compact time-series trace.

  • Indicator
  • Status
  • Trend over time

What it answers

What is the latest value and recent trend?

Shape
Number beside a miniature trend
What it shows
Current level and recent direction.

Example

The question

Is churn improving, and how did it get here?

Monthly churn rate with the last 12 months

Monthly churn rate with the last 12 monthsChurn 1.8% in September, down 0.3 percentage points on August. Over 12 months it fell from 2.4%.Customer churn, September1.8%▼ -0.3 pp on AugustLast 12 months
Monthly churn rate with the last 12 monthsChurn 1.8% in September, down 0.3 percentage points on August. Over 12 months it fell from 2.4%.Customer churn, September1.8%▼ -0.3 pp on August
Churn 1.8% in September, down 0.3 percentage points on August. Over 12 months it fell from 2.4%.

Illustrative data. It belongs to no company.

When to use it

Use it when

Combining one metric with compact historical context.

Avoid it when

When headline and sparkline use inconsistent populations or units.

How to read it

Read the headline aggregation, then sparkline shape.

Note

Define whether the headline is latest, total or another aggregate.

The data you need

Layout
Long table
Fields
Metric: text; Time: date; Value: number
One row is
One observation at a time or ordered position. What is the grain?
Rules
Supply the history and define how its headline metric is calculated.
Optional
Optional explicitly supplied HeadlineValue if it uses a different aggregation.
Preparation
Confirm the metric definition, reporting period, target and favourable direction. Calculate rates or progress before applying transparent status rules.
Units
State each metric's unit. Achievement or completion needs its goal/baseline denominator; status colours and ordinal ratings are not numeric units.
Example of the input layout: Long tableA long table: one row per observation, few columns. New data adds rows.MetricTimeValueAABBC
A long table: one row per observation, few columns. New data adds rows.

Worked example

History 100,110,120 with latest-value headline gives 120 and a rising sparkline. A total headline would instead be 330.

MetricTimeValue
Revenue2026-01-01100
Revenue2026-02-01110
Revenue2026-03-01120