As a PM, I spend a lot of time looking at charts. Data is how we understand what’s going on day to day and how we track progress towards goals over time.
The choices we make in how to present data are powerful levers for driving a team’s performance toward a goal. Bad charts can cause confusion and (worse) apathy. But well-designed charts can get a team rallied around a problem and empower people to work on the right things.
All too often, I see charts that are hard to decode and require you to have (or lookup) additional context to understand the story they’re telling you. This is bad: if two people look at the same chart and come away with a different understanding then, well, what’s the point of data?
Over the years I’ve developed a few simple rules for how to make charts awesome. I’ve applied these again and again on product after product and they’re highly effective in getting across maximum information, with minimum context. Together these rules make up The Perfect Chart.
Let’s start with the kind of thing people throw on a dashboard all the time.
OK, we have some sweet sweet data. But how do we interpret this? It’s gently wiggling around with no spikes (that’s probably good). Let’s imagine this metric represents our team’s primary goal. OK, but now I have to go look elsewhere to understand what the target for this metric is. Wouldn’t it be better if we just displayed the goal on the chart?
Yay! OK great, this dotted orange line represents our numerical goal. (I personally prefer metrics in blue and goal lines in orange — it’s what Meta’s internal tools default to and I’ve got used to it.)
But the x-axis of this chart ends on the most recent data point: today. Let’s assume we want to get the wiggly blue line above the dotted orange line (more on that assumption at the end of this post), how long have we got? Were we supposed to hit that goal last week? Or have we got more time? It’s unclear.
Good news, we can make it clearer just by extending the X-axis out to the end of the reporting period like so:
Sweet. Our team plans in half-yearly cycles, so by extending the x-axis out to the end of June, we can see we’ve got three months left to hit the goal — no need to panic (yet).
But there’s still so many questions this chart doesn’t answer:
- When did we set this goal? Is it something we’ve been working on since the start of the half or longer? Are we 50% of the way through our goaling period, or 75% of the way through?
- Is the team on track to his the goal or not? Will we be successful if we keep doing what we’re doing or do we need to change things up? You can kinda squint and see the trend, but two people might see that differently.
- Is the aim to get the blue line above the dotted orange line, or is it to keep it below it? (Not everything is supposed to go up and to the right — perhaps this is fraud rate, and the aim it to keep it under control).
We can make the chart answer all of these questions with one simple innovation: lets make the goal line start on the value of the metric at the start of the half, and end at the target we’re aiming to hit at the end of the half:
Would you look at that – It’s a thing of beauty. We can now see that:
- We set this goal at the start of the half.
- The aim is to increase the metric, not decrease it.
- We have three months left to hit it.
- That we’re not on track to hit it!
This is the kind of view that suddenly makes a team realise that that might need to change things up. Perhaps we have the next big thing up our sleeve that’ll bend the curve. Perhaps we don’t.
I find this view to be extremely motivating for a team. It’s suddenly extremely clear that we want to be ABOVE the orange line, not below it – and that we’re not on track. Everyone can see the problem, and it forces the right conversations: are we OK with where we are? What needs to change? How do we get back on track?
But this chart could still be better. While the x-axis is now pushed out to the end of the half, we’re only seeing 3 months of historical data. It makes it hard to see if the team’s efforts this half are significant given the historical baseline.
Solve: pull back the x-axis to include data from the full previous half:
We can now see that this metric was declining, and the team’s efforts are bending the curve upward towards an ambitious new target. It’s not essential data, but it’s useful context that can help a team understand the relative impact of their work.
Boom. There we have it The Perfect Chart! This chart contains SO MUCH more information that the first version. We can see where we started, where we’re going and where we came from.
So here are those 3 simple rules for the perfect chart:
- Push your x-axis out to the end of the reporting period – not the date of your most recent data point.
- Plot a goal line, and ensure your goal line starts at the right date and value for when the goal was set, and ends at your target date and value.
- Pull your x-axis back to show the entire previous reporting period.
Bonus round: Guardrails and countermetrics
Earlier I mentioned that not all charts are supposed to go up and to the right. It’s common for teams to take countermetrics or guardrails — parameters you must stay within while you attempt to hit your goal.
And yes, I have opinions here too!
Take this example:
Again, without additional context, it’s hard to know what this means. Is this good? Bad? OK?
Lets add in a goal line:
Lets assume the chart title tells us this is a guardrail metric so we know to keep below it. But the blue line is trending upward. Should we be worried? Should we panic?
I’ve seen a lot of charts like this — we’re trending toward the guardrail (bad), but we’re still below it (good). One person on the team might look at this and thing “no problem” but another might start to freak out. Who is right?
In these situations, it’s best to agree on what the difference between A’OK, mild peril, and total disaster.
One industry that does this really well is… aviation.
This is an airspeed indicator – and it clearly shows a green area (all good), an amber area (maybe start to worry) and red (don’t go here)!
We can apply this same principle to our guardrail metric chart:
Uh oh! We’re above the orange line!
This allows you to have a playbook. For example, if you cross the red line, you have to file a SEV and drop everything to get it back down. And if you cross the amber, you perhaps open an investigation into what’s going on.
What’s great about this is that it’s extremely clear what’s not OK (crossing the red line) and when we should start as a team to react to an upward trend (crossing the amber line).
An alternative way to represent this which I think is even better is to take inspiration from the airspeed indicator:
So there you have it – another form of chart that makes is super clear what’s going on – and allows everyone in the team to have the same understanding.