Logo Lanfrica

PRAISE-ADEYEYE/churn-capstone-2026

Domain:

socioeconomic

Record type:

projectdataset
Creator:
PRA
Host:
DATA COMMUNITY AFRICA CAPSTONE PROJECT # Customer Churn Prediction in the Nigerian Telecom Sector A project built as part of the AI Community Africa Data Science Capstone (2026). The goal is to predict which telecom customers are likely to churn, and determine whether Logistic Regression or a Random Forest Classifier performs better on this task. ## Project Background Nigeria's telecom industry serves over 200 million active subscribers across four major providers: MTN Nigeria, Airtel Nigeria, Glo, and 9mobile. Customer churn is one of the most costly challenges these providers face. Research shows that acquiring a new subscriber costs up to five times more than retaining an existing one, making early churn detection a genuine business priority. This project applies real-world data science techniques to address that problem, using customer demographic and usage data to train and compare two classification models. ## Dataset Two CSV files are used in this project: **telecom_demographics_nigeria.csv** contains account and demographic information for 6,500 customers, including provider, gender, age, Nigerian state, number of dependents, and estimated monthly salary. **telecom_usage.csv** contains 30-day usage behaviour for the same customers, including calls made, SMS sent, and data consumed. It also contains the target variable: `churn` (1 = churned, 0 = still active). The two files are merged on `customer_id` before any analysis. Approximately 20% of customers (1,303 out of 6,500) have churned, making this a moderately imbalanced classification problem. ## Project Structure ``` churn-capstone-2026/ Adeyeye_Praise_Capstone_2026.ipynb Main notebook with all four tasks telecom_demographics_nigeria.csv Customer demographics dataset telecom_usage.csv Customer usage and churn labels README.md Project documentation ``` ## Tasks Completed **Task 1: Load, Merge, and Explore** Both CSV files are loaded into separate pandas DataFrames and merged int …