Business Intelligence Dashboards: Building Ones People Use
Most business intelligence dashboards are opened twice: once when they ship, and once when someone asks whether they still work. The rest of the time they sit in a folder called "Reporting" that nobody browses. This is not a tooling problem. Modern BI tools are excellent. The failure is upstream, in how dashboards get scoped, and it repeats across companies of every size.
This guide is about the failure mode and the fix. It covers why dashboards go unopened, a decision-first design method, how many metrics a screen can actually carry, when to replace a dashboard with an alert, and how to push answers into the places where people already work. It ends with a critique framework you can run against any dashboard you own, plus a scoring rubric you can use in a review meeting.
Why most business intelligence dashboards go unopened
Ask an analytics team why a dashboard is unused and you get "adoption" answers: training, awareness, a Slack announcement. Ask the people who were supposed to use it and you get something more specific. The reasons cluster into five patterns.
It was scoped from data availability, not from a decision. Someone asked "what can we show?" instead of "what will change because of this?" The result is a competent inventory of everything the warehouse holds about a domain, which is a reference document, not a decision aid. Reference documents get consulted when you already know what you are looking for. Most people don't.
It answers a question the viewer cannot act on. A support director who cannot change staffing this week has no use for a live queue-depth chart. It generates anxiety, not action. The chart belongs to whoever controls the lever.
It requires interpretation the viewer cannot supply. A number without a baseline is not information. If the dashboard shows 4.2% churn and the viewer does not carry last month's figure in their head, they have learned nothing. Every metric needs a comparison built in: prior period, target, or forecast.
Its refresh cadence does not match the decision cadence. A dashboard refreshed hourly for a decision made monthly trains people to ignore movement. A dashboard refreshed weekly for a decision made daily trains people to distrust it.
Checking it is a task nobody owns. The dashboard assumes someone will pull. Nobody is paid to pull. The metrics that actually drive behavior are almost always pushed: a standup number, a Monday email, an alert that fires when a threshold breaks.
That last point is the important one. Pull-based reporting only survives when consulting it is embedded in a ritual with a named owner. Absent that ritual, usage decays to zero within about a quarter, regardless of how good the charts are.
Decision-first design: the method
Decision-first design inverts the usual build order. Instead of starting with data and ending with a screen, you start with a decision and work backwards to the minimum display that supports it.
Step 1: Name the decision, the owner, and the cadence
Write one sentence in this exact shape before you open the BI tool:
Every [cadence], [named role] decides [specific decision] based on [what evidence].
Real examples:
- Every Monday, the demand gen lead decides which two channels get the incremental budget, based on trailing 4-week cost per qualified opportunity by channel.
- Every morning, the on-call support lead decides whether to pull an engineer onto escalations, based on the count of P1 tickets aged over 24 hours.
- Every quarter, the CFO decides the hiring envelope, based on net revenue retention and trailing gross margin trend.
If you cannot fill the blanks, you do not have a dashboard requirement. You have a data request, which is fine, but it should be answered once in a document, not built into permanent infrastructure.
Step 2: Derive the metrics from the decision, not the other way around
For each decision sentence, list only the metrics that could change the answer. The test is mechanical: if the metric moved 30% in either direction, would the decision be different? If no, cut it. This single test typically removes half the tiles from a proposed dashboard.
Step 3: Define the response for each metric
Every metric on a decision dashboard gets a written response rule: what happens when it crosses a threshold, and who does it. "Pipeline coverage below 3x triggers a pipeline review with the two lowest-coverage segments" is a response rule. "We monitor pipeline coverage" is not. Metrics without response rules are the ones that produce dashboard fatigue, because viewers learn that nothing follows from looking.
Step 4: Design for the glance, then the drill
A working dashboard has two layers. The glance layer answers "is anything wrong?" in under five seconds: three to seven numbers with comparisons and a clear visual state. The drill layer answers "why?" and can be as dense as you like, because by the time someone reaches it they have a specific question.
Most failed dashboards collapse these into one screen, which makes the glance layer unreadable and the drill layer insufficient.
Dashboard design principles that survive contact with users
These are the principles that hold up across teams and tools. They are opinionated on purpose.
One screen, no scroll, for the glance layer. If the primary view requires scrolling, the bottom half does not exist. Design for the smallest screen your audience actually uses, which for executives is often a phone on a Monday morning.
Every number carries a comparison. Absolute values are nearly meaningless in isolation. Pair each with prior period, target, or forecast, and show the delta explicitly rather than making the viewer subtract.
Cap the glance layer at seven tiles. Beyond that, attention distributes evenly across everything, which is the same as attending to nothing. Seven is generous; five is better.
Sort by exception, not alphabetically. Tables should default to the rows that need attention: worst variance first, oldest first, largest gap first. Alphabetical sorting is a tell that nobody thought about the reader.
Label in the language of the business. "Weighted pipeline" not "opp_amt_wtd". If the metric has a nonobvious definition, put the definition on the dashboard, not in a wiki. Definitional ambiguity is the single most common cause of a dashboard being argued with instead of used.
Show freshness prominently. "Data through 07:00 today" near the title prevents an entire class of meeting derailment.
Choose chart types for the comparison, not for variety. Trend over time: line. Composition at a point in time: stacked bar, and only if the parts genuinely sum to the whole. Ranking: horizontal bar sorted by value. Two continuous variables: scatter. Pie charts work for two or three slices and fail for more. Dual-axis charts almost always mislead; split them.
Kill unused dashboards on a schedule. Most BI platforms expose view logs. Anything with zero views in 60 days gets archived, with a note to the original requester. This is not housekeeping, it is a forcing function that keeps the catalog trustworthy.
Fewer metrics, better metrics
The urge to add is stronger than the urge to remove, so removal needs a rule. Use a three-tier structure and enforce the counts.
| Tier | Purpose | Metric count | Cadence | Delivery |
|---|---|---|---|---|
| Tier 1: Decision metrics | Directly change a named decision | 3 to 7 | Matches decision cadence | Pushed to where the owner works |
| Tier 2: Diagnostic metrics | Explain why a Tier 1 metric moved | 10 to 30 | On demand | Drill-through from Tier 1 |
| Tier 3: Reference data | Answer ad hoc questions | Unbounded | On demand | Query interface, not a dashboard |
The mistake nearly everyone makes is building Tier 3 as though it were Tier 1: a wall of tiles covering everything, presented as a monitoring surface. Tier 3 should not be a dashboard at all. It should be a place to ask questions, which is a different interaction model entirely and is covered in our guide to conversational data querying tools.
There is also a governance argument for fewer metrics. Every metric on a dashboard is a definition someone will eventually challenge in a meeting. Fewer metrics means fewer definitions to maintain, fewer reconciliation arguments, and a smaller surface for drift when an upstream schema changes. For larger organizations where this becomes a formal discipline, see enterprise data analytics solutions.
Alert on exceptions instead of asking people to check
Here is the reframe that saves most dashboard programs: for any metric with a defined response rule, the dashboard is the wrong delivery mechanism. If you know the threshold in advance, and you know who should act, you do not need a human to poll a chart. You need a message when the threshold breaks.
Exception alerting works when four conditions hold:
- The threshold is defensible. Not "alert when revenue drops" but "alert when trailing 7-day revenue is more than 15% below the trailing 28-day average for the same day of week." Naive thresholds fire on normal seasonality and get muted within a week.
- The alert names the owner. Alerts to a channel with no named responder are noise. Route to a person or a rotation.
- The alert carries context. A bare "churn is up" forces the recipient into the dashboard anyway, which defeats the purpose. Include the current value, the comparison, the top contributing segment, and a link to the drill view.
- There is a tuning loop. Track how often each alert fires and how often anyone acts on it. Alerts with a low action rate get their thresholds tightened or get deleted. Untuned alerting decays into muted channels faster than dashboards decay into unopened folders.
A reasonable target: each alert should fire rarely enough that its appearance is itself information. If an alert fires daily, it is a metric, not an alert, and it belongs on a dashboard or in a digest.
The digest as a middle ground
Between the always-on dashboard and the threshold alert sits the scheduled digest: a short recurring summary of what changed, delivered to where people already read things. Digests work because they respect the pull problem. Nobody has to remember to look. They also degrade gracefully: a digest that is boring three weeks running is still cheap to skim, whereas a dashboard that is boring three weeks running gets a stale bookmark.
Good digests are ruthless about what counts as "changed": movements outside a normal band, items past a deadline, things that stalled. A digest that restates every metric every day is just a dashboard in an email, and it will be filtered.
Push answers to where people work
The final principle is delivery. Analytical work becomes valuable at the moment of a decision, and decisions happen in meetings, in inboxes, in chat, and inside operational tools. Every step a person has to take to reach a number reduces the chance the number gets used.
Practical patterns, in rough order of effort:
- Embed the glance layer in the tool where the team already spends its day, using whatever embedding your BI platform supports.
- Post the standup number automatically into the team channel before the standup, not as a link but as the actual value with its comparison.
- Attach the number to the artifact. A weekly business review deck that regenerates from live data beats a deck someone rebuilds by hand, both for accuracy and for the hours saved.
- Make the follow-up query cheap. The moment after someone sees a number is when they have the follow-up question. If answering it requires filing a ticket with the data team, the thread dies. This is where a natural language query layer over your operational systems earns its keep.
That last pattern is where Skopx fits, and it is worth being precise about the boundary. Skopx is not a BI tool. It does not build drag-and-drop dashboards or visualizations, and if your job to be done is a governed, pixel-controlled dashboard on top of a warehouse, use a dedicated BI platform such as Looker, Power BI, Tableau, or Metabase, and check current pricing and packaging directly with each vendor, since these change. Our category map of business analytics platforms walks through how those categories differ.
What Skopx does is the layer around the dashboard: asking questions in plain language across connected systems, getting answers that cite where they came from, and turning recurring checks into automated pushes. It connects to nearly 1,000 business tools and can query PostgreSQL, MySQL, and MongoDB directly in chat, alongside data pulled through those integrations. A daily morning brief surfaces what changed and what is slipping across whatever you have connected, which covers the digest pattern without anyone maintaining a report.
A concrete example. In Skopx chat you would type:
Every weekday at 8am, check our Postgres orders table for yesterday's revenue by channel, compare it to the same weekday average over the last four weeks, and if any channel is down more than 20 percent, post the channel, both numbers, and the top three affected products to the #revenue Slack channel.
That description builds a workflow: a scheduled trigger, a database query step, a transform that computes the comparison, an if/else condition on the threshold, and a Slack action. You describe it in chat rather than assembling it in a builder, and every run is inspectable step by step so you can see exactly what the query returned and why the condition passed or failed. The honest limits: workflows are acyclic, capped at 20 steps, have no human-approval step and no custom code step, the minimum schedule interval is 15 minutes, and any AI step runs on your own provider key. More detail is on the workflows page.
On pricing, Skopx is paid from day one: Solo is $5 per month, Team is $16 per seat per month with no seat cap, and Enterprise and White Label are $5,000 per month. There is no free tier and no trial. You bring your own AI provider key, which means Skopx never marks up model costs. Full detail is on the pricing page.
A critique framework for any dashboard
Run this against a dashboard you already own. Score each item 0, 1, or 2. It takes about ten minutes per dashboard and produces a list of specific edits rather than a vague sense that something is off.
| # | Question | 0 points | 1 point | 2 points |
|---|---|---|---|---|
| 1 | Can you state the decision this supports in one sentence? | No | Vaguely | Named decision, owner, cadence |
| 2 | Does the glance layer fit one screen without scrolling? | No | On desktop only | On the device actually used |
| 3 | How many tiles in the glance layer? | 12 or more | 8 to 11 | 7 or fewer |
| 4 | Does every number carry a comparison? | Few do | Some do | All do |
| 5 | Does every metric have a written response rule? | None | Some | All |
| 6 | Does refresh cadence match decision cadence? | Mismatched | Close | Matched |
| 7 | Are metric definitions visible on the dashboard? | No | In a linked wiki | On the surface |
| 8 | Is data freshness shown? | No | Buried | Near the title |
| 9 | Are tables sorted by exception? | Alphabetical or random | Sometimes | Always |
| 10 | Is there a named owner for reviewing it? | No | Informally | Named, with a ritual |
| 11 | Do you know the view count for the last 60 days? | No | Roughly | Yes, and it is healthy |
| 12 | Could any part of it be an alert or digest instead? | Never considered | Considered | Already converted |
20 to 24: Working dashboard. Maintain it and resist additions. 13 to 19: Salvageable. Cut tiles, add comparisons, write response rules. Below 13: Rebuild from a decision sentence or convert entirely to alerts and a query interface. Do not incrementally patch it, because the underlying scope is wrong and patches make it denser.
The single highest-leverage fix in this list is item 5. Writing a response rule for each metric forces you to discover which metrics nobody would act on, and those are exactly the ones to delete.
What to build instead, by decision type
Not every information need deserves a dashboard. Match the delivery mechanism to the shape of the need.
| Information need | Best mechanism | Why |
|---|---|---|
| Known threshold, known owner, rare breach | Alert | Polling wastes attention on non-events |
| Regular review with a fixed agenda | Dashboard, glance layer | Ritual supplies the pull |
| "What changed since yesterday?" | Digest or morning brief | Change is the payload, not the level |
| One-off question, unpredictable shape | Conversational query | Building a view costs more than the answer is worth |
| Deep analysis with a hypothesis | Notebook or ad hoc SQL | Needs iteration, not a fixed layout |
| Executive narrative | Generated document | Numbers need argument around them |
| Operational trigger inside a workflow | Automation | The decision is mechanical, so automate it |
Roughly, if the question is stable and the answer is a level, use a dashboard. If the question is stable and the answer is binary, use an alert. If the question is unstable, use a query interface. Dashboards get overused because they are the default artifact BI tools produce, not because they are the right answer most of the time. For a broader treatment of where the category is heading beyond static reporting, see our piece on data intelligence software.
Rolling this out without a reorg
You do not need a program to fix this. A three-week sequence works.
Week 1: Inventory and measure. Pull view logs for every dashboard. Sort by views. Most catalogs follow a steep curve where a handful of dashboards get nearly all the traffic. Archive everything with zero views in 60 days and see who complains. Usually nobody does, which is the finding.
Week 2: Score the survivors. Run the critique framework on the top dashboards by views, plus any that leadership names as important. Publish the scores. This turns a taste argument into a shared checklist.
Week 3: Convert and consolidate. For each low scorer, decide from the mechanism table whether it becomes an alert, a digest, a query, or a rebuilt decision dashboard. Rebuild only the ones with a real decision sentence behind them.
Then set a standing rule: every new dashboard request must arrive with a decision sentence and a response rule per metric. The request form does more work than any amount of training.
Frequently asked questions
How many metrics should business intelligence dashboards show?
Three to seven on the glance layer, which is the screen people see first. Diagnostic detail belongs one click deeper, where a viewer arrives with a specific question and can handle density. The test for whether a metric belongs on the glance layer: if it moved 30% in either direction, would a decision change? If not, move it down a tier or cut it.
Should we replace dashboards with alerts entirely?
No. Alerts handle known thresholds with known owners. They cannot support a recurring review where a team walks through a fixed agenda, and they cannot help someone build intuition about a trend. The practical split: alerts for exceptions, a small dashboard for rituals, and a conversational query interface for everything unpredictable. Most organizations are overweight on dashboards and underweight on the other two.
Why do dashboards stop being used after a few months?
Usually because nobody owns looking at them. Dashboards tied to a ritual with a named owner survive. Dashboards that depend on voluntary checking decay quickly, and no amount of design quality prevents it. The secondary cause is definitional drift: one number gets challenged in a meeting, trust breaks, and people stop referencing the whole surface.
Can Skopx build our dashboards?
No, and it would be dishonest to imply otherwise. Skopx does not build drag-and-drop dashboards or visualizations. For governed visual dashboards on a warehouse, use a dedicated BI platform. Skopx handles the layer around them: asking questions across connected tools in plain language with answers that cite their source, querying PostgreSQL, MySQL, and MongoDB in chat, a daily morning brief on what changed, and workflows you describe in chat that push numbers and alerts into Slack, email, or wherever your team works.
What is the fastest way to tell if a dashboard is worth keeping?
Look at two numbers: unique viewers in the last 30 days, and whether anyone can name a decision that changed because of it. A dashboard with viewers but no decisions is entertainment. A dashboard with decisions but few viewers may just need better delivery, pushed into chat or email instead of waiting to be visited.
How do we stop the dashboard catalog from growing forever?
Attach an expiry to every dashboard at creation, typically 90 days, and require a renewal from the owner based on actual usage. Pair that with an intake rule that no dashboard gets built without a written decision sentence and a response rule per metric. Growth is not the problem; unreviewed growth is, because a catalog full of stale surfaces makes the good ones harder to find.
The short version
Dashboards fail when they are scoped from available data rather than from a decision someone owns. Fix that and most other problems dissolve: the metric count falls naturally, comparisons become obvious, thresholds write themselves, and delivery follows the decision instead of waiting for a visit. Then move everything you can off the dashboard entirely, into alerts for exceptions, digests for change, and a query interface for the unpredictable questions that no fixed layout was ever going to anticipate.
Skopx catches what falls between your tools, which is where a surprising number of those questions live.
Skopx Team
The Skopx engineering and product team