I have around 140k transaction data of 35k unique customers that looks more or less like this:

ID     order_date     subtotal    

000    2019/04/27     100
000    2019/06/03     200
001    2019/03/10     20
001    2019/03/13     50
111    2020/01/12     250
222    2019/12/20     75

There are other columns such as dob, gender, store location, membership_type, etc, but I think it's not that relevant to what I'm asking. I wanted to predict how much each customer will spend for next month only. Am I supposed to use ARIMA/SARIMA model or can I just use linear regression for this problem? If it's linear regression, what should be the label?

I'm sorry if this is a stupid question. I'm still very new to this field and I have only read about ARIMA model and never tried it before and always had the labels readily available for me when doing linear regression.


1 Answer 1


In general you can apply any model that is suitable for time series forecasting to your problem. You can hold some time window out of the training for testing your models performance and choose the best model.

Also keep in mind that what you want to calculate is known in marketing as Customer Lifetime Value (CLV) and there is plenty of work around it. You can therefore consider looking for models of CLV. In particular, there are models of repeat purchases known as Pareto-NBD and BG-NBD which together with the Gamma-Gamma model of monetary value can predict the CLV. You can check this package for a python implementation. There are also CLV models based on Markov Chains like described in this note.


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.