# Student Churn prediction

I am working on an ML model for student churn prediction. It is a classification problem if some student will churn or not. I have a lot of data like the student data and the activities of the student. There are two problems which I would like to ask about:

1. The churn of the student in the first 6 weeks
2. The overall churn of the student after the 6 weeks

Would you split your work between 2 models: in 6 weeks and after 6 weeks? How would you start such a project?

Churn models often simply predict a binary output: will the student churn? Yes or No, 1 or 0. In your case there is an added component, namely the time factor of 6 weeks, so the question is more "when is the student likely to churn?".

Does your dataset include how long students stayed on the course before churning (i.e. leaving the course)?

At the highest level, you could model this problem as either a classification problem or a regression problem (with some post processing).

## Classification approach

If you choose classification, you should form your target variable (the actual churn information) for each student into several discrete classes. For example, you could create 3 classes:

• 0 -> the student didn't churn
• 1 -> the student churned later than 6 weeks
• 2 -> the student churned within 6 weeks

Then you can select any model that can consume your data (input features) and classify each case as one of those three cases. Something like a decision tree might work well as a base line model. You could then perhaps try an SVM model.

## Regression approach

In this case, you would be predicting the exact time each student will churn. For this, your dataset must contain e.g. the number of days or weeks into the course that churn students left the course.

In this case, you target variable is then simply this information, and your model will predict numbers, like 3.7 weeks or 26 weeks; you will then need to simply post-process these results into your 3 categories (as listed above).

In this case, again, you could try decision tree (regression variant) or an SVM model.