Skip to content

Sri-Bharathi/Customer_Churn_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Customer Churn & Profitability Analysis

An end-to-end project that integrates SQL, Python, Java, and Power BI to simulate a real-world customer churn analytics system. It analyzes transactional behavior, churn risk, and customer value using a SQLite database, automates insights via Python, exposes structured access via Java, and visualizes it through Power BI dashboards.

🧰 Tech Stack

Database: SQLite

Data Processing: Python (ETL, churn flagging)

Backend Access: Java (JDBC + CLI menu)

Reporting & Dashboards: Power BI

πŸ“ Project Structure

Customer_Churn_Project/ β”œβ”€β”€ churn.db # SQLite database file β”œβ”€β”€ schema.sql # SQL schema for customers & transactions β”œβ”€β”€ dummy_data.sql # Sample data insertions β”œβ”€β”€ etl_script.py # Python ETL + churn logic β”œβ”€β”€ java/ β”‚ β”œβ”€β”€ Main.java # Java CLI interface β”‚ β”œβ”€β”€ DBConnection.java # JDBC SQLite connector β”‚ └── sqlite-jdbc-3.42.0.0.jar # SQLite JDBC driver β”œβ”€β”€ powerbi/ β”‚ β”œβ”€β”€ churn_dashboard.pbix # Power BI dashboard file β”‚ β”œβ”€β”€ dashboard1.png # Screenshots of visuals β”‚ └── kpi_cards.png # More visuals └── README.md

πŸ”„ Data Flow Overview

schema.sql + dummy_data.sql create a simple customer and transaction system.

etl_script.py processes:

Total spend per customer

Last transaction date

Flags churn risk (High if no recent activity)

Outputs customer_summary table

Main.java CLI lets user:

View all summaries

Get churn info by customer ID

Power BI connects to churn.db via ODBC and visualizes churn, spend, risk, and KPIs

πŸ“Š Power BI Dashboard Includes

βœ… KPI Cards (Total Customers, Average Spend, Churn %)

πŸ₯§ Pie chart of High vs Low Risk

πŸ“‹ Customer-level churn table

πŸ“ Region-wise trends (if extended)

▢️ How to Run Locally

  1. Set up the Database

sqlite3 churn.db < schema.sql sqlite3 churn.db < dummy_data.sql

  1. Run Python ETL

python etl_script.py

  1. Compile & Run Java CLI

cd java javac -cp ".;sqlite-jdbc-3.42.0.0.jar" Main.java DBConnection.java java -cp ".;sqlite-jdbc-3.42.0.0.jar" Main

  1. View Dashboard in Power BI

Open powerbi/churn_dashboard.pbix

Interact with slicers, KPIs, and visuals

πŸ“Œ Author

Vedantam Venkata Sri BharathiGitHub: yourusernameLinkedIn: linkedin.com/in/venkata-sri-bharathi-v-713b16214

⭐ Suggestions to Improve

Add time-series forecasting

Connect Java to REST API (Spring Boot)

Use real datasets (Telco, Bank)

Deploy Power BI to online workspace

This project demonstrates strong data flow handling across multiple technologies and is ideal for roles in SQL Development, BI Reporting, or Data Engineering.

Happy analyzing! πŸš€

About

End-to-end SQL + Python + Java + Power BI churn analysis

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published