{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Churn prediction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Customer churn, also known as customer attrition, occurs when customers stop doing business with a company. The companies are interested in identifying segments of these customers because the price for acquiring a new customer is usually higher than retaining the old one. For example, if Netflix knew a segment of customers who were at risk of churning they could proactively engage them with special offers instead of simply losing them.\n", "\n", "In this blog post, we will create a simple customer churn prediction model using [Telco Customer Churn dataset](https://www.kaggle.com/blastchar/telco-customer-churn). We chose a decision tree to model churned customers, pandas for data crunching and matplotlib for visualizations. We will do all of that above in Python.\n", "The code can be used with another dataset with a few minor adjustments to train the baseline model. We also provide few references and give ideas for new features and improvements. \n", "\n", "You can run this code by downloading this [Jupyter notebook]({{site.url}}/assets/notebooks/2019-01-25-churn-prediction).\n", " \n", "Follow me on [twitter](https://twitter.com/romanorac) to get latest updates.\n", "\n", "Let's get started." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Requirements" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import platform\n", "import pandas as pd\n", "import sklearn\n", "import numpy as np\n", "import graphviz\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "python version 3.7.0\n", "pandas version 0.23.4\n", "sklearn version 0.19.2\n", "numpy version 1.15.1\n", "graphviz version 0.10.1\n", "matplotlib version 2.2.3\n" ] } ], "source": [ "print('python version', platform.python_version())\n", "print('pandas version', pd.__version__)\n", "print('sklearn version', sklearn.__version__)\n", "print('numpy version', np.__version__)\n", "print('graphviz version', graphviz.__version__)\n", "print('matplotlib version', matplotlib.__version__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Preprocessing\n", "\n", "We use pandas to read the dataset and preprocess it. Telco dataset has one customer per line with many columns (features).\n", "There aren't any rows with all missing values or duplicates (this rarely happens with real-world datasets). \n", "There are 11 samples that have TotalCharges set to \" \", which seems like a mistake in the data. We remove those samples and set the type to numeric (float)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7043, 21)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('data/WA_Fn-UseC_-Telco-Customer-Churn.csv')\n", "df.shape" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
customerIDgenderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurity...DeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
07590-VHVEGFemale0YesNo1NoNo phone serviceDSLNo...NoNoNoNoMonth-to-monthYesElectronic check29.8529.85No
15575-GNVDEMale0NoNo34YesNoDSLYes...YesNoNoNoOne yearNoMailed check56.951889.5No
23668-QPYBKMale0NoNo2YesNoDSLYes...NoNoNoNoMonth-to-monthYesMailed check53.85108.15Yes
37795-CFOCWMale0NoNo45NoNo phone serviceDSLYes...YesYesNoNoOne yearNoBank transfer (automatic)42.301840.75No
49237-HQITUFemale0NoNo2YesNoFiber opticNo...NoNoNoNoMonth-to-monthYesElectronic check70.70151.65Yes
\n", "

5 rows × 21 columns

\n", "
" ], "text/plain": [ " customerID gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "0 7590-VHVEG Female 0 Yes No 1 No \n", "1 5575-GNVDE Male 0 No No 34 Yes \n", "2 3668-QPYBK Male 0 No No 2 Yes \n", "3 7795-CFOCW Male 0 No No 45 No \n", "4 9237-HQITU Female 0 No No 2 Yes \n", "\n", " MultipleLines InternetService OnlineSecurity ... DeviceProtection \\\n", "0 No phone service DSL No ... No \n", "1 No DSL Yes ... Yes \n", "2 No DSL Yes ... No \n", "3 No phone service DSL Yes ... Yes \n", "4 No Fiber optic No ... No \n", "\n", " TechSupport StreamingTV StreamingMovies Contract PaperlessBilling \\\n", "0 No No No Month-to-month Yes \n", "1 No No No One year No \n", "2 No No No Month-to-month Yes \n", "3 Yes No No One year No \n", "4 No No No Month-to-month Yes \n", "\n", " PaymentMethod MonthlyCharges TotalCharges Churn \n", "0 Electronic check 29.85 29.85 No \n", "1 Mailed check 56.95 1889.5 No \n", "2 Mailed check 53.85 108.15 Yes \n", "3 Bank transfer (automatic) 42.30 1840.75 No \n", "4 Electronic check 70.70 151.65 Yes \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7043, 21)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.dropna(how=\"all\") # remove samples with all missing values\n", "df.shape" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7043, 21)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df[~df.duplicated()] # remove duplicates\n", "df.shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7032, 21)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "total_charges_filter = df.TotalCharges == \" \"\n", "df = df[~total_charges_filter]\n", "df.shape" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "df.TotalCharges = pd.to_numeric(df.TotalCharges)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exploratory Data Analysis\n", "\n", "We have 2 types of features in the dataset: categorical (two or more values and without any order) and numerical. Most of the feature names are self-explanatory, except for:\n", " - Partner: whether the customer has a partner or not (Yes, No),\n", " - Dependents: whether the customer has dependents or not (Yes, No),\n", " - OnlineBackup: whether the customer has online backup or not (Yes, No, No internet service),\n", " - tenure: number of months the customer has stayed with the company,\n", " - MonthlyCharges: the amount charged to the customer monthly,\n", " - TotalCharges: the total amount charged to the customer.\n", " \n", "There are 7032 customers in the dataset and 19 features without customerID (non-informative) and Churn column (target variable). Most of the categorical features have 4 or less unique values." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
customerIDgenderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurity...DeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
count703270327032.000000703270327032.0000007032703270327032...70327032703270327032703270327032.0000007032.0000007032
unique70322NaN22NaN2333...3333324NaNNaN2
top7989-CHGTLMaleNaNNoNoNaNYesNoFiber opticNo...NoNoNoNoMonth-to-monthYesElectronic checkNaNNaNNo
freq13549NaN36394933NaN6352338530963497...3094347228092781387541682365NaNNaN5163
meanNaNNaN0.162400NaNNaN32.421786NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN64.7982082283.300441NaN
stdNaNNaN0.368844NaNNaN24.545260NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN30.0859742266.771362NaN
minNaNNaN0.000000NaNNaN1.000000NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN18.25000018.800000NaN
25%NaNNaN0.000000NaNNaN9.000000NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN35.587500401.450000NaN
50%NaNNaN0.000000NaNNaN29.000000NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN70.3500001397.475000NaN
75%NaNNaN0.000000NaNNaN55.000000NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN89.8625003794.737500NaN
maxNaNNaN1.000000NaNNaN72.000000NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN118.7500008684.800000NaN
\n", "

11 rows × 21 columns

\n", "
" ], "text/plain": [ " customerID gender SeniorCitizen Partner Dependents tenure \\\n", "count 7032 7032 7032.000000 7032 7032 7032.000000 \n", "unique 7032 2 NaN 2 2 NaN \n", "top 7989-CHGTL Male NaN No No NaN \n", "freq 1 3549 NaN 3639 4933 NaN \n", "mean NaN NaN 0.162400 NaN NaN 32.421786 \n", "std NaN NaN 0.368844 NaN NaN 24.545260 \n", "min NaN NaN 0.000000 NaN NaN 1.000000 \n", "25% NaN NaN 0.000000 NaN NaN 9.000000 \n", "50% NaN NaN 0.000000 NaN NaN 29.000000 \n", "75% NaN NaN 0.000000 NaN NaN 55.000000 \n", "max NaN NaN 1.000000 NaN NaN 72.000000 \n", "\n", " PhoneService MultipleLines InternetService OnlineSecurity ... \\\n", "count 7032 7032 7032 7032 ... \n", "unique 2 3 3 3 ... \n", "top Yes No Fiber optic No ... \n", "freq 6352 3385 3096 3497 ... \n", "mean NaN NaN NaN NaN ... \n", "std NaN NaN NaN NaN ... \n", "min NaN NaN NaN NaN ... \n", "25% NaN NaN NaN NaN ... \n", "50% NaN NaN NaN NaN ... \n", "75% NaN NaN NaN NaN ... \n", "max NaN NaN NaN NaN ... \n", "\n", " DeviceProtection TechSupport StreamingTV StreamingMovies \\\n", "count 7032 7032 7032 7032 \n", "unique 3 3 3 3 \n", "top No No No No \n", "freq 3094 3472 2809 2781 \n", "mean NaN NaN NaN NaN \n", "std NaN NaN NaN NaN \n", "min NaN NaN NaN NaN \n", "25% NaN NaN NaN NaN \n", "50% NaN NaN NaN NaN \n", "75% NaN NaN NaN NaN \n", "max NaN NaN NaN NaN \n", "\n", " Contract PaperlessBilling PaymentMethod MonthlyCharges \\\n", "count 7032 7032 7032 7032.000000 \n", "unique 3 2 4 NaN \n", "top Month-to-month Yes Electronic check NaN \n", "freq 3875 4168 2365 NaN \n", "mean NaN NaN NaN 64.798208 \n", "std NaN NaN NaN 30.085974 \n", "min NaN NaN NaN 18.250000 \n", "25% NaN NaN NaN 35.587500 \n", "50% NaN NaN NaN 70.350000 \n", "75% NaN NaN NaN 89.862500 \n", "max NaN NaN NaN 118.750000 \n", "\n", " TotalCharges Churn \n", "count 7032.000000 7032 \n", "unique NaN 2 \n", "top NaN No \n", "freq NaN 5163 \n", "mean 2283.300441 NaN \n", "std 2266.771362 NaN \n", "min 18.800000 NaN \n", "25% 401.450000 NaN \n", "50% 1397.475000 NaN \n", "75% 3794.737500 NaN \n", "max 8684.800000 NaN \n", "\n", "[11 rows x 21 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe(include='all')" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "We combine features into two lists so that we can analyze them jointly. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "categorical_features = [\n", " \"gender\",\n", " \"SeniorCitizen\",\n", " \"Partner\",\n", " \"Dependents\",\n", " \"PhoneService\",\n", " \"MultipleLines\",\n", " \"InternetService\",\n", " \"OnlineSecurity\",\n", " \"OnlineBackup\",\n", " \"DeviceProtection\",\n", " \"TechSupport\",\n", " \"StreamingTV\",\n", " \"StreamingMovies\",\n", " \"Contract\",\n", " \"PaperlessBilling\",\n", " \"PaymentMethod\",\n", "]\n", "numerical_features = [\"tenure\", \"MonthlyCharges\", \"TotalCharges\"]\n", "target = \"Churn\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Feature distribution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We plot distributions for numerical and categorical features to check for outliers and compare feature distributions with target variable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Numerical features distribution\n", "\n", "Numeric summarizing techniques (mean, standard deviation, etc.) don't show us spikes, shapes of distributions and it is hard to observe outliers with it. That is the reason we use histograms." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tenureMonthlyChargesTotalCharges
count7032.0000007032.0000007032.000000
mean32.42178664.7982082283.300441
std24.54526030.0859742266.771362
min1.00000018.25000018.800000
25%9.00000035.587500401.450000
50%29.00000070.3500001397.475000
75%55.00000089.8625003794.737500
max72.000000118.7500008684.800000
\n", "
" ], "text/plain": [ " tenure MonthlyCharges TotalCharges\n", "count 7032.000000 7032.000000 7032.000000\n", "mean 32.421786 64.798208 2283.300441\n", "std 24.545260 30.085974 2266.771362\n", "min 1.000000 18.250000 18.800000\n", "25% 9.000000 35.587500 401.450000\n", "50% 29.000000 70.350000 1397.475000\n", "75% 55.000000 89.862500 3794.737500\n", "max 72.000000 118.750000 8684.800000" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[numerical_features].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At first glance, there aren't any outliers in the data. No data point is disconnected from distribution or too far from the mean value. To confirm that we would need to calculate [interquartile range (IQR)](https://www.purplemath.com/modules/boxwhisk3.htm) and show that values of each numerical feature are within the 1.5 IQR from first and third quartile. \n", "\n", "We could convert numerical features to ordinal intervals. For example, tenure is numerical, but often we don't care about small numeric differences and instead group tenure to customers with short, medium and long term tenure. One reason to convert it would be to reduce the noise, often small fluctuates are just noise." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ],\n", " [,\n", " ]],\n", " dtype=object)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df[numerical_features].hist(bins=30, figsize=(10, 7))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We look at distributions of numerical features in relation to the target variable. We can observe that the greater TotalCharges and tenure are the less is the probability of churn." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([,\n", " ,\n", " ],\n", " dtype=object)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 3, figsize=(14, 4))\n", "df[df.Churn == \"No\"][numerical_features].hist(bins=30, color=\"blue\", alpha=0.5, ax=ax)\n", "df[df.Churn == \"Yes\"][numerical_features].hist(bins=30, color=\"red\", alpha=0.5, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Categorical feature distribution\n", "\n", "To analyze categorical features, we use bar charts. We observe that Senior citizens and customers without phone service are less represented in the data." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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ERER0b9elDQWMICk11DtgOgZKTxERERERERE9K+vAxcAa0n6EvALMtUiIiIiIiIiYuRIOt72Z9quxwJn2d6/YKyOkbQ5sDtV88wrbN9dONJi0uMhIiIiIiIimu71ko61faKklYH/C8wpHWq46gLKnfVY0HtK5xlKjlpERERERERE0x0CbC3pWOBiYKbtz5WNNHy25wP3Slq/dJalyVGLiIiIiIiIaCRJ09ouVwS+BVwL/G8A27NL5OokSdcAU4EbgWdb67b3KhZqgBQeIiIiIiIiopEkzVzKbduePmJhukTSWwdbt331SGcZSgoPEREREREREX1G0huAtW1fO2B9F+BR278pk2xJaS4ZERERERERjVY3lNwb2JC218G2jy+VqQO+Chw7yPrT9b09RzbO0FJ4iIiIiIiIiKa7kOoF+S3AvMJZOmVt27cPXLR9u6QNRz7O0FJ4iIiIiIiIiKZbz/Y7SofosFct5d74EUvxMmScZkRERERERDTddZK2Lh2iw26WdNjARUkfotrZ0TPSXDIiIiIiIiIaTdJdwBuAB6iOWohqqsWUosGGQdLawAXACywqNGwHrAS81/ZjpbINlMJDRERERERENJqkDQZbt/3QSGfpNEm7AVvVl3favrJknsGk8BARERERERGjgqS1gHGta9sPF4wzaqTHQ0RERERERDSapL0k3Ud11OJq4EHgkqKhRpEUHiIiIiIiIqLpvgDsCPzK9kbA7sD1ZSONHik8RERERERERNO9aPsJYIykMbZnUjVijBGwQukAEREREREREV32lKQJwDXAOZIeB54tnGnUSHPJiIiIiIiIaDRJqwLPU+363x9YDTin3gURXZbCQ0RERERERIwaktYEnnBeDI+Y9HiIiIiIiIiIRpK0o6SrJJ0vaaqkO4A7gD9IekfpfKNFdjxEREREREREI0m6GTiO6mjFt4F32r5e0ubAubanFg04SmTHQ0RERERERDTVCrYvs30e8Jjt6wFs31M416iSwkNEREREREQ01YK2z58fcC/b/0dIjlpEREREREREI0maTzU2U8B44LnWLWCc7RVLZRtNUniIiIiIiIiIiK7JUYuIiIiIiIiI6JoUHiIiIiIiIiKia1J4iIiIiIiIiIiuSeEhIiIiIiIiIromhYeIiIiIiIiI6JoUHiIiIiIiIiKia/4THuQJVvKiJX0AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ROWS, COLS = 4, 4\n", "fig, ax = plt.subplots(ROWS, COLS, figsize=(18, 18))\n", "row, col = 0, 0\n", "for i, categorical_feature in enumerate(categorical_features):\n", " if col == COLS - 1:\n", " row += 1\n", " col = i % COLS\n", " df[categorical_feature].value_counts().plot('bar', ax=ax[row, col]).set_title(categorical_feature)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next step is to look at categorical features in relation to the target variable. We do this only for contract feature. Users who have a month-to-month contract are more likely to churn than users with long term contracts." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'churned')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "feature = 'Contract'\n", "fig, ax = plt.subplots(1, 2, figsize=(14, 4))\n", "df[df.Churn == \"No\"][feature].value_counts().plot('bar', ax=ax[0]).set_title('not churned')\n", "df[df.Churn == \"Yes\"][feature].value_counts().plot('bar', ax=ax[1]).set_title('churned')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Target variable distribution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Target variable distribution shows that we are dealing with an imbalanced problem as there are many more non-churned as churned users. The model would achieve high accuracy as it would mostly predict majority class - users who didn't churn in our example.\n", "\n", "Few things we can do to minimize the influence of imbalanced dataset:\n", "- resample data (https://imbalanced-learn.readthedocs.io/en/stable/),\n", "- collect more samples,\n", "- use precision and recall as accuracy metrics." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'churned')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df[target].value_counts().plot('bar').set_title('churned')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Features\n", "\n", "Telco dataset is already grouped by customerID so it is difficult to add new features. When working on the churn prediction we usually get a dataset that has one entry per customer session (customer activity in a certain time). Then we could add features like: \n", " - number of sessions before buying something,\n", " - average time per session,\n", " - time difference between sessions (frequent or less frequent customer),\n", " - is a customer only in one country.\n", "\n", "Sometimes we even have customer event data, which enables us to find patterns of customer behavior in relation to the outcome (churn)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Encoding features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To prepare the dataset for modeling churn, we need to encode categorical features to numbers. This means encoding \"Yes\", \"No\" to 0 and 1 so that algorithm can work with the data. This process is called [onehot encoding](https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Label encoder gender - values: ['Female', 'Male']\n", "Label encoder SeniorCitizen - values: [0, 1]\n", "Label encoder Partner - values: ['No', 'Yes']\n", "Label encoder Dependents - values: ['No', 'Yes']\n", "Label encoder PhoneService - values: ['No', 'Yes']\n", "Label encoder MultipleLines - values: ['No', 'No phone service', 'Yes']\n", "Label encoder InternetService - values: ['DSL', 'Fiber optic', 'No']\n", "Label encoder OnlineSecurity - values: ['No', 'No internet service', 'Yes']\n", "Label encoder OnlineBackup - values: ['No', 'No internet service', 'Yes']\n", "Label encoder DeviceProtection - values: ['No', 'No internet service', 'Yes']\n", "Label encoder TechSupport - values: ['No', 'No internet service', 'Yes']\n", "Label encoder StreamingTV - values: ['No', 'No internet service', 'Yes']\n", "Label encoder StreamingMovies - values: ['No', 'No internet service', 'Yes']\n", "Label encoder Contract - values: ['Month-to-month', 'One year', 'Two year']\n", "Label encoder PaperlessBilling - values: ['No', 'Yes']\n", "Label encoder PaymentMethod - values: ['Bank transfer (automatic)', 'Credit card (automatic)', 'Electronic check', 'Mailed check']\n", "Label encoder Churn - values: ['No', 'Yes']\n" ] } ], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "\n", "categorical_feature_names = []\n", "label_encoders = {}\n", "for categorical in categorical_features + [target]:\n", " label_encoders[categorical] = LabelEncoder()\n", " df[categorical] = label_encoders[categorical].fit_transform(df[categorical])\n", " names = label_encoders[categorical].classes_.tolist()\n", " print('Label encoder %s - values: %s' % (categorical, names))\n", " if categorical == target:\n", " continue\n", " categorical_feature_names.extend([categorical + '_' + str(name) for name in names])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
customerIDgenderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurity...DeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
07590-VHVEG001010100...000001229.8529.850
15575-GNVDE1000341002...200010356.951889.500
23668-QPYBK100021002...000001353.85108.151
37795-CFOCW1000450102...220010042.301840.750
49237-HQITU000021010...000001270.70151.651
\n", "

