I am playing with some marketing data. My response variable is market share and predictors are time, brand, retail price, marketing activity.

brand is categorical, but would be a random factor. retail price is numerical and marketing activity is binary. 1 indicates activity and 0 indicates no activity.

The question that I am trying to answer is the influence of retail price and activity on market share for specific brands.

As usual, started off with a simple linear model and the residual plot quickly showed autocorrelation and so did acf and pacf.enter image description here

I tried gls model in R:

# Generalized least square
nav_gls <- gls(market_share~display_indicator*retail_price_avg*week_number, data=market_share_df)
nav_gls_corr <- update(nav_gls, correlation=corAR1())
AIC(nav_gls, nav_gls_corr)

The results don't improve.

        df       AIC
nav_gls       9 -2373.980
nav_gls_corr 10 -2604.405

Shouldn't my AIC improve by considering even a single period AR? Also, how do you account for autocorrelation when the lag period is more than 1. What is the intuition for using a lag period more than 1?


1 Answer 1


A decrease in AIC corresponds to an improvement in the model fit. Based on your results the model with an AR(1) component has improved over the one without, since for the AR(1) fit the AIC is smaller.

I suggest that you look into distributed lag models (aka transfer function models) since those are specifically designed for problems with input-output relationships, such as yours. Your output is the market share while inputs are the rest of the variables (predictors). Before putting the variables into a distributed lag model you should first identify the relationship of each input (predictor) with the output (market share). Since you are dealing with time series, a simple scatter plot will not suffice for that purpose, since the relationships between time series (e.g. between market share and retail price) can be distributed over time instead of being contemporaneous. Cross correlation functions (ccf, which can be obtrained from the R tseries package) can be of great help when appropriately used.

For more information on how to build distributed lag models and study input-output relationships, you may find the following two articles helpful (they provide a hands-on guidance on how to build those models):

Bisgaard, S., & Kulahci, M. (2006). Quality Quandaries: Studying input-output relationships, part I. Quality Engineering, 18(2), 273-281.

Bisgaard, S. R., & Kulahci, M. (2006). Quality Quandaries: Studying Input-Output Relationships, Part II. Quality Engineering, 18(3), 405-410.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.