So what is customer churn?

While I have not dealt with datasets involving consumer behaviour, the term "Customer Churn" comes up a lot whenever I read articles/resources on machine learning. So exactly what is the definition of customer churn?

Today I finally have the time to search it on Wikipedia. Voila!

Churn rate (also known as attrition rate, turnover, customer turnover, or customer defection) is a measure of the proportion of individuals or items moving out of a group over a specific period.

Basically, it measures how many people are leaving a service/product, which may be driven by factors like service/product cost and market competition. It is an important metric because of its direct impact on a company's monthly recurring revenue. After all, you want enough regular cash inflow to support the business.

Assuming we calculate this measure on a monthly basis, the most intuitive formula would be something like:

def calculate_churn_rate(n_left, n_beginning):
    # n_left: number of customers who left this month
    # n_beginning: number of customers at the beginning of this month
    return n_left / n_beginning

There may be complications in reality. For example, a customer may "leave" and immediately rejoins because of a special offer - do we count this into customer churn? Another example is when customers join/leave in the middle of the month, which is typically the case in real life. We could technically use some time-weighted method to define and incorporate "partial customers" into the formula, but is this necessary and will it give more insights into customer behaviour?

Oh well, those are not my concerns now. I am just happy I learned something new today!


You'll only receive email when they publish something new.

More from Spark Tseung
All posts