This project aims to explore the key factors that influence student success by analyzing a comprehensive dataset covering various aspects of student life, including study hours, sleep patterns, attendance, and more. Similar to how a city’s transport system must adapt to meet residents’ needs, this analysis helps educators and schools better understand how to support student achievement.
By uncovering the relationships between lifestyle habits and exam performance, the project provides actionable insights for students, teachers, and policymakers to make data-driven decisions that can improve academic outcomes and enhance educational strategies.
The table we’ll use for this project is called student_performance
and includes the following data:
Column | Definition | Data type |
---|---|---|
attendance |
Percentage of classes attended | float |
extracurricular_activities |
Participation in extracurricular activities | varchar (Yes, No) |
sleep_hours |
Average number of hours of sleep per night | float |
tutoring_sessions |
Number of tutoring sessions attended per month | integer |
teacher_quality |
Quality of the teachers | varchar (Low, Medium, High) |
exam_score |
Final exam score | float |
EDA involved exploring the manufacturing_parts table to answer key questions, such as:
Including some interesting code/features worked with
-- avg_exam_score_by_study_and_extracurricular
SELECT hours_studied,
AVG(exam_score) AS avg_exam_score
FROM student_performance
WHERE hours_studied > 10
AND extracurricular_activities = 'Yes'
GROUP BY hours_studied
ORDER BY hours_studied DESC;
-- avg_exam_score_by_hours_studied_range
SELECT
CASE
WHEN hours_studied <= 5 THEN '1-5 hours'
WHEN hours_studied <= 10 THEN '6-10 hours'
WHEN hours_studied <= 15 THEN '11-15 hours'
ELSE '16+ hours' END AS hours_studied_range,
AVG(exam_score) AS avg_exam_score
FROM public.student_performance
GROUP BY hours_studied_range
ORDER BY avg_exam_score DESC;
-- student_exam_ranking
SELECT attendance,
hours_studied,
sleep_hours,
tutoring_sessions,
DENSE_RANK() OVER (ORDER BY exam_score DESC) AS exam_rank
FROM student_performance
ORDER BY exam_rank
LIMIT 30;
The result analysis are summarized as follows:
Based on the analysis, we recommend the following actions: