I am working on a project to determine seasonal customers in the customer database.
The company sells email marketing. So our customers are people who send emails to their customers (either with newsletters/announcements, to sell a product, or otherwise engage their customers).
I can look at the number of email sends a customer is doing by month.
Our hypothesis is, that there are a number of customers who have seasonal needs for our product. As an example, and ice cream store might shut down for the cold winter and not need to send emails to their customers.
We wouldn't want to assume that this person's lack of using the product in the winter is them being unengaged with the product, but maybe be able to tell from historical data that they just typically go dormant in the winter, and are not at risk of cancelling their service with us.
To do this. I was fitting a TBATS model for customers with at least 2 years worth of data and at least 15 sends throughout the year.
I had read this journal paper about the model: https://robjhyndman.com/papers/ComplexSeasonality.pdf
for each customer I'm basically saying that the data is monthly, and then I check for a seasonal period of length 12 for their "SENDS" data (email sends). Then I save the fit$seasonal.periods, which is basically  if they are annually seasonal, or null if it does not determine seasonal behavior of that length.
TS = ts(SENDS, start = c(startYR, startMNTH), end = c(endYR, endMNTH), frequency=12) fit<-tbats(TS, use.damped.trend = FALSE, seasonal.periods = 12) fit$seasonal.periods
Any chance you would know if this approach sounds reasonable?
Also, I would assume this model uses autocorrelation to determine if the seasonal periods are a good fit? Can someone confirm this?
If you have any context, or any idea about some problems there may be with this methodology I would greatly appreciate it.
Thanks in advance!