Problem #95
Author:Ana Maria Simion
Difficulty
Your best score
N/A
Customer churn represents the voluntary abandonment of services by customers of a telecommunications operator. Understanding the factors that influence churn is essential for developing retention strategies and optimizing offers and services.
Artificial Intelligence enables complex analysis of customer data for:
To solve this problem, you will have two files available:
train.csv – contains all variables, including Churn, for training modelstest.csv – contains the same variables, without the Churn column, and the data in this file is used for generating predictions| Column | DType | Description |
|---|---|---|
| SampleID | int | Unique customer identifier |
| Age | int | Customer age |
| Avg Monthly GB Download | int | Monthly average of downloaded data (GB) |
| Avg Monthly Long Distance Charges | float | Average monthly cost for long distance calls |
| City | object | Customer's city |
| CLTV | int | Estimated Customer Lifetime Value |
| Contract | object | Contract type (monthly, annual, etc.) |
| Country | object | Customer's country |
| Customer ID | object | Internal unique customer identifier |
| Dependents | int | Number of dependents |
| Device Protection Plan | int | 1 if exists, 0 if not |
| Gender | object | Customer gender |
| Internet Service | int | Internet service indicator |
| Internet Type | object | Type of internet connection |
| Lat Long | object | Latitude and longitude coordinates |
| Latitude | float | Latitude |
| Longitude | float | Longitude |
| Married | int | 1 if customer is married, 0 otherwise |
| Monthly Charge | float | Monthly cost of services |
| Multiple Lines | int | 1 if multiple lines exist, 0 otherwise |
| Number of Dependents | int | Total number of dependents |
| Number of Referrals | int | Number of referrals made to other customers |
| Offer | object | Type of offer received (if any) |
| Online Backup | int | 1 if exists, 0 otherwise |
| Online Security | int | 1 if exists, 0 otherwise |
| Paperless Billing | int | 1 if electronic billing exists |
| Partner | int | 1 if customer has partner, 0 otherwise |
| Payment Method | object | Bill payment method |
| Phone Service | int | 1 if phone service exists, 0 otherwise |
| Population | int | City population |
| Premium Tech Support | int | 1 if premium support exists, 0 otherwise |
| Quarter | object | Quarter in which data is recorded |
| Referred a Friend | int | 1 if customer referred a friend |
| Satisfaction Score | int | Customer satisfaction score |
| Senior Citizen | int | 1 if customer is senior, 0 otherwise |
| State | object | Customer's state/province |
| Streaming Movies | int | 1 if movie streaming service exists |
| Streaming Music | int | 1 if music streaming service exists |
| Streaming TV | int | 1 if TV streaming service exists |
| Tenure in Months | int | Number of months since contract start |
| Total Charges | float | Total amount paid by customer |
| Total Extra Data Charges | int | Additional costs for data |
| Total Long Distance Charges | float | Total amount paid for long distance calls |
| Total Refunds | float | Total amount refunded to customer |
| Total Revenue | float | Total revenue generated by customer |
| Under 30 | int | 1 if customer is under 30 years old |
| Unlimited Data | int | 1 if plan has unlimited data |
| Zip Code | int | Customer's zip code |
| Ping Score | float | Network performance score |
| Avg Speed | float | Average internet connection speed |
| TV Type | object | TV receiver type |
| Link Quality Index | float | Link quality index |
| Total Short Distance Charges | float | Costs for local calls |
| Churn | int | 1 if customer churned, 0 otherwise |
For this problem you have to solve 3 tasks.
Calculate for each customer in the test set a simplified financial risk score based on the values of Monthly Charge and Total Extra Data Charges.
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)Each component adds 1 point to the score if:
The final score is between 0 and 2.
Calculate for each customer in the test set a score that reflects service quality based on the columns Avg Speed, Ping Score and Link Quality Index.
ServiceQualityScore = (Avg Speed < 50) + (Ping Score > 80) + (Link Quality Index < 30)Each component contributes 1 point to the score.
The final score is between 0 (good experience) and 3 (poor experience).
More specifically, if the first condition (Avg Speed < 50) is met, 1 point is added. Same for the rest.
Build a classification model that predicts Churn (0 = active customer, 1 = customer who churned) based on all information available in train.csv.
test.csv must be 0 or 1.Answer in the submission file will be 0 or 1 for each customer.The submission.csv file must contain:
id - ID taken from test.csv (the SampleID column)subtaskID
1 for Task 12 for Task 23 for Task 3answer - the calculated or predicted value for the customer at the indicated taskFor Task 3, the score is awarded according to the following rules: