Seasonality

Many data assets have regular behavior patterns. For example, a restaurant might have three rushes (breakfast, lunch, and dinner) that occur daily at all locations, each about an hour long. Data from one of the off-hours isn't really comparable to data from one of the rushes. Likewise, breakfast data might not normally look like dinner data. To account for these patterns, you need a way to make sure you compare the right data periods. In Lightup, this regular variation is called seasonality.

When a metric runs, if seasonality is set up it will create separate profiles for each season. So in our example restaurant, every hour of the day is a season, and the metric creates profiles for each of them. Then when you add an anomaly detection monitor, it only compares seasons to each other— comparing lunch hours to lunch hours, etc.

Note that seasonality only impacts anomaly monitors. It does not impact a metric without any monitors, and it does not impact detection of incidents on metrics that have manual threshold monitors.

To set seasonality, you'll want to think about the operation of your business and identify the seasonality selection that fits best. If you're not sure, leave seasonality set to No Seasonality - as you get more familiar with the system you'll be better able to identify how seasonality settings will impact incident generation. If you think that your metric does have seasonality, but you aren't sure how to represent it, you can select auto_seasonality. When a monitor is associated with a metric that has auto_seasonality, it will perform seasonality discovery during monitor training and choose the seasonality that fits best.

Set up seasonality

You set up seasonality on the Configure Metric tab of a metric.

Find the Seasonality drop down and select an option. The default is No Seasonality

The table below shows your choice of seasonality selections and the associated definition of the seasons.

SeasonalityNumber of seasonsOccurring every
No seasonalityNANA
Auto seasonalityNANA
Daily with 15 minute seasons96Day
Daily with 1 hour seasons24Day
Daily with 8 hour seasons3Day
Weekly with 15 minute seasons672Week
Weekly with 1 hour seasons168Week
Weekly with 8 hour seasons21Week
Weekly with 1 day seasons7We

Except for No Seasonality and Auto Seasonality, each setting for Seasonality has two parts:

  • The period of time over which all seasons occur— in our example restaurant, the seasons occur daily.
  • The length of seasons— the individual chunks of time that have typical behavior. For our example, the seasons are one hour long.

So for our example restaurant, we'd set Seasonality to Daily with 1 hour seasons. By doing this, each hour of the day will have its own profile, and any given hour will generate an incident only if it violates the pattern seen in that same hour during the training period.