Blog · Board and management reporting
Bad dashboards can show correct-looking charts built on incorrect totals, denominators, or reporting periods. These worked business examples show how to diagnose the failure, reconcile the figures, and present a comparison readers can verify.
Bad dashboard examples usually fail at the measure before they fail at the chart. A total may count the same sale twice, a margin may average unlike percentages, or a trend may compare an unfinished period with a completed one. Rebuild the figure from its source rows before changing its colors or layout.
Consider a fictional US industrial distributor reviewing September 2026. Its finance export contains one row per product line, with net revenue and cost of goods sold for the same closed period. The dashboard shows a company gross margin of 40.0%.
Here are the source rows, with gross profit and margin calculated beside them:
| Product line | Net revenue (USD) | Cost of goods sold (USD) | Gross profit (USD) | Gross margin |
|---|---|---|---|---|
| Standard parts | 900,000 | 720,000 | 180,000 | 20.0% |
| Specialty parts | 100,000 | 40,000 | 60,000 | 60.0% |
| Total | 1,000,000 | 760,000 | 240,000 | 24.0% |
The faulty card averages the two line margins: (20.0% + 60.0%) / 2 = 40.0%. It gives the smaller specialty line the same weight as the standard line, despite their very different revenue bases.
The correct calculation is:
Company gross margin = Total gross profit / Total net revenue
(180,000 + 60,000) / (900,000 + 100,000) = 24.0%
The proof is the dollar reconciliation. Revenue of $1,000,000 minus cost of goods sold of $760,000 equals gross profit of $240,000. Applying the displayed 40.0% margin to revenue would imply $400,000 of profit, overstating the export's profit by $160,000.
In a spreadsheet where revenue is B2:B3 and gross profit is D2:D3, use:
=SUM(D2:D3)/SUM(B2:B3)
A weighted calculation is another check. Google Sheets' AVERAGE.WEIGHTED function takes values and corresponding weights. Applying revenue weights to the unrounded line margins must reproduce the ratio of totals. Covirage is not affiliated with Google Sheets.
The gross profit margin guide covers the accounting boundaries. The dashboard repair here is to show the correct aggregate and keep its revenue and cost totals available beside it.
Now change only specialty cost of goods sold from $40,000 to $70,000. Revenue and every other source input stay the same. This variation tests whether the corrected dashboard responds to the actual cost movement.
| Product line | Net revenue (USD) | Revised COGS (USD) | Revised gross profit (USD) | Revised margin |
|---|---|---|---|---|
| Standard parts | 900,000 | 720,000 | 180,000 | 20.0% |
| Specialty parts | 100,000 | 70,000 | 30,000 | 30.0% |
| Total | 1,000,000 | 790,000 | 210,000 | 21.0% |
The cost increase is $30,000, and gross profit falls by the same $30,000: $240,000 − $30,000 = $210,000. The correct company margin falls from 24.0% to 21.0%, a decrease of 3.0 percentage points.
The bad average would now be (20.0% + 30.0%) / 2 = 25.0%. It remains wrong, even though it is closer to the correct result. Agreement on direction does not validate the calculation.
All displayed percentages use one decimal place. Compute ratios from the original dollar values before rounding, so rounding never becomes an extra source of difference.
The same distributor also has a sales dashboard built from a file that repeats product-line totals alongside action notes:
| Product line | Follow-up note | Repeated line revenue (USD) |
|---|---|---|
| Standard parts | Review reorder timing | 900,000 |
| Standard parts | Review discount exceptions | 900,000 |
| Specialty parts | Review customer mix | 100,000 |
Summing that column produces $1,900,000, which is $900,000 above the actual $1,000,000. The extra amount is the standard-parts total counted again; it is not another sale.
Repair the row definition. Calculate revenue from the transaction or product-line summary file, and count follow-up actions in their own register. Do not remove rows simply because their amounts match: distinct transactions can legitimately have the same amount. Use record identifiers and the meaning of each row.
A tabular dashboard helps expose the problem when it shows the source population and totals. It still needs the correct underlying records; a table is no guarantee of accuracy by itself.
Suppose a revenue card compares the latest partial period with the prior completed period. These source windows describe business-day positions within the reporting periods, rather than calendar-date assumptions:
| Reporting window | Business days covered | Revenue (USD) |
|---|---|---|
| Prior period, first half | 10 | 500,000 |
| Prior period, second half | 10 | 500,000 |
| Current period, first half | 10 | 600,000 |
The prior completed period totals $1,000,000 across 20 business days. Comparing current revenue of $600,000 with that completed total shows (600,000 − 1,000,000) / 1,000,000 = −40.0%.
Comparing matching first-half windows instead gives (600,000 − 500,000) / 500,000 = 20.0% growth. The sign reverses because the population changed, not because new sales appeared.
Label both windows. If operating days or customer mix still differ, disclose that limitation. Do not multiply the partial period into a forecast and present it as a completed result.
A green card tells the reader little if the target, period, and direction are hidden. Display the actual result, target, and text status with the rule available nearby. The RAG dashboard guide explains how to define boundaries that neither overlap nor leave gaps.
Color also needs a visible alternative. W3C's use-of-color guidance explains why color should not be the only visual means of conveying information. A word such as Overdue or Below target survives a grayscale printout and makes the intended message explicit.
Bring the export behind a dashboard card, including its record IDs, dates, and numerator and denominator fields. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See self-service analytics for the supporting approach to answering business questions from your files.
A dashboard is misleading when its presentation encourages a conclusion the source data does not support. That can happen with an incorrect denominator, an incomplete period, hidden exclusions, or a total repeated across detail rows. A polished chart cannot compensate for an undefined or unreconciled measure.
An ordinary average gives every displayed percentage equal weight. That is wrong when their underlying populations differ. For an overall margin, divide total profit by total revenue. For an overall success rate, divide total successes by the eligible population rather than averaging team rates.
Bars encode magnitude through length, so a zero baseline normally supports an honest comparison. A line chart can use a narrower scale to show a trend, provided the axis is clear. First verify the underlying measure and period; axis choices are a separate presentation decision.
Reconcile it to a source export with a defined row population and reporting period. Check unique record IDs, exclusions, credits, units, and the denominator. Recalculate ratios from summed numerators and denominators, then confirm that the displayed total matches the independently reconstructed figure.