An end-to-end data analytics project analyzing student exam performance using Python, MySQL, and Power BI.
The project covers the complete analytics workflow, starting with raw student data, followed by data cleaning and preparation in Python, database modeling in MySQL, and interactive dashboard development in Power BI.
This project analyzes student demographic information, study habits, lifestyle factors, academic performance, and exam-related factors to understand patterns associated with student exam performance.
The dataset contains 100,000 student records and 44 columns covering areas such as demographics, academic history, study habits, lifestyle, exam preparation, and final performance.
- Python
- Pandas
- Jupyter Notebook
- MySQL
- SQLAlchemy
- Power BI
- Microsoft Excel / CSV
Raw CSV Dataset
↓
Python / Pandas
↓
Data Cleaning & Transformation
↓
Cleaned CSV Dataset
↓
MySQL Database
↓
Data Modeling & SQL Analysis
↓
Power BI
↓
Interactive Dashboard
The raw student performance dataset was loaded into Python using Pandas.
The data was inspected for:
- Missing values
- Duplicate student records
- Incorrect data types
- Data consistency
The following cleaning operations were performed:
- Missing
parent_educationvalues were replaced withUnknown - Missing
attendance_percentagevalues were replaced using the median - Missing
time_management_scorevalues were replaced using the median private_tuitionandinternet_accesswere converted to Boolean values- Duplicate records based on
student_idwere removed - The cleaned dataset was exported as
students_cleaned.csv
The cleaned dataset was then used for the database and Power BI analysis.
The cleaned data was loaded into MySQL for structured storage and analysis.
The database was organized into separate tables:
Contains student demographic information such as:
- Student ID
- Age
- Gender
- Education level
- School type
- Family income
- Parent education
- Urban/Rural location
Contains study-related information such as:
- Study hours per day
- Self-study hours
- Private tuition
- Online learning hours
- Study consistency
- Study environment
- Study method
- Revision frequency
- Practice tests
- Notes quality
- Online course hours
- Educational app usage
Contains lifestyle-related information such as:
- Sleep hours
- Sleep quality
- Daily screen time
- Physical activity
- Break frequency
- Stress level
- Motivation level
- Internet access
- Device availability
Contains academic and examination information such as:
- Previous exam score
- Previous GPA
- Attendance percentage
- Assignment completion rate
- Class participation
- Exam difficulty
- Exam preparation days
- Questions attempted
- Questions answered correctly
- Time management score
- Exam anxiety level
- Exam score
- Performance grade
- Pass status
- Performance level
The database follows a dimensional structure with student information, study habits, lifestyle information, and exam performance separated into related tables.
SQL queries were used to validate the database and perform basic analysis.
Examples include:
- Counting students in the database
- Checking fact table record counts
- Joining student information with exam performance
- Calculating average exam scores by gender and school type
- Validating table record counts
Example:
SELECT
s.gender,
s.school_type,
AVG(f.exam_score) AS avg_score
FROM dim_students s
JOIN fact_exam_performance f
ON s.student_id = f.student_id
GROUP BY s.gender, s.school_type;The cleaned and structured data was connected to Power BI to create an interactive student exam performance dashboard.
The dashboard is designed to explore areas such as:
- Student demographics
- Academic performance
- Study habits
- Lifestyle factors
- Exam preparation
- Pass status
- Performance levels
- Exam scores
Interactive filters and visualizations allow users to explore the dataset from different perspectives.
Analysis of:
- Gender
- Age
- Education level
- School type
- Family income
- Parent education
- Urban/Rural location
Analysis of:
- Study hours
- Self-study hours
- Study consistency
- Study methods
- Revision frequency
- Practice tests
- Private tuition
- Online learning
Analysis of:
- Sleep duration
- Sleep quality
- Screen time
- Physical activity
- Stress level
- Motivation
- Internet and device availability
Analysis of:
- Previous exam score
- Previous GPA
- Attendance
- Assignment completion
- Exam preparation
- Questions attempted
- Questions answered correctly
- Exam score
- Performance grade
- Pass status
- Performance level
data/
├── student_exam_performance.csv
└── students_cleaned.csv
python/
└── students_exam_performance.ipynb
mysql/
└── students_performance.sql
powerbi/
└── students_performance.pbix
screenshots/
└── Power BI dashboard screenshots
README.md
- Data Cleaning
- Data Preparation
- Exploratory Data Analysis
- Python
- Pandas
- SQL
- MySQL
- Database Design
- Relational Data Modeling
- Data Validation
- Power BI
- Data Visualization
- Dashboard Development
- End-to-End Data Analytics Workflow
Through this project, I practiced the complete process of taking a raw dataset and transforming it into a structured analytics solution.
Key learning areas included:
- Cleaning and preparing real-world style datasets using Pandas
- Handling missing values and duplicate records
- Working with Boolean and numerical data types
- Loading cleaned data into MySQL
- Designing related database tables
- Writing SQL queries for analysis and validation
- Connecting structured data to Power BI
- Building interactive dashboards
- Presenting analytical information through visualizations
This project demonstrates an end-to-end data analytics workflow:
Python → MySQL → Power BI
It combines data cleaning, database management, SQL analysis, and dashboard development into a single portfolio project.
Akhil Nasim N
B.Sc. Computer Science | Aspiring Data Analyst
Skills: Python | Pandas | SQL | MySQL | Power BI | Excel | Data Analysis | Data Visualization