Reporting

Bad data visualization examples, and how to redraw each one

ReportingVadym Kramarenko9 min read

Bad data visualization examples, and how to redraw each one

A misleading chart does not throw an error. The query ran, the numbers are right, the dashboard refreshed, and the reader still leaves with the wrong picture.

Here is the smallest version of it. Four ad platforms, the same four numbers, drawn twice. On the left the y-axis starts at $45 and Google looks 13 times as expensive as TikTok per conversion. On the right the axis starts at zero and Google is 1.7 times TikTok.

Two bar charts of cost per platform-reported conversion for TikTok, Facebook, Bing and Google. With the axis starting at $45, Google’s bar is 13 times TikTok’s; starting at $0, it is 1.7 times.

This article takes six common chart mistakes and redraws each one from the same data, so you can see what changed and by how much. Every chart uses one year of a synthetic demo store (the [Demo] E-commerce project, calendar 2025). The numbers are in the text, so you can check each picture against them.

How to tell a chart is wrong

How to tell a chart is wrong

A chart is wrong when a reader takes away a conclusion the data does not support. Edward Tufte’s lie factor puts a number on one kind of wrong: the size of the effect shown in the graphic divided by the size of the effect in the data. A factor of 1 is an honest chart; anything above 1 exaggerates (the definition is summarised here).

The other five mistakes below have no formula, but they fail the same test. Show the chart to someone who has not seen the data, ask what they conclude, then compare that with the numbers.

A truncated axis makes a small gap look large

A truncated axis makes a small gap look large

Platform Spend, 2025 (to the dollar) Conversions the platform reports Cost per conversion
TikTok $36,372 763 $47.67
Facebook $59,852 1,214 $49.30
Bing $33,529 488 $68.71
Google $36,930 457 $80.80

With the axis starting at $45, TikTok’s bar is $2.67 tall and Google’s is $35.80, so Google looks 13.4 times TikTok. In the data it is 1.7 times. The effect shown is 1,241%; the effect in the data is 69.5%. The lie factor is 17.9. Even Facebook against TikTok, a 3.4% gap, is drawn as a 61% gap.

To check a chart of your own, put the two bar values and the axis minimum into this query. It runs as written in BigQuery, and with axis_min set to 0 it returns a lie factor of 1.0.

WITH input AS (SELECT 47.67 AS a, 80.80 AS b, 45 AS axis_min)
SELECT
  ROUND(((b - axis_min) - (a - axis_min)) / (a - axis_min), 3) AS effect_in_graphic,
  ROUND((b - a) / a, 3) AS effect_in_data,
  ROUND((((b - axis_min) - (a - axis_min)) / (a - axis_min)) / ((b - a) / a), 1) AS lie_factor
FROM input

Bars encode value by length, so a bar chart needs a baseline at zero. A line encodes by position and direction, so it may start higher, as long as the axis says so.

One caution about the numbers themselves: these are conversions each platform reports about itself. Across the six platforms that report conversions (the table shows four of them), the platforms claimed 3,205 conversions in 2025, while the store recorded 2,273 converting sessions from the same paid traffic: the platforms claimed 41% more. That gap is covered in AI-ready marketing analytics data.

The Turning Point

OWOX Data Marts

See your first report built in real time. 15 minutes.

  1. Connect your data warehouse
  2. Pick your metrics
  3. Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

Book a Demo

We'll use your actual use case

A pie chart cannot rank nine slices

A pie chart cannot rank nine slices

A pie chart of 2025 sessions by source with nine coloured slices, next to a sorted horizontal bar chart with the value and share printed on every bar.

Source Sessions, 2025 Share
Google 66,261 23.5%
TikTok 61,796 21.9%
Facebook 59,343 21.1%
Direct 51,799 18.4%
Bing 15,627 5.6%
Reddit 10,140 3.6%
Email 9,308 3.3%
LinkedIn 5,000 1.8%
Twitter 2,287 0.8%

Google, TikTok and Facebook are within 2.4 points of each other. In the pie you cannot tell which is first, and the three smallest slices collide on their labels. In the sorted bars the order is obvious, and so is the fact that Direct sits close behind them.

