Skip to content

nancherla-dev/StudentAnalyticsProject

Repository files navigation

Student Learning Analytics ETL Pipeline and Tableau Dashboard

A portfolio-ready data analytics project that converts anonymized higher-education data into validated analytics marts, a SQLite warehouse, and Tableau-ready datasets.

Project goal

Build a reproducible ETL pipeline that helps education stakeholders analyze:

  • student pass, distinction, fail, and withdrawal outcomes;
  • assessment scores and completion rates;
  • early, on-time, and late submissions;
  • performance differences across modules, presentations, and student segments.

Dataset

The project uses selected tables from the Open University Learning Analytics Dataset (OULAD). The complete dataset contains course, student, assessment, registration, and virtual-learning-environment data for more than 30,000 students. This mini project excludes the 432 MB VLE clickstream table and focuses on academic outcomes and assessments.

Raw tables used:

Table Grain Purpose
studentInfo.csv Student-course presentation Demographics and final outcome
studentRegistration.csv Student-course presentation Registration and withdrawal timing
courses.csv Course presentation Course duration
assessments.csv Assessment Assessment type, due day, and weight
studentAssessment.csv Student assessment submission Score and submission timing

Architecture

OULAD CSV files
      |
      v
Extract and schema validation
      |
      v
Cleaning and standardization
      |
      +--> Assessment submission mart
      |
      +--> Student-course summary mart
      |
      v
SQLite analytics warehouse
      |
      v
Tableau dashboards

ETL transformations

  • Validates required files and columns before processing.
  • Standardizes text fields and data types.
  • Converts relative registration, withdrawal, due, and submission dates to nullable integers.
  • Preserves unknown values instead of inventing dates or scores.
  • Joins submissions to assessment, course, and student records with relationship validation.
  • Creates pass, distinction, fail, and withdrawal flags.
  • Calculates completion rate, average and weighted scores, on-time rate, lateness, and engagement bands.
  • Runs duplicate-key, score-range, completion-rate, and outcome consistency checks.
  • Loads curated data into indexed SQLite tables.

Repository structure

student-analytics-etl-tableau/
├── data/
│   ├── raw/                    # Source CSVs and attribution
│   ├── processed/              # Tableau-ready analytics marts
│   └── warehouse/              # SQLite database
├── dashboard/                  # Tableau calculations and build steps
├── docs/                       # Data dictionary and business rules
├── reports/                    # Automated data-quality results
├── sql/                        # Portfolio-ready analysis queries
├── src/                        # Python ETL pipeline
├── tests/                      # Data tests
├── .github/workflows/ci.yml    # Automated pipeline and tests
├── requirements.txt
├── run_pipeline.bat
└── run_pipeline.sh

Run locally

python -m venv .venv

Windows:

.venv\Scripts\activate
pip install -r requirements.txt
python -m src.etl_pipeline
pytest

macOS/Linux:

source .venv/bin/activate
pip install -r requirements.txt
python -m src.etl_pipeline
pytest

Outputs

  • data/processed/tableau_student_course_summary.csv: one row per student-course presentation.
  • data/processed/tableau_assessment_detail.csv: one row per student assessment submission.
  • data/warehouse/student_analytics.db: SQLite warehouse with two dimensions and two fact tables.
  • reports/data_quality_report.json: machine-readable validation results.
  • Small sample outputs are committed for quick review; full generated marts and the database are ignored by Git and rebuilt locally.

Tableau dashboard

  1. Student Success Overview — KPIs, course outcomes, trends, demographics, and completion-versus-score analysis.
  2. Assessment Performance — submission timing, score distributions, assessment types, and lateness analysis.

Dashboard Preview

These Tableau dashboard pages were created from the processed project data and provide recruiter-friendly views of the project scope, student outcomes, and assessment performance.

Student Learning Analytics home page

Project home page summarizing the analytics workflow, dataset, dashboard scope, and source data used.

Student Success Overview Tableau dashboard

Student success overview covering enrollments, outcomes by module, pass-rate trends, education and engagement segments, and completion versus average score.

Assessment Performance Tableau dashboard

Assessment performance view covering submission totals and timing, score distributions, average scores by assessment type, and timing patterns.

Data ethics

The source dataset is anonymized. Dashboard findings describe historical patterns and should not be used as the sole basis for decisions about individual students. Missing demographic and assessment values are retained and documented rather than guessed.

Data attribution

Kuzilek, J., Hlosta, M., & Zdrahal, Z. (2017). Open University Learning Analytics dataset. Scientific Data, 4, 170171. Dataset licensed under CC BY 4.0.

About

End-to-end student learning analytics project using Python, Pandas, SQL, SQLite, and Tableau to analyze student outcomes, engagement, assessment scores, and submission behavior.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages