CEDAR Analytics

A clearer view of courses, programs, and student pathways

CEDAR brings enrollment, program, course, and outcome data into one workspace so departments can move from a question to a defensible next step.

Core values
Transparency
Accessibility
Practicality

Department Views

Analysis Workspaces

Registration Tools

Explore Tools

Admin Tools

Feature Spotlight

Course titles matter for topics courses

In Pathways > Course to Major, course + instructor signals keep course titles with the course number so topics courses do not collapse into one generic row.

Open Pathways
What's New

Recent features worth a look

View all updates

Dept Dashboard

Dashboard headline headcounts describe departmental major and second-major program records in the selected term; course activity is counted separately.

What this view counts

Dashboard program headcount. Dashboard headline headcounts describe departmental major and second-major program records in the selected term; course activity is counted separately.

Exclusions. Students merely taking departmental courses without a matching program record are not part of these headcounts.

  • A campus change can alter course activity without changing the headline program count.

Definition v1.0.0 → · User guide →

Select a department, then click Gather Data to load its dashboard.

Students

Selected-term headcount and recent movement worth noticing.

Enrollment Signals

Current-term enrollment signals for the selected department and campus. Above/below average compares to the recent same-term average: last 3 years, with at least 2 prior same-season offerings.

Above Average This Term

Courses running higher than the recent average.

Below Average This Term

Courses running lower than the recent average.

Early Drop Watch

Courses with unusually high pre-census drop counts; rates show whether volume changed with enrollment.

Late Drop Watch

Courses with unusually high post-census drop counts; rates show whether volume changed with enrollment.

Credit Hour Shifts

Course-level SCH this term compared with the recent same-season pattern.

Low Enrollment Review

Selected-term sections under the low-enrollment thresholds for associate dean and chair review. Uses the same low-enrollment helper as the Enrollment tab and omits green buffer rows.

High Waitlists

Selected-term course groups with class-list true demand.

Course Activity

Quick flags for new, missing, and recurring offerings in the selected term.

New This Term

Courses whose course number and title have not appeared in the historical data. Topics courses count each distinct title separately.

Missing vs. Two Years Ago

Courses that ran in this same term type two years ago but are not scheduled this term.

Recurring Topics This Term

Topics courses running this term that have been offered at least twice before under the same course number and title.

Audience Shifts

Program overlap and course-audience shares that moved enough to notice this term. Dashboard threshold: at least 10 percentage points away from the prior three same-season terms, with enough students present. Full audience detail is in Dept Trends > Enrollment.

Dept Trends

Longitudinal department patterns in students, enrollment, degrees, credit hours, Gen Ed, and course outcomes.

Pathways

Define a student population, then explore course timing, roadblocks, sequences, and major changes. Institution-level Gen Ed patterns are in Explore > Gen Ed.

Population

Audits the student group you defined — how many students it includes, how they entered (first-time, transfer, pre-major), and how the focal / pre-major split breaks down. Read the coverage panel first: it says how much of each student's record this data can see, which bounds every timing view on the other subtabs. Pathways guide →
What this view counts

Pathways population. A selected group of students built from observed program or demographic records, with outcomes defined relative to the selected programs.

Exclusions. Program scope, level, and outcome selections determine inclusion; per-analysis eligibility can further reduce the population.

  • First observed enrollment is not a formal admission date. The coverage panel reports incomplete starts and outcomes still in progress.

Definition v1.0.0 → · User guide →

Roadblocks

Compares the DFW-versus-pass stop-out gap for the selected population with the same gap for other students, using each student's first eligible observed outcome in a course and campus. Pathways guide →
What this view counts

Roadblocks stop-out comparison. Compares the DFW-versus-pass stop-out gap for the selected population with the same gap for other students, using each student's first eligible observed outcome in a course and campus.

Exclusions. Later outcomes do not add observations. Agreeing first-term records collapse to one; conflicting first-term outcomes exclude that student-course-campus comparison. Coverage notes report these counts and invalid records before size thresholds.

  • First eligible observed does not mean first lifetime attempt. The result describes first outcomes within the available, selected window, not repeat-attempt outcomes or permanent departure.
  • The chi-square test uses Yates correction within each population, not a test of the difference between population and baseline gaps. At least five students per outcome group does not guarantee adequate expected cell counts; p-values are unadjusted across courses.
  • Return includes registered or late-drop next-term records, unlike the registered-only lookup used by Course Dynamics retention. Students receiving a degree in the outcome term are counted as completed rather than stopped out.
  • Impact is the positive excess gap multiplied by the population DFW count, using unrounded proportions. It is a descriptive ranking score, not an estimate of students lost because of a course. These are associations, not causal course effects.

Definition v2.0.0 → · User guide →

Read the counts and stop-out rates together. Pop gap is DFW stop-out minus pass stop-out; Excess gap subtracts the same comparison for other students. Gaps are percentage points (pp). Impact ranks the positive excess gap times the population DFW count; it is not an estimate of students lost because of a course.

Pathways guide →

Course Timing

When the selected population takes each course, using classification by default, reconstructed attempted-credit bands, or relative enrolled term. Pathways guide →
What this view counts

Course timing. When the selected population takes each course, using classification by default, reconstructed attempted-credit bands, or relative enrolled term.

Exclusions. Credit axes drop unknown/invalid timelines and report the excluded count. The four-way classification axis excludes classifications outside Freshman/Sophomore/Junior/Senior.

  • Relative term measures observed time at UNM, not total degree progress. Starting-classification filters can restrict incomplete histories.
  • The axis-specific note beneath the chart describes the measure used in that run.

Definition v1.0.0 → · User guide →

Historical credit position. Per-term credit positions are reconstructed from class-list credit histories; pull-stamped Banner cumulative totals are not historical positions.

Exclusions. timeline_valid must be true; missing or invalid credit positions are excluded and counted in the local scope note.

  • The transfer block is inferred from contemporaneous overall minus institutional attempted credits and assumed present at entry; its actual arrival dates are unavailable.
  • A valid observed start is a data-window rule, not proof of a complete transcript.

Definition v1.0.0 → · User guide →

Course Pairs

Surfaces common A→B course sequences: of students who took course A, what share later took course B? Useful for spotting de-facto prerequisites and popular follow-ons. Pairs more than the max term gap apart are excluded, and non-ongoing students count only through their last focal term. Course A enrollments are counted only where the data holds the full follow-up window, so recent terms don't deflate the rates. Pathways guide →

Course to Major

Looks for courses near the doorway into the major — which course-and-instructor groups are most often followed by later entry into the department, and, in the heatmaps, what students took before they first entered the unit. Descriptive signals, not causal claims. Pathways guide →
GEN ED

Course + Instructor Signals

The population defines the focal department and subject prefixes; this table then scans all enrolled students in those focal-subject courses — it is not limited by the Population scope dropdown. A student counts as entering only when their first major or pre-major record in this department appears after the course term. Same-term department records are excluded because the course did not clearly precede entry. By default the To term ends one regular term before the newest complete term — students enrolled more recently have had no time to enter the department, so including them deflates Entry %. The Courses Before Major Entry heatmaps use a different scope: selected-population students only.

Column guide
  • Campus — the campus that delivered the course.
  • Course — the course code.
  • Instructor — primary instructor of record for that section.
  • Eligible — registered students in that course + instructor group who did not already have a department major or pre-major before or during the course term.
  • Later entered — eligible students whose first department major or pre-major record appears after the course term.
  • Later major / pre-major — whether that first later department record was a full major or a pre-major.
  • Median terms — typical number of regular terms between the course and first later department record.
  • Entry % — Later entered ÷ Eligible.
  • % of Pool — this group’s Eligible count as a share of all distinct eligible students across all groups. It can sum to more than 100% because one student can take multiple courses.
  • Terms — how many distinct terms this instructor taught this course (indicates sample breadth).
Table: Course + Instructor Signals — all enrolled students in focal-subject courses, grouped by campus, course title, and instructor.
Courses Before Major Entry Show heatmaps

For students who entered the selected population, this shows courses taken before their first focal program record. T−1 is the prior regular term; summer is skipped by default. Empty cells did not meet the minimum-student threshold. Campus, level, Gen Ed, and date-range association filters do not apply to these heatmaps.

Courses from this unit


Courses from other departments

Major Changes

Shows when students enter the selected unit as pre-majors or full majors, when pre-majors become full majors, and when students leave for another major. Transfer origin comes from the Academic Studies Student Population label, not from a credit threshold. The separate 30-credit entry rule uses attempted UNM credits reconstructed term by term from Class Lists. Pathways guide →
Changes by Term
Arriving from
Leaving for

Inflow / Outflow by Major

One row per major. Arriving to counts students who switched into that major from somewhere else; leaving for elsewhere counts students who switched out of it. The same major can show up in both.


Common Pathways (from → to)

Each row is a specific from→to switch. Switches involving only a few students are hidden so individuals can't be identified. Median completed / attempted UNM credits come from class-list-derived observed credits through the term before the switch posted.


Courses in the Term Before Students Left

What students who left the selected unit were taking in their last term here. A switch reaches Banner the term after a student actually moves, so this is the term they were sitting in while deciding — not the term the change showed up.

Every course is shown twice: how often it turned up in those final terms, and how often it turns up in a normal term for this group. If the two numbers are close, the course is just part of what everyone here takes. A course only stands out when the first is well above the second.

Example. A course taken by 15% of departing students in their final term, against 10% in a typical term, is 1.5× — common, but not concentrated. One at 4% against 0.5% is 8×: rarer overall, yet eight times more likely right before a switch. The biggest numbers are usually just the required courses; the interesting rows are often further down. Sort by Times as likely to bring them up.
This is not causal. Nothing here says a course caused anyone to switch, or that the course is a problem. Students who were already leaning toward another field pick different courses, so the arrow can just as easily run the other way — the decision showing up in the schedule rather than the schedule producing the decision. Switches also cluster early in a career, and the comparison does not adjust for that, so lower-division courses will tend to sit above 1.0 for reasons that have nothing to do with switching. Treat a high ratio as a question worth asking, not an answer.

Reference Tables

Use these when you need to audit the summaries above. The movement table is aggregated; the change-events table is student-level.

Movement detail (aggregated) Rows behind the Enter / Convert / Leave movement cards, including rows excluded from headline cards.
Change events (student-level switches) Every individual primary-major switch behind the switch charts and tables.

Course Dynamics

Enrollment trends, student flows, grade distributions, and outcomes for a single course.

Select a course, then click Analyze Course.

Course Overview

A same-season view of enrollment history, registration activity, active sections, and average section size. Crosslisted offerings count every listing together, each student once; the snapshot also gives the count under each code. Campuses remain separate so differences between Main, Online, and branch offerings stay visible.

What this view counts

Reconstructed first-day enrollment. Students enrolled on the first class day of their section, reconstructed from each class-list row's status date. Enrolled students dated on or before that day count, as does anyone who dropped after it.

Exclusions. Waitlisted students, drops dated on or before the first day, and enrollments added after it.

  • The class list keeps only the date of each row's current status, so a student who added after the first day and later dropped counts as present.
  • Shown only when every enrolled or dropped row in the group has a status date, its section has a start date, and the row was pulled on or after that day. Class lists pulled before status dates were exported have none, and those terms show no value rather than a partial count. Waitlist rows never count and do not need dates.
  • Unlike the Enrollment tab's "Ever Registered Proxy", this does not count students who registered and dropped before classes began.

Definition v1.0.0 → · User guide →

Reconstructed census enrollment. Class-list registered enrollment plus late drops (DG/DW) estimates the population that stayed beyond the early-drop period.

Exclusions. Early drops (DR/DD) and waitlists are excluded.

  • No census-frozen count exists in the source. This reconstruction does not recover registration dates or actual peak occupancy.

Definition v1.0.0 → · User guide →

Class-list registered enrollment. Distinct students still registered in the selected class-list group when the extract was pulled; only RE, RS, and RR statuses count.

Exclusions. Waitlists and all drops are excluded from registered enrollment.

  • This is a snapshot, not a frozen census count. It describes final enrollment only after the term is complete.

Definition v1.0.0 → · User guide →

Latest-Term Snapshot

The latest term in the selected term type beside the same term in the three years before it, one table per campus. A crosslisted term also shows each code's own count; hover an earlier year for its split. The plots below show the full history.

Enrollment History

Three points in each term: first class day (dotted), census (solid), and final enrollment (dashed). First day is reconstructed from class-list status dates and is left blank for terms whose class list has none. A shaded term is still in progress, so its final point is current registration. For a crosslisted offering, every line combines students across all active listings. How enrollment is counted →

Active Sections

The number of active home sections in each same-season term. A crosslist family is represented once, not once per partner code.

Average Section Size

Crosslist-aware total enrollment divided by active home sections.

Enrollment

Students enrolled on the first class day of their section, reconstructed from each class-list row's status date. Enrolled students dated on or before that day count, as does anyone who dropped after it. Class-list registered enrollment plus late drops (DG/DW) estimates the population that stayed beyond the early-drop period. Distinct students still registered in the selected class-list group when the extract was pulled; only RE, RS, and RR statuses count. This page keeps delivery campuses and terms separate. Crosslisted offerings are combined as one course family.
More On How This Is Counted Versioned first-day, census, and registered definitions, plus this page's grouping.

Reconstructed first-day enrollment. Students enrolled on the first class day of their section, reconstructed from each class-list row's status date. Enrolled students dated on or before that day count, as does anyone who dropped after it.

Exclusions. Waitlisted students, drops dated on or before the first day, and enrollments added after it.

  • The class list keeps only the date of each row's current status, so a student who added after the first day and later dropped counts as present.
  • Shown only when every enrolled or dropped row in the group has a status date, its section has a start date, and the row was pulled on or after that day. Class lists pulled before status dates were exported have none, and those terms show no value rather than a partial count. Waitlist rows never count and do not need dates.
  • Unlike the Enrollment tab's "Ever Registered Proxy", this does not count students who registered and dropped before classes began.

Definition v1.0.0 → · User guide →

Reconstructed census enrollment. Class-list registered enrollment plus late drops (DG/DW) estimates the population that stayed beyond the early-drop period.

Exclusions. Early drops (DR/DD) and waitlists are excluded.

  • No census-frozen count exists in the source. This reconstruction does not recover registration dates or actual peak occupancy.

Definition v1.0.0 → · User guide →

Class-list registered enrollment. Distinct students still registered in the selected class-list group when the extract was pulled; only RE, RS, and RR statuses count.

Exclusions. Waitlists and all drops are excluded from registered enrollment.

  • This is a snapshot, not a frozen census count. It describes final enrollment only after the term is complete.

Definition v1.0.0 → · User guide →

This page's scope. First day and Census are the reconstructed definitions above; Final is the registered definition, which is current registration while a term is in progress. The selected course's active section family is resolved through the same pipeline used by Overview. For a crosslisted offering, registrations under every partner code are combined and students are deduplicated within delivery campus and term before the status buckets are summarized. Early and late drops remain visible as separate lifecycle counts.

First Day, Census, and Final Enrollment

The three versioned class-list measures above, using the same crosslist-family totals as Overview. Census minus final is the late-drop count. First day minus census is mostly early drops after classes began, offset by students who added late. Neither reconstruction is a frozen roster.

Early and Late Drops

Separates DR/DD drops before the grade-consequence deadline from DG/DW late withdrawals. Early drops dated after the first class day are in the first-day count but not census; late drops explain the difference between Census and Final.


Classlist Enrollment History

Reference rows for the plotted crosslist-family counts, including same-term-type historical averages and the drop buckets used to distinguish pressure from survival. A dash marks a term whose first day cannot be reconstructed.

Course Flows

What you are looking at. The treemap and table show what students took alongside this course. The flow diagrams trace what they took the term before (left) and the term after (right). Rectangle area represents co-enrolled student-term enrollments; band thickness represents the average number of students per term who followed a path — so a thick band is a well-worn route, not a single unusual term. There is one diagram per term type, because fall and spring pathways often differ.

What it cannot tell you. These are observed patterns, not requirements and not causes. A heavy band may be a prerequisite, a scheduling convenience, or coincidence, and the diagram cannot distinguish them. It also is not one group of students followed all the way through — each band is counted separately, so you cannot read a single cohort across the whole picture. Paths below your minimum are hidden, so this shows the main routes rather than every route.

When it is useful. Seeing which courses reliably feed yours, or which yours feeds, helps with timetabling and seat planning — if forty students a term move from your course to the next one, that is next term's demand. It also shows whether a catalog prerequisite matches what students actually do, and surfaces informal pathways students have built that the curriculum does not name. If your course is a broad elective with no sequence, expect a diffuse picture — that is a finding too.

Full methodology →

Courses Taken Alongside

The 20 most common same-campus, same-term companion courses. Rectangle area shows co-enrolled student-term enrollments; the table reports both exact counts and the share of selected-course student-term enrollments taking both.

Before and After

Immediate prior-term and next-term pathways, shown separately by term type.

Rollcall

Shows the student mix in this course by classification and major, split by term type and trended over time. Counts are based on distinct registered class-list students.

By Student Classification

Top 5 classifications plus Other, so each donut sums to 100%. Shares are of average total enrollment for that term type.

Fall terms
Spring terms

By Major

Top 5 majors plus Other. The full major list is in the table below.

Fall terms
Spring terms

Classification Trends Over Time

Major Trends Over Time

All Majors by Term

Every major in this course, as a share of enrollment each term — the full list behind the top-5 donuts above.

Registration Statistics

Compares each term with strictly earlier matching offerings. Saturation uses the class-list census proxy over DESR scheduled capacity, drop-volume alerts remain count-based with lifecycle rates for context, and High Waitlists uses shared class-list true demand.

Open Seats

Courses with available capacity matching your filters, with DFW history and year-over-year schedule comparisons.

Waitlists

Students waiting for enrollment in full courses, by count, major, and classification. Waitlist status is a live registration state, so it is only meaningfully populated for the current term — past terms retain only the few students still waitlisted when the term closed. A nearly empty result for an earlier term means the data was not retained, not that there was no demand.

Minimum waitlisted
hides smaller rows in all three tables
What this view counts

Class-list waitlist demand. Waitlists, Regstats, and the Department Dashboard count distinct WL students after removing anyone already registered in the same course-title, term, delivery-campus, college, and part-of-term scope.

Exclusions. Students with matching RE/RS/RR registered rows, duplicate waitlist rows within that group, and courses on the shared excluded-course list.

  • Historical pulls can retain only students still waitlisted when the term closed, so a small past-term count is not evidence that earlier demand was small.
  • Waiting is evidence of expressed interest, not proof that a new section will fill.
  • Versions before 2.0.0 did not govern Regstats or the Department Dashboard, which used DESR section-snapshot waitlist counts.

Definition v2.0.0 → · User guide →

Enrollment Projections

Saved course-demand projections with stability, evidence depth, aftcast accuracy, planning guidance, and row-level detail.

How projections work and how to read the table Methodology, the three evidence axes, and a guide to every displayed column.

Saved enrollment projections. Saved Spring projections estimate first-day / ever-registered class-list demand for the pooled Albuquerque and online market; expected census applies historical retention.

Exclusions. Unmonitored courses and unsupported target seasons are outside this model. Shiny does not fit or select models during a session.

  • Low or None confidence remains visible. Historical accuracy and empirical error ranges do not guarantee future coverage or causal explanations.
  • The definition version describes the metric. The bundle's separate model_version and schema_version identify the actual calculation and artifact format.

Definition v1.0.0 → · User guide →

Table columns

  • Course / Dept identifies the projected course and its academic department.
  • Projection is projected first-day / ever-registered class-list demand.
  • Expected census applies the course's historical census retention to the projection.
  • Method is the approach selected from leakage-safe historical aftcasts.
  • Aftcast accuracy summarizes comparable historical predictions and their error.
  • Stability asks whether the course is predictable from its own history at all, using no model: Stable, Moderate, Volatile, or Unrated when too few comparable terms exist. A Volatile course is not a forecasting failure — it is a course where something is moving and worth investigating.
  • Depth is how much comparable aftcast evidence stands behind the selected method: Deep, Moderate, Thin, or None. It says how much we know, not how good we are.
  • Accuracy is how close those aftcasts landed: Close, Fair, Poor, or Unrated when there are too few to measure. It is reported separately from Depth because a well-observed course can still be forecast badly.
  • Evidence summarizes the three axes together with the most important qualification.
  • Recent term columns show first-day / ever-registered enrollment followed by scheduled sections for each of the four latest same-season terms; for example, 479 / 4 means 479 students across 4 sections.
  • Planning sects is projected demand divided by the target schedule's average section size when available, otherwise the recent historical median, rounded up. It is a planning conversion—not a forecast of how many sections will actually be scheduled.

Select a course for bias-correction, population-fit, capacity, and full method evidence.

Full methodology →

Projections

