I want to show several performance metrics in an hourly breakdown, let’s take Facebook Ad Clicks (for a specific advertiser/campaign) as an example (data). Each value in the X-axis represents one hour.
Since the timeframe is only 24h, and the breakdown is hourly, we can’t really call it “trend”, therefore I’m not comfortable with using line chart. A line chart is supposed to show trend, and the lines that connect the data points are supposed to have a meaning (increase means increase, decrease means decrease, and if I see an increase/decrease in my data it means I did something good/wrong).
But here, if one hour has less clicks than the previous one, it’s not meaningful (trend-wise) as a day-over-day trend, because we know that there are peak hours, not all the hours are expected to perform the same, etc. It doesn’t mean anything.
So the meaningful comparison is not between the hours, but between same hours in different days. That’s why I added a comparison of each hour to:
– same hour at the same day, 1 week ago
– last 30d average of this hour
I have a dilemma between 2 charts: lines and columns. The line chart, as I said, feels irrelevant because the trend is not the interesting thing here. However, the column chart that looks right to me data-viz-wise, with 1 column for today, 1 lighter column for last week, and an horizontal line (“score bar”) for the monthly average, looks overwhelming (24*2 columns are a lot!! I’m not the only one who thinks it’s really crowded, right?).
You can see here in the photos examples for both of the chart types (also with smaller photos that show what happens on hover, not that important but I just added them for fun).
I would really appreciate any opinion or of course – new suggestions.
Thanks!
How about a variation on a Bullet Graph? see http://www.perceptualedge.com/articles/misc/Bullet_Graph_Design_Spec.pdf
Here is a quick interactive chart to choose between different views, and you could also expand to percent difference or other comparisons:
https://public.tableausoftware.com/views/HelpMeViz-AdClicks/Dashboard
Static image of each view:
I don’t mind the line chart version. Your X variable is ordered and lines have a plausible meaning: half way along the line connecting 3pm-4pm and 4pm-5pm is an estimate for the hour 3:30pm-4:30pm. Even without that, line charts are increasingly used as “profile charts” for categorical Xs when overlaid bars are hard to compare (http://junkcharts.typepad.com/junk_charts/profile_chart/).
However, your issue is you don’t *want* to emphasize the hour-to-hour change. In that case, you might try to graph relative instead of absolute values. That is, subtract the 30d average from other values to effectively remove the normal daily variation. Then the hour to hour changes are more relevant.
Another idea that works well with line charts is to use a shaded region to show some expected variation, such as plus or minus two standard deviations or the 10th and 90th quantile values.
Here’s a plot of such a region (adding random ranges to your supplied data) on absolute data, but the concept applies equally well to relative data (then the 30d line would be at 0 with the shaded region around it).
I didn’t show the points in my graph. Some people like the symbols since they emphasize the discreteness of the data. I usually skip them to reduce busy-ness and duplication. The interesting points are obvious as sharp corners; the uninteresting points don’t need highlighting.
I came up with this, since it struck me to plot the entire 24h timeframe. At first, i made two separate “clocks” for am and pm hours, but thought to go one step further and make a 24h “clock”. Just thought of sharing this idea. Color Rings in an Excel Radar Chart were made using this: http://www.exceldashboardtemplates.com/how-to-highlight-rings-or-color-rings-in-an-excel-radar-chart/. Let me know what you think.
Ira,
Your circular chart is done very well, but I caution against using such charts for analytic purposes. We don’t perceive data and variation accurately in a circular coordinate system. Trends that look like straight lines aren’t. For instance, Last Week 5pm-6pm-7pm in your plot looks like a straight but it actually represents a dip in the value.
Some links:
http://junkcharts.typepad.com/junk_charts/2015/01/losing-sleep-over-schedules.html
http://www.thefunctionalart.com/2012/11/radar-graphs-avoid-them-999-of-time.html
Research paper: Graphical Tests for Power Comparison of Competing Designs (http://users.soe.ucsc.edu/~pang/visweek/2012/infovis/papers/hofmann.pdf) by Heike Hofmann et al.
Ira,
I have to agree with Xan here. The idea is impressive but determining any insights is not very easy in circular form. I also think you meant for the top 12 to be 12am to reflect midnight?
Intriguing,
Sara
If the trend over the course of a day isn’t meaningful (and it makes sense to me that it wouldn’t be), then you might consider plotting a different trend: last week vs this week.
The attached plot shows 24 little, more meaningful trends that focus the attention on week-over-week performance. If you had 3-4 weeks to plot that would be even better. I also indexed the values to the 30-day average, but you could stick with raw values if you wanted; the two views give you two different takes on it. In any case, though, this tells the story pretty well: today has been well above the average for the last two weeks, at least until 4 pm, which has seen a sharp drop back to average this week after strong performance a week before.
Hope this helps.
Jeff
Nice idea, Jeff. Your view highlights what the original poster cares about (week-to-week variation) and still shows some of the hour-to-hour relations.