Weekly data often contains only one seasonal pattern (with annual seasonal period), and so most seasonal models should handle your data fairly well. While models that are capable of capturing multiple seasonal patterns (TBATS, FASSTER, and Prophet) may work, they are likely more complicated than necessary for your data.
There are two complications of weekly data.
- Non-integer seasonal period (there are approx 365.25/7 = 52.18 weeks in a year).
- Rounding to 52 seasonal periods (as bad as that is), gives many seasonal values to estimate.
One approach to handling these problems is to use fourier terms. This can be done with any model that accepts exogenous regressors (
ARIMA(), etc.), and some models handle fourier terms directly (TBATS, FASSTER, and Prophet).
Try a few of these models and see what works best for your data.
As an example, you can add exogenous regressors to ARIMA with:
ARIMA(y ~ fourier("year", K = 8) + pdq(...).
The choice of
K (number of harmonics) controls how smooth or flexible the seasonal pattern is. Again, you can experiment with this to find which suits your data best.
More details: https://robjhyndman.com/hyndsight/forecasting-weekly-data/