This is not a matter of taste. In their 1984 paper in the Journal of the American Statistical Association, Cleveland and McGill ordered the elementary perceptual tasks by how accurately people perform them and concluded that graphs should use tasks as high in that order as possible. They said popular graphs, pie charts among them, needed rebuilding, and proposed dot charts as the replacement. When the reader has to rank or compare, sort the bars.

3D bars add distortion and no data

3D bars add distortion and no data

A 3D bar chart of monthly net revenue in rainbow colours with no value labels, where the last bars hide the ones behind them, next to a flat bar chart with values and the two peak months highlighted.

Net revenue from completed orders, in USD thousand: Jan 193, Feb 190, Mar 216, Apr 205, May 235, Jun 268, Jul 240, Aug 217, Sep 209, Oct 249, Nov 353, Dec 343.

In the 3D version nobody can read a value, the tall bars hide the ones behind them, and the rainbow implies an order that is not in the data. The flat version prints the values and colours only the point: November and December, which together are $695,315 of the year’s $2,917,863, or 23.8%.

A third dimension without a third variable is decoration. Colour should mark the thing you want the reader to see.

Nine lines and a legend make the reader do the work

Nine lines and a legend make the reader do the work

A line chart of monthly sessions for nine sources with a legend, next to the same chart with Google, TikTok and Facebook in colour and the other six in grey, each labelled with its December value.

Every legend lookup costs the reader attention, and with nine similar lines they do it again and again. In the redraw the three sources that carry the story are in colour, and the rest are grey but labelled at the line end with their December value: Google 7,824, TikTok 7,509, Facebook 6,969, Direct 6,193, Bing 1,767, Reddit 1,223, Email 1,162, LinkedIn 568, Twitter 221.

Now the chart says something. Google, TikTok and Facebook, the three largest sources, are in colour: from January to December Google grew from 4,173 to 7,824 sessions (88%), Facebook from 3,340 to 6,969 (109%) and TikTok from 3,117 to 7,509 (141%). Direct, in grey, also grew, from 3,311 to 6,193. Decide the one comparison first, colour that, and label the lines directly.

Two y-axes let the author choose the story

Two y-axes let the author choose the story

A dual-axis line chart of monthly ad spend and completed orders where the two lines nearly coincide, next to a single-axis chart with both series indexed to January as 100, ending at 201 for spend and 185 for orders.

Ad spend went from $11,117 in January to $22,313 in December, up 101%. Completed orders went from 375 to 692, up 85%. On the left chart the spend axis runs from 9,000 to 24,000 and the orders axis from 300 to 750, and the two lines almost sit on top of each other. It looks as if orders rise and fall in step with spend. Pick a different range for the right axis and the lines pull apart.

Monthly ad spend in USD, January to December: 11,117; 10,644; 13,788; 14,374; 15,743; 15,849; 15,669; 15,634; 17,707; 19,122; 22,285; 22,313. Completed orders: 375; 386; 422; 427; 471; 521; 474; 447; 448; 555; 695; 692.

The correlation between these two series is 0.94 whichever way the axes are drawn. The axes change how the chart looks, not what the data says. Some of that correlation comes from both series trending upward through the year, and both peak in November and December. The data cannot say whether spend drove orders or the season drove both.

In the redraw both series are indexed to January = 100 on one axis: spend 201, orders 185. Stephen Few, who looked at this in a 2008 essay, wrote that he could not think of a single case where a dual-scaled axis beat the alternatives.

A chart with no title, unit or period cannot be questioned

A chart with no title, unit or period cannot be questioned

The same monthly revenue line drawn twice: on the left with no title, axis labels, unit or period; on the right titled as net revenue from completed orders, in USD thousand, January to December 2025, with the start, peak and end values labelled.

Both charts draw the same series. On the left a reader cannot tell the metric, the unit, the period, or what is left out. That last part matters. The store took 6,955 orders in 2025: 5,913 completed, 713 cancelled and 329 returned. So 15% of orders are not in a chart of completed revenue, and a chart of “revenue” could include them or not.

