# College grading scales, 2026 - open dataset

The published undergraduate grading scale of the 100 largest United States colleges and universities,
read from each institution's own registrar or catalog page on 16-17 September 2026.

## Licence

**CC BY 4.0.** Use it for anything, including commercially. The one condition is attribution: credit
"Calculate Your Grade" and link to https://calculateyourgrade.com/college-grading-scales-study/

## Files

| File | Shape | Rows |
|---|---|---|
| `college-grading-scales-2026.csv` | one row per institution | 100 |
| `college-grading-scales-2026-grade-points.csv` | one row per institution x letter grade | 897 |
| `college-grading-scales-2026.json` | full structured records, both grade-point columns nested | 100 |

**The grade-points file covers 96 of the 100 institutions, not all 100.** Four are absent because they
publish no letter-to-point conversion to record: Michigan State, University of Washington-Seattle and
Western Governors do not award letter grades at all, and the University of Arizona publishes its
letters but no point values. All four still appear in the other two files, and each explains itself in
`notes`. The absence is a finding, not a gap.

## Data dictionary - college-grading-scales-2026.csv

| Column | Meaning |
|---|---|
| `unitid` | IPEDS UnitID. **Join on this** to federal enrolment, finance and completion data. |
| `institution` | Institution name as IPEDS records it |
| `state` | Two-letter state code |
| `control` | public or private |
| `undergraduates` | Undergraduate enrolment, IPEDS |
| `scale_max` | The highest value the institution's own scale can reach |
| `highest_grade_value` | The largest grade-point value actually published in its table |
| `a_plus_offered` | Whether an A+ appears on the published scale |
| `d_minus_offered` | Whether a D- appears on the published scale |
| `plus_minus_system` | full, partial, or none |
| `distinct_letter_grades` | Count of distinct letter grades published |
| `failing_letter` | The letter used for failure - not always F |
| `a_band_threshold_published` | Whether the institution publishes the percentage at which an A begins |
| `a_band_starts_at` | That percentage, where published |
| `source_url` | The exact page the row was read from |
| `captured` | Date captured |
| `notes` | Anything about this institution the columns cannot hold. **Read this column.** It is where the contradictions live. |

## Data dictionary - college-grading-scales-2026-grade-points.csv

| Column | Meaning |
|---|---|
| `unitid` | IPEDS UnitID, as above |
| `institution` | Institution name |
| `state` | Two-letter state code |
| `letter_grade` | The letter as the institution prints it. Sixteen distinct letters appear across the set, including intermediate grades such as AB and BC. |
| `grade_points` | The value exactly as the institution publishes it, including its own choice of precision |
| `grade_points_normalized` | The same value rounded to two decimals. **Use this column for analysis.** |
| `source_url` | The exact page the row was read from |
| `captured` | Date captured |

### Why there are two grade-point columns

Registrars write the same policy at different precisions. 3.33, 3.333, 3.3333 and 3.334 all appear in
this data, and they are one policy written four ways, not four policies.

Counted as published, the file holds **102 distinct letter/value pairs. Rounded to two decimals, 39.**
Nearly two thirds of the apparent variation is formatting, not grading. **Analysing the as-captured
column measures how registrars type numbers rather than how they grade.**

The verbatim column is kept anyway, because it is what the institution actually published and anyone
should be able to check a row against its source page.

Rounding never moves a value by more than 0.005, and it does not merge policies that genuinely differ:
3.70 and 3.67 remain distinct, as do 3.30 and 3.33.

## How it was collected

Each institution's registrar or catalog was located and read directly. No aggregator, no secondary
source, no survey. `source_url` on every row is the page the values came from, so any cell can be
re-checked. Where a value could not be found on the institution's own pages it is left empty rather
than inferred - **an empty cell means "not published", which is itself the study's main finding.**

Full methodology: https://calculateyourgrade.com/college-grading-scales-study/

## Known limits

- A snapshot. Institutions revise these pages, and some will already have changed.
- Coverage is the 100 largest by undergraduate enrolment, so it is not representative of small
  colleges.
- `a_band_starts_at` is sparse **by finding, not by omission**: most institutions do not publish it.
- The grade-points file covers 96 institutions, for the reason given above.