I have a dataset, data, that contains user, game_played, amount_spent and amount_won. So head(data) gives

user  game  amount_spent  amount_won
14    4     186           120
14    2     200           80
10    2     65            100

I want to investigate why a user stops playing: is it because of the game or/and if a user loses?

What would be the right way to do this?

My approach would be this: We divide data in two groups good and bad where good contains users that play for a long time whereas bad contains user that stop playing very fast. Then one way is to find the most popular game for a fixed user in the two group and test if there is a difference.

Another way is to calculate amount_spent-amount_won for users in the two group and then test if there is a difference between the two groups.

Is this the right approach or is there a better one?


It is worth noting that a statistician should not look for "causation" as much as "association." There is no statistical method for identifying causation. In addition, the data set does not appear to have a variable that indicates when the user begins playing a game and when he stops playing a game. A user is always going to stop playing a game at some point since nobody lives forever, so what you actually want to know is whether or not the type of game/amount spent/amount won have an association with the length of time that a user plays a specific game or with the length of time that the user plays in total between games. So, the first two points that need to be understood are these: 1) when reporting findings, report them in terms of association, not causation, and 2) a variable needs to be created that indicates the length of play.

Once this variable is created, you should analyze scatter plot relationships of your variables, i.e. game type versus length of play, amount spent versus length of play, etc. to see if there is an identifiable relationship between your dependent variable (length of play) and any of your independent variables. The scatter plot analysis will also help you identify what kind of relationship that the two may exhibit. For example, what if the length of play has a logarithmic relationship to amount spent? Or, what if the relationship is non-linear in such a way that it cannot be transformed into a linear regression equation without also transforming the dependent variable? Knowing these details prior to fitting a model is important.

Once you have made an educated guess on your relationships after visual analysis of your scatter plots, you can then fit a regression model to the relationship. I would strongly recommend keeping the model linear if at all possible due to the wealth of theory that exists to support interpretation of the model. Several transformations exist, such as exponential, quadratic, and reciprocal transformations that will allow you to preserve the relationship in a linear format. If the relationship is truly non-linear and cannot be transformed in a way that preserves standard linear regression format (such as a power transformation), I would recommend using a generalized additive model to describe the relationship--the interpretation of such a model, though, is a different question entirely. Lastly, if you plan on creating a multiple regression model with multiple independent variables to your dependent, I would analyze correlations between your independent variables to see if any multi-collinearity may exist, in which case you would probably want to exclude one of the highly correlated variables (although is, too, can be a separate question).

I hope that this answer helps, and good luck!

  • $\begingroup$ Thanks for the response. Would it be smarter to fit a model for all the data rather than divide the data in 2 groups (user's with a long life-time and user's with a short lifetime ) and fit a model for each group ? $\endgroup$ – Ole Petersen Apr 1 '16 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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