{
  "format": "dataset-manifest/1",
  "slug": "student-engagement-analytics",
  "version": 1,
  "seed": "student-engagement-analytics:1",
  "spec": {
    "format": "dataset/1",
    "slug": "student-engagement-analytics",
    "name": "Student Engagement Analytics",
    "tagline": "Student enrollment, attendance, quiz performance, and grading data from various courses in an educational setting.",
    "description": "Students interact with their courses daily, attending classes, participating in quizzes, and receiving grades that reflect their understanding of the material. Tracking their engagement and performance is vital for educators aiming to enhance academic outcomes. The flow of data in this educational setting begins with students enrolled in various courses and continues through attendance records that capture their presence in class. Each grading period provides benchmarks for evaluating student progress, while quiz performance adds another layer of detail to understanding their academic engagement.\n\nRows in the 'students' table represent individual learners, detailing their demographics and enrollment statuses. The 'courses' table lists the different classes offered, each associated with specific curriculum objectives. The 'enrollments' table serves as a bridge, linking students to the courses they are taking, thereby indicating which students are participating in which subjects. Attendance records in the 'attendance' table chronicle the participation rates, allowing educators to identify patterns of absence that may hinder academic success. The 'grading_periods' table breaks down the academic year into segments, giving a timeline for assessing student performance. Finally, the 'quiz_performance' table dives into how well students are grasping course material through their quiz results, showcasing both average scores and extremes of performance.\n\nThis dataset allows you to explore a range of questions: How does attendance correlate with quiz performance? Are students who enroll in more challenging courses performing differently than those in standard classes? What trends can be identified over grading periods that might suggest interventions for struggling students? This synthetic dataset is perfect for practicing skills in data analysis, helping you develop insights into educational engagement and performance metrics.",
    "domain": "education",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "student engagement",
      "education analytics",
      "attendance",
      "grading",
      "performance",
      "courses",
      "quizzes"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "students": {
        "description": "This table contains records of students enrolled in the institution. Each student can be linked to multiple attendance records and grades.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each student."
          },
          "first_name": {
            "kind": "firstName",
            "description": "The first name of the student."
          },
          "last_name": {
            "kind": "lastName",
            "description": "The last name of the student."
          },
          "email": {
            "kind": "email",
            "from": [
              "first_name",
              "last_name"
            ],
            "description": "Email address of the student."
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date when the student enrolled.",
            "trend": "growing"
          }
        }
      },
      "courses": {
        "description": "This table lists all courses offered by the institution. Each course can have multiple enrolled students.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each course."
          },
          "course_name": {
            "kind": "words",
            "min": 3,
            "max": 10,
            "description": "Name of the course."
          },
          "course_code": {
            "kind": "slug",
            "from": "course_name",
            "description": "Unique code for the course."
          },
          "credits": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Number of credits the course is worth."
          }
        }
      },
      "enrollments": {
        "description": "This table links students to the courses they are enrolled in, allowing for many-to-many relationships.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each enrollment record."
          },
          "student_id": {
            "kind": "fk",
            "ref": "students.id",
            "description": "References the student enrolled."
          },
          "course_id": {
            "kind": "fk",
            "ref": "courses.id",
            "description": "References the course the student is enrolled in."
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date of enrollment in the course.",
            "trend": "growing"
          }
        }
      },
      "attendance": {
        "description": "Records the attendance of students in their enrolled courses, allowing tracking of presence and absences.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each attendance record."
          },
          "enrollment_id": {
            "kind": "fk",
            "ref": "enrollments.id",
            "description": "References the enrollment record."
          },
          "date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Date of attendance.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "present",
                "absent",
                "late"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "present",
              "absent",
              "late"
            ],
            "description": "Attendance status for the day."
          }
        }
      },
      "grading_periods": {
        "description": "This table defines the grading periods for courses, which helps in organizing student performance data.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each grading period."
          },
          "start_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2022-12-31",
            "description": "Start date of the grading period.",
            "trend": "seasonal"
          },
          "end_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2022-12-31",
            "description": "End date of the grading period.",
            "trend": "seasonal"
          },
          "term": {
            "kind": "words",
            "min": 3,
            "max": 5,
            "description": "The term associated with the grading period."
          }
        }
      },
      "quiz_performance": {
        "description": "Tracks the performance of students on quizzes, linking back to their enrollments and grading periods.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each quiz performance record."
          },
          "enrollment_id": {
            "kind": "fk",
            "ref": "enrollments.id",
            "description": "References the enrollment record."
          },
          "grading_period_id": {
            "kind": "fk",
            "ref": "grading_periods.id",
            "description": "References the grading period."
          },
          "score": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "description": "Score achieved on the quiz."
          },
          "quiz_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-01-01",
            "description": "Date the quiz was taken."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What percentage of students consistently attend their classes?",
      "How do quiz scores vary across different courses?",
      "Which courses have the highest and lowest average attendance?",
      "Are there any patterns in attendance based on grading periods?",
      "How do student performance scores correlate with attendance rates?"
    ],
    "suggestedQueries": [
      {
        "title": "List all students and their enrolled courses",
        "sql": "SELECT s.first_name, s.last_name, c.course_name FROM students s JOIN enrollments e ON s.id = e.student_id JOIN courses c ON e.course_id = c.id;",
        "dialect": "postgres"
      },
      {
        "title": "Calculate average quiz scores per course",
        "sql": "SELECT c.course_name, AVG(q.score) AS average_score FROM quiz_performance q JOIN enrollments e ON q.enrollment_id = e.id JOIN courses c ON e.course_id = c.id GROUP BY c.course_name;",
        "dialect": "postgres"
      },
      {
        "title": "Count attendance statuses",
        "sql": "SELECT a.status, COUNT(*) FROM attendance a GROUP BY a.status;",
        "dialect": "postgres"
      },
      {
        "title": "Find students with low attendance and their scores",
        "sql": "SELECT s.first_name, s.last_name, AVG(q.score) AS average_score FROM students s JOIN enrollments e ON s.id = e.student_id JOIN attendance a ON e.id = a.enrollment_id WHERE a.status = 'absent' GROUP BY s.first_name, s.last_name HAVING COUNT(a.id) > 5;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Educator Performance Review",
        "body": "Educators can use this dataset to analyze student performance over different grading periods, identifying trends and patterns. By examining quiz scores and attendance records, they can tailor their teaching strategies to meet the needs of students who may be struggling or excelling."
      },
      {
        "title": "Attendance Monitoring",
        "body": "School administrators can utilize this dataset to monitor student attendance trends. By identifying students with high absenteeism rates, they can intervene early, providing support to those at risk of academic failure and improving overall student engagement."
      },
      {
        "title": "Curriculum Effectiveness Analysis",
        "body": "Curriculum designers can leverage this dataset to evaluate the effectiveness of different courses. By correlating attendance and quiz performance data, they can discern which courses are engaging students effectively and which may require adjustments or enhancements."
      },
      {
        "title": "Data-Driven Decision Making",
        "body": "Data analysts in educational institutions can use this dataset to perform advanced analyses, generating insights that inform policy decisions. They can explore correlations between attendance, performance, and demographic factors to better understand student engagement and success."
      }
    ]
  },
  "counts": {
    "courses": 50,
    "grading_periods": 10,
    "students": 200,
    "enrollments": 300,
    "attendance": 600,
    "quiz_performance": 400
  },
  "stats": {
    "students": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "first_name": {
          "nulls": 0,
          "distinct": 69,
          "min": "Alice",
          "max": "Zoe"
        },
        "last_name": {
          "nulls": 0,
          "distinct": 76,
          "min": "Adams",
          "max": "Zhang"
        },
        "email": {
          "nulls": 0,
          "distinct": 198
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 178,
          "min": "2020-01-04",
          "max": "2023-01-01"
        }
      }
    },
    "courses": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "course_name": {
          "nulls": 0,
          "distinct": 50
        },
        "course_code": {
          "nulls": 0,
          "distinct": 50
        },
        "credits": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        }
      }
    },
    "enrollments": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "student_id": {
          "nulls": 0,
          "distinct": 155,
          "min": 1,
          "max": 200
        },
        "course_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 257,
          "min": "2020-01-08",
          "max": "2022-12-28"
        }
      }
    },
    "attendance": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "enrollment_id": {
          "nulls": 0,
          "distinct": 257,
          "min": 1,
          "max": 300
        },
        "date": {
          "nulls": 0,
          "distinct": 297,
          "min": "2022-01-01",
          "max": "2023-01-01"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "absent",
          "max": "present"
        }
      }
    },
    "grading_periods": {
      "rows": 10,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "start_date": {
          "nulls": 0,
          "distinct": 9,
          "min": "2022-01-14",
          "max": "2022-12-29"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 10,
          "min": "2022-01-02",
          "max": "2022-11-12"
        },
        "term": {
          "nulls": 0,
          "distinct": 10
        }
      }
    },
    "quiz_performance": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "enrollment_id": {
          "nulls": 0,
          "distinct": 229,
          "min": 1,
          "max": 299
        },
        "grading_period_id": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "score": {
          "nulls": 0,
          "distinct": 394,
          "min": 0.1,
          "max": 99.43
        },
        "quiz_date": {
          "nulls": 0,
          "distinct": 252,
          "min": "2022-01-01",
          "max": "2023-01-01"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/courses.csv",
      "format": "csv",
      "table": "courses",
      "key": "datasets/student-engagement-analytics/v1/csv/courses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/courses.csv",
      "bytes": 4783,
      "sha256": "8296dd85303da3cca48f1cb712a39c3298a5a57d11aedd15ee1f4aef07a01e6c",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/grading_periods.csv",
      "format": "csv",
      "table": "grading_periods",
      "key": "datasets/student-engagement-analytics/v1/csv/grading_periods.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/grading_periods.csv",
      "bytes": 534,
      "sha256": "e4ea280185f9c214ef9dcf61054fc5cf990c75f10b3a5d94b83dcb75924635b0",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/students.csv",
      "format": "csv",
      "table": "students",
      "key": "datasets/student-engagement-analytics/v1/csv/students.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/students.csv",
      "bytes": 10331,
      "sha256": "c62851c8cda77006eb205dad2bd6c85263ca77c2b71194551b1d3fe1c4246647",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/enrollments.csv",
      "format": "csv",
      "table": "enrollments",
      "key": "datasets/student-engagement-analytics/v1/csv/enrollments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/enrollments.csv",
      "bytes": 6634,
      "sha256": "31daec6fb59289b263404181b0049847010cae152198b2cd2dbf1e8f5d985558",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/attendance.csv",
      "format": "csv",
      "table": "attendance",
      "key": "datasets/student-engagement-analytics/v1/csv/attendance.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/attendance.csv",
      "bytes": 15701,
      "sha256": "518dc3c2286ddb1606833d3d7654b1ea610241cb849ec88516adfbd5fec741aa",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/quiz_performance.csv",
      "format": "csv",
      "table": "quiz_performance",
      "key": "datasets/student-engagement-analytics/v1/csv/quiz_performance.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/csv/quiz_performance.csv",
      "bytes": 11015,
      "sha256": "bdd30283eb8b67b32b9d392e782686e8032d1f6db46820a8bf7ae4bc9269480a",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "student-engagement-analytics.json",
      "format": "json",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/student-engagement-analytics.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/student-engagement-analytics.json",
      "bytes": 201111,
      "sha256": "881f274d1d1540511b7523bad0cdfbe9012995d151a20f53cd0060ef19b910c0",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/sql/postgres.sql",
      "bytes": 72791,
      "sha256": "862bfe705ae77204d6cf76ec7069a492c27b43d4051f8d0200faa6e7858d5394",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/sql/mysql.sql",
      "bytes": 72090,
      "sha256": "5a19305e7679c8844d09f862d894bf814f604d69a86d43867002d331aaa50dbe",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/sql/mssql.sql",
      "bytes": 75331,
      "sha256": "9c861a7608d7350637fbfde02ca3fac5694102dc835faf2890cac48750ac1494",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/sql/sqlite.sql",
      "bytes": 71810,
      "sha256": "5b395806cfcd2e6ef3196e968968a1785dd31c53d1169bb118d81ccf1f39ce32",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/prisma/seed.ts",
      "bytes": 154545,
      "sha256": "54865a58787855dfaad926c9beaa8d5ec19f78ee7ad207941ca1d2778d6327b2",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/student-engagement-analytics/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/student-engagement-analytics/v1/django/fixtures.json",
      "bytes": 270316,
      "sha256": "1dc17850681547a87885c44b3d9432680129c795ce3b06145a70ba3bdd32be4c",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788765972554,
  "updatedAt": 1788765972554
}
