Churn Prediction Model based on Customer Activities I am new to data science, so forgive me if i have not done my research well.

I want to build a system that calculates the churn scores for each customer and hence try to prevent it. I just want to test the concept, so result is not really important.

The business was about sending newsletter to customer and receive ad revenue for it.

The data 
We have customer activity like open emails, read emails, click emails, and that is about it. 

The idea is to look into the customer activity and see if we can identify if the customer is about to cancel the subscription.

I have look into several classification models and wonder if there is a model that can look into the activities history, not just the current events.

Any help will be appreciated!
First of all, you need to see your churn rate to see how rare it is. If your churn rate is really low ( below &lt; 5% of total labels ), then you could treat this as an anomaly detection system, meaning you train your model on non-churn users ( if churn is the label you're predicting then the non-churns would have 0 as label ), and flag any activity different from what you trained your model on as an anomaly ( in case you don't have enough examples of activities that led to churn ), or if you have enough 'churners' to train your model on, treat this as a classification problem. I'll suggest some indicators for you even though i haven't worked on a churn model before.

Assuming you only have email activity ( following your statement ) you could :


create a feature count on the email activity to see if there's a pattern to churn after certain numbers of non-reads,non-clicks,non-opens.
try to collect more features if there are more because 3 is a low feature count for a predictive model ( maybe not only the activity but the user's personal information like age / type of profession etc.. )
you can also see this article discussing user churn.


Hope this helps you.