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:
| Agency | Requirement |
|---|---|
| IPEDS | All US institutions must report graduation rates to the US Department of Education annually using the prescribed formula. |
| DEAC | Requires publication of institutional outcomes, including graduation rates, as a condition of accreditation. |
| MSCHE | Requires publication of institutional outcomes, including graduation rates, as a condition of accreditation. |
The official formula as required by IPEDS is:
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.
The initial cohort is all first-time, degree-seeking students who enrolled at UMF in a given fall semester.
The Revised Cohort is derived from the Initial Cohort by applying two required removals:
| # | Removal Rule | CampusOS 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 |
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 Reason | CampusOS Field / Value to Look For |
|---|---|
| Death | withdrawal_reason = 'Deceased' OR student_status = 'Deceased' |
| Permanent disability | withdrawal_reason = 'Permanent Disability' OR disability_withdrawal = true |
| Official church mission | withdrawal_reason = 'Church Mission' |
| Armed forces service | withdrawal_reason = 'Military Service' OR military_leave = true |
| Foreign aid service assignment | withdrawal_reason = 'Foreign Aid Service' |
Each program must be calculated at its Maximum Time Frame (MTF), which is 150% of the normal program length, measured in credits:
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.
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-time | Fall 2021 FTFT (Full-Time First-Time) | August 31 |
| GR150 (150%) | 1.5× time | Fall 2018 FTFT | August 31 |
| GR200 (200%) | 2× time | Fall 2017 FTFT | August 31 |
For master's degree programs, the average program length is 2 years. Apply the same 150% MTF logic:
| Degree Type | Normal Length | MTF (150%) | Completion Deadline |
|---|---|---|---|
| Master's Degree | 2 years | 3 years | August 31 |
The following tables describe the data the program must pull from CampusOS. Confirm all table and field names with your database administrator before development.
Used to identify the Initial Cohort. Pull one row per student per program enrollment.
| Field | Type | Purpose |
|---|---|---|
| student_id | String / Int | Unique identifier; primary join key across all tables. |
| enrollment_type | Enum/String | Filter: must = 'First-Time' to qualify for the initial cohort. Exclude 'Transfer'. |
| entry_term | String / Date | Fall semester of first enrollment (e.g., 'Fall 2021'). Used to assign cohort year. |
| entry_year | Int | Numeric entry year; used in cohort window calculations. |
| degree_level | Enum/String | UG = Undergraduate, GR = Graduate, CE = Certificate. Drives which cohort window applies. |
| program_code | String | Identifies the specific program; needed for per-program MTF credit calculation. |
| transfer_credits_accepted | Int / Decimal | If > 0 at initial enrollment, student may be excluded from cohort (confirm with Registrar). |
| full_time_status | Boolean / Enum | Required for FTFT cohort identification (Full-Time First-Time). |
Required for disaggregated reporting by gender and race/ethnicity.
| Field | Type | Purpose |
|---|---|---|
| student_id | String / Int | Join key. |
| gender | Enum/String | Used to disaggregate rates. Values: Male, Female, Non-binary/Unknown. |
| race_ethnicity | Enum/String | Used to disaggregate by race/ethnicity. Must align with IPEDS categories — see Section 7.2. |
Used to identify allowable exclusions and transfer-out removals for the Revised Cohort.
| Field | Type | Purpose |
|---|---|---|
| student_id | String / Int | Join key. |
| student_status | Enum/String | Current status: Active, Withdrawn, Deceased, Graduated, etc. |
| withdrawal_reason | Enum/String | Critical field. Determines exclusions and transfer-outs. See Section 3.3 for required values. |
| withdrawal_date | Date | Date of withdrawal; confirms timing relative to cohort window. |
| transfer_out_institution | String | Name/ID of institution student transferred to. Confirms transfer-out status. |
| military_leave | Boolean | True if student left for armed forces (allowable exclusion). |
Used to count completers within the Maximum Time Frame.
| Field | Type | Purpose |
|---|---|---|
| student_id | String / Int | Join key. |
| completion_date | Date | Date degree/certificate was awarded. Must be on or before August 31 of the reporting window. |
| credits_completed | Decimal | Total credits at graduation. Used to verify completion within MTF credit limit. |
| program_code | String | Program in which the student completed. Must match enrollment program. |
| degree_level | Enum/String | UG / GR / CE — must match enrollment degree level. |
Needed to determine the MTF credit threshold for each program.
| Field | Type | Purpose |
|---|---|---|
| program_code | String | Unique program identifier; joins to enrollment and completion records. |
| program_name | String | Human-readable name for display in the UI. |
| standard_credits | Decimal | Normal program length in credits (e.g., 120 for a 4-year UG, 45 for a certificate). |
| mtf_credits | Decimal | Pre-calculated MTF = standard_credits × 1.5. May also be computed at runtime. |
| degree_level | Enum/String | UG / GR / CE. |
| normal_years | Int / Decimal | Standard program length in years. Used for cohort window date calculations. |
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
The program must display graduation rates in the following views. All rates must be published on the institutional outcomes page.
For each rate above, also display rates broken down by the following categories:
| Disaggregation | Categories to Display |
|---|---|
| Gender | Male | 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 |
Each graduation rate card or row displayed in the program must show:
| Element | Description | Example |
|---|---|---|
| Cohort Year | Entry semester and year of the cohort | Fall 2021 Cohort |
| Adjusted Cohort Size | Denominator (revised cohort minus exclusions) | 142 |
| Number of Completers | Numerator | 118 |
| Graduation Rate | Percentage, 1 decimal place | 83.1% |
| Completion Window End | August 31 of the reporting year | August 31, 2025 |
| IPEDS Component | GR / GR150 / GR200 | GR150 (150%) |
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:
| Policy | Why 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. |
The following items should be confirmed with the Registrar and/or Database Administrator before development begins:
| # | Question | Notes / Space for Answer |
|---|---|---|
| 1 | What is the exact CampusOS table name for student enrollment records? | To be confirmed by DBA |
| 2 | What 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 |
| 3 | How is full_time_status determined in CampusOS? Is it a stored field or derived from credit load? | Needed for FTFT cohort identification |
| 4 | Where are standard program credit requirements (standard_credits) stored? | Needed to compute MTF per program |
| 5 | Should GR200 (200% rate) be displayed now, or phased in at a later date? | |
| 6 | Do CampusOS race/ethnicity values align with IPEDS categories? Is a crosswalk table needed? | May require a mapping layer |
| 7 | Is 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