Everything is Seasonal
Zan Armstrong - @zanstrong
Everything* is Seasonal
*related to change over time
If your data includes change over time, take seasonality into account
#1 assume seasonality
#1 assume seasonality
Maybe?
Or maybe it's just November
#1 assume seasonality
Number of commuters ➔ traffic
#1 assume seasonality
Number of commuters ➔ traffic
So... if everybody takes a 1 week summer vacation during the 10 weeks of summer...
#1 assume seasonality
..that's ~10% fewer commuters per week
Number of commuters ➔ traffic
#1 assume seasonality
Sunrise in Boston in early November: ~7:20am
#1 assume seasonality
Sunrise in Boston in summer: ~5:30am
#1 assume seasonality
Numbers of commuters per hour ➔ traffic
Length of rush hour ➔
Time of Sunrise ➔
#1 assume seasonality
#1 assume seasonality
assume that your
metric has seasonality
#1
consider the seasonality
of causal factors
What is Seasonality?
patterns that repeat
over known, fixed
periods of time
- Wikipedia
what is seasonality
what is seasonality
what is seasonality
Time is a Dimension: Fong Qi Wei
what is seasonality
San Francisco Weather
what is seasonality
what is seasonality
what is seasonality
what is seasonality
C02 concentration
what is seasonality
what is seasonality
Births
what is seasonality
what is seasonality
what is seasonality
what is seasonality
what is seasonality
what is seasonality
what is seasonality
what is seasonality
384 babies were born at 9:31am on Saturdays during 2014
Saturdays
what is seasonality
Saturdays
Mondays
what is seasonality
what is seasonality
8am
what is seasonality
8am
12:45pm
8am
12:45pm
what is seasonality
8am
12:45pm
5:30pm
what is seasonality
what is seasonality
what is seasonality
Types of Seasonality
Minute/Hour of Day
Day of Week
Week of the Year
what is seasonality
Types of Seasonality
Minute/Hour of Day
Day of Week
Week of the Year
what is seasonality
Types of Seasonality
Minute/Hour of Day
Day of Week
Week of the Year
what is seasonality
What about Monthly?
aggregate meaningfully
photo by Dominic Alves
aggregate meaningfully
$4000 per day in revenue
aggregate meaningfully
Daily Revenue from Restaurant
$4000 per day
Really boring line chart!
aggregate meaningfully
1.6% year over year growth
$4000 per day in revenue
aggregate meaningfully
Daily Revenue from Restaurant
$4001.20 on
Fri Jan 11, 2013
aggregate meaningfully
$4064.10 on
Fri Jan 10, 2014
Daily Revenue
1.6% y/y growth
Daily Year over Year Growth in Revenue
aggregate meaningfully
1.6% year over year growth
$4000 per day in revenue
week of year seasonality
aggregate meaningfully
Daily Revenue
$3619 on Sat May 11th
$4826 on Sun May 12th
aggregate meaningfully
Daily Revenue
still 1.6% y/y growth: comparing summer to summer
Daily Year over Year Growth in Revenue
aggregate meaningfully
1.6% year over year growth
$4000 per day in revenue
week of year seasonality
day of week seasonality
aggregate meaningfully
Daily Revenue
aggregate meaningfully
Daily Revenue
Just one month!
aggregate meaningfully
Daily Revenue
Closed Mondays: no revenue
aggregate meaningfully
Daily Revenue
Big weekends! Dinner & Brunch
aggregate meaningfully
Daily Revenue
Growth (compared to previous year) -- Still Boring.
aggregate meaningfully
1.6% year over year growth
$4000 per day in revenue
week of year seasonality
day of week seasonality
aggregate meaningfully
aggregate by week
Weekly Revenue
Weekly Growth (compared to previous year)
aggregate meaningfully
Weekly Revenue
Weekly Growth
aggregate meaningfully
5% bump in March/April
aggregate by month
Monthly Revenue
aggregate meaningfully
Monthly Revenue
aggregate meaningfully
Monthly Growth (compared to previous year)
Monthly Revenue
aggregate meaningfully
Monthly Growth (compared to previous year)
aggregate meaningfully
What's going on???
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Mon
Tues
Wed
Thurs
Fri
Sat
Sun
April 2014
closed
weekend
extra days!
aggregate meaningfully
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Mon
Tues
Wed
Thurs
Fri
Sat
Sun
April 2015
closed
weekend
extra days!
aggregate meaningfully
April 2016
aggregate meaningfully
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
Mon
Tues
Wed
Thurs
Fri
Sat
Sun
closed
weekend
extra days!
Weekly Revenue
Weekly Growth (compared to previous year)
aggregate meaningfully
Monthly Revenue
aggregate meaningfully
Monthly Growth (compared to previous year)
Really simple time series
1.6% y/y growth
consistent day of week pattern
consistent week of year pattern
No random variation.
No holidays.
No variation due to weather.
No decreases due to a bad review.
No short or long-term variation due to marketing campaigns, good press, or a new chef.
No change in trend, day of week seasonality, or week of year seasonality.
aggregate meaningfully
Monthly aggregation is a bad idea unless...
...the data is inherently monthly.
aggregate meaningfully
#2
Aggregate to time periods
that make sense for your data
Daily data can be hard to interpret
compare apples to apples
year over year growth (-364 days) can help
Daily data can be hard to interpret
compare apples to apples
But, not if it's a CALENDAR (-365 or -366 day) year!
Compares to a calendar year,
instead of 364 days back
compare apples to apples
Just change it!
compare apples to apples
Compare apples to apples
If calculating daily or weekly year/year growth, compare 364 days back.
compare apples to apples
"
"
#3
sometimes seasonality
is
the story
seasonality is the story
1985 study on deaths due to tractor accidents
seasonality is the story
harvesting
planting
11am-noon
4pm to 5pm
Deaths by Location
Deaths by Hour
Deaths by Month
Deaths by Age
seasonality is the story
#4
Account for seasonality when estimating impact of an event ( causal analysis)
" "
Time Series Disruptions
Expected: Holidays, Sales, Events
Unexpected, but common: Weather
Unexpected and uncommon: Natural disaster, Terrorism, death of CEO, mergers
Effect? Short-term? Long-term?
account for seasonality
Sept 2001 - month of 9/11
Gun Sales Increased by 28%
account for seasonality
Jan 2013 - Obama's 2cd innaguration
Gun Sales Dropped by 21%
account for seasonality
Feb 2011: nothing special
Gun Sales Increased by 21%
account for seasonality
Title Text
Look at the Time Series
account for seasonality
If we're aware that seasonality matters, what can we do to take it into account?
account for seasonality
account for seasonality
Gregor Aisch and Josh Keller
account for seasonality
Gregor Aisch and Josh Keller
Gregor Aisch
account for seasonality
#1. Look at year over year growth (-364 days!)
#2. Isolate seasonal component:
Accounting for Seasonality
Decomposing a time series with STL
account for seasonality
Long Term Trend
Month of Year Seasonality
Disruptions
Decomposed Time Series:
account for seasonality
Decomposed Time Series:
account for seasonality
Long Term Trend
account for seasonality
Long Term Trend
account for seasonality
Long Term Trend
Question: How have gun sales changed over the last 15 years?
account for seasonality
Month of Year Seasonality
account for seasonality
2002
2004
2006
2008
2010
Month of Year Seasonality
account for seasonality
Month of Year Seasonality
Question: During which months are the most guns sold? And the least?
account for seasonality
Is this changing?
Remainder, Disruptions, Irregular, One-off Events
account for seasonality
Remainder, Disruptions, Irregular, One-off Events
account for seasonality
Question: When did gun sales spike or dip unusually? And by how much?
account for seasonality
Remainder, Disruptions, Irregular, One-off Events
Remainder, Disruptions, Irregular, One-off Events
account for seasonality
Decomposed Time Series:
account for seasonality
#5
The seasonality that matters might be in a subset of your data
Challenge
Describe a scenario in which ignoring the seasonality of a subset of the data would lead to misinterpreting the aggregate data.
seasonality is a subset
Hint 1: different seasonality? different growth rate?
Hint 2: seasonality in a component defined by Principal Component Analysis
#6
People and places are different. So are their seasonalities.
our lives, and our data, are full of seasonal patterns
different seasonalities
Why People Visit the Emergency Room: Nathan Yau
Football
Nails, Screws, Tacks, or Bolts
different seasonalities
it doesn't have to be a line chart
different seasonalities
Flickr Flow: Martin Wattenberg & Fernanda Viégas
different seasonalities
Weather Circles : (me)
different seasonalities
" "
Visualizing MBTA Data: Mike Barry & Brian Card
different seasonalities
Ville Vivante: Interactive Things
different seasonalities
Traffic Accidents: Nadieh Bremer
different seasonalities
or even a chart at all
different seasonalities
The doors Giorgia opens.
different seasonalities
#1
Consider the seasonality
of causal factors
#2
Aggregate to time periods
that make sense for your data
#3
sometimes seasonality
is
the story
#4
Adjust for seasonality when estimating impact of an event ( causal analysis)
" "
#5
The seasonality that matters might be in a subset of your data
#6
Seasonal patterns vary by place, culture, and lifestyle
If your data includes change over time, take seasonality into account
Everything is Seasonal
By Zan Armstrong
Everything is Seasonal
- 6,889