{"id":15157872,"url":"https://github.com/chrispsang/customerchurnanalysis","last_synced_at":"2026-01-31T11:02:25.258Z","repository":{"id":251420349,"uuid":"837330750","full_name":"chrispsang/CustomerChurnAnalysis","owner":"chrispsang","description":"Predicting customer churn using a RandomForestClassifier with detailed EDA, model evaluation, and visualization. Includes a Tableau dashboard for interactive insights.","archived":false,"fork":false,"pushed_at":"2024-08-02T18:09:16.000Z","size":273,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T17:58:14.887Z","etag":null,"topics":["customerchurn","data-analysis","data-visualization","datapreprocessing","machine-learning","python","scikit-learn","tableau"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrispsang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T18:05:38.000Z","updated_at":"2024-08-02T18:50:15.000Z","dependencies_parsed_at":"2024-08-02T22:43:52.870Z","dependency_job_id":"dfbfce68-1679-44d9-8e54-95031d64fc8e","html_url":"https://github.com/chrispsang/CustomerChurnAnalysis","commit_stats":null,"previous_names":["chrispsang/customerchurnanalysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chrispsang/CustomerChurnAnalysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrispsang%2FCustomerChurnAnalysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrispsang%2FCustomerChurnAnalysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrispsang%2FCustomerChurnAnalysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrispsang%2FCustomerChurnAnalysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrispsang","download_url":"https://codeload.github.com/chrispsang/CustomerChurnAnalysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrispsang%2FCustomerChurnAnalysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28939492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T10:18:23.202Z","status":"ssl_error","status_checked_at":"2026-01-31T10:18:22.693Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customerchurn","data-analysis","data-visualization","datapreprocessing","machine-learning","python","scikit-learn","tableau"],"created_at":"2024-09-26T20:04:25.158Z","updated_at":"2026-01-31T11:02:25.244Z","avatar_url":"https://github.com/chrispsang.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Churn Analysis Project\n\nThis repository contains a sample project for analyzing customer churn in a subscription service. The project uses Python for data analysis and model building, and Tableau for data visualization.\n\n## Table of Contents\n\n- [Project Overview](#project-overview)\n- [Dataset](#dataset)\n- [Exploratory Data Analysis (EDA)](#exploratory-data-analysis-eda)\n- [Model Building](#model-building)\n- [Evaluation](#evaluation)\n- [Tableau Visualizations](#tableau-visualizations)\n\n## Project Overview\n\nThe goal of this project is to predict customer churn for a subscription service. The analysis involves:\n\n1. Data Preprocessing\n2. Exploratory Data Analysis (EDA)\n3. Model Building and Training\n4. Model Evaluation\n5. Exporting Data for Tableau Visualization\n\n## Dataset\n\nThe dataset used for this project is synthetically generated and consists of the following features:\n\n- `CustomerID`: Unique identifier for each customer\n- `Gender`: Gender of the customer\n- `Age`: Age of the customer\n- `Tenure`: Number of months the customer has been with the company\n- `SubscriptionPlan`: Subscription plan of the customer (Basic, Standard, Premium)\n- `MonthlyCharges`: Monthly charges for the customer\n- `Churn`: Whether the customer has churned (0 = No churn, 1 = Churn)\n- `TotalCharges`: Total charges for the customer (calculated as `Tenure` * `MonthlyCharges`)\n\n\n## Exploratory Data Analysis (EDA)\n\nThe EDA section of the code includes:\n\n- **Churn Count Visualization**: This plot shows the distribution of churned vs. non-churned customers, providing a quick look at the imbalance in the dataset.\n- **Age Distribution Visualization**: A histogram that displays the age distribution of customers, helping to understand the age range and common age groups within the dataset.\n- **Monthly Charges by Subscription Plan Visualization**: A box plot that illustrates the distribution of monthly charges across different subscription plans, highlighting the variations in charges among the plans.\n- **Correlation Matrix Visualization**: A heatmap showing the correlation between different numerical features, which helps in identifying the relationships and dependencies among the features.\n\n## Model Building\n\nThe model building process includes:\n\n- Train-test split with stratification\n- Feature scaling\n- Training a RandomForestClassifier\n\n## Evaluation\n\nThe model evaluation includes:\n\n- **Classification Report**: Provides precision, recall, and F1-score for the model, giving a detailed performance summary.\n- **Confusion Matrix**: A matrix that shows the counts of true positives, true negatives, false positives, and false negatives, helping to evaluate the classification accuracy.\n- **ROC AUC Score**: The ROC AUC score is used to measure the model's ability to distinguish between classes.\n- **ROC Curve Visualization**: A plot of the True Positive Rate (TPR) against the False Positive Rate (FPR), showing the performance of the classification model at various threshold settings.\n- **Feature Importance Visualization**: A bar plot that ranks the features based on their importance in the model, indicating which features have the most influence on predicting churn.\n\n## Tableau Visualizations\n\nYou can view the Tableau visualizations for this project [here](https://public.tableau.com/views/ChurnAnalysisDashboard_17225321250850/Dashboard1?:language=en-US\u0026publish=yes\u0026:sid=\u0026:redirect=auth\u0026:display_count=n\u0026:origin=viz_share_link).\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrispsang%2Fcustomerchurnanalysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrispsang%2Fcustomerchurnanalysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrispsang%2Fcustomerchurnanalysis/lists"}