# 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

• 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!

### 6 Responses so far.

1. Bridget says:

I’ve used both of these and agree they’re great options. A 3rd is to split out all full months into one dimension, the current into its own, and use dual axis so the full months can have a trend and the current not.

• Joshua Milligan says:

Oh, I like that! Thanks for sharing!

• Keith Troutt says:

Another option I’ve used is to take the total by the number of days (with activity). Use tooltips for totals.

• Joshua Milligan says:

That’s a great approach too. Normalizing is an approach that works well in many situations (but is sadly neglected). Thanks for pointing it out!

2. davidm says:

what if you want to show two years data. Then excluding the Jan data for this year also excludes the jan data for last year.

Is there a way around this?