UI design

Seven principles for designing better dashboards

A dashboard is not a report. It exists so that someone can see what changed, judge whether it matters, and act. These seven principles follow one sample dashboard from a cluttered first draft to a screen that supports a decision.

Filing season This week FILED412+8% IN REVIEW38+3 AT RISK9+2 RETURNS FILED PER WEEK AT RISK Review
On this page
  1. 01Prioritise key metrics
  2. 02Group related data
  3. 03Consistent cards
  4. 04Avoid chart overload
  5. 05Show trends and comparisons
  6. 06Filters and search
  7. 07Make the next action obvious
  8. 08Review checklist

The sample used throughout this note is a dashboard for a fictional accounting firm in tax filing season. The people using it are team leads. Every morning they need to answer three questions: are we on track, what is at risk, and who needs to do what today.

Keep those three questions in mind. Each principle below is a way of making one of them faster to answer.

The sample. A team lead's view of filing season. Firm, clients and numbers are fictional. Each principle below explains one decision in this screen.

01Prioritise the metrics that drive a decision

Most dashboards start as a list of everything that can be counted. The result is a row of tiles with equal weight, and the reader has to work out which ones matter. Start from the decisions instead. For each metric, ask: if this number changed overnight, would someone do something different today? If not, it belongs in a report, not at the top of the dashboard.

Everything that can be counted

Eight equal tiles. "At risk" is in there, sitting at the same weight as logins.

What the team lead decides on

Two numbers that change today's plan, each with the context needed to judge it.

Figure 1. Fewer metrics, each tied to a decision. Activity metrics are still available, one click away.
Do this

Put three to five decision metrics at the top left, where reading starts. Give the most urgent one visual weight, here through colour and position.

When to bend it

Monitoring screens for operations teams often need many metrics at once, because the job is to spot any anomaly. There, equal weight is correct, and alerting does the prioritising.

02Group related information

A dashboard is read in chunks. People look for "the progress part" or "the risk part", then read within it. Group widgets by the question they answer, give each group a short heading, and keep the gap between groups clearly larger than the gap inside a group. Proximity does the work before any label is read.

BEFORE · ORDER OF CREATION Workload Trend At risk Filed Owners Overdue list Plan In review AFTER · GROUPED BY QUESTION ON TRACK? Filed Plan Trend AT RISK? At risk Overdue list WHO DOES WHAT? Workload Owners Review
Figure 2. The same eight widgets. On the right, three questions organise the screen, and larger gaps between groups show where one ends.
Do this

Name groups after the question they answer, not the data source. "At risk?" helps more than "Deadlines table".

When to bend it

If different roles share one dashboard, grouping by role can beat grouping by question. Better still, give each role its own default view.

03Use one card and layout system

When every widget has its own header style, padding and corner radius, the screen looks busy even when it holds little data. Define one card anatomy and reuse it for metrics, charts and tables. Consistency here is not decoration: once the reader learns where the label, the value and the comparison sit, they stop reading the frame and start reading the data.

  1. Label. Names the measure in the user's words. Small, muted, always top left.
  2. Value. The largest text in the card. One number, rounded to the precision anyone acts on.
  3. Comparison. Against plan, target or the previous period. Without it the value cannot be judged.
  4. Shape. Optional sparkline for direction. No axes, no labels, just the trend.
  5. Way in. A link to the detail behind the number, in the same place on every card.
Figure 3. One metric card anatomy. Chart and table cards reuse the same header row, padding (16px) and radius (10px).
Do this

Build the card once, as a component with slots for header, body and footer. Use a grid with a fixed gutter so cards line up across rows.

When to bend it

The single most important element on the screen may break the pattern on purpose, for example a full-width alert above the cards. Make it the only exception.

04Avoid unnecessary chart complexity

A chart earns its space when it shows something a number cannot: a direction, a shape, an outlier. Most dashboard charts need one or two series. When more appear, the eye cannot follow any of them. Pick the chart for the question, then remove everything that does not help answer it.

Six teams, six colours
NorthSouthEastWestCentralOnline

Every line competes. The legend has to be read and matched six times.

One story, the rest as context
Team North

The point of the chart, a team falling behind, is visible before any label is read.

Figure 4. Highlight the series that matters and grey out the rest. Label it directly instead of using a legend.

A few defaults hold up well: line charts for change over time, bars for comparing categories, a single number when the trend does not matter. Avoid dual axes, 3D effects and pie charts with more than a few slices. Start bar charts at zero; line charts may zoom in, as long as the axis says so.

Do this

Decide the one sentence the chart should say, such as "Team North is falling behind". If the chart does not say it at a glance, simplify.

When to bend it

Analysts exploring data need dense, flexible charts. Give them that in an explore view, and keep the dashboard for the answer, not the investigation.

06Use filters and search to support exploration

The default view should answer the common question without any filtering. Filters are for the next question: "only my team", "only corporate tax", "only clients due this week". When filters are present, the state of the screen must always be visible. A dashboard that silently shows a subset is worse than one with no filters at all.

Figure 6. Active filters as removable chips, a result count that names the scope, a one-click reset, and an empty state that suggests the next step.
Do this

Keep filter state in the URL so a filtered view can be shared and bookmarked. Offer saved views for the combinations people use every day.

When to bend it

If most users apply the same filter every time, it is not a filter. It is the default. Change the default view instead of adding a step.

07Make the next action obvious

The last principle closes the loop. If the dashboard shows that nine returns are at risk, the reader's next thought is "so what do I do?" Put the answer next to the problem. An inline action on each row, and a single primary action for the screen, turn the dashboard from a status page into a place where work starts.

Status only

The user has to leave, find the client, and work out what to do.

Status with the next step

The action matches the status. The banner handles the batch case in one step.

Figure 7. Row actions follow from the status. One primary action covers the most common batch task.
Do this

Name actions with verbs that match the problem: "Remind", "Assign", "Open". Keep one primary button per screen so the most important action stands out.

When to bend it

Executive dashboards are often read-only by design. The next action there is a conversation, so the right link is to the owner or the detailed report, not a button.

08A review checklist

Use these questions in a design review. They are phrased as questions on purpose: the right answer depends on who uses the dashboard and what they decide with it.

Before you ship a dashboard
  • Can you name the decision each top-row metric supports?
  • Does every key number have a stated reference: plan, target or previous period?
  • Are widgets grouped by question, with clear gaps between groups?
  • Do all cards share one anatomy, padding and radius?
  • Can each chart be summed up in one sentence, readable at a glance?
  • Is the filter state always visible, resettable and shareable?
  • Does every problem shown on the screen have a next step next to it?
  • Does it still work without colour, for example in greyscale?