I am looking for suggestions to better predict the number of loyalty cards sold.

A company I work at has a 'pay for' loyalty program. We track how many loyalty cards we sell daily. I was able to build a linear regression model based on NumberOfCardsSold, TrafficInStore, GrossRevenue for a specific day. R-square is 97.5%. All p-values are less than 0.05.

In order to drive loyalty card sales from time to time, we execute different card-related promotions and sometimes these promotions may last for several days. At first, I was thinking to add dummy variables for different promotion types but then realized that it doesn't take into account the number of days we run these promotions for.

Essentially, I'm trying to estimate the boost that a particular promotional card-related event would have on a number of loyalty cards we'd sell that day. So if we're missing a monthly plan, we could launch certain promotions to get us back on track.

I'm not strong in various statistical methods, just basics like moving avg or simple linear regression. What approach would you recommend in my case?

Thank you!

  • $\begingroup$ Hi: I can't help specifically but for advertising-sales relationships, the koycj distributed lag was popular at one point because it allows for the effect of advertising-promotions to be spread out over time. I don't know if it's still popular but it might be worth checking out. If you have a promotion for more than one day, then you could think of each day as a seperate promotion day where a promotion day is the "impulse" and you're estimating the impulse response of sales. google for "koyck distributed lag" and you'll see better what I'm talking about. $\endgroup$
    – mlofton
    Sep 4, 2020 at 2:55

1 Answer 1


I'll answer your question first, but then I'm going to ask you a question too!

Yes, you're on the right track with the dummy variable, but it sounds like you think that there may be effect modification from the number of days a promotion is offered, e.g. promotion $X$ might generate many sales the first day or two, but then fewer sales the longer it goes on?

If that's the case, you would want to add the dummy variable (call it $I_X$) and the dummy variable times the number of days it is active ($I_X \times DaysActive$). Just to be clear, since each day is a new observation, $DaysActive$ should probably be the number of days the promotion has been active when the observation is taken.

It's important to note that this will only model a linear relationship in the interaction. If you think the relationship is non-linear, you could transform $DaysActive$ (I would guess that a square-root transformation would be a good starting point).

OK, now for my question:

It sounds simple, but it is often the hardest part of a statistical analysis: What is the question you are trying to answer? Your setup right now indicates that you need to actually sit down and think about this first, probably with a statistical consultant who can help you formulate a specific question and a regression model that can answer that question. If what you are doing is critical for your company, I would say you need to hire a consultant.

I say this because it sounds like you're regressing NumberOfCardsSold against TrafficInStore and GrossRevenue. You have a fantastically high $R^2$ and low p-values, but this is completely to be expected: we would expect more foot traffic to lead to more card sales (of everything!), and more sales of everything (gross revenue) to be associated with more card sales.

And if GrossRevenue includes revenue from the sale of the cards, you're venturing into weird territory where you're basically regressing a variable on itself (a magical land of high $R^2$, low p-values, and utter meaninglessness).

Furthermore, your model gives you no actionable information. If your goal is to figure out how to increase the number of cards sold, all that your current model says is "You want to increase the number of cards sold? OK, then increase your gross revenue and foot traffic!" (I'm taking a wild stab in the dark -- not really -- and assuming you obtained positive regression coefficients for foot traffic and gross revenue; if either of the coefficients are negative, it's only because all the variables in this model are so highly inbred that the results are horribly mutated and deformed.)

I'm not a businessperson, but it seems like those priorities are backwards. And, unfortunately, building on top of this current model is not likely to give you results you can interpret, much less use. It's important to understand what it means to include variables other than the predictor of interest (promotions, in your case as stated) in a regression model: you're essentially adjusting for the effect of those variables, which is sometimes necessary, but sometimes harmful.

So, say that you include the dummy variable for promotions into your current model. Then your model would answer the question: what is the average effect of a promotion on the number of cards sold, adjusted for the effect of foot traffic and gross revenue? This is probably not the question you want to ask. In addition to the gross revenue thing mentioned above, you probably do not want to adjust for foot traffic, because some of the effect of a promotion on card sales probably occurs by increasing foot traffic ("mediation"). Thinking about this kind of stuff is what I mean by "formulating a specific question you want to answer."

Sit down, have some coffee, and take some time with this before doing any modeling. And, again, if analyzing this data is important for your company, please hire someone with statistics qualifications. For example, most businesses' cycles are highly seasonal, and it's likely that you will need someone who can adjust for this type of confounding.

Apologies; you came in with what might have seemed a quick, easy question but then had the whole enterprise thrown into question. But I truly hope these explanations help you figure out the actual question(s) you want to investigate!


Your Answer

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

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