Calculation of seasonality indexes for complex seasonality I want to forecast retail items (by week) using exponential smoothing.   I'm stuck right now in how to calculate, store, and apply the sesonality indexes.
The problem is that all examples I've found deal with a sort of simple seasonality.   In my case I have the following problems:
1.  Seasons don't occur on the same week every year:  they are movable.   Mardi-gras, lent, easter, and a few others.
2.  There are seasons that change depending on the year.  For example, there is a national holiday season.   Depending on whether the holiday is close to the weekend, customers will or will not leave town.  So it's kind of like having two seasons:  one where customers leave town, and one where they don't leave town.
3.  Sometimes two (or 3) seasons occur at the same time.   For example, we had "Mardi-Gras" season occurring at the same time as Valentine's season.
4.  Sometimes seasons change in duration.   For example, "Halloween season" started earlier this year.   Christmas is also another example, where it seems like every year we start earlier to carry the products.
It seems to me that I need to find a way to set some sort of "seasonal profiles" which then, depending on the particular scenario are somehow added to obtain the correct seasonal index.  Does that make sense?
Does anybody know where I can find practical information on how to do this?
Thanks,
Edgard
 A: For the kinds of seasonality you describe, the dummy variable approach is probably best. However, this is easier to handle in an ARIMA framework than an exponential smoothing framework. 
\begin{aligned}
y_t &= a + b_1D_{t,1} + \cdots + b_mD_{t,m} + N_t\\
N_t &\sim \text{ARIMA}
\end{aligned}
where each $D_{t,k}$ variable corresponds to one of the holiday or festival events. This is how the arima function in R will fit regression variables (as a regression with ARIMA errors, not as an ARIMAX model).
If you really want to stick with the exponential smoothing framework, there is a discussion of how to include covariates in my 2008 book on exponential smoothing. You might also look at my recent paper on exponential smoothing with complex seasonality although the types of seasonal complications we discuss there are more difficult than the moving festival kind that you describe.
A: A simple fix would be to include events dummies in your specification:
$(1) \hat{y_t}=\lambda_1 y_{t-1}+...+\lambda_k y_{t-k}+\phi_1 D_{t,1}+\phi_m D_{t,m}$
where $D_{t,m}$ is an indicator taking value $1$ if week $t$ has event $m$ (say Mardi gras) and 0 otherwise, for all $m$ events you deem important. 
The first part of the specification $\lambda_1 y_{t-1}+...+\lambda_k y_{t-k}$ is essentially a exponential smoothers but with weight varying as a function of lags (and estimated by OLS).
This pre-supposes that you have at least 20 observations for each event (i.e. 20 'mardi gras'). If this is not the case, you can try to bundle some events together (say mardi gras and labour day).
The R to fit (1) is rather straighforward, assuming dlsales is stationnary and D is your matrix of dummy variables :
fit<-arima(dlsales,order=c(4,0,0),seasonal = list(order = c(1, 0, 0),period=52),xreg = D)

Starting from here, you can ask more specific questions about the part of my answer that are not familiar to you (i don't know what your level is in statistics).
