Student Performance Predictor

Shresth Shaurya
October 27, 2026

Student Performance Predictor

An interactive Shiny application for estimating student final examination scores.

  • Uses five academic and lifestyle indicators
  • Predicts a final score out of 100
  • Displays a descriptive performance band
  • Built using R, Shiny, and linear regression

Project objective: Demonstrate an interactive and reproducible prediction workflow.

Project Question, Data, and Method

Research Question

Can a simple regression model estimate a student's final examination score using academic and lifestyle indicators?

Input Variables

  • Study hours per day
  • Attendance percentage
  • Previous examination score
  • Sleep hours per night
  • Assignments completed

Dataset and Method

The dataset contains 360 synthetic student examples.

A multiple linear regression model estimates final scores from the five predictors.

Exploratory Data Analysis

Dataset Summary

student_data <- read.csv("../data/student_performance.csv")

dim(student_data)
[1] 360   6
summary(student_data$final_score)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  50.10   81.17   87.40   87.33   95.62  100.00 

Final Score Distribution

hist(
  student_data$final_score,
  breaks = 18,
  col = "steelblue2",
  border = "white",
  main = "Distribution of Student Final Scores",
  xlab = "Final Examination Score",
  xlim = c(0, 100)
)

plot of chunk unnamed-chunk-2

The data are synthetic and are used for educational demonstration.

Model Demonstration

Multiple Linear Regression

student_model <- lm(
  final_score ~ study_hours +
    attendance_pct +
    previous_score +
    sleep_hours +
    assignments_completed,
  data = student_data
)

Example Prediction

example_student <- data.frame(
  study_hours = 3,
  attendance_pct = 85,
  previous_score = 65,
  sleep_hours = 7,
  assignments_completed = 7
)

round(
  predict(student_model, newdata = example_student),
  1
)
   1 
88.6 

The model is fitted and the prediction is calculated when the presentation is rendered.

Findings, Limitations, and Conclusion

Key Findings

  • The model provides an estimated final examination score.
  • Shiny sliders allow interactive input adjustments.
  • Predictions update reactively when inputs change.
  • R performs the model calculations on the server.

Limitations

  • Training data are synthetic.
  • Predictions are illustrative rather than validated.
  • Real-world use requires representative data and model validation.

Conclusion

The Student Performance Predictor demonstrates how R, linear regression, and Shiny can be combined to create an interactive educational application.

Live Shiny Application:

https://dbw42p-shresth0shau.shinyapps.io/student_performance_predictor/