One published projection per course for the selected target term, with the evidence behind it. Select a course for full method, capacity, and bias detail.

Population growth scenario

Grows one student population and reads the effect on the courses it takes. The first year is the published projection above; later years are arithmetic on it, not forecasts.

Enrollment

Section schedules from DESR and distinct-student lifecycle counts from class lists, with campus-safe crosslist handling.

Choose any filter other than Level to enable this analysis.

DESR

Section enrollment and available seats describe the retained DESR snapshot; crosslist handling depends on the displayed grouping. Group by controls the displayed row grain; when Course is grouped, Campus remains in the key. DESR Enrl sums the contributing rows' enrollment, while XL-aware Enrl counts each crosslist group's combined total once within a displayed row. DESR Min/Max is applied to DESR Enrl after grouping.

How DESR enrollment is counted

DESR enrollment and available seats. Section enrollment and available seats describe the retained DESR snapshot; crosslist handling depends on the displayed grouping.

Exclusions. Filters and home/crosslist handling determine which sections contribute; check the local section scope.

  • Current registration and post-term history are different lifecycle snapshots and should not be treated as comparable census freezes.

Definition v1.0.0 → · User guide →

CEDAR-classified home rows for external crosslists, plus non-crosslisted courses. Same-subject internal crosslists retain their separate course rows.

Sections crosslisted across the undergraduate/graduate divide — at least one section at or below 499 paired with one at 500 or above. Each group appears once (home section shown).

External crosslist groups shown on the row CEDAR classifies as home. The partner course belongs to another department.

External crosslist partner rows whose corresponding home row belongs to another department.

Every section including all crosslist partner rows. Crosslisted courses appear multiple times — once per subject code.

Classlist

Distinct students still registered in the selected class-list group when the extract was pulled; only RE, RS, and RR statuses count. Class-list registered enrollment plus late drops (DG/DW) estimates the population that stayed beyond the early-drop period. Rows are fixed at course + delivery campus + college + term. Group by, DESR Min/Max, and the DESR crosslist tabs do not change this table.

How Classlist enrollment is counted

Class-list registered enrollment. Distinct students still registered in the selected class-list group when the extract was pulled; only RE, RS, and RR statuses count.

Exclusions. Waitlists and all drops are excluded from registered enrollment.

  • This is a snapshot, not a frozen census count. It describes final enrollment only after the term is complete.

Definition v1.0.0 → · User guide →

Reconstructed census enrollment. Class-list registered enrollment plus late drops (DG/DW) estimates the population that stayed beyond the early-drop period.

Exclusions. Early drops (DR/DD) and waitlists are excluded.

  • No census-frozen count exists in the source. This reconstruction does not recover registration dates or actual peak occupancy.

Definition v1.0.0 → · User guide →

Ever Registered Proxy adds all drop statuses to registered students; it can include pre-term churn and is not a frozen first-day roster. Waitlisted is a status audit column; use the Waitlists report for cross-section true demand.

Low Enrollment

Sections running under the review thresholds, split by course level because the bar differs for each. Set the thresholds below to match your own review rule. For current and past terms this reports what enrollment actually was; for a future term there is no enrollment yet, so it compares the schedule against each course's own history and flags what looks at risk — the banner tells you which mode you are in.

Thresholds:
How to read this table

Current / past terms (alerts mode):

  • Sects — number of active home sections of this course in the selected term.
  • Enrolled — this section's own registered student count.
  • XL Total — for crosslisted sections, the combined count across all partner sections; equals Enrolled for non-crosslisted courses.
  • Course Total — sum of XL Total across all home sections of this course. Color-coded against the threshold.

Future terms (concerns mode):

  • Sects — number of scheduled home sections.
  • Sect Enrl — current registration count for those sections.
  • Hist Avg — average combined enrollment over the last 4 same-type terms. Color-coded against the threshold.
  • Trend — ↑ up / ↓ down / ↔ stable based on linear regression slope across prior terms.
  • # Terms — how many prior terms contributed to the average.

Color bands: red = below 50% of threshold; yellow = 50–75%; blue = 75–100%; green = meets or exceeds threshold.

Full methodology →



Crosslisted courses that span the undergraduate/graduate boundary (at least one section ≤499 and one ≥500). The Sections column shows all partner courses in the group. Enrollment is the combined total.


Trend Explorer

Which courses in your current filters are growing or shrinking. Trends fit a straight line through each course's last six offerings, so a course needs at least two offerings to appear and a single unusual term can tilt a short series. Treat the lists as a shortlist to look into, not a ranking. For curated chair-facing patterns, use Dept Trends > Enrollment.

Enrollment by Campus and Level

Total enrollment broken out by campus and course level across your selected filters and terms.


A filter-driven workspace for exploring course enrollment trajectories. For curated chair-facing patterns, use Dept Trends > Enrollment. Based on linear regression across each course's last 6 offerings; courses with fewer than 2 offerings are excluded.

↑ Top Growing Courses
↓ Top Declining Courses

Headcount

Unique students with matching Academic Studies program records in each term. Combined major, minor, and concentration filters require membership in the same term.

Gen Ed

Aggregate view of Gen Ed enrollment and grade outcomes.

Gen Ed Overview

The comparative view of Gen Ed: how one department's courses stack up against Gen Ed as a whole, and how peer departments compare with each other. Select departments to get a labelled card row for each, measured against the overall benchmark. For one department's own Gen Ed detail, use Dept Trends > Gen Ed.

Who Takes Gen Ed, and How

Delivery mode and the mix of majors sitting in Gen Ed courses across the selected terms.

Enrollment by Modality

Face-to-face versus online enrollment each term.

Major Mix in Gen Ed Courses

Which majors the Gen Ed seats are serving.

Top Gen Ed Enrollment by Course and Campus

The highest-enrolling Gen Ed courses, with delivery campuses kept distinct.

Department Summary

Gen Ed teaching load by department: how many courses each offers and how much enrollment it carries.

DFW Rates by Course

The share of classified course attempts that did not pass. By default only A+ through C, CR, and passing retake equivalents pass; non-audit late drops count as DFW. AUD is excluded even with late-drop status. Each term's attempt counts separately, even when a section number (CRN) is reused.

This table's scope. Each row keeps delivery campus separate and requires at least 5 classified attempts. DFW % equals Non-W DFW % plus W %. Early Drop % uses attempts plus early drops as a different denominator. The overall DFW card uses all classified attempts in the selected scope, so it is not calculated from only the rows that clear this display threshold.

How DFW is counted

Course DFW / nonpassing rate. The share of classified course attempts that did not pass. By default only A+ through C, CR, and passing retake equivalents pass; non-audit late drops count as DFW. AUD is excluded even with late-drop status. Each term's attempt counts separately, even when a section number (CRN) is reused.

Exclusions. AUD is excluded from numerator and denominator regardless of registration status, including DG/DW. Early drops never count as DFW. Blank/NA grades are excluded unless late-drop status supplies the withdrawal outcome.

  • A visible opt-in control may also count C- and D-range work as passing; it does not make P or S pass.
  • Rates from versions before 2.0.0 may differ because reused section numbers could suppress later-term attempts.
  • Before 3.0.0, some outcome paths counted late-drop AUD as DFW. Saved outcomes must be rebuilt under the corrected policy; older files are rejected rather than silently reused.

Definition v3.0.0 → · User guide →

Grade Distribution

Full grade spread across the selected Gen Ed courses, split by campus so rows line up with the DFW table above.

Cancellations

Cancelled sections matching your filters, with timing shown relative to course start.

Data Status & Usage Analytics

Data presented here is MyReports data — not official institutional data — and should not be used for required reporting purposes. CEDAR tables are updated nightly for the current semester and +/- 1-2 terms.


Data freshness

Source extract dates for the datasets currently loaded in this app. Missing dates are not evidence of a successful update.

CEDAR v1.2.0 · CEDAR 1.2 — one question per file, one scope per page
Dates describe source data, not when this page was opened.
Dataset Rows Fall 2026 Summer 2026 Spring 2026 Fall 2025
Sections 211,903 2026-10-15 2026-10-15 2026-08-06 2025-11-05
Students 1,855,223 2026-10-15 2026-10-15 2026-08-06 2026-03-07
Programs 542,922 2026-10-15 2026-10-15 2026-08-06 2025-11-06
Degrees 65,052 2026-10-15 2026-10-15 2026-08-06 2026-03-11
Faculty 29,511 Not available Not available Not available 2025-04-07

