Core formula
GPA = sum(grade_points × credit_hours) / sum(credit_hours)
Implemented in lib/gpa/engine.ts. Each scale module in lib/gpa/scales/ exports a definition that maps grades to points and optionally applies pre/post-processing.
Excluded grades
P (Pass), NP (No Pass), CR (Credit), W (Withdraw), AU (Audit), I (Incomplete), NR (Not Reported) are excluded from the math by default. They appear in the transcript but do not enter the calculation. Scale-specific exclusions are documented in each scale module.
Per-scale rules
4.0 plus-minus
- A+ = 4.0 by default (4.3 option for Cornell/MIT/BU).
- A- = 3.7, B+ = 3.3, B = 3.0, B- = 2.7, etc. down to F = 0.0.
- Rounded half-up to 2 decimals.
5.0 weighted
- Base 4.0 plus-minus with bonuses: honors +0.5, AP +1.0, IB +1.0.
- Ceiling at 5.0 for an A in AP/IB.
AMCAS
- Plus-minus 4.0 scale, no A+ premium.
- Every attempt counts (no grade replacement).
- BCPM (Bio/Chem/Phys/Math) split via classifier.
- Truncated to 2 decimals (not rounded).
AACOMAS
- Same scale as AMCAS, but uses grade replacement: only most recent attempt counts.
- Same BCPM split.
- Rounded half-up to 2 decimals.
TMDSAS
- Same scale as AMCAS, every attempt counts.
- Science/Non-Science split (same as BCPM/AO).
- Rounded half-up to 2 decimals.
LSAC
- 4.33 scale (A+ = 4.33).
- Every attempt counts.
- Standard plus-minus on remaining grades.
UC capped
- Plus-minus 4.0 base scale.
- Weighted bonus +1.0 for UC-approved honors/AP/IB.
- Bonus capped at 8 semester courses (4 yearlong).
- Freshman year excluded from calculation.
10.0 CGPA
- Numeric grade 0-10 per course.
- Credit-weighted average reported.
- 4.0 conversion via proportional formula shown alongside.
Percentage
- Numeric 0-100 per course.
- Credit-weighted average reported.
- Mapping to 4.0 deferred to user (see /percentage-to-gpa).
BCPM classifier
The classifier in lib/gpa/classifiers/bcpm.ts uses course-code prefixes plus keyword matching against an explicit list. False positives (psychology, philosophy of science, history of science) are excluded by name. Source docs and an open-source mirror live at github.com/gpalift/bcpm-classifier.
Disclaimer
Calculators are estimates. Official transcripts and verified GPAs from AAMC, LSAC, UC, etc. are authoritative for admissions. We are not affiliated with any of these organizations.