All articles

Web Development9 min read

Business Dashboards People Actually Use: KPI Definitions, Data Sources and Refresh

A dashboard gets used when every tile supports a decision, every KPI has a written definition and the data refreshes as fast as the decision needs. This guide gives a KPI template, refresh trade-offs and a worked distributor example.

Written byUsama AsifPublished

A business dashboard people actually use is built backwards from the decisions it supports. Each tile answers a question someone acts on, every KPI has a written definition (formula, owner, source, grain, refresh, target and caveats), data passes quality checks before it is shown, and refresh frequency matches how fast the decision is made rather than how fast the technology allows.

Most unused dashboards fail for the same reasons: nobody agreed what the numbers mean, the numbers do not match finance's figures, or the screen shows everything and so helps with nothing. This guide covers how to avoid all three, whether you use a BI tool or a custom build.

Why should you start from decisions rather than charts?

Because a chart nobody acts on is decoration. Start by listing who makes which decisions, how often, and what they would do differently if a number moved. Only then pick the KPIs and the charts.

RoleDecisionHow oftenWhat they need to see
Warehouse managerWhich orders to expedite or split todaySeveral times a dayOrders at risk of missing their promised date
Sales managerWhich accounts and reps need attention this weekWeeklySales against target, accounts with falling orders
Finance controllerWhere margin is leakingMonthlyGross margin by category, branch and customer
Credit controllerWho to chase or put on holdDailyOverdue balances and days sales outstanding

Ask each person: "If this number went up or down sharply, what would you do?" If there is no answer, the number is not a KPI for them. It may still belong in a report, but not on their dashboard.

How should you define a KPI?

Write a definition for every KPI before building anything, and publish them in a glossary next to the dashboard. Many disputes about "wrong numbers" are really two teams using one word for two calculations: sales may count revenue when an order is booked, finance when it is invoiced, and the bank when it is paid.

FieldWhat to writeExample: gross margin %
NameOne name, used everywhereGross margin %
Business questionWhat decision it supportsWhich categories and customers are profitable enough?
FormulaIn words and as a calculationNet sales minus cost of goods sold, divided by net sales
Inclusions and exclusionsWhat counts and what does notNet of credit notes and returns; excludes inter-branch transfers
OwnerThe person who rules on disputesFinance controller
SourceSystem, tables or reportsERP sales invoices and item costs
GrainThe lowest level of detail storedInvoice line, rolled up by day, branch, category and customer
RefreshHow often it updatesDaily; final after month-end close
Target and thresholdsWhat good looks likeSet per category by finance
CaveatsKnown limitsLanded cost updates when freight bills arrive, so recent margin can shift
VersionWhen the definition changedDate and reason for each change

Grain deserves extra attention. If you store only daily totals per branch, nobody can drill into a customer or an invoice later. Store the lowest practical level and aggregate upward.

Which data quality checks should run before a dashboard updates?

Run checks on every load and show the result. A dashboard that is silently wrong does more damage than one that admits a problem.

Data quality checklist:

  • Freshness. Record when each source was last loaded and show "data as of" on every view.
  • Completeness. Compare row counts and totals with the source, and check every branch or entity appears.
  • Validity. Flag negative quantities, future dates and prices of zero.
  • Uniqueness. Catch duplicate invoices or orders loaded twice.
  • Mapping. Put sales for unknown products or customers into a visible "unmapped" bucket instead of dropping them.
  • Reconciliation. For closed periods, dashboard revenue and margin must agree with finance's ledger. Agree who signs this off.
  • Volume anomalies. Alert when a day's numbers are far outside the usual range; it is often a failed load, not a business event.

When a check fails, keep showing the last good data with a clear warning, and alert the KPI owner. Do not overwrite good numbers with a half-loaded day.

How often should a dashboard refresh?

Refresh as often as the fastest decision that uses the number, and no faster. Each step toward real time adds cost, complexity and load on source systems.

RefreshGood forCost and complexityExample
Real time (seconds)Operations where minutes matterHighest: event streams or live queries, load on source systems, harder testingDispatch boards, production line stoppages
Near real time (minutes to hourly)Intraday operationsModerate: incremental loads or change captureOrder backlog, picking progress, stockouts
DailyMost management KPIsLow: overnight batch after the day closesSales against target, margin, overdue balances
Weekly or monthlyFinance, board and planningLowest: after period close, reconciledMonthly margin, budget against actual

Two practical cautions:

  • Do not point live dashboards at the ERP's production database. Heavy queries can slow the system for people entering orders. Use a read replica or a separate reporting database.
  • Tools set their own limits. Google's Looker Studio documentation explains that each data source has a data freshness setting and that available refresh rates vary by connector; its Google Ads and Google Analytics connectors refresh every 12 hours and that rate cannot be changed. In Power BI, imported data refreshes on a schedule, while DirectQuery sends queries to the source when the report is used.

Should you build a custom dashboard or use a BI tool?

Use a BI tool such as Power BI, Looker Studio or Metabase for internal analysis and management reporting. Build custom when the dashboard is part of a product or portal used by customers, when users need to act on what they see (approve, reorder, assign), or when role logic and design must match the rest of your application. Many organisations use both.

FactorBI toolCustom-built dashboard
Time to first versionFast, once data is modelledSlower
Who changes itAnalystsDevelopers
Ad hoc explorationStrongLimited unless built in
Showing data to external customersPossible through embedding; check licensing for your user numbersBuilt in
Row-level securitySupported, with tool-specific rulesYou design and build it
Acting on the dataLimitedFull: buttons, workflows, write-back
Look and feelWithin the tool's optionsFull control
Ongoing costLicences, which vary by vendor and user typeDevelopment and maintenance

The row-level security details differ by tool, so check them against your use case. Microsoft's documentation notes that Power BI row-level security applies to workspace users with the Viewer role, not to Admin, Member or Contributor roles, and that embedded reports need the user's identity passed in the embed token for per-user filtering. Metabase's documentation notes that its static embeds cannot use row and column security; restrictions there rely on locked parameters, while its full app and modular embedding can map identity provider attributes to permissions.

How should role-based views work?

Keep one set of KPI definitions and vary the scope by role. Everyone sees "gross margin %" calculated the same way; a branch manager sees their branch and a sales rep sees their own accounts.

  • Executive: whole business, trends and comparison with target
  • Branch or department manager: own unit, drill down to people and customers
  • Individual: own accounts, tasks and pipeline
  • Finance: everything, with reconciliation detail
  • External customer: their own account only, through a portal

Enforce scope in the data layer, not by hiding tiles. If a user can change a filter in the address bar and see another branch, the security is not real.

How do you embed dashboards in a portal?

Pass the signed-in user's identity from the portal to the dashboard, enforce filtering on the server, and test with real accounts. Options range from embedding a BI tool's report to building native charts from your own API. Native charts suit simple, high-traffic customer views; embedded BI suits richer analysis for fewer users.

Check before committing: per-customer filtering in the embedded mode you plan to use, page load time, licensing at your expected number of viewers, and whether viewers can refresh data. Looker Studio's documentation, for example, notes that viewers cannot manually refresh an embedded report. For the wider portal design, see our customer portal development checklist.

Worked example: a sales and operations dashboard for a distributor

This example is illustrative. A distributor of packaged goods has three branches, an ERP for orders, stock and invoicing, a CRM for quotes, and a warehouse system for picking.

KPIDefinitionSourceGrainRefreshOwner
Orders at riskOpen orders past their promised ship date, or with lines short of stockERP orders, warehouse stockOrder lineEvery 15 minutesWarehouse manager
Fill rateOrder lines shipped complete on their first shipment, divided by all order lines due to shipERPOrder lineDailyOperations manager
Sales against targetNet invoiced sales divided by targetERP invoices, targets held in ERPInvoice line by rep, branch, dayDailySales manager
Gross margin %As defined in the template aboveERPInvoice lineDaily, final at month endFinance controller
Declining accountsCustomers whose orders over the last eight weeks are below the same weeks last yearERPCustomer by weekWeeklySales manager
Days sales outstandingTrade receivables divided by credit sales for the period, multiplied by days in the periodERPCustomerDailyCredit controller
Open quotesQuotes issued and not yet won or lost, by ageCRMQuoteDailySales manager

Design choices that make it usable:

  • Three views (operations, sales, finance) rather than one screen with every tile
  • Every tile shows a comparison: against target, last week or the same period last year
  • Each exception links to the record: an at-risk order opens the order, a declining account opens a call list
  • "Data as of" shown on every view, with a warning when a check fails
  • Products sold but not mapped to a category appear as "unmapped", so the category totals still reconcile