App snapshot loaded: 2026-10-15 14:05 UTC . The morning refresh reloads this snapshot; this table does not poll the source files.


Whether the loaded tables can actually be joined to each other on student_id. Student IDs are hashed once at ingest and frozen into the stored file, so a MyReports pull that presents the raw ID in a different surface form produces a different hash for the same person — rows that can never be joined again. Nothing downstream can repair it.

Every table is compared term by term against cedar_students, whose class lists are the only source ingested as one continuous series. A term with records and zero matches is the signature of a hash mismatch; a table covering a different population (applicants who never enrolled) sits partway in every term and never at zero.

By table
By term

Terms that fail are listed first. Anything marked “none” needs the source report repulled for that term — see ISSUES.md I1.


Department, subject, and program mappings used by Cedar at startup. Mapping issues are surfaced here so unusual Banner codes can be reviewed without blocking the app.

Mapping decisions

Everything settled by editing a mapping file in institution/unm/, largest first, in three tabs: Programs (including mapped colleges Banner's Translated College disagrees with, and codes the data uses that no file has), Course subjects, and College values no file names. Each row opens with what it is: Banner code, the code Banner uses; Name, the code's own name (a program's name in programs.csv; a course subject has none, so its tab shows the college that teaches it instead); Kind; Where, the file and line for a local checkout; and Needs, what to supply, which opens that line (or the file, for a new row). Reported today as is what the stored tables carry now: an unconfirmed code has no department until its row is confirmed and the tables are rebuilt. Suggested department is the department (CEDAR unit) the mapping assistant thinks should own it, and Confidence says how far to trust that, with the evidence on hover.

Other problems in the data

Problems no mapping can fix, found by the same checks: values that are errors in the source data. They are listed so they can be reported to whoever owns the source.

Counting rules

The rules that place or drop rows without a mapping-file row, with how many rows each touches in the loaded data and where it is coded. With the decisions above and the tables below, they account for every department, college and campus a count is assigned to.


Every confirmed programs.csv row: program code and name to department (unit) code and name. A row that applies in only one college, such as branch-campus BADM and CRIM, says which; a program no department owns says so.


Every confirmed subjects.csv row: course subject to department (unit) code and name. A row that applies only to one college's sections or one course level says which. Use this when interpreting course ownership.


Every department (unit) in units.csv: its code, name, home college, and kind -- a department, a program, or a college-wide unit for courses no department owns.


Every college in colleges.csv: its code and name, the other values sources use for it, which the transform translates to its code (ED is EH), and how many departments it is home to.


Every campus code: the codes R/lists/campuses.R defines, and any the loaded data uses that it does not. Sections and enrollments count the campus that taught them; the last column counts students by their home campus, as class lists code it. Program records name the home campus instead (see Counting rules).




Usage Dashboard
Top Tabs
Report Types
Departments Viewed
Courses Viewed
Campus Scope
Daily Activity



Usage Event Log

Preview shows the newest 500 events in the selected range. Summary counts include all matching events; archived history remains available by selecting older dates.


Course Dynamics Cache

CEDAR caches expensive lookup calculations, including course-flow analysis, to speed up repeated Course Dynamics requests. The cache automatically invalidates when data changes.


Department Trends Cache

Dept Trends analytical tables and ready-to-render charts are cached to disk by department, campus scope where applicable, report window, code version, visual palette, and source-data fingerprints. Standard production scopes are warmed after data refreshes.

Dept Dashboard Cache

Dept Dashboard snapshots are cached by department, campus scope, selected term, date, and CEDAR table hashes. Production data refreshes warm the primary audience dashboards each morning.

Pathways Population Benchmarks

College comparison benchmarks in the Pathways Population tab are cached by CEDAR current term, college, campus, student level, and population scope. Clear this after changing the benchmark logic or when a mid-semester data correction should be reflected immediately.

Report Timing Estimates

CEDAR learns separate fresh and cache-hit ranges from recent browser-visible runs. The table uses medians for typical performance and the 90th percentile to expose slow runs under load. It separates calculation, waiting/delivery, browser settling, retained result size, worker memory, and output payload size.


Worker memory is the R process footprint at report boundaries, and result size is the retained R object; neither is a peak-allocation profile. Payload size approximates values delivered to Shiny outputs rather than network bytes.

CEDAR Changelog

Recent Updates
All Changes