Why Your Dashboard Project Keeps Dying on the Shelf
I have lost count of how many analytics projects I have watched die the exact same quiet death. Somebody commissions a dashboard, a few weeks later it arrives and it is genuinely lovely, everyone gathers round and says this is exactly what we needed, and six months later the thing has been opened twice, both times by the person who built it checking it still loads. It did not fail because the maths was wrong. It failed because it never became part of how anyone spends their day. I have seen this at a two person shop and inside a company with a proper data team and a five figure tooling budget, and the size of the effort does not save you. Here is the idea I wish someone had hit me with years ago: the value of a dashboard is not the insight it can produce, it is the decision it actually changes, and most dashboards change no decisions at all. Let me show you why that happens so reliably, and how to build the small number of things that genuinely move what a business does.
The report nobody opens
I have lost count of how many analytics projects I have watched die the exact same quiet death. Somebody commissions a dashboard. A few weeks later it arrives, and it is genuinely lovely. Clean charts, the right colours, a filter for every dimension anyone could ask for. Everyone gathers round the screen, nods, says this is exactly what we needed, and books a follow up. Six months later I open the analytics on that dashboard itself, the meta view, the one that tells you who is actually looking at it, and the number of views in the last month is two. Both of them are the person who built it, checking it still loads.
That dashboard did not fail because the maths was wrong. The maths was fine. It failed because it never became part of how anyone actually spends their day. It sat on the shelf, looking like progress, quietly being a sunk cost.
I have seen this happen at a two person shop and I have seen it happen inside a company with a proper data team and a five figure tooling budget. The size of the effort does not save you. If anything the bigger the project the harder it falls, because more money buys more charts, and more charts buys more places for the point to hide. So I want to talk about why this happens so reliably, because once you see the real reason you stop building dashboards the way almost everyone builds them, and you start building the small number of things that actually change what a business does.
The value of a dashboard is not the insight
Here is the idea I wish someone had hit me with years ago. The value of a dashboard is not the insight it can produce. It is the decision it actually changes. And most dashboards change no decisions at all.
Sit with that for a second, because it is uncomfortable. You can build a chart that reveals something genuinely true and genuinely interesting, a real pattern in the data, and if nobody does anything differently because of it, its value to the business is exactly zero. Not small. Zero. Insight that does not move a hand is decoration.
I find it helps to write it as a tiny expression, because it makes the trap obvious.
value delivered = decisions changed × value per decision
Look at what happens when the first term is zero. It does not matter how large the second term is. A dashboard could be sitting on top of a decision worth a fortune, and if it changes that decision zero times, the whole thing is zero multiplied by something big, which is still nothing. Most analytics projects pour all their effort into the right hand side, the potential value, the sophistication, and almost none into the left, the thing that has to be nonzero for any of it to count.
That is the first a ha, and everything else follows from it. Once you accept that the left term is where the value hides, your whole idea of what a good analytics project looks like flips on its head. It is no longer the one with the most complete data or the prettiest layout. It is the one that changes the most decisions, and a rough number wired to a real action beats a perfect number nobody acts on every single time. Precision is worth paying for only after the decision is nonzero, never before.
Where the gap actually is
This is not a new observation, I just think it gets buried. If you go back to the practitioner literature, The Data Analytics Handbook from 2014 gathered interviews with working analysts and data leaders, and BI Analytics and Data Science from 2018 walks the same territory more formally, and the theme that keeps surfacing is not a shortage of models or a shortage of charting tools. It is the gap between producing an analysis and getting it used. People started calling it the operationalisation gap, which is an ugly phrase for a simple thing: the distance between a number existing and that number changing what somebody actually does on a Tuesday.
Most of the industry's energy goes into the first half, making the number exist, making it accurate, making it pretty. Almost none goes into the second half, closing the distance to the decision. And the second half is where all the value lives.
Let me be concrete about why the gap is so wide.
Why good dashboards still get ignored
A dashboard asks the reader to do three things, in order, every single time, forever. First, remember it exists. Second, go and open it, which means leaving whatever they were doing. Third, look at it, understand what changed, and work out whether that means they should act. Three steps, and every one of them is a place to fall off.
Now compare that to how the work actually happens. The warehouse manager lives in the warehouse system. The shop owner lives in the orders screen and their inbox. The marketer lives in the ad platforms and a spreadsheet. Nobody, in the natural course of their day, passes through your dashboard. It is a detour. You have built a beautiful room that is off the corridor everybody actually walks down, and then you are surprised nobody goes in.
Worse, a dashboard is passive. It waits. It sits there being correct, and it relies entirely on a human remembering to come and ask it a question. Humans under pressure do not go looking for questions to ask. They react to the things that land in front of them. A report that waits to be opened is betting against human nature, and human nature wins every time.
The three taxes every dashboard charges
A dashboard is not free to use even after it is built. Every time you ask someone to get value out of it, you charge them three small taxes, and people avoid taxes.
The first is the memory tax. Before anyone can look at the dashboard they have to remember it exists. Not once, every day, in competition with everything else screaming for their attention.
The second is the context switch tax. To open it they have to stop what they are doing, leave the tool they were in, load a page, and reorient. That switch has a real cost in focus, and the brain is very good at avoiding it.
The third is the interpretation tax. Once they are looking, they have to work out what changed, whether it matters, and what if anything they should do. That is genuine cognitive work, and if the answer is usually nothing to see here, they learn to stop paying it.
Here is the same idea as a table, because it makes the point that the tax is charged over and over, forever.
| Tax | What the reader must do | How often | What makes them quit |
|---|---|---|---|
| Memory | Remember the dashboard exists | Every day | It falls out of mind within a week |
| Context switch | Leave their work and open it | Every visit | The switch costs more focus than it returns |
| Interpretation | Work out if anything needs doing | Every visit | Usually nothing does, so they stop |
A dashboard charges all three, every visit, for as long as it lives. An alert charges none of them. That is the entire reason one gets used and the other rots. And here is the quiet a ha buried in that table: you are not competing with other dashboards for the reader's attention, you are competing with their actual job, and their actual job wins.
Make the metric come to the work
So here is the shift, and it is less about better analysis and more about plumbing. Stop building things people have to visit. Start building things that arrive.
The mechanism is boring and it is the whole game. Instead of a chart someone has to remember to open, you set a threshold and you push a message when the number crosses it. Stock cover on your best selling line drops below two weeks, and a message lands in the channel the buyer already sits in all day. Refund rate on a product doubles week on week, and the owner gets a note in the inbox, not a red cell on a page they never load. Cost per acquired customer on a campaign creeps past what a customer is worth, and the person running ads hears about it where they already are.
The number goes to the work. The work does not go to the number. That one inversion is the whole difference between analytics that changes behaviour and analytics that decorates a shelf.
And notice what it does to those three fragile steps from earlier. Remember it exists, gone, it comes to you. Go and open it, gone, it is already in front of you. All that is left is the third step, the only one that ever mattered, look and decide. You have deleted the two steps that were killing the thing.
A worked example: the espresso machine
Let me make this concrete with a small business, a little coffee roaster that also sells espresso machines online. The shape is real even where the numbers are only there to illustrate.
Picture that they carry one hero machine that accounts for a big slice of revenue. The old world: a lovely dashboard with a sales chart, a stock chart, a returns chart, a traffic chart, sixteen panels in all. Nobody opens it. One quarter they sell out of the hero machine three days before a restock lands, lose the sales, and only notice when the numbers look thin at month end.
Now the operational version. We throw away fifteen of the sixteen panels. We keep one number, stock cover on the hero machine, defined as units in stock divided by average daily sales.
stock cover in days = units in stock ÷ average units sold per day
We set a threshold: if cover drops below fourteen days, the buyer gets a message in the chat tool they already sit in all day. That is it. No page to visit, no habit to build. The next time cover slips, the buyer sees it the same morning, brings the restock forward, and the stockout never happens.
Notice what changed and what did not. The maths did not get cleverer. Units divided by daily sales is about as simple as it gets. What changed is that the number found the person instead of the person having to find the number, and it only spoke up when there was something to do. One number that changes a decision beat sixteen that changed none. That is the whole trade, and it is available to a shop with no data team at all.
Tie every metric to a decision and an owner
Alerts on their own are not enough, because an alert nobody owns is just a more annoying dashboard. This is the part almost everyone skips, and it is the part that actually works.
Before you build anything, for every single metric you are tempted to show, answer three questions in one plain sentence each. What decision does this number inform. Who is the one person who makes that decision. What is the action they take when it moves. If you cannot answer all three, that metric does not go on anything. It is not a metric, it is trivia, and trivia is where dashboards go to get bloated and ignored.
Try it on a real one. Refund rate. Decision: do we pull a product or rewrite its listing. Owner: the shop owner. Action: if it crosses five percent in a week, open the product, read the recent reviews, decide within a day. Now that number has a job, a person, and a next move. That is a metric worth wiring up. Everything that fails those three questions is the stuffing that made your last dashboard forty charts long and zero decisions deep.
This is the second a ha, and it is a quiet one. The reason to name an owner and a decision is not tidiness. It is that a metric with no owner and no decision attached is guaranteed, by construction, to change nothing, which by our little expression makes its value zero before you have even built it. You can predict which of your charts are worthless in advance. They are the ones nobody can attach a decision to.
The decision table
Once you start asking those three questions of every number, the natural thing to build is not a dashboard at all, it is a small table. One row per metric that survives, and if a row cannot be filled in completely it does not get built. Here is what one looks like for a small online shop.
| Metric | Decision it informs | Owner | Threshold | Action when it fires |
|---|---|---|---|---|
| Stock cover on hero line | Reorder now or wait | Buyer | Below 14 days | Bring the restock forward |
| Refund rate by product | Pull the product or fix the listing | Shop owner | Above 5% in a week | Read recent reviews, decide within a day |
| Cost per acquired customer | Keep the campaign or pause it | Marketer | Above customer value | Pause and review the creative |
| Failed checkout rate | Escalate a technical fault | Ops lead | Above 2% in an hour | Open the checkout logs immediately |
Every row has a job, a person, a line in the sand, and a next move. Notice there is no row for total page views, no row for average session length, no row for the fourteen other things that usually pad a dashboard out. They are missing because none of them could fill in the decision column. That is not an oversight, that is the filter working. If your current dashboard were forced into this table, most of it would simply have no rows, and that is the most useful thing the exercise tells you.
The two loops
Let me draw the two paths a metric can take, because the contrast is the whole article in one picture.
The top path is where most analytics projects live and die. You build it, you admire it in the meeting where it ships, you forget it, and it becomes a report on a shelf. There is no loop. It is a line that ends in a drawer.
The bottom path is a loop, and the loop is the point. A metric belongs to an owner. The owner uses it to make a decision. The decision produces an action. The action gets reviewed against the same metric, which feeds the next decision. Nothing sits still. The number is load bearing, because something happens every time it moves, and because something happens, people keep it accurate and keep it relevant. Live things get maintained. Shelf things rot.
Putting a number on the gap
I said earlier that value delivered equals decisions changed times value per decision. Let me push that one step further, because it gives you a way to sort your metrics before you build a single one.
Take any candidate number and estimate three things. How often would it actually cross the threshold and prompt a look, call that the trigger rate. How often, when it triggers, would the owner genuinely act, call that the act rate. And how much is that action worth on average, call that the value per action. Multiply them.
expected value = trigger rate × act rate × value per action
Now the operationalisation gap has a shape you can see. The trigger rate can be healthy and the value per action can be large, but if the act rate is near zero, because nobody owns it or the action is unclear, the product collapses. A page full of metrics is really a page full of these products, and most of them are near zero because their middle term is near zero. The whole method in this article is just a way of dragging that middle term up from near zero towards one, by giving every number an owner and a clear action so that when it fires, somebody actually moves.
It also tells you where not to bother. A metric with a tiny trigger rate, one that almost never crosses any line worth acting on, is not worth wiring up no matter how large the stake behind it, because you will pay attention cost forever for an action you almost never take. Sort your candidates by this product and build from the top. The tail is shelf material.
A worked mini case: the refund spike that paid for itself
Let me walk one all the way through, from silence to saved money, so the loop is not abstract. The figures here are illustrative, chosen to show the mechanism, not lifted from a real client.
Say a shop sells a kitchen gadget that normally gets returned about three times in a hundred. That is quietly baked into everyone's assumptions. One week a bad batch goes out, and the true refund rate for that product jumps towards one in six, but nobody knows yet, because the only place that number lives is a dashboard nobody opens. For three weeks the shop keeps shipping the bad batch, keeps paying return postage, keeps taking the reputation hit in the reviews, and only notices at month end when the finance figures look off. By then the damage is done and spread across hundreds of orders.
Now run the same three weeks with the operational version. The refund rate per product is wired to an alert with a threshold at five percent in a week. Nine days into the bad batch the product crosses five percent and the owner gets a message that evening. The action is already defined, open the product, read the recent reviews, decide within a day. The reviews are full of the same complaint. The owner pulls the listing the next morning, contacts the supplier, and stops shipping the bad batch two weeks earlier than they would have. Everything that would have happened in those two weeks, the postage, the refunds, the angry reviews, simply does not.
The number did not need to be cleverer to do that. It needed to arrive. The difference between the two versions of that story is not analysis, it is plumbing and an owner, and that difference is measured in real money. Put it through the expected value expression and it is obvious: the trigger rate was real, the value per action was large, and all the operational version did was drag the act rate from zero up to one.
Common mistakes
I have made most of these myself, so this is a confession as much as a warning.
The completeness trap. Adding a metric because you can, not because it changes anything. If your first instinct when you get a new data source is to chart all of it, you are building a shelf. The right instinct is to ask what one decision this could change and chart only that.
The vanity metric. Total visits, total followers, total signups, the big numbers that only ever go up and never tell you to do anything. They feel good in a meeting and they inform no decision. If a number cannot move in a direction that would make you act, it is scenery.
The everything alert. The opposite failure. You wire up alerts but set the thresholds so tight that everything fires constantly, and within a week people mute the channel. An alert that cries wolf is worse than no alert, because it trains people to ignore the one that matters. Quiet by default is not laziness, it is the feature.
The orphan metric. A number nobody owns. It sits on the dashboard being technically true and changing nothing because no single person is responsible for acting on it. Shared ownership is no ownership.
The build it and they will come hope. The belief that if the dashboard is good enough, people will change their habits to use it. They will not. You do not get to redesign how a busy person spends their day. You have to fit into it.
The precision detour. Spending three weeks getting a number from roughly right to exactly right before anyone has acted on the roughly right version. Precision has value, but only downstream of a decision. Nail the decision first, tighten the number later.
What this looks like in practice
You do not need a data science team and you do not need to rebuild everything. You need to do far less than you think, but you need to do the part everyone skips.
Start by throwing away most of the charts. Take your existing dashboard, if you have one, and for every panel ask the three questions: decision, owner, action. Keep the handful that survive. You will usually be left with three to five numbers that genuinely drive a decision, out of the thirty or forty that were on there making it look thorough. That is not a loss. The other thirty were never doing anything.
Then wire those survivors to alerts, not to a page. Pick a threshold for each, the level at which the owner would actually do something, and push a message to wherever that person already works when the number crosses it. Quiet when nothing needs doing, loud exactly when it does. A metric that only speaks up when it matters gets trusted. A dashboard that shows everything all the time gets ignored, because most of the time most of it is fine, and the reader quickly learns there is nothing to see.
Then, and only then, if there is genuinely a case for a shared view people gather round, build the small one. A weekly number the team looks at together, inside a standing meeting that already exists, with an owner who talks to it. Even here the trick is the same: it lives inside a ritual people already have, it does not ask for a new one.
How to apply this in a week
You do not need a project plan for this. You need about a week and the willingness to delete things. Here is the sequence I use.
Day one, list every number. Open whatever dashboard or spreadsheet you have and write down every single metric on it, one per line. Do not judge yet, just list.
Day two, run the three questions. For each line, try to write one plain sentence for the decision, one for the owner, one for the action. Most lines will fail. Cross them out without mercy. You are usually left with a handful.
Day three, set thresholds. For each survivor, pick the level at which the owner would genuinely do something. Not an interesting level, an actionable level. If you cannot name a level that would trigger an action, the metric is not ready and goes back on the shelf until it is.
Day four, wire the alerts. Push each survivor to where its owner already works, the chat tool, the inbox, wherever they live. No new app, no new habit. The number arrives in a place they already look.
Day five, agree the actions out loud. Sit the owners down and say, when this fires, you do this, within this long. Write it next to the metric. An alert with no agreed action is just a notification, and notifications get muted.
Then leave it a month and check one thing, not whether the numbers went up, but whether any decision got made because an alert fired. If yes, you have an operational metric. If no, you have a quieter shelf, and you go back to the thresholds and the owners until something moves.
When a dashboard actually is the right answer
I have been hard on dashboards, so let me be fair, because there is a shape of problem where a shared view really is the correct tool, and pretending otherwise would be dishonest.
A dashboard earns its place when a group of people need to look at the same picture at the same time, on a rhythm that already exists. The weekly team meeting where everyone looks at the same handful of numbers and talks about them. The monthly review where you compare against a target together. In those cases the value is not the number arriving, it is the shared conversation around it, and a shared view is exactly right.
The test is simple. If the dashboard lives inside a ritual people already have, and someone owns talking to it, it can work. If it relies on individuals remembering to visit it alone, between other things, it will rot. Build the shared view for the meeting that already exists. Build the alert for everything else. The mistake is not dashboards, the mistake is using a dashboard for a job that an alert does better.
If you want a hand doing this properly, turning a pile of numbers into a short list of decisions with owners and alerts, that is exactly the kind of work I do. My data and analytics work is built around making analytics operational rather than ornamental, and if you want to start, book a call and bring your current dashboard along. We will find out how many of its charts have ever changed a single decision.
The one thing to take away
If you remember one line from this, make it the expression. Value delivered equals decisions changed times value per decision, and the first term is almost always the one sitting at zero. Stop asking whether a dashboard is accurate or complete or impressive. Ask what decision it changes, who owns that decision, and how they will hear about it without having to remember to look. Tie every number to a decision and a person, push it to where the work already happens, and let it interrupt them only when it matters. Do that and your analytics stops being a shelf and starts being a loop. Everything else is decoration, and decoration is worth exactly zero.