The Problem of Partial Periods
So you built out that incredible Tableau* time series viz showing sales per week or number of widgets produced per month. Everything looked great as you wrapped this up right before Christmas break. Profits were up, sales were great, trends were positive. You come into the office excited to start a new year — only to experience the partial period panic:
As of December 2015, everything seemed to be fine, but January’s numbers are way down. Should you fire the marketing department? Is 2016 destined to be a bad year?
No, of course not. And you’ve probably already realized the reason: It’s only January 5th. All the other values are for full months – but January is only a partial month. And it will continue to be a partial month until the very end. (And this example is months/partial months – but it happens at all granularities: days/partial days, years/partial years, etc….)
Now, you may think, “As long as I’m aware of this (and train my boss not to panic when he sees it), then everything will be fine.” First, it’s easy to remember when it’s the 5th, but on the 25th will you remember that there are still some days left in January? But even worse is the fact that the low numbers for the partial month are impacting the trend line. That’s something you can’t fix by just remembering that the last month shown might be partial.
Options for Partial Periods
So what are your options?
- Exclude the partial month from the view. This fixes the trend line, but removes what may be the most important information (how are we doing in recent history?) You could adjust for that by adding a secondary view that shows detail for the current month (maybe even a breakdown by day or comparison to a goal)
By the way, if you use Tableau’s Forecasting, then the last period is excluded from the forecast (by default) precisely because it is likely to be a partial period and compromise the forecast model.
- Split the line. If you want to keep things in a single view, but still want to see historical trends versus the current period, then use a dimension to split the line (and trend), like this:
How it works:
Any dimension that changes value from one point to the next on a line, will split the line. You can take advantage of this by creating calculated dimension that simply checks to see if the period for the record is the current period and give those that are a different value from those that are not. In the view above, the calculation was:
Placing that dimension on Color splits the line and creates separate trend lines (by default). The trend line for this month is not really a trend line (the p-Value is N/A), but it serves well as a reference/drop line.
And of course you could mix the two options to get the best of both worlds. And your days of partial period panic will be over!
*The issue of partial periods is not unique to Tableau — everyone visualizing data needs to be aware. See Stephen Few’s excellent paper on the issue here: Displaying Missing Values and Incomplete Periods in Time Series. And check back as I plan to explore even more complex options for missing periods, including forecasts, and more!