Graduation Rate Calculation

Programmer Data Specification
Institution: UMF  |  Prepared for: Developer Team  |  Version: 1.0  |  Date: May 2026  |  Regulatory Framework: IPEDS / DEAC / MSCHE

Table of Contents

  1. Purpose & Regulatory Background
  2. The Graduation Rate Formula
  3. Cohort Definitions
  4. Maximum Time Frame & Completion Windows
  5. CampusOS Data Requirements
  6. Calculation Logic (Pseudocode)
  7. Display Requirements
  8. Key Policies Required
  9. Open Questions for Developer

1. Purpose & Regulatory Background

This document specifies the exact data the program must retrieve and display in order to calculate and publish UMF's institutional graduation rates. Compliance with the following agencies requires this reporting:

AgencyRequirement
IPEDSAll US institutions must report graduation rates to the US Department of Education annually using the prescribed formula.
DEACRequires publication of institutional outcomes, including graduation rates, as a condition of accreditation.
MSCHERequires publication of institutional outcomes, including graduation rates, as a condition of accreditation.
NOTE: Public reporting must be produced both institution-wide AND disaggregated by: degree level (Undergraduate, Graduate, Certificate), gender, and race/ethnicity.

2. The Graduation Rate Formula

The official formula as required by IPEDS is:

Official IPEDS Graduation Rate Formula
Graduation Rate  =  ( Total Completers within 150% Time Revised Cohort  –  Allowable Exclusions )  × 100

Breaking this down for the programmer:

Both the Revised Cohort and the Completers count have specific rules governing who is included. These are detailed in Sections 3 and 4.

3. Cohort Definitions

3.1 Initial Cohort

The initial cohort is all first-time, degree-seeking students who enrolled at UMF in a given fall semester.

NOTE: "First-time" means the student has never previously attended any institution of higher education — not just UMF.

3.2 Revised Cohort (Adjusted Cohort)

The Revised Cohort is derived from the Initial Cohort by applying two required removals:

#Removal RuleCampusOS Data Needed
1 Remove students who transferred IN from another institution (whether or not they received transfer credit) enrollment_type = 'Transfer'
OR transfer_credits_accepted > 0 at time of initial enrollment
2 Remove students who left UMF to transfer OUT and continue their studies at another institution withdrawal_reason = 'Transfer Out'
OR departure_code indicates transfer to another institution
NOTE: A Transfer Policy & Procedure and a Withdrawal Policy & Procedure must be in place for these fields to be populated consistently. Confirm with the Registrar that these departure codes are actively used.

3.3 Allowable Exclusions

The following students may be removed from the denominator of the formula. They are not counted against the graduation rate. Each exclusion must be documented in the student record.

Exclusion ReasonCampusOS Field / Value to Look For
Deathwithdrawal_reason = 'Deceased' OR student_status = 'Deceased'
Permanent disabilitywithdrawal_reason = 'Permanent Disability' OR disability_withdrawal = true
Official church missionwithdrawal_reason = 'Church Mission'
Armed forces servicewithdrawal_reason = 'Military Service' OR military_leave = true
Foreign aid service assignmentwithdrawal_reason = 'Foreign Aid Service'
NOTE: Confirm the exact dropdown/enum values used in CampusOS with the Registrar before development. The field names above are suggested mappings and must be verified against the live schema.

4. Maximum Time Frame (MTF) & Completion Windows

4.1 What is Maximum Time Frame?

Each program must be calculated at its Maximum Time Frame (MTF), which is 150% of the normal program length, measured in credits:

MTF Formula
MTF Credits  =  Normal Program Credits  ×  1.5

Example: A 45-credit program has an MTF of 45 × 1.5 = 67.5 credits.

Count all completions on or before August 31 of the reporting year.

4.2 IPEDS Reporting Components — Undergraduate

The following cohorts must be tracked for undergraduate-level programs. FTFT = Full-Time First-Time students.

IPEDS Component Rate Type Cohort to Report Completion Deadline
GR (100%)On-timeFall 2021 FTFT (Full-Time First-Time)August 31
GR150 (150%)1.5× timeFall 2018 FTFTAugust 31
GR200 (200%)2× timeFall 2017 FTFTAugust 31
NOTE: Cohort years above are examples based on a standard 4-year program for the current reporting year (2026). The program must dynamically calculate the correct cohort entry year based on the program's actual normal length and the current reporting year.

4.3 Graduate-Level Programs

For master's degree programs, the average program length is 2 years. Apply the same 150% MTF logic:

Degree TypeNormal LengthMTF (150%)Completion Deadline
Master's Degree2 years3 yearsAugust 31

5. CampusOS Data Requirements

The following tables describe the data the program must pull from CampusOS. Confirm all table and field names with your database administrator before development.

5.1 Student Enrollment Record

Used to identify the Initial Cohort. Pull one row per student per program enrollment.

FieldTypePurpose
student_idString / IntUnique identifier; primary join key across all tables.
enrollment_typeEnum/StringFilter: must = 'First-Time' to qualify for the initial cohort. Exclude 'Transfer'.
entry_termString / DateFall semester of first enrollment (e.g., 'Fall 2021'). Used to assign cohort year.
entry_yearIntNumeric entry year; used in cohort window calculations.
degree_levelEnum/StringUG = Undergraduate, GR = Graduate, CE = Certificate. Drives which cohort window applies.
program_codeStringIdentifies the specific program; needed for per-program MTF credit calculation.
transfer_credits_acceptedInt / DecimalIf > 0 at initial enrollment, student may be excluded from cohort (confirm with Registrar).
full_time_statusBoolean / EnumRequired for FTFT cohort identification (Full-Time First-Time).

5.2 Student Demographic Record

Required for disaggregated reporting by gender and race/ethnicity.

FieldTypePurpose
student_idString / IntJoin key.
genderEnum/StringUsed to disaggregate rates. Values: Male, Female, Non-binary/Unknown.
race_ethnicityEnum/StringUsed to disaggregate by race/ethnicity. Must align with IPEDS categories — see Section 7.2.

5.3 Student Status / Withdrawal Record

Used to identify allowable exclusions and transfer-out removals for the Revised Cohort.

FieldTypePurpose
student_idString / IntJoin key.
student_statusEnum/StringCurrent status: Active, Withdrawn, Deceased, Graduated, etc.
withdrawal_reasonEnum/StringCritical field. Determines exclusions and transfer-outs. See Section 3.3 for required values.
withdrawal_dateDateDate of withdrawal; confirms timing relative to cohort window.
transfer_out_institutionStringName/ID of institution student transferred to. Confirms transfer-out status.
military_leaveBooleanTrue if student left for armed forces (allowable exclusion).

5.4 Completion / Graduation Record

Used to count completers within the Maximum Time Frame.

FieldTypePurpose
student_idString / IntJoin key.
completion_dateDateDate degree/certificate was awarded. Must be on or before August 31 of the reporting window.
credits_completedDecimalTotal credits at graduation. Used to verify completion within MTF credit limit.
program_codeStringProgram in which the student completed. Must match enrollment program.
degree_levelEnum/StringUG / GR / CE — must match enrollment degree level.

5.5 Program Reference Table

Needed to determine the MTF credit threshold for each program.

FieldTypePurpose
program_codeStringUnique program identifier; joins to enrollment and completion records.
program_nameStringHuman-readable name for display in the UI.
standard_creditsDecimalNormal program length in credits (e.g., 120 for a 4-year UG, 45 for a certificate).
mtf_creditsDecimalPre-calculated MTF = standard_credits × 1.5. May also be computed at runtime.
degree_levelEnum/StringUG / GR / CE.
normal_yearsInt / DecimalStandard program length in years. Used for cohort window date calculations.

6. Calculation Logic (Pseudocode)

The following pseudocode summarizes the full calculation. Implement this logic for each degree level, and then again for each disaggregation group (gender, race/ethnicity).

-- ── STEP 1: Build Initial Cohort ─────────────────────────────────────────────
SELECT students
WHERE  enrollment_type = 'First-Time'
AND    entry_term      = [target fall cohort semester]
AND    degree_level    = [UG | GR | CE]
-- Result: INITIAL COHORT

-- ── STEP 2: Build Revised Cohort (remove transfers) ──────────────────────────
REMOVE FROM initial cohort WHERE:
   enrollment_type = 'Transfer'
   OR transfer_credits_accepted > 0

REMOVE FROM initial cohort WHERE:
   withdrawal_reason = 'Transfer Out'
-- Result: REVISED COHORT

-- ── STEP 3: Identify Allowable Exclusions ────────────────────────────────────
FLAG students WHERE withdrawal_reason IN:
   ('Deceased', 'Permanent Disability', 'Church Mission',
    'Military Service', 'Foreign Aid Service')
-- These are EXCLUDED from the denominator (not removed from cohort entirely)

-- ── STEP 4: Calculate Denominator ───────────────────────────────────────────
DENOMINATOR = COUNT(revised cohort) - COUNT(allowable exclusions)

-- ── STEP 5: Count Completers (Numerator) ─────────────────────────────────────
SELECT completions WHERE:
   student_id IN (revised cohort, excluding allowable exclusions)
   AND completion_date <= August 31 of [reporting year]
   AND credits_completed <= program.mtf_credits    -- within 150% time
NUMERATOR = COUNT(above)

-- ── STEP 6: Calculate Rate ────────────────────────────────────────────────────
GRADUATION RATE = (NUMERATOR / DENOMINATOR) * 100
Round to 1 decimal place.

-- ── STEP 7: Repeat Disaggregated ─────────────────────────────────────────────
Repeat Steps 1-6 filtered by:
   a. Each degree_level  (UG, GR, CE)
   b. Each gender value
   c. Each race_ethnicity value

7. Display Requirements

The program must display graduation rates in the following views. All rates must be published on the institutional outcomes page.

7.1 Institutional Overall Rates

7.2 Disaggregated Views

For each rate above, also display rates broken down by the following categories:

DisaggregationCategories to Display
GenderMale  |  Female  |  Non-binary / Unknown
Race / Ethnicity American Indian/Alaska Native  |  Asian  |  Black/African American  |  Hispanic/Latino  |  Native Hawaiian/Pacific Islander  |  White  |  Two or More Races  |  Unknown/Unreported
NOTE: Race/ethnicity categories must align with official IPEDS categories. Confirm that CampusOS values can be mapped to these categories — a crosswalk/mapping table may be needed.

7.3 Required Data Elements Per Displayed Rate

Each graduation rate card or row displayed in the program must show:

ElementDescriptionExample
Cohort YearEntry semester and year of the cohortFall 2021 Cohort
Adjusted Cohort SizeDenominator (revised cohort minus exclusions)142
Number of CompletersNumerator118
Graduation RatePercentage, 1 decimal place83.1%
Completion Window EndAugust 31 of the reporting yearAugust 31, 2025
IPEDS ComponentGR / GR150 / GR200GR150 (150%)

8. Key Policies Required

The following institutional policies must be in place for this system to work accurately. The developer should confirm these departure/withdrawal codes are actively maintained in CampusOS:

PolicyWhy It Is Needed for the Calculation
Transfer Policy & Procedure Required to accurately identify transfer-in students (who must be removed from the initial cohort) and transfer-out students (removed from the revised cohort).
Withdrawal Policy & Procedure Ensures withdrawal reasons are recorded consistently in CampusOS, enabling correct classification of allowable exclusions.

9. Open Questions for Developer

The following items should be confirmed with the Registrar and/or Database Administrator before development begins:

#QuestionNotes / Space for Answer
1What is the exact CampusOS table name for student enrollment records?To be confirmed by DBA
2What are the exact dropdown values used for withdrawal_reason? Do they cover all five allowable exclusion types?Must map to: Deceased, Disability, Church Mission, Military, Foreign Aid, Transfer Out
3How is full_time_status determined in CampusOS? Is it a stored field or derived from credit load?Needed for FTFT cohort identification
4Where are standard program credit requirements (standard_credits) stored?Needed to compute MTF per program
5Should GR200 (200% rate) be displayed now, or phased in at a later date? 
6Do CampusOS race/ethnicity values align with IPEDS categories? Is a crosswalk table needed?May require a mapping layer
7Is entry_term stored as a text string, a date, or a term code?Affects cohort year calculation logic

Questions about this specification? Contact the Registrar's Office or Institutional Research.  |  UMF – Confidential Internal Use  |  Version 1.0, May 2026