{"id":20106837,"url":"https://github.com/nneji123/customer-segmentation-dash-application","last_synced_at":"2026-01-23T07:34:44.175Z","repository":{"id":46146159,"uuid":"515123268","full_name":"Nneji123/Customer-Segmentation-Dash-Application","owner":"Nneji123","description":"A Customer Segmentation Application using Kmeans Clustering built with Dash","archived":false,"fork":false,"pushed_at":"2022-07-19T10:28:29.000Z","size":2590,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T11:51:19.523Z","etag":null,"topics":["cd","ci","dash","deployment","docker","flask","git","github-actions","heroku","kmeans","kmeans-clustering","python","sklearn"],"latest_commit_sha":null,"homepage":"https://custsegapp.herokuapp.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nneji123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-18T09:46:41.000Z","updated_at":"2022-11-03T09:37:34.000Z","dependencies_parsed_at":"2022-09-24T15:51:37.328Z","dependency_job_id":null,"html_url":"https://github.com/Nneji123/Customer-Segmentation-Dash-Application","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nneji123/Customer-Segmentation-Dash-Application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nneji123%2FCustomer-Segmentation-Dash-Application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nneji123%2FCustomer-Segmentation-Dash-Application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nneji123%2FCustomer-Segmentation-Dash-Application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nneji123%2FCustomer-Segmentation-Dash-Application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nneji123","download_url":"https://codeload.github.com/Nneji123/Customer-Segmentation-Dash-Application/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nneji123%2FCustomer-Segmentation-Dash-Application/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28683460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T05:48:07.525Z","status":"ssl_error","status_checked_at":"2026-01-23T05:48:07.129Z","response_time":59,"last_error":"SSL_read: 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":["cd","ci","dash","deployment","docker","flask","git","github-actions","heroku","kmeans","kmeans-clustering","python","sklearn"],"created_at":"2024-11-13T17:54:57.219Z","updated_at":"2026-01-23T07:34:44.157Z","avatar_url":"https://github.com/Nneji123.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Customer-Segmentation-Dash-App\nA Customer Segmentation Application using Kmeans Clustering built with Dash\n\n[![Language](https://img.shields.io/badge/Python-darkblue.svg?style=flat\u0026logo=python\u0026logoColor=white)](https://www.python.org)\n[![Framework](https://img.shields.io/badge/sklearn-darkorange.svg?style=flat\u0026logo=scikit-learn\u0026logoColor=white)](http://www.pytorch.org/news.html)\n[![Framework](https://img.shields.io/badge/Dash-blue.svg?style=flat\u0026logo=Dash\u0026logoColor=white)](https://custsegapp.herokuapp.com/docs)\n![hosted](https://img.shields.io/badge/Heroku-430098?style=flat\u0026logo=heroku\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-blue?style=flat\u0026logo=docker\u0026logoColor=white)\n![build](https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat)\n![reposize](https://img.shields.io/github/repo-size/Nneji123/Customer-Segmentation-Dash-Application)\n\n\n## Problem Statement\nIn this project, I worked with data from the Survey of Consumer Finances (SCF). The SCF is a survey sponsored by the US Federal Reserve. It tracks financial, demographic, and opinion information about families in the United States. The survey is conducted every three years, and we'll work with an extract of the results from 2019.\n \n**This Dash App utilizes a Machine Learning model built with KMeans to segment customers based on various features**\n\n\nThe App can be can be viewed [here](https://custsegapp.herokuapp.com)\n\n## Data Preparation\n\n*From the US Federal Reserve website:*\n\nThe Survey of Consumer Finances (SCF) is normally a triennial cross-sectional survey of U.S. families. The survey data include information on families’ balance sheets, pensions, income, and demographic characteristics. Information is also included from related surveys of pension providers and the earlier such surveys conducted by the Federal Reserve Board. No other study for the country collects comparable information. Data from the SCF are widely used, from analysis at the Federal Reserve and other branches of government to scholarly work at the major economic research centers.\n\n[Dataset Link](https://www.federalreserve.gov/econres/scfindex.htm)\n\n## Project Outline\n1. Compare characteristics across subgroups using a side-by-side bar chart.\n2. Build a k-means clustering model.\n3. Conduct feature selection for clustering based on variance.\n4. Reduce high-dimensional data using principal component analysis (PCA).\n5. Design, build and deploy a Dash web application.\n\n\n## Preview\n\n### Dash App Demo\n\n![ezgif com-gif-maker](https://user-images.githubusercontent.com/101701760/179729434-4c935131-90b4-486b-a73d-f3a220efa831.gif)\n\n## 💻 Deploying the Application to Heroku\nAssuming you have git and heroku cli installed just carry out the following steps:\n\n1. Clone the repository\n\n```\ngit clone https://github.com/Nneji123/Customer-Segmentation-Dash-Application.git\n```\n\n2. Change the working directory\n\n```\ncd Customer-Segmentation-Dash-Application\n```\n\n3. Login to Heroku\n\n``` \nheroku login\nheroku container:login\n```\n\n4. Create your application\n```\nheroku create your-app-name\n```\nReplace **your-app-name** with the name of your choosing.\n\n5. Build the image and push to Container Registry:\n\n```\nheroku container:push web\n```\n\n6. Then release the image to your app:\n \n```\nheroku container:release web\n```\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnneji123%2Fcustomer-segmentation-dash-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnneji123%2Fcustomer-segmentation-dash-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnneji123%2Fcustomer-segmentation-dash-application/lists"}