Compare and rank

Grouped / clustered bar chart

Places separate series side by side within each category for direct comparison.

  • Chart
  • Comparison
  • Composition

What it answers

How do series compare within each category?

Shape
Groups of horizontal bars
What it shows
Within-category gaps and between-category differences.

Example: Skye Ascent Ltd

The question

Is Skye Ascent Ltd launching as many rockets as it budgeted for?

Skye Ascent Ltd launches, budget and actual, 2026

Skye Ascent Ltd launches, budget and actual, 2026Skye Ascent Ltd launches in 2026 by quarter, budget then actual: Q1 1 and 1; Q2 2 and 1; Q3 2 and 1. Five budgeted to 30 September, three achieved.BudgetActualLaunches0123Q1Q2Q3112121
Skye Ascent Ltd launches, budget and actual, 2026Skye Ascent Ltd launches in 2026 by quarter, budget then actual: Q1 1 and 1; Q2 2 and 1; Q3 2 and 1. Five budgeted to 30 September, three achieved.BudgetActualLaunches0123Q1Q2Q3112121
Skye Ascent Ltd launches in 2026 by quarter, budget then actual: Q1 1 and 1; Q2 2 and 1; Q3 2 and 1. Five budgeted to 30 September, three achieved.

Skye Ascent Ltd is a fictional company created for Insyt.

The misleading version

Same question, drawn badly

Budget and actual stacked into one bar

Budget and actual stacked into one barTotals shown: Q1 2, Q2 3, Q3 3. These are budget plus actual, which means nothing.BudgetActualLaunches (budget + actual)01234Q1Q2Q3112213213
Budget and actual stacked into one barTotals shown: Q1 2, Q2 3, Q3 3. These are budget plus actual, which means nothing.BudgetActualLaunches (budget + actual)01234Q1Q2Q3112213213
Totals shown: Q1 2, Q2 3, Q3 3. These are budget plus actual, which means nothing.

What goes wrong. Budget and actual are stacked, so each bar shows budget plus actual. That total means nothing. Put them side by side.

When to use it

Use it when

Comparing a small number of series for each category.

Avoid it when

Many series create thin bars and excessive legend scanning.

How to read it

Compare adjacent bars within a group, then the same series across groups.

The data you need

Layout
Long table
Fields
Category or ordered position: text/date; Series: text; Value: number
One row is
One series value within one category or position. What is the grain?
Rules
Use one value per category-series pair after aggregation. Define category and series order.
Optional
Wide alternative: Category,North,South with one row per category.
Preparation
Validate the input grain and missing values. Use one value per category-series pair after aggregation. Define category and series order.
Units
Use the measured variable's stated unit consistently. No denominator is implied unless the value is a rate or proportion.
Example of the input layout: Long tableA long table: one row per observation, few columns. New data adds rows.Category orSeriesValueAABBC
A long table: one row per observation, few columns. New data adds rows.

Worked example

Data A: North=30, South=45; B: North=34, South=40. Group bars by category. South leads by 15 in A and 6 in B.

CategorySeriesValue
ANorth30
ASouth45
BNorth34
BSouth40