The redraw says what the line measures (net revenue, completed orders only), the unit (USD thousand), the period, and labels the start, the peak and the end. A chart should carry what a reader needs to challenge it.

A real case: Georgia, May 2020

A real case: Georgia, May 2020

In May 2020 the Georgia Department of Public Health published a chart of new COVID-19 cases. Some of the data was out of chronological order, which made cases look as if they were falling. Reason reported that the chart was withdrawn, and that the Atlanta Journal-Constitution found that with the dates in order the figures suggested cases had plateaued or fallen slightly, though recent counts were incomplete because of reporting lags.

Whether the ordering was a mistake or a choice is disputed, and the sources do not settle it. The effect on a reader who did not check the dates was the same.

Check a chart before it ships

Check a chart before it ships

  1. Do the bars start at zero? If a chart starts higher, is it a line, with the axis labelled?
  2. Will the reader rank or compare values? Then use sorted bars, not a pie.
  3. Does any dimension carry no data, such as 3D, gradients or rainbow colours? Remove it.
  4. Can the reader find the one comparison without looking up a legend?
  5. Are there two y-axes? Index both series to one starting point instead.
  6. Does the chart say the metric, the unit, the period, the source and what is excluded?
  7. Does every number tie to a query someone can run?

Where the number comes from

Where the number comes from

The last question is the one a chart cannot answer for itself. A chart can be drawn perfectly and still show a number nobody can reproduce, as with the 3,205 against 2,273 conversions above. Which of the two goes on the chart is a decision about the data model, and no chart type fixes it.

OWOX Data Marts does not draw charts. An analyst writes the SQL for each metric once, in a Data Mart, with its description and owner, and every dashboard or report in Google Sheets or Data Studio (formerly Looker Studio) reads that one definition in your warehouse. The charts still need the checks above, but they stop arguing about what “revenue” means.

Net Sales Review is a dashboard built that way, by Claude through OWOX MCP on a demo store’s e-commerce Data Model. It is connected, not a snapshot: it reads the Purchases and Orders Data Marts and refreshes with every Report run, so its Summary view sets each month’s net sales beside gross booked value and keeps cancelled and returned orders in sight.

Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

  • No AI hallucinations
  • Analyst-governed definitions
  • Every number traces to SQL
Get started free

FAQ

Frequently Asked Questions

Does OWOX Data Marts draw charts?

No. OWOX Data Marts does not draw charts. An analyst writes the SQL for each metric once, in a Data Mart with a description and an owner, and dashboards and reports in Google Sheets or Data Studio read that one definition from your warehouse. That keeps charts consistent about what a number means. The checks on the chart itself, such as the axis, the chart type and the labels, still apply.

How can I improve the clarity of my dashboards?

Decide the one comparison each chart has to make and design for that. Start bars at zero, sort bars when the reader has to rank, colour only the lines or bars that matter and label them directly, and put the metric, unit, period and source on the chart. Then show the dashboard to someone who has not seen the data and ask what they conclude.

Are pie charts considered bad data visualization?

Pie charts are not wrong by definition, but they are a poor choice when a reader has to rank or compare slices. In a demo store's 2025 traffic, Google, TikTok and Facebook were 23.5%, 21.9% and 21.1% of sessions, and a pie hides which one is first. Cleveland and McGill's 1984 study of how accurately people read graphs led them to propose dot charts as a replacement for pies. Sorted bars are the practical choice.

How can bad data visualization affect business decisions?

A misleading chart changes what the reader concludes from correct numbers. A bar chart whose axis starts at $45 draws a 69.5% gap between two ad platforms as a 1,241% gap, a lie factor of 17.9. A decision made from that picture, such as moving budget to the platform that looks cheapest, rests on a difference that is not there.

What makes a data visualization “bad”?

A visualization is bad when a reader takes away a conclusion the data does not support. The common causes are a truncated axis, a chart type that hides the comparison (a pie with many slices), 3D, too many lines, two y-axes, and a missing metric, unit, period or source. The numbers underneath can be correct and the chart still misleads.

Who wrote this

Vadym Kramarenko

Vadym Kramarenko Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.