Sample student data
1,000 × 11rows × columns in the 1,000-row file
Updated 3 November 2026. Fictional U.S. businesses and people, generated with a fixed seed.
textnumberdateyes/no
Largest file10,000rows; also 100 and 1,000
Columns11with a data dictionary below
Datesno datesrange in the file
LicenceCC0synthetic, free for any use
What is in it
Each row is one fictional high-school student: grade level, homeroom, three test scores, the average, a letter grade from fixed cut-offs and attendance percentage.
First rows
point at a column to light it up
| student_idtext | first_nametext | last_nametext | grade_levelnumber | homeroomtext | math_scorenumber | reading_scorenumber | science_scorenumber | average_scorenumber | letter_gradetext | attendance_pctnumber |
|---|---|---|---|---|---|---|---|---|---|---|
| S20001 | Elizabeth | Kim | 9 | 9B | 56 | 53 | 57 | 55.3 | F | 92.8 |
| S20002 | Emily | Cook | 9 | 9B | 80 | 73 | 90 | 81 | B | 92.8 |
| S20003 | Ashley | Moore | 10 | 10A | 72 | 66 | 58 | 65.3 | D | 92.5 |
| S20004 | Nicholas | Thomas | 12 | 12D | 88 | 71 | 75 | 78 | C | 90.4 |
| S20005 | Nicholas | Wilson | 9 | 9A | 58 | 64 | 67 | 63 | D | 93.5 |
| S20006 | Charles | Green | 9 | 9C | 99 | 88 | 97 | 94.7 | A | 97.1 |
| S20007 | Omar | Cook | 12 | 12B | 42 | 70 | 65 | 59 | F | 91.2 |
| S20008 | Samuel | Chen | 9 | 9D | 81 | 69 | 71 | 73.7 | C | 96.2 |
| S20009 | Stephanie | Harris | 12 | 12C | 74 | 80 | 75 | 76.3 | C | 99.1 |
| S20010 | Luis | Brown | 9 | 9B | 89 | 84 | 97 | 90 | A | 96.8 |
Students by letter grade
students, 1,000-row file
Show as a table
| letter_grade | value |
|---|---|
| A | 78 |
| B | 274 |
| C | 379 |
| D | 226 |
| F | 43 |
Data dictionary
| Column | Type | Meaning |
|---|---|---|
| student_id | text | Student number |
| first_name | text | Fictional first name |
| last_name | text | Fictional last name |
| grade_level | integer | 9 to 12 |
| homeroom | text | Homeroom code |
| math_score | integer | 0-100 |
| reading_score | integer | 0-100 |
| science_score | integer | 0-100 |
| average_score | decimal | Mean of the three scores, 1 decimal |
| letter_grade | text | A 90+, B 80-89, C 70-79, D 60-69, F below 60 |
| attendance_pct | decimal | Days attended / school days x 100 |
Practice questions
answers checked in SQL and in Python
How many students got each letter grade?
A 78, B 274, C 379, D 226, F 43
Excel
=COUNTIF(J:J,"A")SQL
SELECT letter_grade, COUNT(*) FROM students GROUP BY letter_grade ORDER BY letter_gradeFile: students-1000
Average math score by grade level?
grade 9: 76.8, grade 10: 74.5, grade 11: 77.0, grade 12: 75.7
Excel
=AVERAGEIF(D:D,9,F:F)SQL
SELECT grade_level, ROUND(AVG(math_score),1) FROM students GROUP BY grade_level ORDER BY grade_levelFile: students-1000
How many students have attendance below 90%?
139 students
Excel
=COUNTIF(K:K,"<90")SQL
SELECT COUNT(*) FROM students WHERE attendance_pct < 90File: students-1000