What was left out on purpose: website visits, total customer count and total orders all-time. They move without anyone needing to act.

If the data needed for these KPIs is spread across spreadsheets and disconnected systems, the dashboard is the easy part. Our ERP integration services connect the sources, and a custom ERP can bring orders, stock and invoicing into one place when the existing tools cannot.

Which dashboard anti-patterns should you avoid?

  • Vanity metrics: numbers that only go up and prompt no action
  • Too many tiles: if the main numbers need scrolling to see, split the view by role
  • Undefined KPIs: two teams, one word, two calculations
  • Numbers without comparison: a total with no target or prior period tells nobody whether it is good
  • Real time everywhere: paying for second-by-second data that is reviewed weekly
  • No "data as of" time: users cannot tell stale data from a slow day
  • Colour as the only signal: red and green alone fail colour-blind users; add labels or icons
  • No owner: without one, definitions drift and the dashboard is abandoned
  • Dashboard as export tool: if people mainly download the data to a spreadsheet, the dashboard is not answering their question

When is a dashboard not the answer?

  • The event is rare. An alert or exception email serves better than a screen someone must remember to check.
  • The data is unreliable. Fix the integration and data ownership first; a dashboard will only spread the errors. Our guide to system integration approaches covers the options.
  • The question is one-off. An analysis or report answers it without the cost of maintaining a dashboard.
  • The process is broken. Measuring a broken process precisely does not fix it.

How Timeline Digital helps

We build dashboards inside the systems people already use, connected to the ERP, CRM and operational data behind them. Our business dashboard development service covers KPI definition, data pipelines, role-based views and embedding in portals. We start with a free pilot of 2 to 3 key modules before the full project, for example one role's view with its KPIs defined and reconciled, so you can check the numbers before scaling up.

Frequently asked questions

What should a KPI definition include?

At minimum: a single name, the business question it answers, the formula in words, what is included and excluded, an owner who settles disputes, the source system, the grain (lowest level of detail stored), refresh frequency, target and thresholds, known caveats and the date of the last change. Publish the definitions next to the dashboard so everyone reads the numbers the same way.

How often should a business dashboard refresh?

As often as the fastest decision that uses it, and no faster. Most management KPIs such as sales against target, margin and overdue balances work well with a daily refresh. Intraday operations such as order backlogs may need refreshes every few minutes to hourly. True real time is worth its cost only where minutes change the outcome, such as dispatch or production stoppages.

Should we use Power BI or build a custom dashboard?

Use a BI tool such as Power BI, Looker Studio or Metabase for internal analysis and management reporting, where analysts need to explore and change reports quickly. Build custom when the dashboard is part of a product or customer portal, when users must act on the data inside the screen, or when access rules and design must match your application. Many organisations use both.

Why do dashboard numbers not match finance reports?

Usually because the KPI is defined differently: revenue counted at order, invoice or payment; credit notes included or not; different period cut-offs; or data loaded before the period was closed. Write a definition for each KPI with finance as owner where relevant, reconcile closed periods to the ledger on every load, and show when data was last refreshed.

How many KPIs should a dashboard have?

As few as the role needs to make its decisions. A practical test is whether the main numbers fit on one screen without scrolling; if not, split the view by role or decision. Each KPI should have an owner, a comparison such as a target or prior period, and a clear action when it moves. Numbers that prompt no action belong in a report.

Can dashboards be embedded in a customer portal securely?

Yes, if the signed-in user's identity is passed to the dashboard and filtering is enforced on the server. BI tools differ: Power BI needs the user identity in the embed token for per-user row-level security, and Metabase static embeds rely on locked parameters rather than its row and column security. Test with real customer accounts before launch.

Topics in this article

  • Business Dashboards
  • KPI Design
  • Data Visualisation
  • Business Intelligence
  • Reporting
  • Web Application Development

Start a conversation

Tell us how your business works.

Describe what is slowing your team down. We will help you work out what to build, and how a free pilot lets you judge our work before the full project.

Prefer WhatsApp? Start a chat

What happens next

  1. You send a short brief

    The problem, the people involved and any target date. A senior engineer replies within 4 business hours.

  2. We understand your workflow

    A first call about how your business works today. An NDA can be signed before you share details.

  3. You test a free pilot

    You choose 2 to 3 key modules and we build them first, so you judge real software before the full project.