5 rows × 21 columns

\n", "
" ], "text/plain": [ " customerID gender SeniorCitizen Partner Dependents tenure \\\n", "0 7590-VHVEG 0 0 1 0 1 \n", "1 5575-GNVDE 1 0 0 0 34 \n", "2 3668-QPYBK 1 0 0 0 2 \n", "3 7795-CFOCW 1 0 0 0 45 \n", "4 9237-HQITU 0 0 0 0 2 \n", "\n", " PhoneService MultipleLines InternetService OnlineSecurity ... \\\n", "0 0 1 0 0 ... \n", "1 1 0 0 2 ... \n", "2 1 0 0 2 ... \n", "3 0 1 0 2 ... \n", "4 1 0 1 0 ... \n", "\n", " DeviceProtection TechSupport StreamingTV StreamingMovies Contract \\\n", "0 0 0 0 0 0 \n", "1 2 0 0 0 1 \n", "2 0 0 0 0 0 \n", "3 2 2 0 0 1 \n", "4 0 0 0 0 0 \n", "\n", " PaperlessBilling PaymentMethod MonthlyCharges TotalCharges Churn \n", "0 1 2 29.85 29.85 0 \n", "1 0 3 56.95 1889.50 0 \n", "2 1 3 53.85 108.15 1 \n", "3 0 0 42.30 1840.75 0 \n", "4 1 2 70.70 151.65 1 \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Classifier\n", "\n", "We use sklearn, a Machine Learning library in Python, to create a classifier.\n", "The sklearn way is to use pipelines that define feature processing and the classifier. In our example, the pipeline takes a dataset in the input, it preprocesses features and trains the classifier.\n", "When trained, it takes the same input and returns predictions in the output. \n", "\n", "In the pipeline, we separately process categorical and numerical features. We onehot encode categorical features and scale numerical features by removing the mean and scaling them to unit variance.\n", "We chose a decision tree model because of its interpretability and set max depth to 3 (arbitrarily)." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "from sklearn.pipeline import FeatureUnion, Pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.preprocessing import OneHotEncoder\n", "from sklearn import tree\n", "from sklearn.base import BaseEstimator, TransformerMixin\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "\n", "class ItemSelector(BaseEstimator, TransformerMixin):\n", " def __init__(self, key):\n", " self.key = key\n", "\n", " def fit(self, x, y=None):\n", " return self\n", "\n", " def transform(self, df):\n", " return df[self.key]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "pipeline = Pipeline(\n", " [\n", " (\n", " \"union\",\n", " FeatureUnion(\n", " transformer_list=[\n", " (\n", " \"categorical_features\",\n", " Pipeline(\n", " [\n", " (\"selector\", ItemSelector(key=categorical_features)),\n", " (\"onehot\", OneHotEncoder()),\n", " ]\n", " ),\n", " )\n", " ]\n", " + [\n", " (\n", " \"numerical_features\",\n", " Pipeline(\n", " [\n", " (\"selector\", ItemSelector(key=numerical_features)),\n", " (\"scalar\", StandardScaler()),\n", " ]\n", " ),\n", " )\n", " ]\n", " ),\n", " ),\n", " (\"classifier\", tree.DecisionTreeClassifier(max_depth=3, random_state=42)),\n", " ]\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Training the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We split the dataset to train (75% samples) and test (25% samples). \n", "We train (fit) the pipeline and make predictions. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "df_train, df_test = train_test_split(df, test_size=0.25, random_state=42)\n", "\n", "pipeline.fit(df_train, df_train[target])\n", "pred = pipeline.predict(df_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Testing the model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With classification_report we calculate precision and recall with actual and predicted values.\n", "For class 1 (churned users) model achieves 0.67 precision and 0.37 recall.\n", "Precision tells us how many churned users did our classifier predicted correctly. On the other side, recall tell us how many churned users it missed. In layman terms, the classifier is not very accurate for churned users." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.81 0.94 0.87 1300\n", " 1 0.67 0.37 0.48 458\n", "\n", "avg / total 0.77 0.79 0.77 1758\n", "\n" ] } ], "source": [ "from sklearn.metrics import classification_report\n", "\n", "print(classification_report(df_test[target], pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model interpretability\n", "\n", "Decision Tree model uses Contract, MonthlyCharges, InternetService, TotalCharges, and tenure features to make a decision if a customer will churn or not. These features separate churned customers from others well based on the split criteria in the decision tree.\n", "\n", "Each customer sample traverses the tree and final node gives the prediction. \n", "For example, if Contract_Month-to-month is:\n", " - equal to 0, continue traversing the tree with True branch, \n", " - equal to 1, continue traversing the tree with False branch, \n", " - not defined, it outputs the class 0.\n", " \n", "This is a great approach to see how the model is making a decision or if any features sneaked in our model that shouldn't be there." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "Tree\n", "\n", "\n", "\n", "0\n", "\n", "Contract_Month-to-month ≤ 0.5\n", "gini = 0.392\n", "samples = 5274\n", "value = [3863, 1411]\n", "class = 0\n", "\n", "\n", "\n", "1\n", "\n", "MonthlyCharges ≤ 0.962\n", "gini = 0.122\n", "samples = 2376\n", "value = [2221, 155]\n", "class = 0\n", "\n", "\n", "\n", "0->1\n", "\n", "\n", "True\n", "\n", "\n", "\n", "8\n", "\n", "InternetService_Fiber optic ≤ 0.5\n", "gini = 0.491\n", "samples = 2898\n", "value = [1642, 1256]\n", "class = 0\n", "\n", "\n", "\n", "0->8\n", "\n", "\n", "False\n", "\n", "\n", "\n", "2\n", "\n", "Contract_One year ≤ 0.5\n", "gini = 0.068\n", "samples = 1787\n", "value = [1724, 63]\n", "class = 0\n", "\n", "\n", "\n", "1->2\n", "\n", "\n", "\n", "\n", "\n", "5\n", "\n", "TotalCharges ≤ 1.908\n", "gini = 0.264\n", "samples = 589\n", "value = [497, 92]\n", "class = 0\n", "\n", "\n", "\n", "1->5\n", "\n", "\n", "\n", "\n", "\n", "3\n", "\n", "gini = 0.022\n", "samples = 978\n", "value = [967, 11]\n", "class = 0\n", "\n", "\n", "\n", "2->3\n", "\n", "\n", "\n", "\n", "\n", "4\n", "\n", "gini = 0.12\n", "samples = 809\n", "value = [757, 52]\n", "class = 0\n", "\n", "\n", "\n", "2->4\n", "\n", "\n", "\n", "\n", "\n", "6\n", "\n", "gini = 0.357\n", "samples = 279\n", "value = [214, 65]\n", "class = 0\n", "\n", "\n", "\n", "5->6\n", "\n", "\n", "\n", "\n", "\n", "7\n", "\n", "gini = 0.159\n", "samples = 310\n", "value = [283, 27]\n", "class = 0\n", "\n", "\n", "\n", "5->7\n", "\n", "\n", "\n", "\n", "\n", "9\n", "\n", "tenure ≤ -1.176\n", "gini = 0.404\n", "samples = 1304\n", "value = [937, 367]\n", "class = 0\n", "\n", "\n", "\n", "8->9\n", "\n", "\n", "\n", "\n", "\n", "12\n", "\n", "tenure ≤ -0.687\n", "gini = 0.493\n", "samples = 1594\n", "value = [705, 889]\n", "class = 1\n", "\n", "\n", "\n", "8->12\n", "\n", "\n", "\n", "\n", "\n", "10\n", "\n", "gini = 0.496\n", "samples = 435\n", "value = [237, 198]\n", "class = 0\n", "\n", "\n", "\n", "9->10\n", "\n", "\n", "\n", "\n", "\n", "11\n", "\n", "gini = 0.313\n", "samples = 869\n", "value = [700, 169]\n", "class = 0\n", "\n", "\n", "\n", "9->11\n", "\n", "\n", "\n", "\n", "\n", "13\n", "\n", "gini = 0.422\n", "samples = 787\n", "value = [238, 549]\n", "class = 1\n", "\n", "\n", "\n", "12->13\n", "\n", "\n", "\n", "\n", "\n", "14\n", "\n", "gini = 0.488\n", "samples = 807\n", "value = [467, 340]\n", "class = 0\n", "\n", "\n", "\n", "12->14\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dot_data = tree.export_graphviz(pipeline.named_steps['classifier'], out_file=None, \n", " feature_names = categorical_feature_names + numerical_features,\n", " class_names=[str(el) for el in pipeline.named_steps.classifier.classes_], \n", " filled=True, rounded=True, \n", " special_characters=True) \n", "graph = graphviz.Source(dot_data) \n", "graph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further reading\n", "\n", "- [Handling class imbalance in customer churn prediction](https://www.sciencedirect.com/science/article/pii/S0957417408002121) - how can we better handle class imbalance in churn prediction.\n", "- [A Survey on Customer Churn Prediction using Machine Learning Techniques](https://www.researchgate.net/publication/310757545_A_Survey_on_Customer_Churn_Prediction_using_Machine_Learning_Techniques) - This paper reviews the most popular machine learning algorithms used by researchers for churn predicting.\n", "- [Telco customer churn on kaggle](https://www.kaggle.com/blastchar/telco-customer-churn) - churn analysis on kaggle.\n", "- [WTTE-RNN-Hackless-churn-modeling](https://ragulpr.github.io/2016/12/22/WTTE-RNN-Hackless-churn-modeling) - event based churn prediction." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }